/* Velara Finder — loaded only on Home/Finder */
@keyframes vsfAura{0%,100%{transform:scale(.96);opacity:.82}50%{transform:scale(1.04);opacity:1}}@keyframes vsfBottle{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes vsfShine{0%,30%{transform:translateX(-90%)}60%,100%{transform:translateX(130%)}}@keyframes vsfPetal{to{transform:rotate(360deg)}}@keyframes vsfResult{from{opacity:0}to{opacity:1}}@keyframes vsfProcessingSpin{to{transform:rotate(360deg)}}@keyframes vsfProcessingPulse{0%,100%{transform:scale(.96);box-shadow:0 14px 30px rgba(95,44,163,.20),inset 0 1px 0 rgba(255,255,255,.28)}
  50%{transform:scale(1.04);box-shadow:0 18px 38px rgba(95,44,163,.30),inset 0 1px 0 rgba(255,255,255,.32)}}@keyframes vsfProcessingPetal{from{translate:0 0;rotate:-8deg}
  to{translate:5px -8px;rotate:18deg}}@keyframes vsfProcessingStep{0%,12%{transform:scaleX(0);opacity:.4}
  48%,72%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(1);opacity:0}}@keyframes vsfReadyPop{0%{transform:scale(.72);opacity:0}
  72%{transform:scale(1.08);opacity:1}
  100%{transform:scale(1)}}@keyframes vsfResult{from{opacity:0}
  to{opacity:1}}@keyframes vsfAdvanceCue{from{opacity:.38;transform:translateX(0)}
  to{opacity:1;transform:translateX(3px)}}@keyframes vsfPathIn{from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}}@keyframes vsfKnownSpin{to{transform:rotate(360deg)}}@keyframes vsfKnownSelected{from{opacity:0;transform:translateY(10px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vsfLiquidSurface{0%{
    transform:translateX(-2%) rotate(-1deg) scaleX(1.02);
  }
  100%{
    transform:translateX(2%) rotate(1deg) scaleX(.98);
  }}@keyframes vsfBottleCompletionGlow{0%{
    opacity:0;
    transform:scale(.48);
  }
  35%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:scale(1.38);
  }}@keyframes vsfBottleCompletionRing{0%{
    opacity:0;
    transform:scale(.58);
  }
  24%{
    opacity:.94;
  }
  100%{
    opacity:0;
    transform:scale(1.42);
  }}@keyframes vsfReadySynchronized{0%{
    opacity:.72;
    transform:translateY(5px) scale(.985);
  }
  42%{
    opacity:1;
    transform:translateY(0) scale(1.025);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }}@keyframes vsfEssenceParticle{0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.12) rotate(0deg);
  }
  16%{
    opacity:1;
  }
  68%{
    opacity:.96;
  }
  100%{
    opacity:0;
    transform:
      translate(
        calc(-50% + var(--vsf-burst-x)),
        calc(-50% + var(--vsf-burst-y))
      )
      scale(var(--vsf-burst-scale))
      rotate(var(--vsf-burst-rotate));
  }}@keyframes vsfBottleRitualGlow{0%{
    opacity:0;
    transform:scale(.34);
    filter:blur(4px);
  }
  24%{
    opacity:1;
    transform:scale(.72);
  }
  54%{
    opacity:.94;
    filter:blur(1px);
  }
  100%{
    opacity:0;
    transform:scale(1.75);
    filter:blur(4px);
  }}@keyframes vsfBottleRitualRing{0%{
    opacity:0;
    transform:scale(.42);
    border-width:5px;
  }
  25%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:scale(1.72);
    border-width:1px;
  }}@keyframes vsfBottleRitualPulse{0%{
    transform:translateY(0) scale(1);
  }
  18%{
    transform:translateY(4px) scale(.955);
  }
  43%{
    transform:translateY(-13px) scale(1.075);
  }
  70%{
    transform:translateY(-7px) scale(1.035);
  }
  100%{
    transform:translateY(-3px) scale(1);
  }}@keyframes vsfFinalLiquidWave{0%{
    transform:translateX(0) rotate(0deg) scaleX(1);
    box-shadow:
      inset 0 4px 8px rgba(255,255,255,.34),
      0 -2px 6px rgba(255,255,255,.18);
  }
  34%{
    transform:translateX(-8%) rotate(-3deg) scaleX(1.12);
    box-shadow:
      inset 0 7px 12px rgba(255,255,255,.62),
      0 -7px 16px rgba(238,208,255,.72);
  }
  68%{
    transform:translateX(7%) rotate(3deg) scaleX(.94);
  }
  100%{
    transform:translateX(0) rotate(0deg) scaleX(1);
  }}@keyframes vsfFinalCapFlash{0%{
    filter:brightness(1) saturate(1);
    box-shadow:
      inset 0 0 12px rgba(255,255,255,.4),
      0 10px 22px rgba(80,48,122,.18);
  }
  40%{
    filter:brightness(1.65) saturate(1.28);
    box-shadow:
      inset 0 0 18px rgba(255,255,255,.86),
      0 0 34px rgba(255,222,112,.88),
      0 10px 22px rgba(80,48,122,.18);
  }
  100%{
    filter:brightness(1) saturate(1);
  }}@keyframes vsfFinalLogoFlash{0%{
    color:#f7dc91;
    text-shadow:none;
    transform:scale(1);
  }
  42%{
    color:#fff4b5;
    text-shadow:
      0 0 7px rgba(255,244,181,.96),
      0 0 20px rgba(245,208,91,.86),
      0 0 35px rgba(206,138,227,.66);
    transform:scale(1.08);
  }
  100%{
    color:#f7dc91;
    text-shadow:none;
    transform:scale(1);
  }}@keyframes vsfFinalGlassSweep{0%{
    transform:translateX(-95%);
    opacity:.3;
  }
  45%{
    opacity:1;
  }
  100%{
    transform:translateX(105%);
    opacity:.38;
  }}@keyframes vsfReadyRitual{0%{
    opacity:0;
    transform:translateY(14px) scale(.94);
    filter:blur(3px);
  }
  42%{
    opacity:1;
    transform:translateY(-2px) scale(1.035);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }}@keyframes vsfReadyCorePulse{0%{
    transform:scale(.72);
    box-shadow:none;
  }
  48%{
    transform:scale(1.17);
    box-shadow:
      0 16px 34px rgba(95,44,163,.28),
      0 0 0 15px rgba(139,77,202,.10),
      0 0 48px rgba(220,164,249,.72),
      inset 0 1px 0 rgba(255,255,255,.34);
  }
  100%{
    transform:scale(1);
  }}@keyframes vsfBottleAtmosphereFloat{0%{
    translate:-4px 7px;
    rotate:-14deg;
  }
  45%{
    translate:8px -10px;
    rotate:10deg;
  }
  100%{
    translate:-7px -18px;
    rotate:28deg;
  }}@keyframes vsfPortalBackdropIn{from{opacity:0}
  to{opacity:1}}@keyframes vsfPortalLightIn{0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.72);
  }
  100%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }}@keyframes vsfPortalTravel{0%{
    transform:
      translate(
        calc(-50% + var(--vsf-overlay-start-x,0px)),
        calc(-50% + var(--vsf-overlay-start-y,0px))
      )
      scale(1);
  }
  72%{
    transform:
      translate(-50%,-50%)
      scale(calc(var(--vsf-overlay-scale,1.12) * 1.025));
  }
  100%{
    transform:
      translate(-50%,-50%)
      scale(var(--vsf-overlay-scale,1.12));
  }}@keyframes vsfPortalCopyIn{0%{
    opacity:0;
    transform:translate(-50%,18px) scale(.96);
    filter:blur(4px);
  }
  55%{
    opacity:1;
    transform:translate(-50%,-2px) scale(1.018);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate(-50%,0) scale(1);
    filter:blur(0);
  }}:root{--vsf-purple:#6e3bb8;
  --vsf-purple-dark:#351f50;
  --vsf-muted:#756c87;
  --vsf-border:rgba(110,59,184,.15);
  --vsf-aura:rgba(174,124,216,.45);
  --vsf-shadow:0 30px 80px rgba(88,52,142,.14);}.vsf-app,.vsf-app *{box-sizing:border-box}.vsf-app{width:100%;
  color:var(--vsf-purple-dark);
  font-family:Inter,Arial,sans-serif;}.vsf-card{position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  width:min(100%,1180px);
  min-height:660px;
  margin-inline:auto;
  padding:58px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.8);
  border-radius:36px;
  background:rgba(255,255,255,.74);
  box-shadow:var(--vsf-shadow);
  backdrop-filter:blur(18px);
  isolation:isolate;}.vsf-card:before{content:"";
  position:absolute;
  inset:-40%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 66% 50%,var(--vsf-aura),transparent 24%),
    radial-gradient(circle at 74% 56%,rgba(255,255,255,.88),transparent 12%);
  transition:background .45s ease;}.vsf-left,.vsf-right{position:relative;z-index:2}.vsf-left{width:42%;
  flex:0 0 42%;}.vsf-right{width:58%;
  flex:0 0 58%;
  min-width:0;}.vsf-title{margin:0 0 20px;
  color:var(--vsf-purple-dark);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(46px,5vw,70px);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.035em;}.vsf-description{max-width:470px;
  margin:0;
  color:var(--vsf-muted);
  font-size:16px;
  line-height:1.7;}.vsf-stage-list{display:grid;
  gap:17px;
  margin-top:36px;}.vsf-stage{display:flex;
  align-items:center;
  gap:12px;
  color:var(--vsf-muted);
  font-size:14px;
  font-weight:700;
  transition:color .25s ease;}.vsf-stage span{display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid var(--vsf-border);
  border-radius:50%;
  background:rgba(110,59,184,.08);
  color:var(--vsf-purple);
  transition:.25s ease;}.vsf-stage.is-active{color:var(--vsf-purple-dark)}.vsf-stage.is-active span{background:var(--vsf-purple);color:#fff}.vsf-visual{position:relative;
  display:grid;
  place-items:center;
  height:360px;}.vsf-aura{position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.82),var(--vsf-aura) 28%,transparent 68%);
  animation:vsfAura 4s ease-in-out infinite;
  transition:background .45s ease;}.vsf-bottle{position:relative;
  z-index:2;
  width:148px;
  height:294px;
  animation:vsfBottle 5s ease-in-out infinite;}.vsf-bottle-cap{position:absolute;
  top:0;
  left:50%;
  width:72px;
  height:52px;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(90deg,#ac7d24,#f5d97b 45%,#b48328);
  box-shadow:inset 0 0 12px rgba(255,255,255,.4),0 10px 22px rgba(80,48,122,.18);
  transform:translateX(-50%);}.vsf-bottle-body{position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:232px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.54);
  border-radius:34px 34px 42px 42px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.28),transparent 24%),
    linear-gradient(165deg,#9a55d1,#6a35ac 68%,#4d247f);
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.2),
    inset -12px -10px 26px rgba(55,22,92,.25),
    0 28px 55px rgba(77,36,127,.24);
  transform:rotate(-8deg);}.vsf-bottle-body:before{content:"VELARA";
  position:absolute;
  top:98px;
  right:0;
  left:0;
  color:#f7dc91;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:700;
  letter-spacing:.22em;
  text-align:center;}.vsf-bottle-body:after{content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.24) 26%,transparent 44%);
  transform:translateX(-80%);
  animation:vsfShine 5.5s ease-in-out infinite;}.vsf-petal{position:absolute;
  width:28px;
  height:16px;
  border-radius:80% 20% 80% 20%;
  background:rgba(199,144,229,.65);
  opacity:.72;
  transform-origin:160px 160px;
  animation:vsfPetal var(--speed) linear infinite;}.vsf-petal-1{--speed:14s;top:48px;left:95px}.vsf-petal-2{--speed:18s;top:110px;left:120px}.vsf-petal-3{--speed:20s;top:190px;left:90px}.vsf-panel{padding:28px;
  border:1px solid rgba(110,59,184,.14);
  border-radius:30px;
  background:rgba(255,255,255,.68);
  box-shadow:0 16px 40px rgba(88,52,142,.08);}.vsf-question{margin-bottom:22px;
  color:var(--vsf-purple-dark);
  font-size:16px;
  font-weight:800;}.vsf-options{display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;}.vsf-option{display:grid;
  place-items:center;
  gap:10px;
  min-height:132px;
  padding:18px 12px;
  border:1px solid rgba(110,59,184,.16);
  border-radius:18px;
  background:#fff;
  color:var(--vsf-purple-dark);
  cursor:pointer;
  font:inherit;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;}.vsf-option:hover{transform:translateY(-5px);
  border-color:rgba(110,59,184,.52);
  background:linear-gradient(180deg,#fff,#f8f0ff);
  box-shadow:0 18px 35px rgba(110,59,184,.16);}.vsf-option.is-active,.vsf-option.is-active:hover{position:relative;
  transform:translateY(-5px);
  border-color:#5e299f!important;
  background:linear-gradient(145deg,#8348ce 0%,#6630ad 58%,#54258f 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(89,39,151,.30),inset 0 1px 0 rgba(255,255,255,.24)!important;}.vsf-option.is-active:after{content:"✓";
  position:absolute;
  top:9px;
  right:10px;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  color:#632da6;
  font-size:12px;
  font-weight:900;
  box-shadow:0 5px 14px rgba(43,19,77,.18);}.vsf-option.is-active span,.vsf-option.is-active strong{color:#fff!important}.vsf-option.is-active span{filter:drop-shadow(0 2px 4px rgba(35,10,70,.24))}.vsf-option:focus-visible{outline:3px solid rgba(110,59,184,.35);
  outline-offset:3px;}.vsf-option span{font-size:30px;line-height:1}.vsf-option strong{font-size:13px;line-height:1.2;text-align:center}.vsf-actions{display:flex;
  align-items:center;
  gap:14px;
  margin-top:24px;}.vsf-status{min-height:22px;
  margin-top:16px;
  color:var(--vsf-muted);
  font-size:13px;
  font-weight:600;}.vsf-result{display:none;margin-top:10px}.vsf-result.is-visible{display:block;animation:vsfResult .5s ease forwards}.vsf-result-card{display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding:24px;
  border:1px solid var(--vsf-border);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(110,59,184,.09),rgba(255,255,255,.8));}.vsf-result-media{width:132px;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.7);
  box-shadow:0 18px 38px rgba(88,52,142,.12);}.vsf-result-media img{display:block;width:100%;height:100%;object-fit:cover}.vsf-result-label{margin-bottom:6px;color:var(--vsf-purple);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.vsf-result-card h3{margin:0;color:var(--vsf-purple-dark);font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;line-height:1}.vsf-result-brand{margin-top:5px;color:var(--vsf-purple);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.vsf-result-profile{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.vsf-result-profile span{padding:6px 10px;border:1px solid rgba(110,59,184,.15);border-radius:999px;background:rgba(255,255,255,.64);color:var(--vsf-purple-dark);font-size:11px;font-weight:800}.vsf-result-summary{margin:14px 0 8px;color:var(--vsf-purple-dark);font-weight:700;line-height:1.5}.vsf-result-description{margin:0;color:var(--vsf-muted);font-size:14px;line-height:1.65}.vsf-result-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.vsf-result-notes span{padding:7px 11px;border-radius:999px;background:rgba(110,59,184,.1);color:var(--vsf-purple-dark);font-size:12px;font-weight:800}.vsf-app.is-loading .vsf-bottle{animation-duration:1.5s}.vsf-app.is-loading .vsf-panel{cursor:progress}@media (max-width:980px){}@media (max-width:680px){.vsf-bottle{transform:scale(.84)}}@media (max-width:420px){}@media (prefers-reduced-motion:reduce){.vsf-app *,.vsf-app *:before,.vsf-app *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.vsf-app .vsf-panel .vsf-options button.vsf-option{position:relative!important;
  isolation:isolate;
  overflow:hidden;}.vsf-app .vsf-panel .vsf-options button.vsf-option > span,.vsf-app .vsf-panel .vsf-options button.vsf-option > strong{position:relative;
  z-index:2;}.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover,.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible{border-color:#7440bd!important;
  background:#f1e5ff!important;
  background-image:linear-gradient(180deg,#fbf7ff 0%,#ead8ff 100%)!important;
  color:#351f50!important;
  box-shadow:0 16px 32px rgba(92,45,157,.18)!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > span,.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > strong,.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > span,.vsf-app .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > strong{color:#351f50!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"],.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:hover,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:hover,.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:focus,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:focus{border:2px solid #4b1d83!important;
  background:#6730ad!important;
  background-color:#6730ad!important;
  background-image:none!important;
  color:#fff!important;
  transform:translateY(-5px)!important;
  box-shadow:0 20px 42px rgba(69,25,122,.34),0 0 0 3px rgba(124,68,199,.15)!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active::before,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::before{content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:16px;
  background:linear-gradient(145deg,#8a4fd3 0%,#6b32b5 52%,#4f1f8a 100%);
  opacity:1;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active > span,.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active > strong,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > span,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > strong{color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 2px rgba(30,8,55,.26);}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active::after,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::after{z-index:4;
  background:#fff!important;
  color:#572390!important;
  border:1px solid rgba(255,255,255,.72);}.vsf-app .vsf-panel .vsf-options button.vsf-option:active{transform:translateY(-2px) scale(.985)!important;}.vsf-app .vsf-card{min-height:620px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;}.vsf-app .vsf-card:before{display:none!important}@media (max-width:680px){}.vsf-app .vsf-card{display:grid!important;
  grid-template-columns:minmax(0,42fr) minmax(0,58fr);
  align-items:center;
  gap:clamp(24px,3vw,40px);}.vsf-app .vsf-left,.vsf-app .vsf-right{width:auto!important;
  min-width:0!important;
  max-width:100%;
  flex:none!important;}.vsf-app .vsf-panel{width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;}.vsf-app .vsf-options{width:100%;
  min-width:0;
  max-width:100%;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;}.vsf-app .vsf-panel .vsf-options button.vsf-option{width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:124px;
  padding:16px 8px;
  overflow:hidden;}.vsf-app .vsf-option strong{max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;}@media (max-width:980px){}@media (max-width:680px){}@media (max-width:420px){}.vsf-app.is-guided-result .vsf-question{display:none;}.vsf-app.is-loading .vsf-actions{visibility:hidden;
  pointer-events:none;}.vsf-app.is-loading .vsf-bottle{animation-play-state:paused!important;}.vsf-app.is-loading .vsf-aura{animation-duration:5.5s;}.vsf-processing{display:grid;
  justify-items:center;
  gap:10px;
  width:min(100%,460px);
  margin:2px auto 0;
  padding:24px 18px 18px;
  text-align:center;}.vsf-processing-orbit{position:relative;
  display:grid;
  place-items:center;
  width:94px;
  height:94px;
  margin-bottom:6px;}.vsf-processing-ring{position:absolute;
  inset:5px;
  border:2px solid rgba(110,59,184,.12);
  border-top-color:#7a42c8;
  border-right-color:rgba(207,166,244,.9);
  border-radius:50%;
  box-shadow:0 0 0 10px rgba(139,77,202,.035);
  animation:vsfProcessingSpin 1.35s linear infinite;}.vsf-processing-core{position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(145deg,#864bd1,#5f2ca3);
  color:#fff;
  font-size:21px;
  box-shadow:0 16px 34px rgba(95,44,163,.24),inset 0 1px 0 rgba(255,255,255,.28);
  animation:vsfProcessingPulse 1.55s ease-in-out infinite;}.vsf-processing-petal{position:absolute;
  width:15px;
  height:10px;
  border-radius:80% 20% 74% 26%;
  background:linear-gradient(145deg,rgba(232,207,255,.95),rgba(156,90,214,.68));
  opacity:.78;
  animation:vsfProcessingPetal 2.4s ease-in-out infinite alternate;}.vsf-processing-petal-1{top:4px;right:11px;transform:rotate(28deg)}.vsf-processing-petal-2{bottom:9px;left:5px;animation-delay:-.8s;transform:rotate(-24deg)}.vsf-processing-petal-3{right:-2px;bottom:24px;animation-delay:-1.5s;transform:rotate(54deg)}.vsf-processing>strong{color:var(--vsf-purple-dark);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:30px;
  font-weight:650;
  line-height:1;}.vsf-processing>p{max-width:390px;
  margin:0;
  color:var(--vsf-muted);
  font-size:14px;
  line-height:1.6;}.vsf-processing-steps{display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
  margin-top:14px;}.vsf-processing-steps span{position:relative;
  min-width:0;
  padding:11px 8px 10px;
  border:1px solid rgba(110,59,184,.10);
  border-radius:12px;
  background:rgba(255,255,255,.46);
  color:var(--vsf-muted);
  font-size:11px;
  font-weight:750;
  line-height:1.25;
  overflow:hidden;}.vsf-processing-steps span:before{content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,#8a4cd2,#d7a9f2);
  transform:scaleX(0);
  transform-origin:left;
  animation:vsfProcessingStep 2.7s ease-in-out infinite;}.vsf-processing-steps span:nth-child(2):before{animation-delay:.55s}.vsf-processing-steps span:nth-child(3):before{animation-delay:1.1s}.vsf-processing.is-ready .vsf-processing-ring{border-color:rgba(110,59,184,.18);
  animation:none;}.vsf-processing.is-ready .vsf-processing-core{animation:vsfReadyPop .42s ease both;}.vsf-processing.is-ready .vsf-processing-petal{animation-duration:1.2s;}.vsf-result.is-visible{animation:vsfResult .26s ease forwards;}@media (max-width:680px){}@media (prefers-reduced-motion:reduce){.vsf-processing-ring,.vsf-processing-core,.vsf-processing-petal,.vsf-processing-steps span:before{animation:none!important;}}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"],.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:hover,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:hover,.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:focus,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:focus,.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:focus-visible,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:focus-visible{border:3px solid #6f35b8!important;
  background:#f5eaff!important;
  background-color:#f5eaff!important;
  background-image:linear-gradient(145deg,#fffaff 0%,#f2e5ff 54%,#e5d1fb 100%)!important;
  color:#351b55!important;
  transform:translateY(-6px) scale(1.015)!important;
  box-shadow:
    0 20px 42px rgba(83,36,137,.23),
    0 0 0 5px rgba(126,70,194,.13),
    inset 0 1px 0 rgba(255,255,255,.95)!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active::before,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::before{content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:14px;
  background:
    radial-gradient(circle at 18% 15%,rgba(255,255,255,.96),transparent 32%),
    linear-gradient(145deg,#fffaff 0%,#f1e3ff 58%,#e3cef9 100%)!important;
  opacity:1!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active > span,.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active > strong,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > span,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > strong{position:relative;
  z-index:3;
  color:#351b55!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active > strong,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > strong{font-weight:900!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active::after,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::after{content:"✓"!important;
  position:absolute;
  top:8px;
  right:8px;
  z-index:5;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:2px solid #fff!important;
  border-radius:50%;
  background:#6932ae!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 7px 18px rgba(67,26,112,.28)!important;}.vsf-app .vsf-panel .vsf-options button.vsf-option.is-active:active,.vsf-app .vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:active{transform:translateY(-3px) scale(1.005)!important;}@media (max-width:560px){}.vsf-app .vsf-stage{width:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  font-family:inherit;
  text-align:left;}.vsf-app .vsf-stage:disabled{cursor:default;
  opacity:.62;}.vsf-app .vsf-stage.is-complete:not(.is-active){color:#5a347f;}.vsf-app .vsf-stage.is-complete:not(.is-active) span{border-color:rgba(110,59,184,.24);
  background:#efe2fc;
  color:#5f2da0;}.vsf-app .vsf-stage.is-complete:not(.is-active) span::after{content:"✓";
  position:absolute;
  display:grid;
  place-items:center;
  width:13px;
  height:13px;
  margin:20px 0 0 20px;
  border:1px solid #fff;
  border-radius:50%;
  background:#6c36b2;
  color:#fff;
  font-size:7px;
  line-height:1;}.vsf-app .vsf-stage span{position:relative;
  flex:0 0 30px;}.vsf-app[data-vsf-field="gender"] .vsf-options{grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:560px;
  margin-inline:auto;}.vsf-app[data-vsf-field="gender"] .vsf-option{min-height:128px!important;}.vsf-app.is-advancing .vsf-panel{box-shadow:
    0 18px 44px rgba(88,52,142,.11),
    0 0 0 3px rgba(110,59,184,.035);}.vsf-app.is-advancing .vsf-question::after{content:"  →";
  color:#7841c4;
  animation:vsfAdvanceCue .7s ease-in-out infinite alternate;}@media (max-width:980px){}@media (max-width:680px){}@media (max-width:480px){}@media (prefers-reduced-motion:reduce){.vsf-app.is-advancing .vsf-question::after{animation:none!important;}}.vsf-app [hidden]{display:none!important;}.vsf-app[data-mode="chooser"] .vsf-stage-list,.vsf-app[data-mode="known"] .vsf-stage-list{display:none!important;}.vsf-path-chooser,.vsf-known-flow{animation:vsfPathIn .34s ease both;}.vsf-path-kicker{display:block;
  margin-bottom:8px;
  color:#7440bd;
  font-size:11px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;}.vsf-path-chooser h3,.vsf-known-flow h3{margin:0 0 9px;
  color:#351f50;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(30px,3vw,42px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.025em;}.vsf-path-chooser>p,.vsf-known-flow>p{max-width:560px;
  margin:0;
  color:#756c87;
  font-size:14px;
  line-height:1.65;}.vsf-path-grid{display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:24px;}.vsf-path-card{position:relative;
  display:grid;
  align-content:start;
  justify-items:start;
  gap:10px;
  min-width:0;
  min-height:190px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(110,59,184,.16)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.86)!important;
  color:#351f50!important;
  cursor:pointer;
  font-family:Inter,Arial,sans-serif;
  text-align:left;
  box-shadow:0 14px 34px rgba(88,52,142,.07)!important;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease!important;}.vsf-path-card:before{content:"";
  position:absolute;
  inset:auto -20% -58% 20%;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(178,121,226,.20),transparent 68%);
  pointer-events:none;}.vsf-path-card:hover,.vsf-path-card:focus-visible{border-color:#7440bd!important;
  background:linear-gradient(145deg,#fff,#f3e8ff)!important;
  color:#351f50!important;
  transform:translateY(-5px);
  box-shadow:0 20px 44px rgba(88,52,142,.16)!important;}.vsf-path-card i{display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#efe2fc;
  color:#6932ae;
  font-style:normal;
  font-size:20px;}.vsf-path-card strong{position:relative;
  z-index:1;
  color:#351f50!important;
  font-size:15px;
  font-weight:850;
  line-height:1.25;}.vsf-path-card span{position:relative;
  z-index:1;
  color:#756c87!important;
  font-size:12px;
  line-height:1.55;}.vsf-known-search{margin-top:22px;}.vsf-known-search label{display:block;
  margin-bottom:8px;
  color:#351f50;
  font-size:12px;
  font-weight:800;}.vsf-known-search-field{position:relative;}.vsf-known-search-field>span{position:absolute;
  top:50%;
  left:16px;
  z-index:2;
  color:#7440bd;
  font-size:21px;
  transform:translateY(-50%);
  pointer-events:none;}.vsf-known-search input{width:100%;
  min-height:56px;
  padding:13px 18px 13px 48px!important;
  border:1px solid rgba(110,59,184,.20)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.94)!important;
  color:#351f50!important;
  font:700 14px/1.3 Inter,Arial,sans-serif!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 10px 28px rgba(88,52,142,.06)!important;
  outline:none!important;}.vsf-known-search input::placeholder{color:rgba(117,108,135,.72);
  font-weight:500;}.vsf-known-search input:focus{border-color:#7440bd!important;
  box-shadow:0 0 0 4px rgba(116,64,189,.10),0 14px 34px rgba(88,52,142,.09)!important;}.vsf-known-status{min-height:22px;
  margin-top:10px;
  color:#756c87;
  font-size:12px;
  font-weight:650;}.vsf-app.is-searching .vsf-known-search-field:after{content:"";
  position:absolute;
  top:50%;
  right:16px;
  width:17px;
  height:17px;
  margin-top:-9px;
  border:2px solid rgba(110,59,184,.18);
  border-top-color:#6e3bb8;
  border-radius:50%;
  animation:vsfKnownSpin .8s linear infinite;}.vsf-known-results{display:grid;
  gap:8px;
  max-height:376px;
  margin-top:8px;
  padding:5px;
  overflow:auto;
  border:1px solid rgba(110,59,184,.10);
  border-radius:18px;
  background:rgba(255,255,255,.60);
  scrollbar-width:thin;
  scrollbar-color:rgba(110,59,184,.25) transparent;}.vsf-known-result{display:grid;
  grid-template-columns:48px minmax(0,1fr) 26px;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.88)!important;
  color:#351f50!important;
  cursor:pointer;
  font-family:Inter,Arial,sans-serif;
  text-align:left;
  box-shadow:none!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;}.vsf-known-result:hover,.vsf-known-result:focus-visible,.vsf-known-result.is-selected{border-color:rgba(110,59,184,.28)!important;
  background:#f3e8ff!important;
  color:#351f50!important;
  transform:translateX(3px);}.vsf-known-result:disabled{cursor:wait;
  opacity:.72;}.vsf-known-result-image{display:grid;
  place-items:center;
  width:48px;
  height:54px;
  overflow:hidden;
  border-radius:11px;
  background:#f8f4fc;
  color:#7440bd;}.vsf-known-result-image img{display:block;
  width:100%;
  height:100%;
  object-fit:contain;}.vsf-known-result-image i{font-style:normal;}.vsf-known-result-copy{display:grid;
  min-width:0;}.vsf-known-result-copy strong{overflow:hidden;
  color:#351f50!important;
  font-size:13px;
  font-weight:850;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;}.vsf-known-result-copy small{margin-top:3px;
  overflow:hidden;
  color:#6e3bb8;
  font-size:11px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;}.vsf-known-result-copy em{margin-top:4px;
  color:#756c87;
  font-size:10px;
  font-style:normal;
  line-height:1.3;}.vsf-known-result-arrow{color:#7440bd;
  font-size:18px;}.vsf-known-selected{margin-top:16px;}.vsf-known-selected-card{position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 30px;
  align-items:center;
  gap:15px;
  padding:15px;
  border:2px solid rgba(110,59,184,.23);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f1e4ff);
  box-shadow:0 18px 42px rgba(88,52,142,.14);
  animation:vsfKnownSelected .34s ease both;}.vsf-known-selected-image{display:grid;
  place-items:center;
  width:72px;
  height:82px;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  color:#7440bd;
  font-size:24px;}.vsf-known-selected-image img{width:100%;
  height:100%;
  object-fit:contain;}.vsf-known-selected-card>div:nth-child(2){display:grid;
  min-width:0;}.vsf-known-selected-card span{color:#6e3bb8;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;}.vsf-known-selected-card strong{margin-top:5px;
  color:#351f50;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:25px;
  font-weight:650;
  line-height:1;}.vsf-known-selected-card small{margin-top:6px;
  color:#756c87;
  font-size:11px;
  font-weight:700;}.vsf-known-selected-card>i{display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#6e3bb8;
  color:#fff;
  font-style:normal;
  font-size:13px;}.vsf-known-actions{display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:20px;}@media (max-width:680px){}@media (max-width:440px){}@media (prefers-reduced-motion:reduce){.vsf-path-chooser,.vsf-known-flow,.vsf-known-selected-card,.vsf-app.is-searching .vsf-known-search-field:after{animation:none!important;}}.vsf-app .vsf-stage,.vsf-app .vsf-stage:disabled{opacity:1!important;
  color:rgba(53,31,80,.56)!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;}.vsf-app .vsf-stage:not(.is-active):not(.is-complete){color:rgba(53,31,80,.56)!important;}.vsf-app .vsf-stage:not(.is-active):not(.is-complete) span{border-color:rgba(110,59,184,.15)!important;
  background:rgba(110,59,184,.055)!important;
  color:rgba(84,43,132,.56)!important;}.vsf-app .vsf-stage.is-complete:not(.is-active){color:#674487!important;}.vsf-app .vsf-stage.is-complete:not(.is-active) span{border-color:rgba(110,59,184,.28)!important;
  background:#efe4fa!important;
  color:#5f2da0!important;}.vsf-app .vsf-stage.is-active{color:#32184f!important;
  font-weight:850!important;}.vsf-app .vsf-stage.is-active span{border-color:#6e3bb8!important;
  background:#6e3bb8!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(76,31,126,.22)!important;}.vsf-app .vsf-stage:disabled{cursor:default;
  filter:none!important;}.vsf-app button.vsf-stage:disabled,.vsf-app button.vsf-stage[disabled]{opacity:1!important;
  background:transparent!important;
  color:rgba(53,31,80,.56)!important;}.vsf-app button.vsf-stage.is-active,.vsf-app button.vsf-stage.is-active:disabled{color:#32184f!important;}.vsf-app button.vsf-stage.is-complete:not(.is-active){color:#674487!important;}@media (max-width:680px){}.vsf-app{--vsf-fill:28%;}.vsf-app .vsf-bottle-body{isolation:isolate;
  background:
    linear-gradient(145deg,rgba(255,255,255,.52),transparent 25%),
    linear-gradient(165deg,rgba(180,128,220,.24),rgba(89,42,143,.14) 72%,rgba(65,27,108,.18));
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.32),
    inset -12px -10px 26px rgba(55,22,92,.14),
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 28px 55px rgba(77,36,127,.24);}.vsf-app .vsf-bottle-liquid{position:absolute;
  right:-9%;
  bottom:-3px;
  left:-9%;
  z-index:1;
  display:block;
  height:var(--vsf-fill);
  min-height:18px;
  overflow:visible;
  border-radius:42% 42% 36px 36px;
  background:
    radial-gradient(circle at 28% 76%,rgba(255,255,255,.30) 0 2px,transparent 3px),
    radial-gradient(circle at 69% 59%,rgba(255,255,255,.22) 0 3px,transparent 4px),
    radial-gradient(circle at 52% 88%,rgba(255,255,255,.18) 0 2px,transparent 3px),
    linear-gradient(155deg,#a864dc 0%,#7a3dbe 48%,#542489 100%);
  box-shadow:
    inset 12px 0 20px rgba(255,255,255,.18),
    inset -12px -10px 24px rgba(52,20,87,.24),
    0 -5px 18px rgba(119,62,183,.18);
  transition:height .78s cubic-bezier(.22,.72,.24,1);
  will-change:height;}.vsf-app .vsf-bottle-liquid:before{content:"";
  position:absolute;
  top:-9px;
  right:-3%;
  left:-3%;
  height:20px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(213,174,240,.96) 0%,rgba(157,91,207,.88) 58%,rgba(95,43,151,.82) 100%);
  box-shadow:
    inset 0 4px 8px rgba(255,255,255,.34),
    0 -2px 6px rgba(255,255,255,.18);
  animation:vsfLiquidSurface 3.8s ease-in-out infinite alternate;}.vsf-app .vsf-bottle-liquid:after{content:"";
  position:absolute;
  inset:10px 19% 8px 15%;
  border-radius:48%;
  background:linear-gradient(105deg,rgba(255,255,255,.20),transparent 42%);
  filter:blur(1px);
  opacity:.8;}.vsf-app .vsf-bottle-body:before{z-index:4;
  text-shadow:0 1px 8px rgba(62,22,96,.18);}.vsf-app .vsf-bottle-body:after{z-index:5;
  pointer-events:none;}.vsf-app.is-advancing .vsf-bottle-body{box-shadow:
    inset 12px 0 24px rgba(255,255,255,.34),
    inset -12px -10px 26px rgba(55,22,92,.14),
    0 28px 55px rgba(77,36,127,.24),
    0 0 34px rgba(147,83,205,.22);}@media (prefers-reduced-motion:reduce){.vsf-app .vsf-bottle-liquid{transition:none!important;}.vsf-app .vsf-bottle-liquid:before{animation:none!important;}}.vsf-app{--vsf-fill:0%;}.vsf-app .vsf-bottle-body{transform:rotate(-8deg)!important;}.vsf-app .vsf-bottle-cap{top:0!important;
  left:calc(50% - 16px)!important;
  width:72px!important;
  height:52px!important;
  border-radius:10px 10px 4px 4px!important;
  transform:translateX(-50%) rotate(-8deg)!important;
  transform-origin:50% 100%!important;
  background:linear-gradient(90deg,#ac7d24,#f5d97b 45%,#b48328)!important;
  box-shadow:
    inset 0 0 12px rgba(255,255,255,.4),
    0 10px 22px rgba(80,48,122,.18)!important;}.vsf-app .vsf-bottle-cap:after{content:none!important;}.vsf-app .vsf-bottle-liquid{min-height:0!important;
  opacity:1;
  transition:
    height .78s cubic-bezier(.22,.72,.24,1),
    opacity .22s ease!important;}.vsf-app[data-vsf-fill="0"] .vsf-bottle-liquid{height:0!important;
  opacity:0;}.vsf-app[data-vsf-fill="0"] .vsf-bottle-liquid:before,.vsf-app[data-vsf-fill="0"] .vsf-bottle-liquid:after{opacity:0;}.vsf-app .vsf-bottle{isolation:isolate;}.vsf-app .vsf-bottle:before,.vsf-app .vsf-bottle:after{content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  opacity:0;}.vsf-app .vsf-bottle:before{inset:38px -48px 8px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.96) 0%,
      rgba(238,211,255,.78) 18%,
      rgba(178,103,226,.48) 42%,
      rgba(111,53,184,.12) 62%,
      transparent 73%);
  filter:blur(2px);
  transform:scale(.48);}.vsf-app .vsf-bottle:after{inset:28px -38px 0;
  border:2px solid rgba(224,185,251,.82);
  border-radius:50%;
  box-shadow:
    0 0 28px rgba(190,124,232,.40),
    inset 0 0 24px rgba(255,255,255,.26);
  transform:scale(.58);}.vsf-app.is-completion-burst .vsf-bottle:before{animation:vsfBottleCompletionGlow .92s ease-out both;}.vsf-app.is-completion-burst .vsf-bottle:after{animation:vsfBottleCompletionRing .92s cubic-bezier(.18,.7,.24,1) both;}.vsf-app.is-completion-burst .vsf-bottle-body{box-shadow:
    inset 12px 0 24px rgba(255,255,255,.38),
    inset -12px -10px 26px rgba(55,22,92,.14),
    inset 0 0 0 1px rgba(255,255,255,.20),
    0 28px 55px rgba(77,36,127,.24),
    0 0 46px rgba(179,105,224,.52)!important;
  transition:box-shadow .25s ease;}.vsf-app.is-completion-burst .vsf-processing.is-ready{animation:vsfReadySynchronized .82s ease-out both;}.vsf-app.is-completion-burst .vsf-processing.is-ready .vsf-processing-core{box-shadow:
    0 16px 34px rgba(95,44,163,.24),
    0 0 0 11px rgba(139,77,202,.08),
    0 0 34px rgba(186,115,230,.38),
    inset 0 1px 0 rgba(255,255,255,.28);}@media (prefers-reduced-motion:reduce){.vsf-app.is-completion-burst .vsf-bottle:before,.vsf-app.is-completion-burst .vsf-bottle:after,.vsf-app.is-completion-burst .vsf-processing.is-ready{animation:none!important;}}.vsf-app .vsf-bottle-burst{position:absolute;
  inset:0;
  z-index:8;
  overflow:visible;
  pointer-events:none;}.vsf-app .vsf-burst-particle{--vsf-burst-x:0px;
  --vsf-burst-y:-100px;
  --vsf-burst-rotate:120deg;
  --vsf-burst-scale:1;
  --vsf-burst-delay:0s;
  position:absolute;
  top:64px;
  left:calc(50% - 13px);
  display:block;
  opacity:0;
  filter:drop-shadow(0 6px 9px rgba(91,41,143,.22));
  transform:translate(-50%,-50%) scale(.15);
  transform-origin:center;
  will-change:transform,opacity;}.vsf-app .vsf-burst-particle.is-petal{width:23px;
  height:13px;
  border-radius:78% 22% 72% 28%;
  background:
    linear-gradient(145deg,rgba(255,243,255,.98),rgba(198,128,227,.90) 58%,rgba(126,62,184,.76));}.vsf-app .vsf-burst-particle.is-drop{width:13px;
  height:20px;
  border-radius:78% 22% 68% 32%;
  background:
    linear-gradient(150deg,rgba(255,255,255,.98),rgba(215,172,242,.86) 42%,rgba(127,65,190,.76));}.vsf-app .vsf-burst-particle.is-spark{width:14px;
  height:14px;
  background:
    linear-gradient(135deg,transparent 42%,#f4d879 43% 57%,transparent 58%);}.vsf-app .vsf-burst-particle.is-spark:after{content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(45deg,transparent 42%,#fff1ad 43% 57%,transparent 58%);}.vsf-app .vsf-burst-particle:nth-child(1){--vsf-burst-x:-112px;--vsf-burst-y:-116px;--vsf-burst-rotate:-190deg;--vsf-burst-scale:1.05;--vsf-burst-delay:.02s}.vsf-app .vsf-burst-particle:nth-child(2){--vsf-burst-x:-68px;--vsf-burst-y:-148px;--vsf-burst-rotate:145deg;--vsf-burst-scale:.90;--vsf-burst-delay:.10s}.vsf-app .vsf-burst-particle:nth-child(3){--vsf-burst-x:-22px;--vsf-burst-y:-132px;--vsf-burst-rotate:80deg;--vsf-burst-scale:1.10;--vsf-burst-delay:.04s}.vsf-app .vsf-burst-particle:nth-child(4){--vsf-burst-x:42px;--vsf-burst-y:-142px;--vsf-burst-rotate:205deg;--vsf-burst-scale:.95;--vsf-burst-delay:.12s}.vsf-app .vsf-burst-particle:nth-child(5){--vsf-burst-x:92px;--vsf-burst-y:-109px;--vsf-burst-rotate:125deg;--vsf-burst-scale:1.16;--vsf-burst-delay:.03s}.vsf-app .vsf-burst-particle:nth-child(6){--vsf-burst-x:126px;--vsf-burst-y:-55px;--vsf-burst-rotate:-120deg;--vsf-burst-scale:.88;--vsf-burst-delay:.15s}.vsf-app .vsf-burst-particle:nth-child(7){--vsf-burst-x:132px;--vsf-burst-y:12px;--vsf-burst-rotate:220deg;--vsf-burst-scale:1.05;--vsf-burst-delay:.08s}.vsf-app .vsf-burst-particle:nth-child(8){--vsf-burst-x:90px;--vsf-burst-y:58px;--vsf-burst-rotate:180deg;--vsf-burst-scale:.92;--vsf-burst-delay:.01s}.vsf-app .vsf-burst-particle:nth-child(9){--vsf-burst-x:30px;--vsf-burst-y:82px;--vsf-burst-rotate:-155deg;--vsf-burst-scale:.82;--vsf-burst-delay:.14s}.vsf-app .vsf-burst-particle:nth-child(10){--vsf-burst-x:-42px;--vsf-burst-y:70px;--vsf-burst-rotate:190deg;--vsf-burst-scale:1.02;--vsf-burst-delay:.06s}.vsf-app .vsf-burst-particle:nth-child(11){--vsf-burst-x:-98px;--vsf-burst-y:35px;--vsf-burst-rotate:95deg;--vsf-burst-scale:1.13;--vsf-burst-delay:.12s}.vsf-app .vsf-burst-particle:nth-child(12){--vsf-burst-x:-132px;--vsf-burst-y:-18px;--vsf-burst-rotate:-205deg;--vsf-burst-scale:.86;--vsf-burst-delay:.04s}.vsf-app .vsf-burst-particle:nth-child(13){--vsf-burst-x:-150px;--vsf-burst-y:-72px;--vsf-burst-rotate:230deg;--vsf-burst-scale:1.08;--vsf-burst-delay:.16s}.vsf-app .vsf-burst-particle:nth-child(14){--vsf-burst-x:150px;--vsf-burst-y:-82px;--vsf-burst-rotate:-95deg;--vsf-burst-scale:1.18;--vsf-burst-delay:.09s}.vsf-app.is-completion-burst .vsf-burst-particle{animation:
    vsfEssenceParticle 1.14s cubic-bezier(.13,.64,.24,1)
    var(--vsf-burst-delay) both;}.vsf-app.is-completion-burst .vsf-bottle:before{animation:vsfBottleRitualGlow 1.18s ease-out both!important;}.vsf-app.is-completion-burst .vsf-bottle:after{animation:vsfBottleRitualRing 1.16s cubic-bezier(.12,.72,.22,1) both!important;}.vsf-app.is-completion-burst .vsf-bottle{animation:
    vsfBottleRitualPulse 1.15s cubic-bezier(.18,.7,.22,1) both!important;}.vsf-app.is-completion-burst .vsf-bottle-liquid:before{animation:vsfFinalLiquidWave .82s ease-out both!important;}.vsf-app.is-completion-burst .vsf-bottle-cap{animation:vsfFinalCapFlash .86s ease-out both;}.vsf-app.is-completion-burst .vsf-bottle-body:before{animation:vsfFinalLogoFlash .92s ease-out .12s both;}.vsf-app.is-completion-burst .vsf-bottle-body:after{animation:vsfFinalGlassSweep .94s ease-out both!important;}.vsf-app.is-completion-burst .vsf-processing.is-ready{animation:vsfReadyRitual 1s cubic-bezier(.18,.7,.22,1) .28s both!important;}.vsf-app.is-completion-burst .vsf-processing.is-ready .vsf-processing-core{animation:vsfReadyCorePulse .92s ease-out .24s both;}@media (max-width:680px){.vsf-app .vsf-burst-particle{--vsf-burst-scale:.78;}.vsf-app .vsf-burst-particle:nth-child(1),.vsf-app .vsf-burst-particle:nth-child(13){--vsf-burst-x:-105px;}.vsf-app .vsf-burst-particle:nth-child(6),.vsf-app .vsf-burst-particle:nth-child(14){--vsf-burst-x:105px;}}@media (prefers-reduced-motion:reduce){.vsf-app.is-completion-burst .vsf-burst-particle,.vsf-app.is-completion-burst .vsf-bottle,.vsf-app.is-completion-burst .vsf-bottle-liquid:before,.vsf-app.is-completion-burst .vsf-bottle-cap,.vsf-app.is-completion-burst .vsf-bottle-body:before,.vsf-app.is-completion-burst .vsf-bottle-body:after,.vsf-app.is-completion-burst .vsf-processing.is-ready,.vsf-app.is-completion-burst .vsf-processing.is-ready .vsf-processing-core{animation:none!important;}}.vsf-app .vsf-bottle-cap{transition:
    top .72s cubic-bezier(.18,.72,.24,1),
    left .72s cubic-bezier(.18,.72,.24,1),
    transform .72s cubic-bezier(.18,.72,.24,1),
    box-shadow .34s ease,
    filter .34s ease!important;}.vsf-app:not([data-vsf-fill="100"]) .vsf-bottle-cap{top:-38px!important;
  left:calc(50% + 14px)!important;
  transform:
    translateX(-50%)
    rotate(18deg)!important;
  transform-origin:20% 100%!important;
  box-shadow:
    inset 0 0 12px rgba(255,255,255,.42),
    0 15px 28px rgba(80,48,122,.21)!important;}.vsf-app[data-vsf-fill="100"] .vsf-bottle-cap{top:0!important;
  left:calc(50% - 16px)!important;
  transform:
    translateX(-50%)
    rotate(-8deg)!important;
  transform-origin:50% 100%!important;}.vsf-app[data-vsf-fill="100"] .vsf-bottle-cap{filter:brightness(1.05) saturate(1.04);}.vsf-app .vsf-bottle-atmosphere{position:absolute;
  inset:-52px -66px -34px;
  z-index:2;
  overflow:visible;
  pointer-events:none;}.vsf-app .vsf-atmosphere-particle{--vsf-atmo-duration:7.5s;
  --vsf-atmo-delay:0s;
  --vsf-atmo-opacity:.64;
  --vsf-atmo-scale:1;
  position:absolute;
  display:block;
  opacity:0;
  filter:drop-shadow(0 7px 12px rgba(88,38,139,.16));
  transform:translate3d(0,8px,0) scale(.55) rotate(-8deg);
  transition:
    opacity .55s ease,
    transform .7s cubic-bezier(.18,.72,.24,1);
  animation:
    vsfBottleAtmosphereFloat var(--vsf-atmo-duration)
    ease-in-out var(--vsf-atmo-delay) infinite alternate;
  animation-play-state:paused;
  will-change:transform,opacity;}.vsf-app .vsf-atmosphere-particle.is-petal{width:22px;
  height:13px;
  border-radius:78% 22% 72% 28%;
  background:
    linear-gradient(145deg,rgba(255,246,255,.96),rgba(201,144,230,.84) 56%,rgba(125,67,184,.66));}.vsf-app .vsf-atmosphere-particle.is-drop{width:12px;
  height:19px;
  border-radius:78% 22% 68% 32%;
  background:
    linear-gradient(150deg,rgba(255,255,255,.96),rgba(214,178,239,.78) 44%,rgba(126,69,187,.64));}.vsf-app .vsf-atmosphere-particle.is-spark{width:12px;
  height:12px;
  background:
    linear-gradient(135deg,transparent 42%,rgba(244,216,121,.92) 43% 57%,transparent 58%);}.vsf-app .vsf-atmosphere-particle.is-spark:after{content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(45deg,transparent 42%,rgba(255,241,173,.96) 43% 57%,transparent 58%);}.vsf-app .vsf-atmosphere-particle:nth-child(1){top:13%;left:7%;--vsf-atmo-duration:7.8s;--vsf-atmo-delay:-2.4s;--vsf-atmo-scale:.88}.vsf-app .vsf-atmosphere-particle:nth-child(2){top:30%;right:5%;--vsf-atmo-duration:8.6s;--vsf-atmo-delay:-5.1s;--vsf-atmo-scale:.78}.vsf-app .vsf-atmosphere-particle:nth-child(3){top:7%;right:23%;--vsf-atmo-duration:6.8s;--vsf-atmo-delay:-3.2s;--vsf-atmo-scale:.82}.vsf-app .vsf-atmosphere-particle:nth-child(4){top:47%;left:1%;--vsf-atmo-duration:9.2s;--vsf-atmo-delay:-6.5s;--vsf-atmo-scale:1.02}.vsf-app .vsf-atmosphere-particle:nth-child(5){bottom:18%;right:1%;--vsf-atmo-duration:7.4s;--vsf-atmo-delay:-1.8s;--vsf-atmo-scale:.86}.vsf-app .vsf-atmosphere-particle:nth-child(6){bottom:7%;left:22%;--vsf-atmo-duration:6.4s;--vsf-atmo-delay:-4.6s;--vsf-atmo-scale:.76}.vsf-app .vsf-atmosphere-particle:nth-child(7){top:22%;left:24%;--vsf-atmo-duration:8.1s;--vsf-atmo-delay:-6.9s;--vsf-atmo-scale:.72}.vsf-app .vsf-atmosphere-particle:nth-child(8){top:57%;right:22%;--vsf-atmo-duration:9.5s;--vsf-atmo-delay:-3.7s;--vsf-atmo-scale:.74}.vsf-app .vsf-atmosphere-particle:nth-child(9){bottom:20%;left:4%;--vsf-atmo-duration:6.9s;--vsf-atmo-delay:-5.8s;--vsf-atmo-scale:.90}.vsf-app .vsf-atmosphere-particle:nth-child(10){top:2%;left:38%;--vsf-atmo-duration:8.8s;--vsf-atmo-delay:-2.9s;--vsf-atmo-scale:.82}.vsf-app .vsf-atmosphere-particle:nth-child(11){bottom:2%;right:35%;--vsf-atmo-duration:7.7s;--vsf-atmo-delay:-7.1s;--vsf-atmo-scale:.70}.vsf-app .vsf-atmosphere-particle:nth-child(12){top:39%;right:31%;--vsf-atmo-duration:6.5s;--vsf-atmo-delay:-4.2s;--vsf-atmo-scale:.66}.vsf-app[data-vsf-fill="0"] .vsf-atmosphere-particle:nth-child(-n/**/+2),.vsf-app[data-vsf-fill="25"] .vsf-atmosphere-particle:nth-child(-n/**/+4),.vsf-app[data-vsf-fill="50"] .vsf-atmosphere-particle:nth-child(-n/**/+6),.vsf-app[data-vsf-fill="75"] .vsf-atmosphere-particle:nth-child(-n/**/+9),.vsf-app[data-vsf-fill="100"] .vsf-atmosphere-particle{opacity:var(--vsf-atmo-opacity);
  transform:translate3d(0,0,0) scale(var(--vsf-atmo-scale)) rotate(0deg);
  animation-play-state:running;}.vsf-app[data-vsf-fill="75"] .vsf-atmosphere-particle:nth-child(-n/**/+9){--vsf-atmo-opacity:.72;}.vsf-app[data-vsf-fill="100"] .vsf-atmosphere-particle{--vsf-atmo-opacity:.82;}@media (max-width:680px){.vsf-app .vsf-bottle-atmosphere{inset:-38px -38px -22px;}.vsf-app .vsf-atmosphere-particle{transform:translate3d(0,7px,0) scale(.46) rotate(-8deg);}.vsf-app[data-vsf-fill="100"] .vsf-atmosphere-particle{transform:translate3d(0,0,0) scale(calc(var(--vsf-atmo-scale) * .78)) rotate(0deg);}}@media (prefers-reduced-motion:reduce){.vsf-app .vsf-bottle-cap{transition:none!important;}.vsf-app .vsf-atmosphere-particle{animation:none!important;
    transition:opacity .2s ease!important;}}body.vsf-final-lock{
  overflow:hidden!important;
  touch-action:none!important;
}.vsf-app.is-final-source .vsf-visual,.vsf-app.is-final-source .vsf-result{opacity:0!important;
  transition:opacity .18s ease!important;}.vsf-final-overlay{position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  isolation:isolate;
  --vsf-fill:100%;}.vsf-final-overlay-backdrop{position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(
      155deg,
      rgba(251,246,255,.985) 0%,
      rgba(237,218,250,.985) 48%,
      rgba(207,169,232,.985) 100%
    );
  opacity:0;
  animation:vsfPortalBackdropIn .62s ease forwards;}.vsf-final-overlay-backdrop:after{content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 39%,rgba(255,255,255,.94) 0 13%,rgba(247,232,255,.58) 32%,transparent 62%),
    radial-gradient(circle at 13% 18%,rgba(255,255,255,.44),transparent 31%),
    radial-gradient(circle at 86% 78%,rgba(109,57,164,.15),transparent 34%);}.vsf-final-overlay-light{position:fixed;
  top:var(--vsf-overlay-target-y,40vh);
  left:var(--vsf-overlay-target-x,50vw);
  z-index:1;
  width:min(74vw,560px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.88) 0%,rgba(239,208,255,.52) 30%,rgba(160,91,205,.20) 57%,transparent 72%);
  filter:blur(3px);
  opacity:0;
  transform:translate(-50%,-50%) scale(.72);
  animation:vsfPortalLightIn .92s ease .22s forwards;}.vsf-final-overlay-visual{position:fixed;
  top:var(--vsf-overlay-target-y,40vh);
  left:var(--vsf-overlay-target-x,50vw);
  z-index:3;
  width:360px;
  height:360px;
  transform:
    translate(
      calc(-50% + var(--vsf-overlay-start-x,0px)),
      calc(-50% + var(--vsf-overlay-start-y,0px))
    )
    scale(1);
  transform-origin:center;
  will-change:transform;}.vsf-final-overlay.is-travelling .vsf-final-overlay-visual{animation:vsfPortalTravel 1.04s cubic-bezier(.16,.76,.22,1) both;}.vsf-final-overlay .vsf-visual{position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:360px!important;
  height:360px!important;
  margin:0!important;
  transform:none!important;}.vsf-final-overlay .vsf-aura{width:360px!important;
  height:360px!important;}.vsf-final-overlay .vsf-bottle-atmosphere{z-index:3!important;}.vsf-final-overlay .vsf-bottle-burst{z-index:9!important;}.vsf-final-overlay[data-vsf-fill="100"] .vsf-atmosphere-particle{opacity:var(--vsf-atmo-opacity);
  transform:translate3d(0,0,0) scale(var(--vsf-atmo-scale)) rotate(0deg);
  animation-play-state:running;}.vsf-final-overlay-copy{position:fixed;
  top:calc(var(--vsf-overlay-target-y,40vh) + 205px);
  left:50%;
  z-index:4;
  width:min(90vw,620px);
  padding:12px 18px 18px;
  color:#351f50;
  text-align:center;
  opacity:0;
  transform:translate(-50%,18px) scale(.96);
  filter:blur(4px);}.vsf-final-overlay-copy strong{display:block;
  color:#351f50;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(36px,4.1vw,54px);
  font-weight:650;
  line-height:.98;
  letter-spacing:-.025em;
  text-shadow:0 3px 18px rgba(255,255,255,.72);}.vsf-final-overlay-copy p{max-width:520px;
  margin:12px auto 0;
  color:#6b587c;
  font:650 clamp(13px,1.35vw,16px)/1.55 Inter,Arial,sans-serif;
  text-shadow:0 2px 12px rgba(255,255,255,.76);}.vsf-final-overlay.is-copy-visible .vsf-final-overlay-copy{animation:vsfPortalCopyIn .92s cubic-bezier(.18,.7,.22,1) both;}.vsf-final-overlay.is-completion-burst .vsf-bottle{animation:vsfBottleRitualPulse 1.15s cubic-bezier(.18,.7,.22,1) both!important;}@media (max-width:680px){.vsf-final-overlay-visual,.vsf-final-overlay .vsf-visual,.vsf-final-overlay .vsf-aura{width:320px!important;
    height:320px!important;}.vsf-final-overlay-copy{top:calc(var(--vsf-overlay-target-y,38vh) + 182px);
    width:min(92vw,520px);
    padding-right:10px;
    padding-left:10px;}.vsf-final-overlay-copy strong{font-size:clamp(32px,9vw,43px);}}@media (max-height:700px){.vsf-final-overlay-visual,.vsf-final-overlay .vsf-visual,.vsf-final-overlay .vsf-aura{width:294px!important;
    height:294px!important;}.vsf-final-overlay-copy{top:calc(var(--vsf-overlay-target-y,36vh) + 165px);}.vsf-final-overlay-copy strong{font-size:34px;}.vsf-final-overlay-copy p{margin-top:8px;
    font-size:13px;}}@media (prefers-reduced-motion:reduce){.vsf-final-overlay-backdrop,.vsf-final-overlay-light,.vsf-final-overlay.is-travelling .vsf-final-overlay-visual,.vsf-final-overlay.is-copy-visible .vsf-final-overlay-copy{animation:none!important;}.vsf-final-overlay-backdrop,.vsf-final-overlay-light,.vsf-final-overlay-copy{opacity:1!important;
    filter:none!important;}.vsf-final-overlay-visual{transform:
      translate(-50%,-50%)
      scale(var(--vsf-overlay-scale,1))!important;}.vsf-final-overlay-copy{transform:translate(-50%,0)!important;}}.vsf-final-overlay.is-completion-burst .vsf-bottle{animation-duration:1.38s!important;}.vsf-final-overlay.is-completion-burst .vsf-burst-particle{animation-duration:1.36s!important;}.vsf-final-overlay.is-completion-burst .vsf-bottle:before,.vsf-final-overlay.is-completion-burst .vsf-bottle:after{animation-duration:1.38s!important;}.vsf-final-overlay.is-completion-burst .vsf-bottle-liquid:before{animation-duration:1.02s!important;}.vsf-final-overlay.is-completion-burst .vsf-bottle-cap{animation-duration:1.04s!important;}.vsf-final-overlay.is-completion-burst .vsf-bottle-body:before,.vsf-final-overlay.is-completion-burst .vsf-bottle-body:after{animation-duration:1.10s!important;}.velara-hero .vsf-app .vsf-visual{transform:translateY(38px);}@media (max-width:980px){}@media (max-width:680px){}.vsf-app .vsf-path-card,
.vsf-app .vsf-panel .vsf-options button.vsf-option{white-space:normal!important;}.vsf-app .vsf-path-card strong,
.vsf-app .vsf-path-card span,
.vsf-app .vsf-panel .vsf-options button.vsf-option > strong{width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;}.vsf-app .vsf-path-card strong{display:block;
  text-wrap:balance;}.vsf-app .vsf-path-card span{display:block;
  text-wrap:pretty;}.vsf-app .vsf-panel .vsf-options button.vsf-option{height:auto!important;
  align-content:center;}.vsf-app .vsf-panel .vsf-options button.vsf-option > strong{display:block;
  line-height:1.28!important;
  text-align:center;}@media (max-width:420px){}.velara-hero-grid
.elementor-widget-velara_signature_finder,.velara-hero-grid
[data-widget_type^="velara_signature_finder"],
.elementor-widget-velara_signature_finder{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 1 auto!important;
  align-self:auto!important;
  overflow:visible!important;
}

[data-widget_type^="velara_signature_finder"] > .elementor-widget-container,
.elementor-widget-velara_signature_finder > .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

.vsf-app:not(.vsf-final-overlay),
.vsf-app:not(.vsf-final-overlay) .vsf-card{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

@media (min-width:981px){.vsf-app:not(.vsf-final-overlay) .vsf-card{display:grid!important;
        grid-template-columns:
            minmax(0,1.62fr)
            minmax(235px,1fr)!important;
        grid-template-rows:auto auto;
        grid-template-areas:
            "copy bottle"
            "selector bottle";
        align-content:space-evenly!important;
        align-items:start!important;
        column-gap:34px!important;
        row-gap:26px!important;
        overflow:visible!important;}.vsf-app:not(.vsf-final-overlay) .vsf-right{display:contents!important;}.vsf-app:not(.vsf-final-overlay) .vsf-left,.vsf-app:not(.vsf-final-overlay) .vsf-panel{width:100%!important;
        max-width:none!important;
        min-width:0!important;
        box-sizing:border-box;
        padding-inline:14px!important;
        justify-self:stretch!important;}.vsf-app:not(.vsf-final-overlay) .vsf-left{grid-area:copy;
        align-self:end;}.vsf-app:not(.vsf-final-overlay) .vsf-panel{grid-area:selector;
        align-self:start;
        padding-top:24px!important;
        padding-bottom:24px!important;
        overflow:visible!important;}.vsf-app:not(.vsf-final-overlay) .vsf-title{max-width:100%;
        margin:0 0 17px;
        font-size:clamp(48px,4.5vw,64px);
        line-height:.98;
        letter-spacing:-.03em;}.vsf-app:not(.vsf-final-overlay) .vsf-description{max-width:100%;
        font-size:14px;
        line-height:1.7;}.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
        gap:10px!important;
        width:100%;
        margin-top:22px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-stage{min-width:0;
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
        font-size:10px!important;
        line-height:1.3;
        text-align:left;
        white-space:normal;}.vsf-app:not(.vsf-final-overlay) .vsf-stage span{width:27px;
        height:27px;
        flex:0 0 27px;
        font-size:10px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,.vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{margin:9px 0 13px;
        font-size:clamp(33px,3vw,42px);
        line-height:1.08;
        text-wrap:balance;}.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,.vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{margin:0;
        font-size:12px;
        line-height:1.65;}.vsf-app:not(.vsf-final-overlay) .vsf-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
        margin-top:22px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card{min-height:164px;
        gap:10px;
        padding:18px;
        align-content:start;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card i{width:38px;
        height:38px;
        font-size:17px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{font-size:13px;
        line-height:1.34;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{font-size:11px;
        line-height:1.55;}.vsf-app:not(.vsf-final-overlay) .vsf-question{margin-bottom:19px;
        font-size:14px;
        line-height:1.5;}.vsf-app:not(.vsf-final-overlay) .vsf-options{grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:12px!important;}.vsf-app:not(.vsf-final-overlay)
    .vsf-panel .vsf-options button.vsf-option{min-height:102px!important;
        height:auto!important;
        padding:14px 11px!important;
        border-radius:17px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-option span{font-size:26px;}.vsf-app:not(.vsf-final-overlay) .vsf-option strong{font-size:11.5px;
        line-height:1.32!important;}.vsf-app:not(.vsf-final-overlay) .vsf-actions{gap:12px;
        margin-top:17px;}.vsf-app:not(.vsf-final-overlay) .vsf-status:empty{display:none;}.vsf-app:not(.vsf-final-overlay) .vsf-visual{grid-area:bottle;
        position:relative;
        display:grid;
        place-items:center;
        width:100%;
        min-width:0!important;
        height:100%;
        min-height:0;
        align-self:stretch;
        overflow:visible!important;
        transform:translateY(8px);}.vsf-app:not(.vsf-final-overlay) .vsf-bottle{scale:1.18;}.vsf-app:not(.vsf-final-overlay) .vsf-aura{width:410px;
        height:410px;}.velara-hero
    .vsf-app:not(.vsf-final-overlay) .vsf-visual{transform:translateY(8px);}}@media (min-width:981px) and (max-height:720px){.vsf-app:not(.vsf-final-overlay) .vsf-card{grid-template-columns:
            minmax(0,1.65fr)
            minmax(225px,1fr)!important;
        align-content:space-evenly!important;
        column-gap:30px!important;
        row-gap:20px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-left,.vsf-app:not(.vsf-final-overlay) .vsf-panel{padding-inline:12px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-panel{padding-top:19px!important;
        padding-bottom:19px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-title{margin-bottom:12px;
        font-size:clamp(43px,4.1vw,54px);}.vsf-app:not(.vsf-final-overlay) .vsf-description{font-size:12px;
        line-height:1.58;}.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{gap:8px!important;
        margin-top:15px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-stage{gap:5px;
        font-size:9px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-stage span{width:23px;
        height:23px;
        flex-basis:23px;
        font-size:9px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,.vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{margin:6px 0 9px;
        font-size:clamp(29px,2.8vw,36px);}.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,.vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{font-size:10.5px;
        line-height:1.55;}.vsf-app:not(.vsf-final-overlay) .vsf-path-grid{gap:11px;
        margin-top:16px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card{min-height:128px;
        padding:14px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card i{width:32px;
        height:32px;
        font-size:15px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{font-size:11.5px;}.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{font-size:9.5px;
        line-height:1.48;}.vsf-app:not(.vsf-final-overlay) .vsf-question{margin-bottom:13px;
        font-size:12px;}.vsf-app:not(.vsf-final-overlay)
    .vsf-panel .vsf-options button.vsf-option{min-height:82px!important;
        padding:10px 9px!important;}.vsf-app:not(.vsf-final-overlay) .vsf-option span{font-size:22px;}.vsf-app:not(.vsf-final-overlay) .vsf-option strong{font-size:10px;}.vsf-app:not(.vsf-final-overlay) .vsf-actions{margin-top:11px;}.vsf-app:not(.vsf-final-overlay) .vsf-bottle{scale:1.08;}.vsf-app:not(.vsf-final-overlay) .vsf-aura{width:365px;
        height:365px;}.vsf-app:not(.vsf-final-overlay) .vsf-visual,.velara-hero
    .vsf-app:not(.vsf-final-overlay) .vsf-visual{transform:translateY(5px);}}

/* =========================================================
   v1.5.4 — clean final ritual message system.
   One authoritative block. No accumulated legacy positioning.
   ========================================================= */

/* The old centered copy wrapper is not used by the current markup. */
.vsf-final-overlay-copy{
  display:none!important;
}

/*
 * Full-viewport grid:
 * - left column for editorial message
 * - protected center column for the bottle
 * - right column for editorial message
 */
.vsf-final-messages{
  position:fixed!important;
  inset:0!important;
  z-index:6!important;
  display:grid!important;
  grid-template-columns:
    minmax(0,1fr)
    clamp(250px,34vw,390px)
    minmax(0,1fr)!important;
  grid-template-rows:1fr 1fr!important;
  column-gap:clamp(22px,3vw,58px)!important;
  row-gap:22px!important;
  box-sizing:border-box!important;
  width:100vw!important;
  height:100dvh!important;
  padding:
    clamp(92px,14vh,145px)
    clamp(28px,4vw,78px)
    clamp(105px,17vh,150px)!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/*
 * Messages participate in the grid. There are no left/top coordinates
 * and no horizontal translations, so they cannot escape the viewport.
 */
.vsf-final-message{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:310px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:0!important;
  visibility:hidden!important;
  filter:blur(1px)!important;
  transform:translateY(5px)!important;
  transition:
    opacity .40s cubic-bezier(.22,.61,.36,1),
    transform .44s cubic-bezier(.22,.61,.36,1),
    filter .40s ease,
    visibility 0s linear .44s!important;
  pointer-events:none!important;
}

/* Explicit safe grid cells. */
.vsf-final-message[data-vsf-slot="left-top"]{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:start!important;
  text-align:left!important;
}

.vsf-final-message[data-vsf-slot="right-top"]{
  grid-column:3!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:end!important;
  text-align:right!important;
}

.vsf-final-message[data-vsf-slot="left-bottom"]{
  grid-column:1!important;
  grid-row:2!important;
  align-self:end!important;
  justify-self:start!important;
  text-align:left!important;
}

.vsf-final-message[data-vsf-slot="right-bottom"]{
  grid-column:3!important;
  grid-row:2!important;
  align-self:end!important;
  justify-self:end!important;
  text-align:right!important;
}

.vsf-final-message.is-active{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:translateY(0)!important;
  transition-delay:0s!important;
  pointer-events:auto!important;
}

.vsf-final-message.is-leaving{
  opacity:0!important;
  visibility:visible!important;
  filter:blur(1px)!important;
  transform:translateY(-5px)!important;
  transition-delay:0s!important;
  pointer-events:none!important;
}

.vsf-final-title{
  position:relative!important;
  display:block!important;
  isolation:isolate!important;
}

.vsf-final-message strong{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  color:#5a1a77!important;
  font-size:clamp(34px,3.8vw,54px)!important;
  font-weight:300!important;
  line-height:1!important;
  letter-spacing:-.012em!important;
  text-wrap:balance;
  background-image:linear-gradient(
    104deg,
    #2b0838 0%,
    #54136f 18%,
    #8a35b9 38%,
    #cf94e6 48%,
    #7b2ba6 58%,
    #45105d 76%,
    #2b0838 100%
  )!important;
  background-size:180% 100%!important;
  background-position:50% 50%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.06px rgba(61,12,80,.14);
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.55))
    drop-shadow(0 4px 12px rgba(56,13,74,.18))
    drop-shadow(0 10px 24px rgba(78,37,112,.12))!important;
}

.vsf-final-oil-drops{
  display:none!important;
}

/*
 * One restrained liquid reveal: a metallic duplicate rises through the
 * letters with a soft, uneven meniscus. The base title never disappears,
 * so every message remains readable throughout the effect.
 */
.vsf-final-message strong{
  opacity:.28;
  transition:opacity .18s ease!important;
}

.vsf-final-message.is-active strong{
  animation:vsfFinalTitleBase .68s ease-out both!important;
}

.vsf-final-message strong::before,
.vsf-final-message strong::after{
  content:attr(data-vsf-title);
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  text-align:inherit;
  text-wrap:balance;
  pointer-events:none;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.vsf-final-message strong::before{
  z-index:2;
  background-image:linear-gradient(
    102deg,
    #2a0737 0%,
    #55136e 20%,
    #8d3abc 42%,
    #d9a6eb 51%,
    #7b2aa5 62%,
    #421057 82%,
    #260631 100%
  );
  background-size:180% 100%;
  background-position:48% 50%;
  opacity:0;
  clip-path:polygon(
    0 100%,18% 100%,36% 100%,54% 100%,72% 100%,88% 100%,100% 100%,
    100% 100%,0 100%
  );
  filter:blur(3px);
}

.vsf-final-message.is-active strong::before{
  animation:vsfFinalLiquidLetterRise .82s cubic-bezier(.18,.72,.2,1) both;
}

.vsf-final-message strong::after{
  z-index:3;
  background-image:linear-gradient(
    104deg,
    transparent 0%,
    transparent 42%,
    rgba(250,235,255,.18) 46%,
    rgba(255,247,255,.88) 50%,
    rgba(220,172,239,.24) 54%,
    transparent 59%,
    transparent 100%
  );
  background-size:240% 100%;
  background-position:118% 50%;
  opacity:0;
}

.vsf-final-message.is-active strong::after{
  animation:vsfFinalMetalSweep .72s cubic-bezier(.2,.68,.2,1) .46s both;
}

@keyframes vsfFinalTitleBase{
  0%{opacity:.28;}
  68%{opacity:.42;}
  100%{opacity:1;}
}

@keyframes vsfFinalLiquidLetterRise{
  0%{
    opacity:0;
    filter:blur(3px);
    clip-path:polygon(
      0 100%,18% 100%,36% 100%,54% 100%,72% 100%,88% 100%,100% 100%,
      100% 100%,0 100%
    );
  }
  18%{opacity:.88;}
  44%{
    filter:blur(1.2px);
    clip-path:polygon(
      0 72%,18% 68%,36% 74%,54% 67%,72% 72%,88% 66%,100% 71%,
      100% 100%,0 100%
    );
  }
  72%{
    filter:blur(.35px);
    clip-path:polygon(
      0 28%,18% 22%,36% 29%,54% 20%,72% 26%,88% 18%,100% 24%,
      100% 100%,0 100%
    );
  }
  100%{
    opacity:1;
    filter:none;
    clip-path:polygon(
      0 0,18% 0,36% 0,54% 0,72% 0,88% 0,100% 0,
      100% 100%,0 100%
    );
  }
}

@keyframes vsfFinalMetalSweep{
  0%{background-position:118% 50%;opacity:0;}
  28%{opacity:.62;}
  72%{background-position:34% 50%;opacity:.42;}
  100%{background-position:-18% 50%;opacity:0;}
}

.vsf-final-message p{
  max-width:300px!important;
  margin:11px 0 0!important;
  color:#5d426b!important;
  font-size:clamp(11px,1vw,14px)!important;
  font-weight:400!important;
  line-height:1.48!important;
  text-shadow:
    0 2px 8px rgba(255,255,255,1),
    0 5px 20px rgba(255,255,255,.96)!important;
}

.vsf-final-message[data-vsf-slot^="right-"] p{
  margin-left:auto!important;
}

/* Editorial Shop link only in the final message. */
.vsf-final-skip{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:auto!important;
  margin-top:15px!important;
  padding:0 0 4px!important;
  border:0!important;
  border-bottom:1px solid rgba(76,40,110,.34)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4c286e!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-decoration:none!important;
  opacity:.84!important;
  pointer-events:auto!important;
  transition:opacity .22s ease,transform .22s ease!important;
}

.vsf-final-skip:hover{
  opacity:1!important;
  transform:translateY(-1px)!important;
}

/* The legal notice is the only fixed text element. */
.vsf-final-disclaimer{
  position:fixed!important;
  left:50%!important;
  bottom:max(16px,env(safe-area-inset-bottom))!important;
  z-index:9!important;
  display:block!important;
  width:min(82vw,820px)!important;
  max-width:820px!important;
  margin:0!important;
  padding:8px 14px!important;
  border:1px solid rgba(97,56,139,.09)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  color:rgba(67,43,88,.70)!important;
  box-shadow:0 10px 28px rgba(75,34,108,.08)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  font-size:9px!important;
  line-height:1.4!important;
  text-align:center!important;
  opacity:0!important;
  transform:translate(-50%,7px)!important;
  transition:opacity .4s ease,transform .4s ease!important;
}

.vsf-final-overlay.is-legal-visible .vsf-final-disclaimer{
  opacity:1!important;
  transform:translate(-50%,0)!important;
}

/* No progress bars in this ritual. */
.vsf-final-progress{
  display:none!important;
}

/* Finder result legal notice outside the full-screen ritual. */
.vsf-result-disclaimer{
  display:block;
  margin:10px 0 2px;
  color:rgba(69,53,82,.72);
  font-size:11px;
  line-height:1.45;
}

/*
 * Mid-size screens keep the grid, but narrow the protected bottle
 * and editorial columns.
 */
@media(max-width:1180px) and (min-width:761px){
  .vsf-final-messages{
    grid-template-columns:
      minmax(0,1fr)
      clamp(220px,34vw,330px)
      minmax(0,1fr)!important;
    column-gap:clamp(16px,2.2vw,32px)!important;
    padding-right:clamp(22px,3vw,42px)!important;
    padding-left:clamp(22px,3vw,42px)!important;
  }

  .vsf-final-message{
    max-width:250px!important;
  }

  .vsf-final-message strong{
    font-size:clamp(25px,3.1vw,38px)!important;
  }

  .vsf-final-message p{
    max-width:245px!important;
    font-size:10.5px!important;
  }
}

/*
 * Phones and narrow tablets use one controlled centered rail beneath
 * the bottle. Random slot assignment no longer changes geometry here.
 */
@media(max-width:760px){
  .vsf-final-messages{
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .vsf-final-message,
  .vsf-final-message[data-vsf-slot]{
    position:fixed!important;
    top:calc(var(--vsf-overlay-target-y,34vh) + 185px)!important;
    left:var(--vsf-overlay-target-x,50vw)!important;
    right:auto!important;
    bottom:auto!important;
    width:min(88vw,410px)!important;
    max-width:410px!important;
    margin:0!important;
    text-align:center!important;
    transform:translate(-50%,0) scale(1)!important;
  }

  .vsf-final-message.is-active{
    transform:translate(-50%,0) scale(1)!important;
  }

  .vsf-final-message p,
  .vsf-final-message[data-vsf-slot^="right-"] p{
    max-width:390px!important;
    margin:9px auto 0!important;
  }

  .vsf-final-message strong{
    font-size:clamp(36px,9.4vw,52px)!important;
  }

  .vsf-final-disclaimer{
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:min(94vw,590px)!important;
    padding:7px 10px!important;
    border-radius:13px!important;
    font-size:8px!important;
  }
}

@media(max-height:680px) and (min-width:761px){
  .vsf-final-messages{
    padding-top:82px!important;
    padding-bottom:88px!important;
  }

  .vsf-final-message strong{
    font-size:clamp(24px,2.7vw,35px)!important;
  }

  .vsf-final-message p{
    margin-top:7px!important;
    font-size:10px!important;
  }

  .vsf-final-disclaimer{
    bottom:6px!important;
    font-size:7.8px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-message{
    transition:none!important;
  }

  .vsf-final-message.is-active{
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }

  .vsf-final-message strong,
  .vsf-final-message.is-active strong{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
  }

  .vsf-final-oil-drops{
    display:none!important;
  }

  .vsf-final-message strong::before,
  .vsf-final-message.is-active strong::before{
    clip-path:polygon(0 0,18% 0,36% 0,54% 0,72% 0,88% 0,100% 0,100% 100%,0 100%)!important;
    opacity:1!important;
    filter:none!important;
    animation:none!important;
  }

  .vsf-final-message strong::after,
  .vsf-final-message.is-active strong::after{
    opacity:0!important;
    animation:none!important;
  }
}

/* =========================================================
   v1.5.6 — Finder readability and contrast audit.
   Applies only to the interactive Finder, not bottle artwork.
   ========================================================= */
.vsf-app:not(.vsf-final-overlay){
  --vsf-purple:#6e3bb8;
  --vsf-purple-dark:#351f50;
  --vsf-muted:#5a4a65;
  --vsf-border:rgba(78,39,119,.22);
  color:#351f50!important;
}

/* Main editorial copy */
.vsf-app:not(.vsf-final-overlay) .vsf-title{
  color:#351f50!important;
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-description{
  color:#54445f!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.62!important;
}

/* Finder panel has enough opacity to hold readable text. */
.vsf-app:not(.vsf-final-overlay) .vsf-panel{
  border-color:rgba(84,42,132,.22)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 18px 44px rgba(75,35,116,.11)!important;
}

/* Kicker, headings and introductory copy */
.vsf-app:not(.vsf-final-overlay) .vsf-path-kicker{
  color:#6630a3!important;
  font-size:11.5px!important;
  font-weight:500!important;
  letter-spacing:.13em!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
.vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
  color:#351f50!important;
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
.vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
  color:#5a4a65!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.55!important;
}

/* Guided path cards */
.vsf-app:not(.vsf-final-overlay) .vsf-path-card{
  border-color:rgba(78,39,119,.20)!important;
  background:rgba(255,255,255,.92)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
  color:#351f50!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.3!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
  color:#5f5069!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.5!important;
}

/* Progress stages */
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled,
.vsf-app:not(.vsf-final-overlay) button.vsf-stage[disabled]{
  color:#5a4a65!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.3!important;
  opacity:1!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span{
  color:#5c2c98!important;
  font-size:10.5px!important;
  font-weight:500!important;
  border-color:rgba(88,43,137,.25)!important;
  background:rgba(110,59,184,.09)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active,
.vsf-app:not(.vsf-final-overlay) button.vsf-stage.is-active:disabled{
  color:#351f50!important;
  font-weight:500!important;
}

/* Guided questions and choices */
.vsf-app:not(.vsf-final-overlay) .vsf-question{
  color:#351f50!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.45!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-option strong{
  color:#351f50!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.3!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-option.is-active strong{
  color:#fff!important;
}

/* Known-perfume search */
.vsf-app:not(.vsf-final-overlay) .vsf-known-search label{
  color:#351f50!important;
  font-size:12.5px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-search input{
  min-height:52px!important;
  border-color:rgba(89,42,143,.34)!important;
  background:#fff!important;
  color:#351f50!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-search input::placeholder{
  color:#695b76!important;
  font-weight:400!important;
  opacity:1!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-status,
.vsf-app:not(.vsf-final-overlay) .vsf-status{
  color:#5a4a65!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
}

/* Search results */
.vsf-app:not(.vsf-final-overlay) .vsf-known-result-copy strong{
  color:#351f50!important;
  font-size:13.5px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-result-copy small{
  color:#5c2c98!important;
  font-size:12px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-result-copy em{
  color:#5f5069!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-selected-card span{
  color:#5c2c98!important;
  font-size:11px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-selected-card strong{
  color:#351f50!important;
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-selected-card small{
  color:#5a4a65!important;
  font-size:12px!important;
  font-weight:400!important;
}

/* Recommendation result */
.vsf-app:not(.vsf-final-overlay) .vsf-result-label,
.vsf-app:not(.vsf-final-overlay) .vsf-result-brand{
  color:#5c2c98!important;
  font-size:12px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-result-profile span,
.vsf-app:not(.vsf-final-overlay) .vsf-result-notes span{
  color:#351f50!important;
  font-size:11.5px!important;
  font-weight:500!important;
  border-color:rgba(78,39,119,.20)!important;
  background:rgba(255,255,255,.78)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-result-summary{
  color:#351f50!important;
  font-size:14px!important;
  font-weight:500!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-result-description{
  color:#54445f!important;
  font-size:13.5px!important;
  line-height:1.6!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-result-disclaimer{
  color:#5f5069!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}

/* Short desktop viewports must not collapse text to 9–10px. */
@media(min-width:981px) and (max-height:720px){
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:13px!important;
    line-height:1.55!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    font-size:10.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    font-size:10px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
    font-size:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
    font-size:12.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    font-size:11.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    font-size:13px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-option strong{
    font-size:11.5px!important;
  }

  

  .vsf-app:not(.vsf-final-overlay) .vsf-known-search label{
    font-size:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-known-search input{
    min-height:48px!important;
    font-size:13.5px!important;
  }
}

/* Final ritual legal text also remains readable. */
.vsf-final-disclaimer{
  color:#54445f!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}

.vsf-final-message p{
  color:#54445f!important;
  font-size:clamp(12.5px,1vw,14.5px)!important;
}

.vsf-final-skip{
  color:#4c217e!important;
  font-size:12.5px!important;
}

/* =========================================================
   v1.5.7 — authoritative Finder filled-surface contrast.
   ========================================================= */

/* Every guided option is a purple surface with white content. */
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]){
  border:1px solid rgba(255,255,255,.34)!important;
  background:#6e3bb8!important;
  background-image:linear-gradient(
    145deg,
    #7b45c6 0%,
    #6e3bb8 56%,
    #5f2da4 100%
  )!important;
  color:#fff!important;
  box-shadow:
    0 13px 28px rgba(80,34,132,.20),
    inset 0 1px 0 rgba(255,255,255,.20)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option > strong{
  color:#fff!important;
  fill:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 3px rgba(35,10,70,.28)!important;
  filter:none!important;
}

/* Hover remains readable and visibly interactive. */
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible{
  border-color:rgba(255,255,255,.76)!important;
  background:#7842c4!important;
  background-image:linear-gradient(
    145deg,
    #8951d1 0%,
    #7540c0 56%,
    #6530aa 100%
  )!important;
  color:#fff!important;
  box-shadow:
    0 18px 36px rgba(75,29,126,.28),
    0 0 0 3px rgba(126,70,194,.16)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > strong{
  color:#fff!important;
  fill:#fff!important;
}

/* Selected option: deeper purple, white text and clear check. */
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"],
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active:hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"]:hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active:focus-visible,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"]:focus-visible{
  border:2px solid rgba(255,255,255,.92)!important;
  background:#54238f!important;
  background-color:#54238f!important;
  background-image:linear-gradient(
    145deg,
    #6730ad 0%,
    #54238f 58%,
    #42166f 100%
  )!important;
  color:#fff!important;
  box-shadow:
    0 19px 40px rgba(58,18,104,.34),
    0 0 0 4px rgba(110,59,184,.18),
    inset 0 1px 0 rgba(255,255,255,.24)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active::before,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"]::before{
  background:transparent!important;
  opacity:0!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"] > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"] > strong{
  color:#fff!important;
  fill:#fff!important;
  font-weight:500!important;
  text-shadow:0 1px 3px rgba(26,6,51,.34)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option.is-active::after,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel
.vsf-options
button.vsf-option[aria-pressed="true"]::after{
  border:2px solid rgba(255,255,255,.88)!important;
  background:#fff!important;
  color:#54238f!important;
  font-weight:700!important;
}

/* =========================================================
   v1.6.1 — contextual action layout.
   Layout and wrapping are intentionally separate from visuals.
   ========================================================= */
.vsf-app:not(.vsf-final-overlay) .vsf-actions > .vsf-button,
.vsf-app:not(.vsf-final-overlay) .vsf-known-actions > .vsf-button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-result-copy > .vsf-result-cta{
  margin-top:18px!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-known-selected > .vsf-result-cta{
  margin-top:12px!important;
}

/* =========================================================
   v1.6.1 — canonical Finder button visuals.
   Primary, Reset, secondary and text-link roles share one system.
   ========================================================= */

/* Shared structure */
.vsf-app:not(.vsf-final-overlay) .vsf-button,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 20px!important;
  border-radius:11px!important;
  cursor:pointer!important;
  font-size:12.5px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease!important;
}

/* Every child inherits the declared control foreground. */
.vsf-app:not(.vsf-final-overlay) .vsf-button *,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta *{
  color:inherit!important;
  fill:currentColor!important;
}

/*
 * Filled actions.
 * Reset has its own semantic modifier but shares the same visual contract.
 */
.vsf-app:not(.vsf-final-overlay) .vsf-button-primary,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta{
  border:1px solid transparent!important;
  background:#6e3bb8!important;
  background-image:linear-gradient(
    135deg,
    #7b45c6 0%,
    #6e3bb8 54%,
    #5b299f 100%
  )!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(87,37,143,.24)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-primary:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-primary:focus-visible,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset:focus-visible,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta:focus-visible{
  border-color:rgba(255,255,255,.62)!important;
  background:#5b299f!important;
  background-image:linear-gradient(
    135deg,
    #713abb 0%,
    #5d2a9e 56%,
    #4b1d84 100%
  )!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}

/* Secondary light action */
.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary,
.vsf-app:not(.vsf-final-overlay) .vsf-button-back{
  border:1px solid rgba(76,33,126,.24)!important;
  background:rgba(255,255,255,.82)!important;
  color:#4c217e!important;
  box-shadow:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary:focus-visible,
.vsf-app:not(.vsf-final-overlay) .vsf-button-back:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-back:focus-visible{
  border-color:rgba(76,33,126,.42)!important;
  background:#f2e7fb!important;
  color:#351f50!important;
  transform:translateY(-1px)!important;
}

/* Text-link action */
.vsf-app:not(.vsf-final-overlay) .vsf-button-link{
  min-height:42px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4c217e!important;
  box-shadow:none!important;
  text-decoration:underline!important;
  text-decoration-color:rgba(76,33,126,.40)!important;
  text-underline-offset:4px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-link:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-link:focus-visible{
  background:transparent!important;
  color:#351f50!important;
  transform:none!important;
  text-decoration-color:#351f50!important;
}

/*
 * High-contrast dual focus ring:
 * white separates the control; dark plum defines the outer boundary.
 */
.vsf-app:not(.vsf-final-overlay) .vsf-button:focus-visible,
.vsf-app:not(.vsf-final-overlay) .vsf-result-cta:focus-visible{
  outline:none!important;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 5px #4c217e,
    0 14px 30px rgba(87,37,143,.22)!important;
}

/* Disabled controls preserve their intended foreground relationship. */
.vsf-app:not(.vsf-final-overlay) .vsf-button:disabled,
.vsf-app:not(.vsf-final-overlay) .vsf-button[aria-disabled="true"]{
  cursor:not-allowed!important;
  opacity:.48!important;
  transform:none!important;
  box-shadow:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-primary:disabled,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset:disabled{
  color:#fff!important;
}

/* Responsive action layout */
@media(max-width:680px){
  .vsf-app:not(.vsf-final-overlay) .vsf-actions,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-actions{
    align-items:stretch!important;
    flex-direction:column!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-button,
  .vsf-app:not(.vsf-final-overlay) .vsf-result-cta{
    width:100%!important;
  }
}

@media(min-width:981px) and (max-height:720px){
  .vsf-app:not(.vsf-final-overlay) .vsf-button,
  .vsf-app:not(.vsf-final-overlay) .vsf-result-cta{
    min-height:38px!important;
    padding-inline:15px!important;
    font-size:11.5px!important;
  }
}

/* =========================================================
   v1.6.3 — synchronized bottle heartbeats.
   Four subtle message beats + one larger final beat.
   ========================================================= */
@keyframes vsfMessageHeartbeat{
  0%,100%{
    transform:translateY(-3px) scale(1);
  }
  18%{
    transform:translateY(-5px) scale(1.042);
  }
  34%{
    transform:translateY(-3px) scale(.992);
  }
  52%{
    transform:translateY(-5px) scale(1.026);
  }
  72%{
    transform:translateY(-3px) scale(1);
  }
}

@keyframes vsfMessageHeartbeatGlow{
  0%,100%{
    opacity:0;
    transform:scale(.72);
  }
  24%{
    opacity:.62;
    transform:scale(.92);
  }
  58%{
    opacity:.28;
    transform:scale(1.12);
  }
}

@keyframes vsfMessageHeartbeatRing{
  0%,100%{
    opacity:0;
    transform:scale(.78);
  }
  24%{
    opacity:.64;
  }
  70%{
    opacity:0;
    transform:scale(1.16);
  }
}

@keyframes vsfFinalHeartbeat{
  0%{
    transform:translateY(-3px) scale(1);
  }
  18%{
    transform:translateY(1px) scale(.965);
  }
  43%{
    transform:translateY(-10px) scale(1.105);
  }
  62%{
    transform:translateY(-4px) scale(1.025);
  }
  79%{
    transform:translateY(-13px) scale(1.155);
  }
  100%{
    transform:translateY(-3px) scale(1);
  }
}

@keyframes vsfFinalHeartbeatGlow{
  0%{
    opacity:0;
    transform:scale(.48);
    filter:blur(4px);
  }
  28%{
    opacity:.82;
  }
  58%{
    opacity:1;
    transform:scale(1.02);
    filter:blur(1px);
  }
  100%{
    opacity:0;
    transform:scale(1.68);
    filter:blur(5px);
  }
}

@keyframes vsfFinalHeartbeatRing{
  0%{
    opacity:0;
    transform:scale(.58);
    border-width:4px;
  }
  35%{
    opacity:.92;
  }
  100%{
    opacity:0;
    transform:scale(1.62);
    border-width:1px;
  }
}

@keyframes vsfFinalAuraHeartbeat{
  0%,100%{
    transform:scale(.98);
    opacity:.90;
    filter:brightness(1);
  }
  43%{
    transform:scale(1.075);
    opacity:1;
    filter:brightness(1.08);
  }
  79%{
    transform:scale(1.13);
    opacity:1;
    filter:brightness(1.16);
  }
}

/* Small double beat synchronized with each message. */
.vsf-final-overlay.is-message-heartbeat .vsf-bottle{
  animation:
    vsfMessageHeartbeat .68s
    cubic-bezier(.22,.68,.26,1) both!important;
}

.vsf-final-overlay.is-message-heartbeat .vsf-bottle:before{
  animation:
    vsfMessageHeartbeatGlow .68s
    ease-out both!important;
}

.vsf-final-overlay.is-message-heartbeat .vsf-bottle:after{
  animation:
    vsfMessageHeartbeatRing .68s
    ease-out both!important;
}

/* Large final beat. Shop opens only after this animation finishes. */
.vsf-final-overlay.is-final-heartbeat .vsf-bottle{
  animation:
    vsfFinalHeartbeat 1.16s
    cubic-bezier(.18,.72,.22,1) both!important;
}

.vsf-final-overlay.is-final-heartbeat .vsf-bottle:before{
  animation:
    vsfFinalHeartbeatGlow 1.16s
    ease-out both!important;
}

.vsf-final-overlay.is-final-heartbeat .vsf-bottle:after{
  animation:
    vsfFinalHeartbeatRing 1.16s
    cubic-bezier(.14,.72,.22,1) both!important;
}

.vsf-final-overlay.is-final-heartbeat .vsf-aura{
  animation:
    vsfFinalAuraHeartbeat 1.16s
    cubic-bezier(.18,.72,.22,1) both!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay.is-message-heartbeat .vsf-bottle,
  .vsf-final-overlay.is-message-heartbeat .vsf-bottle:before,
  .vsf-final-overlay.is-message-heartbeat .vsf-bottle:after,
  .vsf-final-overlay.is-final-heartbeat .vsf-bottle,
  .vsf-final-overlay.is-final-heartbeat .vsf-bottle:before,
  .vsf-final-overlay.is-final-heartbeat .vsf-bottle:after,
  .vsf-final-overlay.is-final-heartbeat .vsf-aura{
    animation:none!important;
  }
}

/* =========================================================
   v1.7.0 — component-scoped responsive Finder.
   No body.home dependency, no height chain and no touch ownership.
   ========================================================= */
@media(max-width:980px){
  .velara-hero .vsf-app:not(.vsf-final-overlay),
  .velara-hero .vsf-app:not(.vsf-final-overlay) .vsf-card{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:25px!important;
    align-items:stretch!important;
    padding:0!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-left,
  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:none!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    max-width:720px!important;
    margin:0 0 13px!important;
    font-size:clamp(40px,7vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.026em!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    max-width:680px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.6!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
    margin-top:18px!important;
    padding:2px 0 9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-stage-list::-webkit-scrollbar{
    display:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    flex:0 0 clamp(122px,31vw,160px)!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 9px!important;
    border:1px solid rgba(91,44,143,.13)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.61)!important;
    align-items:center!important;
    flex-direction:row!important;
    gap:8px!important;
    color:#54445f!important;
    font-size:11px!important;
    line-height:1.3!important;
    text-align:left!important;
    scroll-snap-align:start;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    font-size:10px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    order:1!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:clamp(245px,34vw,320px)!important;
    min-height:0!important;
    margin:0!important;
    overflow:visible!important;
    transform:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.88!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:clamp(275px,42vw,350px)!important;
    height:clamp(275px,42vw,350px)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    order:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:22px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px!important;
    margin-top:20px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:154px!important;
    padding:18px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:102px!important;
    height:auto!important;
    padding:14px 10px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-known-results{
    max-height:none!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-result-card{
    grid-template-columns:160px minmax(0,1fr)!important;
    gap:18px!important;
  }
}

@media(max-width:760px){
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    gap:18px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    font-size:clamp(36px,10vw,48px)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:13.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage{
    flex-basis:132px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:218px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.72!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:245px!important;
    height:245px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding:18px!important;
    border-radius:21px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
    font-size:clamp(29px,8.2vw,39px)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:0!important;
    padding:17px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  [data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:94px!important;
    padding:13px 8px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-actions,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-result-card{
    grid-template-columns:minmax(0,1fr)!important;
    text-align:center!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-result-media{
    width:145px!important;
    margin-inline:auto!important;
  }
}

@media(max-width:480px){
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    font-size:clamp(34px,10.5vw,42px)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding:16px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage{
    flex-basis:118px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:194px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.64!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:218px!important;
    height:218px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  [data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
}

@media(max-width:359px){
  .vsf-app:not(.vsf-final-overlay) .vsf-options,
  .vsf-app:not(.vsf-final-overlay)
  [data-vsf-field="gender"] .vsf-options{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:874px) and (max-height:430px) and (orientation:landscape){
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    font-size:36px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:168px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.56!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:190px!important;
    height:190px!important;
  }
}



/* iPhone safe areas affect only the full-screen ritual. */
@supports(-webkit-touch-callout:none){
  html.vsf-ios .vsf-app:not(.vsf-final-overlay) input,
  html.vsf-ios .vsf-app:not(.vsf-final-overlay) select,
  html.vsf-ios .vsf-app:not(.vsf-final-overlay) textarea{
    font-size:16px!important;
  }

  html.vsf-ios .vsf-final-overlay{
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    padding-top:var(--velara-safe-top)!important;
    padding-right:var(--velara-safe-right)!important;
    padding-bottom:var(--velara-safe-bottom)!important;
    padding-left:var(--velara-safe-left)!important;
    box-sizing:border-box!important;
  }

  html.vsf-ios .vsf-final-disclaimer{
    bottom:max(8px,calc(var(--velara-safe-bottom) + 6px))!important;
  }
}


/* =========================================================
   v1.7.2 — requested final-message behavior and readability.
   ========================================================= */
.vsf-final-message[data-vsf-slot="below-bottle"]{
  position:fixed!important;
  top:calc(var(--vsf-overlay-target-y,38vh) + 205px)!important;
  left:var(--vsf-overlay-target-x,50vw)!important;
  right:auto!important;
  bottom:auto!important;
  width:min(88vw,620px)!important;
  max-width:620px!important;
  margin:0!important;
  text-align:center!important;
  transform:translate(-50%,0) scale(1)!important;
}

.vsf-final-message[data-vsf-slot="below-bottle"].is-active{
  transform:translate(-50%,0) scale(1)!important;
}

.vsf-final-message[data-vsf-slot="below-bottle"] p{
  max-width:560px!important;
  margin:11px auto 0!important;
  font-size:clamp(12px,1.05vw,14.5px)!important;
  line-height:1.52!important;
}

.vsf-final-disclaimer{
  display:none!important;
}

/* Raise only the miniature interface copy; headings remain untouched. */
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
  font-size:11.5px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span{
  font-size:10.5px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-kicker{
  font-size:11.5px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card span,
.vsf-app:not(.vsf-final-overlay) .vsf-option strong{
  font-size:11px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-status,
.vsf-app:not(.vsf-final-overlay) .vsf-status,
.vsf-app:not(.vsf-final-overlay) .vsf-result-disclaimer{
  font-size:12px!important;
}

@media(max-width:980px){
  .vsf-final-message[data-vsf-slot="below-bottle"]{
    top:calc(var(--vsf-overlay-target-y,35vh) + 184px)!important;
    width:min(90vw,520px)!important;
  }
}

@media(max-height:700px){
  .vsf-final-message[data-vsf-slot="below-bottle"]{
    top:calc(var(--vsf-overlay-target-y,35vh) + 164px)!important;
  }
}

@media(max-width:874px) and (max-height:430px) and (orientation:landscape){
  .vsf-final-message[data-vsf-slot="below-bottle"]{
    top:calc(var(--vsf-overlay-target-y,44vh) + 112px)!important;
    width:min(88vw,560px)!important;
  }
}

/* =========================================================
   v1.7.3 — authoritative tablet/mobile Finder layout.
   The 981–1180px range no longer receives the compressed
   desktop grid. Buttons own their content and always wrap.
   ========================================================= */
@media(max-width:1180px){
  .velara-hero .vsf-app:not(.vsf-final-overlay),
  .velara-hero .vsf-app:not(.vsf-final-overlay) .vsf-card,
  .vsf-app:not(.vsf-final-overlay),
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:none!important;
    gap:22px!important;
    align-items:stretch!important;
    padding:clamp(24px,4vw,42px)!important;
    border-radius:30px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-left,
  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:18px!important;
  }

  /* Controls come before decoration in constrained viewports. */
  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    order:1!important;
    z-index:3!important;
    padding:clamp(20px,3vw,28px)!important;
    border-radius:24px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    order:2!important;
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
    margin:0!important;
    overflow:hidden!important;
    transform:none!important;
  }

  .velara-hero .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    transform:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.72!important;
    transform-origin:center center!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:290px!important;
    height:290px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    max-width:760px!important;
    margin:0 0 14px!important;
    font-size:clamp(40px,6vw,58px)!important;
    line-height:.98!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    max-width:720px!important;
    font-size:14px!important;
    line-height:1.62!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
    margin-top:18px!important;
    padding:2px 0 9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list::-webkit-scrollbar{
    display:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    flex:0 0 clamp(126px,25vw,158px)!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 10px!important;
    border:1px solid rgba(91,44,143,.13)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.68)!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    font-size:11.5px!important;
    line-height:1.3!important;
    text-align:left!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    width:100%!important;
    margin-top:20px!important;
  }

  .vsf-app:not(.vsf-final-overlay) button.vsf-path-card,
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:162px!important;
    max-height:none!important;
    padding:18px!important;
    overflow:hidden!important;
    border:1px solid rgba(78,39,119,.20)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.94)!important;
    background-image:none!important;
    color:#351f50!important;
    text-align:left!important;
    white-space:normal!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) button.vsf-path-card:hover,
  .vsf-app:not(.vsf-final-overlay) button.vsf-path-card:focus-visible{
    background:linear-gradient(145deg,#fff,#f3e8ff)!important;
    color:#351f50!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card i{
    flex:0 0 auto!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong,
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    color:inherit!important;
    text-align:left!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-overflow:clip!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
    color:#351f50!important;
    font-size:14px!important;
    line-height:1.3!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    color:#5f5069!important;
    font-size:13px!important;
    line-height:1.48!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-kicker{
    font-size:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
    font-size:14px!important;
    line-height:1.58!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:102px!important;
    height:auto!important;
    padding:14px 10px!important;
  }
}

@media(max-width:760px){
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    gap:18px!important;
    padding:20px!important;
    border-radius:24px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    font-size:clamp(35px,10vw,47px)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:14px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding:18px!important;
    border-radius:21px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) button.vsf-path-card,
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:0!important;
    padding:17px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  [data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.60!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:235px!important;
    height:235px!important;
  }
}

@media(max-width:480px){
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    padding:16px 16px 0!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding:16px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
    font-size:14px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    font-size:13px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.54!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:210px!important;
    height:210px!important;
  }
}

/* Reset named desktop grid areas in the 981–1180px overlap range. */
@media(max-width:1180px){
  .vsf-app:not(.vsf-final-overlay) .vsf-left,
  .vsf-app:not(.vsf-final-overlay) .vsf-right,
  .vsf-app:not(.vsf-final-overlay) .vsf-panel,
  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    grid-area:auto!important;
    align-self:auto!important;
    justify-self:stretch!important;
  }
}

/* =========================================================
   v1.7.4 — typography containment and smoother final ritual.
   Headings are intentionally untouched. Only descriptions,
   labels, and compact interface copy are adjusted.
   ========================================================= */

/* Readable, light-weight supporting copy. */
.vsf-app:not(.vsf-final-overlay) .vsf-description{
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.62!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
.vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.58!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.48!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong,
.vsf-app:not(.vsf-final-overlay) .vsf-question,
.vsf-app:not(.vsf-final-overlay) .vsf-option strong,
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled,
.vsf-app:not(.vsf-final-overlay) button.vsf-stage[disabled]{
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-status,
.vsf-app:not(.vsf-final-overlay) .vsf-status,
.vsf-app:not(.vsf-final-overlay) .vsf-result-disclaimer,
.vsf-app:not(.vsf-final-overlay) .vsf-known-result-copy em{
  font-size:12.5px!important;
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-result-description{
  font-size:14px!important;
  font-weight:400!important;
}

/* All compact controls own their text. Nothing may escape a button. */
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
.vsf-app:not(.vsf-final-overlay) .vsf-path-card,
.vsf-app:not(.vsf-final-overlay) .vsf-option{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage{
  width:100%!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-overflow:clip!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span{
  flex-shrink:0!important;
  font-weight:400!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong,
.vsf-app:not(.vsf-final-overlay) .vsf-path-card span,
.vsf-app:not(.vsf-final-overlay) .vsf-option strong{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-overflow:clip!important;
}

/* Desktop progress buttons remain compact but fully contained. */
@media(min-width:1181px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
    gap:7px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    min-height:46px!important;
    padding:6px 7px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    font-size:11px!important;
    line-height:1.18!important;
    text-align:left!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    font-size:9.5px!important;
  }
}

/* Short desktop windows: enlarge copy without increasing headings. */
@media(min-width:1181px) and (max-height:720px){
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:13.5px!important;
    line-height:1.48!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
    font-size:12.5px!important;
    line-height:1.48!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    font-size:11.5px!important;
    line-height:1.42!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    min-height:42px!important;
    padding:5px 6px!important;
    font-size:10.5px!important;
  }
}

@media(max-width:1180px){
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:15px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    font-weight:400!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    overflow:hidden!important;
  }
}

@media(max-width:760px){
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:14.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
    font-size:13.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    font-size:12.5px!important;
  }
}

/* The bottle and every message share one stable vertical system. */
.vsf-final-message[data-vsf-slot="below-bottle"]{
  top:var(--vsf-overlay-message-y,calc(var(--vsf-overlay-target-y,40vh) + 190px))!important;
}

.vsf-final-message[data-vsf-slot="below-bottle"] p{
  font-size:clamp(13px,1.05vw,14.5px)!important;
  font-weight:400!important;
  line-height:1.5!important;
}

/* Mobile final ritual: transform/opacity only, fewer painted particles. */
.vsf-final-overlay.is-mobile-ritual .vsf-final-overlay-visual,
.vsf-final-overlay.is-mobile-ritual .vsf-final-overlay-light,
.vsf-final-overlay.is-mobile-ritual .vsf-final-message,
.vsf-final-overlay.is-mobile-ritual .vsf-bottle{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-final-overlay-visual{
  contain:layout paint!important;
  will-change:transform!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-final-overlay-light{
  filter:none!important;
  will-change:transform,opacity!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-final-message{
  filter:none!important;
  transition:
    opacity .32s ease,
    transform .32s cubic-bezier(.2,.72,.24,1),
    visibility 0s linear .32s!important;
  will-change:transform,opacity!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-final-message.is-active{
  transition-delay:0s!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-aura{
  animation:none!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-atmosphere-particle:nth-child(n+7),
.vsf-final-overlay.is-mobile-ritual .vsf-burst-particle:nth-child(n+9){
  display:none!important;
}

.vsf-final-overlay.is-mobile-ritual.is-message-heartbeat .vsf-bottle:before,
.vsf-final-overlay.is-mobile-ritual.is-message-heartbeat .vsf-bottle:after,
.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-bottle:before,
.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-bottle:after{
  animation:none!important;
}

@media(max-width:760px){
  .vsf-final-overlay-visual,
  .vsf-final-overlay .vsf-visual,
  .vsf-final-overlay .vsf-aura{
    width:280px!important;
    height:280px!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"]{
    top:var(--vsf-overlay-message-y,calc(var(--vsf-overlay-target-y,36vh) + 150px))!important;
    width:min(90vw,430px)!important;
  }
}

@media(max-width:760px) and (max-height:700px){
  .vsf-final-overlay-visual,
  .vsf-final-overlay .vsf-visual,
  .vsf-final-overlay .vsf-aura{
    width:252px!important;
    height:252px!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"] strong{
    font-size:clamp(24px,6.8vw,34px)!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"] p{
    margin-top:7px!important;
    font-size:12.5px!important;
  }
}

/* Mobile ritual timing matches the lighter paint workload. */
.vsf-final-overlay.is-mobile-ritual.is-travelling .vsf-final-overlay-visual{
  animation-duration:.78s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle:before,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle:after{
  animation-duration:.90s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-burst-particle{
  animation-duration:.86s!important;
}

@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
  .vsf-final-overlay-visual,
  .vsf-final-overlay .vsf-visual,
  .vsf-final-overlay .vsf-aura{
    width:218px!important;
    height:218px!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"]{
    top:var(--vsf-overlay-message-y,70vh)!important;
    width:min(82vw,520px)!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"] strong{
    font-size:clamp(23px,4.2vw,31px)!important;
  }

  .vsf-final-message[data-vsf-slot="below-bottle"] p{
    margin-top:5px!important;
    font-size:11.5px!important;
  }
}

/* =========================================================
   v1.7.5 — compact mobile progress, empty initial bottle and
   faster unclipped mobile ritual.
   ========================================================= */

/* The Finder starts as an empty vessel. The overlay still owns 100%. */
.vsf-app:not(.vsf-final-overlay){
  --vsf-fill:0%;
}

.vsf-app:not(.vsf-final-overlay):not([data-vsf-fill]) .vsf-bottle-liquid,
.vsf-app:not(.vsf-final-overlay)[data-vsf-fill="0"] .vsf-bottle-liquid{
  height:0!important;
  min-height:0!important;
  opacity:0!important;
  transform:translateY(10px)!important;
}

.vsf-app:not(.vsf-final-overlay)[data-vsf-fill]:not([data-vsf-fill="0"]) .vsf-bottle-liquid{
  opacity:1!important;
  transform:translateY(0)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-bottle-liquid{
  transition:
    height .62s cubic-bezier(.22,.72,.24,1),
    opacity .22s ease,
    transform .42s cubic-bezier(.22,.72,.24,1)!important;
}

/* The four Finder stages fit inside the phone without a horizontal rail. */
@media(max-width:760px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    display:grid!important;
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:16px!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    overscroll-behavior:auto!important;
    touch-action:pan-y!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:58px!important;
    padding:5px 2px!important;
    flex:initial!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    overflow:hidden!important;
    border-radius:11px!important;
    font-size:9px!important;
    font-weight:400!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
    font-size:9.2px!important;
  }

  /* Keep the entire interactive stack in normal vertical flow. */
  .vsf-app:not(.vsf-final-overlay),
  .vsf-app:not(.vsf-final-overlay) .vsf-card,
  .vsf-app:not(.vsf-final-overlay) .vsf-left,
  .vsf-app:not(.vsf-final-overlay) .vsf-right,
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser,
  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    touch-action:pan-y!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    touch-action:pan-y!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    touch-action:pan-y manipulation!important;
  }
}

/* The cloned bottle is taller than the compact visual box. Never paint-clip it. */
.vsf-final-overlay.is-mobile-ritual .vsf-final-overlay-visual{
  contain:layout!important;
  overflow:visible!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-visual,
.vsf-final-overlay.is-mobile-ritual .vsf-bottle,
.vsf-final-overlay.is-mobile-ritual .vsf-bottle-cap{
  overflow:visible!important;
}

/* Faster, clean mobile crossfade: outgoing and incoming cards overlap. */
.vsf-final-overlay.is-mobile-ritual .vsf-final-message{
  filter:none!important;
  transition:
    opacity .20s linear,
    transform .24s cubic-bezier(.2,.72,.24,1),
    visibility 0s linear .24s!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-final-message.is-active{
  transition-delay:0s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-travelling .vsf-final-overlay-visual{
  animation-duration:.56s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle:before,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle:after,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle-cap,
.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-bottle-liquid:before{
  animation-duration:.62s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-completion-burst .vsf-burst-particle{
  animation-duration:.58s!important;
}

.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-bottle,
.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-bottle:before,
.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-bottle:after,
.vsf-final-overlay.is-mobile-ritual.is-final-heartbeat .vsf-aura{
  animation-duration:.76s!important;
}

@media(max-width:760px){
  .vsf-final-overlay-visual,
  .vsf-final-overlay .vsf-visual,
  .vsf-final-overlay .vsf-aura{
    width:320px!important;
    height:320px!important;
    overflow:visible!important;
  }
}

@media(max-width:760px) and (max-height:700px){
  .vsf-final-overlay-visual,
  .vsf-final-overlay .vsf-visual,
  .vsf-final-overlay .vsf-aura{
    width:292px!important;
    height:292px!important;
  }
}

/* =========================================================
   v1.7.6 — complete responsive Home flow and calmer message pace.
   ========================================================= */

/*
 * The previous mobile safeguard reintroduced overflow-x:clip on the same
 * chain that needs to grow vertically. Some mobile browsers promote that
 * element to a clipping/scroll container and stop the second method card.
 * Keep every Finder wrapper in the normal document flow through tablet.
 */
@media(max-width:1180px){
  .velara-site.velara-hero.velara-hero-split-bg,
  .velara-site.velara-hero.velara-hero-split-bg > .e-con-inner,
  .velara-site.velara-hero.velara-hero-split-bg .velara-hero-grid,
  .velara-site.velara-hero.velara-hero-split-bg .velara-hero-grid > .elementor-element,
  .velara-site.velara-hero.velara-hero-split-bg .velara-hero-grid > .e-con-inner,
  .velara-site.velara-hero.velara-hero-split-bg .elementor-widget-velara_signature_finder,
  .velara-site.velara-hero.velara-hero-split-bg [data-widget_type^="velara_signature_finder"],
  .velara-site.velara-hero.velara-hero-split-bg .elementor-widget-container,
  .velara-site.velara-hero.velara-hero-split-bg .vsf-app:not(.vsf-final-overlay),
  .velara-site.velara-hero.velara-hero-split-bg .vsf-card,
  .velara-site.velara-hero.velara-hero-split-bg .vsf-left,
  .velara-site.velara-hero.velara-hero-split-bg .vsf-right,
  .velara-site.velara-hero.velara-hero-split-bg .vsf-path-chooser,
  .velara-site.velara-hero.velara-hero-split-bg .vsf-path-grid{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    contain:none!important;
    touch-action:pan-y!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg .vsf-panel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    contain:none!important;
    touch-action:pan-y!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg .vsf-path-grid{
    display:grid!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg .vsf-path-card{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* Mobile messages use the same sequential fade without crossfading. */
.vsf-final-overlay.is-mobile-ritual .vsf-final-message{
  transition:
    opacity .42s cubic-bezier(.22,.61,.36,1),
    transform .46s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .46s!important;
}

/* =========================================================
   v1.7.9 — compact mobile composition.
   The bottle leads the experience, followed by the copy and
   the method selector. The chooser stays compact without
   changing the desktop composition.
   ========================================================= */
@media(max-width:760px){
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    white-space:normal!important;
    text-wrap:balance!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "bottle"
      "copy"
      "selector"!important;
    grid-template-rows:auto auto auto!important;
    gap:15px!important;
    align-items:start!important;
  }

  /* Flatten only the Finder's internal right wrapper so its two
     children can participate in the mobile grid. */
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    display:contents!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    grid-area:bottle!important;
    order:initial!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:252px!important;
    min-height:252px!important;
    max-height:252px!important;
    margin:-2px 0 -2px!important;
    overflow:visible!important;
    transform:none!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.84!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-aura{
    width:286px!important;
    height:286px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-left{
    grid-area:copy!important;
    margin:0!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    margin-bottom:8px!important;
    font-size:clamp(38px,9.8vw,47px)!important;
    line-height:.98!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:14.5px!important;
    line-height:1.52!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    margin-top:14px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    grid-area:selector!important;
    order:initial!important;
    padding:17px!important;
    border-radius:20px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-kicker{
    margin-bottom:5px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
    margin-bottom:7px!important;
    font-size:clamp(29px,8vw,37px)!important;
    line-height:1.02!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
    font-size:13.4px!important;
    line-height:1.47!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:11px!important;
    margin-top:15px!important;
  }

  /* Compact horizontal method cards reduce the mobile page length
     while preserving full descriptions and comfortable tap targets. */
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:stretch!important;
    column-gap:11px!important;
    row-gap:3px!important;
    min-height:98px!important;
    padding:13px 14px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card i{
    grid-column:1!important;
    grid-row:1 / 3!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    font-size:17px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
    grid-row:1!important;
    font-size:14.5px!important;
    line-height:1.22!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    grid-row:2!important;
    font-size:12.2px!important;
    line-height:1.36!important;
  }
}

@media(max-width:380px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    height:224px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-bottle{
    scale:.76!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:88px!important;
    padding:11px 12px!important;
  }
}

/* =========================================================
   v1.7.50 — legible, low-friction Finder controls.
   ========================================================= */
.vsf-app:not(.vsf-final-overlay) .vsf-description{
  color:#54445f!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p:empty{
  display:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
  font-size:16px!important;
  line-height:1.2!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
  color:#5f5068!important;
  font-size:13.5px!important;
  line-height:1.4!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-question{
  color:#351f50!important;
  font-size:clamp(28px,3.1vw,42px)!important;
  line-height:1.05!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-option strong{
  font-size:13px!important;
  line-height:1.2!important;
}

@media(max-width:760px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    font-size:clamp(40px,10.6vw,49px)!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:16px!important;
    line-height:1.55!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    font-size:11.5px!important;
    line-height:1.2!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:31px!important;
    height:31px!important;
    font-size:11px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
    font-size:clamp(31px,8.6vw,39px)!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:88px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
    font-size:16px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
    font-size:13.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    font-size:30px!important;
  }

  .vsf-panel .vsf-options button.vsf-option{
    min-height:92px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-option strong{
    font-size:14px!important;
  }
}

/* =========================================================
   v1.7.53 — invariant desktop Finder stage.
   The Elementor widget, app and card fill the available Hero height.
   A fixed copy row and stable panel frame keep the title, progress,
   panel origin and panel height in the same coordinates on every step.
   ========================================================= */
@media(min-width:1181px){
  .velara-site.velara-hero.velara-hero-split-bg
  .velara-shell.velara-hero-grid{
    align-items:stretch!important;
  }

  .velara-hero-grid .elementor-widget-velara_signature_finder,
  .velara-hero-grid [data-widget_type^="velara_signature_finder"],
  .velara-hero-grid
  .elementor-widget-velara_signature_finder > .elementor-widget-container,
  .velara-hero-grid
  [data-widget_type^="velara_signature_finder"] > .elementor-widget-container,
  .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    align-self:stretch!important;
  }

  .velara-hero-grid .vsf-app:not(.vsf-final-overlay){
    display:flex!important;
    align-items:stretch!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding-top:clamp(18px,3.2vh,34px)!important;
    box-sizing:border-box!important;
    grid-template-rows:clamp(218px,27vh,246px) auto!important;
    align-content:start!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-left,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    align-self:start!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    display:block!important;
    min-height:0!important;
    margin-bottom:15px!important;
    font-size:19px!important;
    line-height:1.28!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    min-height:0!important;
    align-content:start!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-panel{
    height:364px!important;
    min-height:364px!important;
    max-height:364px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question
  .vsf-guided-flow:not([hidden]){
    display:grid!important;
    height:100%!important;
    min-height:0!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    gap:14px!important;
    align-items:start!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-question{
    margin-bottom:0!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-options{
    align-self:center!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-field="gender"]
  .vsf-panel .vsf-options button.vsf-option{
    min-height:132px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-actions{
    margin-top:0!important;
    align-self:end!important;
  }
}

@media(min-width:1181px) and (max-height:720px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    padding-top:8px!important;
    grid-template-rows:196px auto!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    margin-bottom:12px!important;
    font-size:16px!important;
    line-height:1.25!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-panel{
    height:291px!important;
    min-height:291px!important;
    max-height:291px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question
  .vsf-guided-flow:not([hidden]){
    gap:10px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-question{
    margin-bottom:0!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-field="gender"]
  .vsf-panel .vsf-options button.vsf-option{
    min-height:104px!important;
  }
}

/* =========================================================
   v1.7.68 — editorial Finder interface.
   One stable viewport, stronger hierarchy, modern progress,
   and premium option tiles. Scoped exclusively to Home/Finder.
   ========================================================= */
.vsf-app:not(.vsf-final-overlay){
  --vsf-editorial-ink:#352044;
  --vsf-editorial-copy:#665b70;
  --vsf-editorial-accent:#7140a8;
  --vsf-editorial-accent-deep:#54258f;
  --vsf-editorial-line:rgba(83,43,126,.15);
  --vsf-editorial-surface:rgba(255,255,255,.90);
  --vsf-editorial-lilac:#f2e7fb;
  --vsf-editorial-shadow:0 26px 68px rgba(71,34,105,.13);
}

.vsf-app:not(.vsf-final-overlay) .vsf-title{
  max-width:none!important;
  margin:0 0 15px!important;
  color:var(--vsf-editorial-ink)!important;
  font-family:var(--velara-font)!important;
  font-size:clamp(44px,3.25vw,52px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.034em!important;
  text-wrap:balance;
}

.vsf-app:not(.vsf-final-overlay) .vsf-description{
  max-width:560px!important;
  margin:0!important;
  color:var(--vsf-editorial-copy)!important;
  font-family:var(--velara-font)!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.58!important;
  text-wrap:pretty;
}

.vsf-app:not(.vsf-final-overlay) .vsf-left::before{
  content:"";
  position:absolute;
  inset:-35px -30px -28px -45px;
  z-index:-1;
  border-radius:48%;
  background:radial-gradient(circle at 38% 50%,rgba(255,255,255,.50),transparent 69%);
  filter:blur(12px);
  pointer-events:none;
}

/* Progress: one quiet line with clear numbered milestones. */
@media(min-width:1181px){
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    white-space:nowrap!important;
  }
}

@media(min-width:981px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
    margin-top:19px!important;
    padding:0 4px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list::before{
    content:"";
    position:absolute;
    top:16px;
    left:9%;
    right:9%;
    height:1px;
    background:linear-gradient(90deg,rgba(113,64,168,.22),rgba(113,64,168,.10));
    pointer-events:none;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    justify-items:center!important;
    align-content:start!important;
    gap:6px!important;
    min-height:51px!important;
    padding:0 3px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#74697d!important;
    font-family:var(--velara-font)!important;
    font-size:10px!important;
    font-weight:500!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:nowrap!important;
    opacity:1!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    display:grid!important;
    place-items:center!important;
    width:33px!important;
    height:33px!important;
    flex:0 0 33px!important;
    border:1px solid rgba(86,43,130,.17)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.92)!important;
    color:#7140a8!important;
    font-size:9px!important;
    font-weight:600!important;
    box-shadow:0 5px 14px rgba(73,34,112,.06)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active{
    color:var(--vsf-editorial-ink)!important;
    font-weight:600!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active span{
    border-color:var(--vsf-editorial-accent)!important;
    background:linear-gradient(145deg,#8150b9,#65309c)!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(86,39,137,.23)!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage.is-complete:not(.is-active) span{
    border-color:rgba(113,64,168,.25)!important;
    background:#f0e4f9!important;
    color:#633298!important;
  }
}

/* Main interactive surface. */
.vsf-app:not(.vsf-final-overlay) .vsf-panel{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:1px solid var(--vsf-editorial-line)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 92% 4%,rgba(222,190,247,.28),transparent 31%),
    linear-gradient(145deg,rgba(255,255,255,.98) 0%,rgba(253,250,255,.95) 55%,rgba(246,238,252,.92) 100%)!important;
  box-shadow:var(--vsf-editorial-shadow),inset 0 1px 0 rgba(255,255,255,.98)!important;
  backdrop-filter:blur(20px)!important;
  -webkit-backdrop-filter:blur(20px)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:28px;
  right:28px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(128,75,180,.38),transparent);
  pointer-events:none;
}

.vsf-app:not(.vsf-final-overlay) .vsf-panel::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-105px;
  width:235px;
  height:235px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(192,139,230,.17),transparent 68%);
  pointer-events:none;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-kicker,
.vsf-app:not(.vsf-final-overlay) .vsf-guided-kicker{
  display:block!important;
  margin:0 0 8px!important;
  color:#7140a8!important;
  font-family:var(--velara-font)!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.1!important;
  letter-spacing:.19em!important;
  text-transform:uppercase!important;
}

/* Header slogan styling is centralized in header.css and loaded site-wide. */

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
.vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
  max-width:560px!important;
  margin:0!important;
  color:var(--vsf-editorial-ink)!important;
  font-family:var(--velara-font)!important;
  font-size:clamp(30px,2.35vw,36px)!important;
  font-weight:400!important;
  line-height:1.06!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-chooser > p,
.vsf-app:not(.vsf-final-overlay) .vsf-known-flow > p{
  margin:8px 0 0!important;
  color:var(--vsf-editorial-copy)!important;
  font-family:var(--velara-font)!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
  gap:13px!important;
  margin-top:20px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 32px!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:13px!important;
  row-gap:4px!important;
  min-height:128px!important;
  padding:18px!important;
  overflow:hidden!important;
  border:1px solid rgba(84,42,126,.15)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.84)!important;
  color:var(--vsf-editorial-ink)!important;
  text-align:left!important;
  box-shadow:0 12px 30px rgba(70,31,105,.06),inset 0 1px 0 rgba(255,255,255,.96)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card::before{
  content:""!important;
  position:absolute!important;
  inset:auto -15% -75% 16%!important;
  height:150px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(191,139,230,.15),transparent 68%)!important;
  pointer-events:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card::after{
  content:"→"!important;
  position:static!important;
  grid-column:3!important;
  grid-row:1 / 3!important;
  display:grid!important;
  place-items:center!important;
  width:31px!important;
  height:31px!important;
  border:1px solid rgba(94,48,142,.13)!important;
  border-radius:50%!important;
  background:#f4eafb!important;
  color:#67359b!important;
  font-size:15px!important;
  line-height:1!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card i{
  grid-column:1!important;
  grid-row:1 / 3!important;
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  border:1px solid rgba(103,51,163,.08)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#f7effd,#ead9f8)!important;
  color:#6733a3!important;
  font-size:18px!important;
  font-style:normal!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card strong{
  grid-column:2!important;
  grid-row:1!important;
  color:var(--vsf-editorial-ink)!important;
  font-family:var(--velara-font)!important;
  font-size:21px!important;
  font-weight:400!important;
  line-height:1.08!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card span{
  grid-column:2!important;
  grid-row:2!important;
  color:var(--vsf-editorial-copy)!important;
  font-family:var(--velara-font)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-path-card:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-path-card:focus-visible{
  transform:translateY(-3px)!important;
  border-color:rgba(103,51,163,.34)!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 20px 42px rgba(70,31,105,.12),inset 0 1px 0 rgba(255,255,255,1)!important;
}

/* Guided question hierarchy. */
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question
.vsf-guided-flow:not([hidden]){
  display:grid!important;
  height:100%!important;
  min-height:0!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:start!important;
}

.velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-question{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  color:var(--vsf-editorial-ink)!important;
  font-family:var(--velara-font)!important;
  max-width:610px!important;
  font-size:clamp(23px,1.7vw,27px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
  text-wrap:balance!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-options{
  width:100%!important;
  min-width:0!important;
  align-self:center!important;
  align-content:center!important;
  gap:14px!important;
}

@media(min-width:981px){
  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="mood"] .vsf-options,
  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"] .vsf-options{
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
    gap:10px!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="intensity"] .vsf-options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* Modern option tiles: one component with explicit normal, hover and selected states. */
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]){
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  min-height:108px!important;
  padding:16px!important;
  overflow:hidden!important;
  border:1px solid rgba(84,42,126,.14)!important;
  border-radius:20px!important;
  background:linear-gradient(155deg,rgba(255,255,255,.97),rgba(253,250,255,.88))!important;
  background-color:#fff!important;
  background-image:linear-gradient(155deg,rgba(255,255,255,.97),rgba(253,250,255,.88))!important;
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  text-align:left!important;
  box-shadow:0 10px 28px rgba(70,31,105,.055),inset 0 1px 0 rgba(255,255,255,.98)!important;
  transform:none!important;
  isolation:isolate!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease!important;
}

.vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"]
.vsf-panel .vsf-options button.vsf-option{
  min-height:112px!important;
  padding:17px!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option::before{
  content:""!important;
  position:absolute!important;
  inset:auto -32px -48px 24px!important;
  z-index:0!important;
  width:auto!important;
  height:105px!important;
  border:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(191,139,230,.18),transparent 68%)!important;
  opacity:.42!important;
  pointer-events:none!important;
  transform:none!important;
  transition:opacity .22s ease,transform .22s ease!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option::after{
  content:""!important;
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  bottom:auto!important;
  left:auto!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:19px!important;
  height:19px!important;
  border:1px solid rgba(84,42,126,.22)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.82)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option > span{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border:1px solid rgba(103,51,163,.09)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#f8f1fd,#ead9f8)!important;
  color:#7140a8!important;
  -webkit-text-fill-color:#7140a8!important;
  fill:#7140a8!important;
  font-size:20px!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
  transition:transform .22s ease,background .22s ease,color .22s ease!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option > strong{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  font-family:var(--velara-font)!important;
  font-size:15.5px!important;
  font-weight:500!important;
  line-height:1.12!important;
  letter-spacing:-.012em!important;
  text-align:left!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible{
  transform:translateY(-4px)!important;
  border-color:rgba(103,51,163,.34)!important;
  background:linear-gradient(150deg,#fff 0%,#faf5fd 55%,#f2e6fa 100%)!important;
  background-color:#fff!important;
  background-image:linear-gradient(150deg,#fff 0%,#faf5fd 55%,#f2e6fa 100%)!important;
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  box-shadow:0 18px 38px rgba(70,31,105,.12),0 0 0 3px rgba(113,64,168,.05),inset 0 1px 0 #fff!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover::before,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible::before{
  opacity:.78!important;
  transform:translate3d(-8px,-4px,0) scale(1.08)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover::after,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible::after{
  border-color:rgba(113,64,168,.48)!important;
  background:#f4e9fb!important;
  box-shadow:0 0 0 4px rgba(113,64,168,.055)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > span{
  background:linear-gradient(145deg,#f2e4fb,#dfc5f2)!important;
  color:#65309c!important;
  -webkit-text-fill-color:#65309c!important;
  transform:translateY(-2px) scale(1.045)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):hover > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]):focus-visible > strong{
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  opacity:1!important;
  visibility:visible!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"],
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active:hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:hover,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active:focus-visible,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:focus-visible{
  transform:translateY(-3px)!important;
  border:1.5px solid #7140a8!important;
  background:linear-gradient(145deg,#fff 0%,#f6edfc 56%,#ead9f8 100%)!important;
  background-color:#f4e9fb!important;
  background-image:linear-gradient(145deg,#fff 0%,#f6edfc 56%,#ead9f8 100%)!important;
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  box-shadow:0 19px 42px rgba(70,31,105,.15),0 0 0 3px rgba(113,64,168,.07),inset 0 1px 0 #fff!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active::before,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::before{
  inset:auto -26px -42px 18px!important;
  width:auto!important;
  height:110px!important;
  border:0!important;
  background:radial-gradient(circle,rgba(170,104,219,.28),transparent 68%)!important;
  opacity:1!important;
  transform:none!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active::after,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]::after{
  content:"✓"!important;
  top:13px!important;
  right:13px!important;
  width:22px!important;
  height:22px!important;
  border:0!important;
  background:#7140a8!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:10px!important;
  box-shadow:0 7px 18px rgba(67,26,112,.25)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active > span,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > span{
  border-color:rgba(113,64,168,.22)!important;
  background:linear-gradient(145deg,#7d4ab5,#62309a)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  fill:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"] > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option.is-active:hover > strong,
.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option[aria-pressed="true"]:hover > strong{
  color:var(--vsf-editorial-ink)!important;
  -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
  font-weight:500!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-panel .vsf-options button.vsf-option:active{
  transform:translateY(-1px) scale(.99)!important;
}


/* Six-question engine: multi-select notes and compact flower refinement. */
.vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"] .vsf-options{
  align-content:start!important;
  padding-right:4px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(113,64,168,.28) transparent!important;
}

/*
 * Keep the scrollable Notes content inside the flexible grid row on desktop.
 * Short desktop viewports previously retained a 216px options box even when
 * the available row was smaller, causing the hint, question and footer controls
 * to overlap. The row now owns the height and only its content scrolls.
 */
@media(min-width:981px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"][data-vsf-field="notes"].is-guided-question:not(.vsf-final-overlay)
  .vsf-options{
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    align-content:start!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
}

.vsf-app:not(.vsf-final-overlay) .vsf-multi-select-hint{
  grid-column:1 / -1!important;
  margin:0 0 2px!important;
  color:#6f6078!important;
  font-family:var(--velara-font)!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

.vsf-app:not(.vsf-final-overlay)[data-vsf-field="mood"]
.vsf-panel .vsf-options button.vsf-option,
.vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"]
.vsf-panel .vsf-options button.vsf-option{
  min-height:94px!important;
  padding:12px!important;
  gap:10px!important;
}

.vsf-app:not(.vsf-final-overlay)[data-vsf-field="mood"]
.vsf-panel .vsf-options button.vsf-option > span,
.vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"]
.vsf-panel .vsf-options button.vsf-option > span{
  width:35px!important;
  height:35px!important;
  flex-basis:35px!important;
  border-radius:12px!important;
  font-size:17px!important;
}

.vsf-app:not(.vsf-final-overlay)[data-vsf-field="mood"]
.vsf-panel .vsf-options button.vsf-option > strong,
.vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"]
.vsf-panel .vsf-options button.vsf-option > strong{
  font-size:13px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-followup{
  grid-column:1 / -1!important;
  display:grid!important;
  gap:9px!important;
  margin:3px 0 0!important;
  padding:13px!important;
  border:1px solid rgba(84,42,126,.11)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.58)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-followup-copy span{
  display:block!important;
  color:#4d365d!important;
  font-family:var(--velara-font)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.3!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:31px!important;
  padding:5px 10px!important;
  border:1px solid rgba(84,42,126,.14)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#4e3165!important;
  font-family:var(--velara-font)!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option span{
  color:#7140a8!important;
  font-size:12px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option strong{
  color:inherit!important;
  font:inherit!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-flower-option:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(84,42,126,.34)!important;
  background:#f5ebfb!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option.is-active,
.vsf-app:not(.vsf-final-overlay) .vsf-flower-option[aria-pressed="true"]{
  border-color:#6f35b8!important;
  background:#6f35b8!important;
  color:#fff!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-flower-option.is-active span,
.vsf-app:not(.vsf-final-overlay) .vsf-flower-option[aria-pressed="true"] span{
  color:#fff!important;
}

/* Quiet footer controls inside the card. */
.vsf-app:not(.vsf-final-overlay) .vsf-actions,
.vsf-app:not(.vsf-final-overlay) .vsf-known-actions{
  display:grid!important;
  grid-template-columns:auto auto auto auto 1fr!important;
  align-items:center!important;
  gap:9px!important;
  margin:14px 0 0!important;
  padding-top:13px!important;
  border-top:1px solid rgba(84,42,126,.10)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-actions > .vsf-button,
.vsf-app:not(.vsf-final-overlay) .vsf-known-actions > .vsf-button{
  min-height:35px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset{
  border:1px solid rgba(84,42,126,.15)!important;
  background:rgba(255,255,255,.72)!important;
  background-image:none!important;
  color:#4e3165!important;
  box-shadow:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-link{
  justify-self:end!important;
  border:0!important;
  background:transparent!important;
  color:#62407c!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-link::after{
  content:"  →";
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-skip{
  justify-self:start!important;
  color:#765b84!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-button-continue:disabled{
  cursor:not-allowed!important;
  opacity:.42!important;
}


.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset:hover,
.vsf-app:not(.vsf-final-overlay) .vsf-button-secondary:focus-visible,
.vsf-app:not(.vsf-final-overlay) .vsf-button-reset:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(84,42,126,.30)!important;
  background:#f2e7fa!important;
  color:#352044!important;
  box-shadow:none!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-search{
  margin-top:17px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-known-search input{
  min-height:52px!important;
  border:1px solid rgba(84,42,126,.16)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 10px 26px rgba(70,31,105,.06)!important;
}

.vsf-app[data-mode="chooser"] .vsf-stage-list,
.vsf-app[data-mode="known"] .vsf-stage-list,
.vsf-app:not(.vsf-final-overlay) [data-vsf-stage-list][hidden]{
  display:none!important;
}

/* Desktop panel geometry remains invariant between guided steps. */
@media(min-width:1181px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-panel{
    height:378px!important;
    min-height:378px!important;
    max-height:378px!important;
    padding:28px 30px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"] .vsf-path-chooser{
    display:grid!important;
    height:100%!important;
    align-content:center!important;
  }
}

@media(min-width:1181px) and (max-height:820px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    margin-bottom:12px!important;
    font-size:clamp(40px,3vw,48px)!important;
    line-height:1!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    font-size:12.5px!important;
    line-height:1.5!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    margin-top:17px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    min-height:42px!important;
    font-size:8.5px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"].is-guided-question .vsf-panel{
    height:326px!important;
    min-height:326px!important;
    max-height:326px!important;
    padding:22px 24px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
    font-size:30px!important;
    font-weight:400!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:112px!important;
    padding:15px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    font-size:24px!important;
    font-weight:400!important;
    line-height:1.08!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:100px!important;
    padding:13px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"]
  .vsf-panel .vsf-options button.vsf-option{
    min-height:106px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-actions{
    margin-top:11px!important;
    padding-top:11px!important;
  }
}

@media(max-width:980px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    position:relative!important;
    display:grid!important;
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
    margin-top:16px!important;
    padding:12px 2px 0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-rows:29px auto!important;
    justify-items:center!important;
    justify-content:stretch!important;
    align-content:start!important;
    align-items:start!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    min-height:49px!important;
    padding:0 2px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#665971!important;
    font-family:var(--velara-font)!important;
    font-size:9px!important;
    font-weight:400!important;
    line-height:1.08!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    justify-self:center!important;
    align-self:start!important;
    margin-inline:auto!important;
    font-size:9px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active{
    background:transparent!important;
    color:#352044!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    padding:21px!important;
    border-radius:25px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-title{
    max-width:100%!important;
    margin-bottom:10px!important;
    font-size:clamp(22px,6vw,27px)!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-description{
    max-width:100%!important;
    font-size:14.5px!important;
    line-height:1.45!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-path-chooser h3,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-known-flow h3{
    font-size:clamp(19px,5.35vw,23px)!important;
    font-weight:300!important;
    font-synthesis:none!important;
    line-height:1.08!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    margin-top:15px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-path-card{
    min-height:88px!important;
    padding:12px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-question{
    font-size:clamp(20px,5.55vw,24px)!important;
    font-weight:400!important;
    line-height:1.1!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-options{
    gap:9px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option:not(.is-active):not([aria-pressed="true"]){
    min-height:96px!important;
    padding:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"]
  .vsf-panel .vsf-options button.vsf-option{
    min-height:96px!important;
    padding:10px!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"]
  .vsf-panel .vsf-options button.vsf-option > span{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option > strong{
    font-size:14px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-actions .vsf-button-link{
    grid-column:auto!important;
    justify-self:center!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-button-skip,
  .vsf-app:not(.vsf-final-overlay) .vsf-actions > [data-vsf-methods-back]{
    grid-column:1 / -1!important;
    justify-self:center!important;
  }

  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="notes"] .vsf-options{
    max-height:250px!important;
  }
}

@media(max-width:380px){
  .vsf-app:not(.vsf-final-overlay)[data-vsf-field="gender"] .vsf-options{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* v1.7.73 — editorial spacing refinement.
 * Six visible milestones define the flexible finder. Main title is one line on desktop,
 * panel headings use lighter typography, and compact viewports gain breathing room. */
.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
  grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
}


/* =========================================================
   v1.7.74 — tighter chooser rhythm and Velara bottle milestones.
   Chooser mode no longer reserves the hidden progress-row height.
   Guided mode keeps its stable panel frame while the progress rail
   sits lower and closer to the panel. No finder logic is changed.
   ========================================================= */
@media(min-width:1181px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"]:not(.vsf-final-overlay) .vsf-card{
    grid-template-rows:auto auto!important;
    row-gap:clamp(20px,2.4vh,28px)!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"]:not(.vsf-final-overlay) .vsf-left{
    align-self:start!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-card{
    row-gap:12px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-left{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-stage-list{
    margin-top:auto!important;
  }
}

/* Small bottle-shaped milestones keep the brand language without
   importing another image asset or altering the existing markup. */
.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
  padding-top:7px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage-list::before{
  top:22px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  height:31px!important;
  flex:0 0 25px!important;
  border:1px solid rgba(91,44,143,.22)!important;
  border-radius:5px 5px 8px 8px!important;
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(239,226,250,.90))!important;
  color:#7140a8!important;
  font-size:8px!important;
  font-weight:600!important;
  line-height:1!important;
  box-shadow:
    inset 5px 0 9px rgba(255,255,255,.55),
    inset -4px -4px 8px rgba(102,48,157,.08),
    0 6px 14px rgba(73,34,112,.08)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span::before{
  content:""!important;
  position:absolute!important;
  top:-7px!important;
  left:50%!important;
  width:11px!important;
  height:7px!important;
  margin:0!important;
  border:1px solid rgba(91,44,143,.20)!important;
  border-bottom:0!important;
  border-radius:4px 4px 1px 1px!important;
  background:linear-gradient(90deg,#d8c0eb,#f5ebfb 48%,#b993d5)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
  transform:translateX(-50%)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active span{
  border-color:#66309c!important;
  background:linear-gradient(155deg,#8b58bc 0%,#6e38a7 58%,#54258f 100%)!important;
  color:#fff!important;
  box-shadow:
    inset 5px 0 9px rgba(255,255,255,.16),
    inset -4px -5px 9px rgba(52,20,84,.20),
    0 8px 20px rgba(86,39,137,.22)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-active span::before,
.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-complete:not(.is-active) span::before{
  border-color:rgba(159,112,32,.42)!important;
  background:linear-gradient(90deg,#b98528,#f3d778 48%,#a87522)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-complete:not(.is-active) span{
  border-color:rgba(102,48,156,.28)!important;
  background:linear-gradient(155deg,#f7f0fc,#e6d2f5)!important;
  color:#65309c!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage.is-complete:not(.is-active) span::after{
  content:"✓"!important;
  position:absolute!important;
  top:19px!important;
  right:-5px!important;
  display:grid!important;
  place-items:center!important;
  width:13px!important;
  height:13px!important;
  margin:0!important;
  border:1px solid #fff!important;
  border-radius:50%!important;
  background:#6c36b2!important;
  color:#fff!important;
  font-size:7px!important;
  line-height:1!important;
  box-shadow:0 4px 9px rgba(66,25,108,.20)!important;
}

@media(max-width:980px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    padding-top:9px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list::before{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    display:block!important;
    top:26px!important;
    left:8%!important;
    right:8%!important;
    height:1px!important;
    background:linear-gradient(90deg,rgba(113,64,168,.24),rgba(113,64,168,.11))!important;
    pointer-events:none!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:23px!important;
    height:29px!important;
    flex-basis:23px!important;
    font-size:7.5px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span::before{
    width:10px!important;
    height:6px!important;
    top:-6px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage.is-complete:not(.is-active) span::after{
    top:17px!important;
  }
}

/* =========================================================
   v1.7.75 — functional first-step Back, balanced chooser air,
   and fully visible Velara bottle milestones.
   Scope: Home/Finder navigation and presentation only.
   ========================================================= */
@media(min-width:1181px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"]:not(.vsf-final-overlay) .vsf-card{
    row-gap:clamp(44px,5vh,54px)!important;
  }
}

@media(min-width:1181px) and (max-height:820px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"]:not(.vsf-final-overlay) .vsf-card{
    row-gap:36px!important;
  }
}

@media(min-width:1181px) and (max-height:720px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="chooser"]:not(.vsf-final-overlay) .vsf-card{
    row-gap:28px!important;
  }
}

/* The cap extends above the bottle body. Earlier overflow protection on the
   stage button clipped it; the six fixed labels fit safely without clipping. */
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled,
.vsf-app:not(.vsf-final-overlay) button.vsf-stage[disabled]{
  overflow:visible!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
  padding-top:11px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage-list::before{
  top:26px!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span{
  width:24px!important;
  height:31px!important;
  flex:0 0 24px!important;
  overflow:visible!important;
  border-radius:5px 5px 8px 8px!important;
  box-shadow:
    inset 4px 0 8px rgba(255,255,255,.56),
    inset -3px -4px 7px rgba(102,48,157,.08),
    0 6px 14px rgba(73,34,112,.08)!important;
}

.vsf-app:not(.vsf-final-overlay) .vsf-stage span::before{
  top:-7px!important;
  width:10px!important;
  height:7px!important;
  border-radius:3px 3px 1px 1px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 2px 4px rgba(69,31,105,.08)!important;
}

.vsf-app:not(.vsf-final-overlay)
.vsf-stage.is-complete:not(.is-active) span::after{
  top:18px!important;
  right:-5px!important;
}

@media(max-width:980px){
  .vsf-app:not(.vsf-final-overlay) .vsf-stage-list{
    padding-top:12px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span{
    width:22px!important;
    height:29px!important;
    flex-basis:22px!important;
  }

  .vsf-app:not(.vsf-final-overlay) .vsf-stage span::before{
    top:-6px!important;
    width:9px!important;
    height:6px!important;
  }

  .vsf-app:not(.vsf-final-overlay)
  .vsf-stage.is-complete:not(.is-active) span::after{
    top:16px!important;
  }
}


/* v1.7.110 — mobile guided questions prioritize interaction.
 * The chooser keeps the full bottle. During the six active questions the
 * decorative visual collapses, all six milestones remain, and frontend.js
 * keeps Continue/Skip inside the visible viewport after each height change. */
@media(max-width:980px){
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay){
    overflow-anchor:none!important;
  }
}

@media(max-width:760px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-card{
    grid-template-areas:
      "copy"
      "selector"!important;
    grid-template-rows:auto auto!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-visual{
    display:none!important;
  }
}


/* =========================================================
   v1.7.112 — effective viewport / browser zoom guard.
   High-DPI displays, OS scaling and browser zoom all reduce the
   CSS viewport. The JS guard measures the actual visible space and
   supplies --vsf-safe-panel-height. Compact modes keep every guided
   step inside the panel and make only the answer area scroll.
   ========================================================= */
@media(min-width:981px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport]:not(.vsf-final-overlay)[data-mode="chooser"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport]:not(.vsf-final-overlay)[data-mode="known"] .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport]:not(.vsf-final-overlay)[data-mode="guided"].is-guided-question .vsf-panel{
    height:var(--vsf-safe-panel-height,378px)!important;
    min-height:var(--vsf-safe-panel-height,378px)!important;
    max-height:var(--vsf-safe-panel-height,378px)!important;
    box-sizing:border-box!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-panel,
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-panel{
    padding:18px 20px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-guided-flow:not([hidden]),
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-guided-flow:not([hidden]){
    display:grid!important;
    height:100%!important;
    min-height:0!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
    gap:8px!important;
    overflow:hidden!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-options,
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-options{
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    align-content:start!important;
    padding-right:4px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(113,64,168,.28) transparent!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-question{
    font-size:clamp(18px,1.45vw,23px)!important;
    line-height:1.08!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:82px!important;
    padding:10px!important;
    gap:8px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option > span{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
    border-radius:11px!important;
    font-size:16px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option > strong{
    font-size:12px!important;
    line-height:1.12!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-actions,
  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-known-actions{
    gap:6px!important;
    margin-top:7px!important;
    padding-top:8px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-actions > .vsf-button,
  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-known-actions > .vsf-button{
    min-height:31px!important;
    padding:0 10px!important;
    font-size:10px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-flower-followup{
    gap:6px!important;
    padding:9px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-flower-followup-copy span{
    font-size:11.5px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-flower-grid{
    gap:5px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-flower-option{
    min-height:27px!important;
    padding:4px 8px!important;
    font-size:10px!important;
  }

  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-path-chooser,
  .vsf-app[data-vsf-viewport="compact"]:not(.vsf-final-overlay) .vsf-known-flow,
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-path-chooser,
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-known-flow{
    height:100%!important;
    min-height:0!important;
    padding-right:4px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-panel{
    padding:15px 17px!important;
    border-radius:24px!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-question{
    font-size:17px!important;
    line-height:1.06!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option{
    min-height:72px!important;
    padding:8px!important;
    gap:6px!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option > span{
    width:29px!important;
    height:29px!important;
    flex-basis:29px!important;
    font-size:14px!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay)
  .vsf-panel .vsf-options button.vsf-option > strong{
    font-size:11px!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-actions,
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-known-actions{
    gap:5px!important;
    margin-top:5px!important;
    padding-top:6px!important;
  }

  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-actions > .vsf-button,
  .vsf-app[data-vsf-viewport="tight"]:not(.vsf-final-overlay) .vsf-known-actions > .vsf-button{
    min-height:29px!important;
    padding:0 8px!important;
    font-size:9.5px!important;
  }
}

/* =========================================================
   v1.8.0 — dynamic question progress.
   Six or fewer questions preserve the approved fixed layout. Longer
   questionnaires use a contained horizontal rail and automatically keep
   the active milestone in view without changing panel geometry.
   ========================================================= */
.vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage-list{
  display:grid!important;
  grid-template-columns:none!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(72px,1fr)!important;
  gap:4px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(113,64,168,.22) transparent!important;
  -webkit-overflow-scrolling:touch!important;
}

.vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage-list::before{
  display:none!important;
}

.vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage{
  scroll-snap-align:center!important;
}

@media(max-width:980px){
  .vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage-list{
    grid-auto-columns:64px!important;
    padding-bottom:7px!important;
  }

  .vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage{
    min-width:64px!important;
    overflow:visible!important;
  }
}

@media(max-width:760px){
  .vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage-list{
    grid-auto-columns:58px!important;
    gap:3px!important;
  }

  .vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage,
  .vsf-app[data-vsf-stage-density="extended"]:not(.vsf-final-overlay) .vsf-stage:disabled{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    padding-inline:1px!important;
    font-size:8px!important;
  }
}

/* =========================================================
   v1.8.6 — viewport-safe Finder geometry.
   The desktop Hero remains one viewport. Known-profile recovery
   fits inside the panel, and question tiles are sized from the
   actual number of answers instead of the number/question name.
   ========================================================= */
@media(min-width:981px){
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    min-width:0!important;
    overflow:hidden!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow:not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    grid-template-areas:
      "kicker kicker"
      "title title"
      "intro intro"
      "search retrieve"
      "status retrieve"
      "results results"
      "selected selected"
      "actions actions"!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-content:start!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:1px 5px 2px 1px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(113,64,168,.25) transparent!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow > .vsf-path-kicker{grid-area:kicker!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow > h3{grid-area:title!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow > p{grid-area:intro!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-search{grid-area:search!important;align-self:start!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-status{grid-area:status!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-results{grid-area:results!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-selected{grid-area:selected!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve{grid-area:retrieve!important;align-self:start!important;}
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-actions{grid-area:actions!important;}

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow h3{
    margin:0!important;
    font-size:clamp(27px,2vw,32px)!important;
    line-height:1.04!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-flow > p{
    margin:5px 0 0!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-search{
    margin-top:10px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-search label{
    margin-bottom:5px!important;
    font-size:10.5px!important;
    line-height:1.2!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-search input{
    min-height:44px!important;
    height:44px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
    border-radius:13px!important;
    font-size:13px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-status{
    min-height:15px!important;
    margin-top:5px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve{
    margin:8px 0 0!important;
    padding:10px 12px!important;
    border-radius:14px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-kicker{
    margin:0 0 3px!important;
    font-size:8.5px!important;
    line-height:1.1!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve h4{
    margin:0!important;
    font-size:18px!important;
    line-height:1.08!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve p{
    margin:4px 0 0!important;
    font-size:11px!important;
    line-height:1.28!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-inline-form{
    margin-top:7px!important;
    gap:7px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-inline-form input[type="email"],
  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-inline-form button{
    min-height:40px!important;
    height:40px!important;
    border-radius:12px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-inline-form input[type="email"]{
    padding-inline:12px!important;
    font-size:12px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-inline-form button{
    padding-inline:15px!important;
    font-size:11px!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-status{
    min-height:0!important;
    margin-top:5px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-profile-retrieve .vsf-profile-status:empty{
    display:none!important;
  }

  .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="known"]:not(.vsf-final-overlay) .vsf-known-actions{
    grid-template-columns:auto auto!important;
    justify-content:start!important;
    margin-top:8px!important;
    padding-top:8px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-options[data-vsf-option-count]{
    display:grid!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:3px 4px 5px!important;
    align-self:stretch!important;
    align-content:center!important;
    justify-content:center!important;
    grid-auto-flow:row!important;
    gap:10px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(113,64,168,.24) transparent!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"]
  .vsf-options{
    grid-template-columns:repeat(2,minmax(150px,190px))!important;
    grid-template-rows:108px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"]
  .vsf-options{
    grid-template-columns:repeat(3,minmax(130px,170px))!important;
    grid-template-rows:108px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"]
  .vsf-options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:108px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"]
  .vsf-options{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:108px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"]
  .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,78px)!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"]
  .vsf-options,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"]
  .vsf-options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,78px)!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="9"]
  .vsf-options,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="10"]
  .vsf-options{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-rows:76px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="11"]
  .vsf-options,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="12"]
  .vsf-options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:72px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option:not(.is-active):not([aria-pressed="true"]){
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="9"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="10"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="11"]
  .vsf-panel .vsf-options button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="12"]
  .vsf-panel .vsf-options button.vsf-option{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    padding:9px 11px!important;
    text-align:left!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="9"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="10"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="11"]
  .vsf-panel .vsf-options button.vsf-option > span,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="12"]
  .vsf-panel .vsf-options button.vsf-option > span{
    width:33px!important;
    height:33px!important;
    flex:0 0 33px!important;
    border-radius:11px!important;
    font-size:15px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="9"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="10"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="11"]
  .vsf-panel .vsf-options button.vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="12"]
  .vsf-panel .vsf-options button.vsf-option > strong{
    min-width:0!important;
    font-size:12px!important;
    line-height:1.12!important;
    text-align:left!important;
  }
}

@media(min-width:981px){
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options{
    grid-template-rows:82px!important;
  }

  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"] .vsf-options,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"] .vsf-options{
    grid-template-rows:repeat(2,63px)!important;
  }

  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options{
    grid-template-rows:72px!important;
  }

  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="7"] .vsf-options,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="8"] .vsf-options{
    grid-template-rows:repeat(2,55px)!important;
  }
}


/* =========================================================
   v1.8.10 — progress milestones only after Finder start.
   The native hidden attribute must win over every historical
   high-specificity grid declaration on desktop and mobile.
   ========================================================= */
.vsf-app [data-vsf-stage-list][hidden],
.vsf-app[data-mode="chooser"] [data-vsf-stage-list],
.vsf-app[data-mode="known"] [data-vsf-stage-list]{
  display:none!important;
}


/* =========================================================
   v1.8.14 — high-DPI / browser-zoom option legibility.
   Physical monitor resolution is not a reliable layout signal when
   Windows/macOS display scaling or browser zoom reduces the effective CSS
   viewport. Compact/tight modes therefore let option content define its
   row height and keep icon + label on the same horizontal axis. The answers
   area is already scroll-contained, so labels are never sacrificed to keep
   the Hero inside the visible viewport.
   ========================================================= */
@media (min-width:981px){
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-options[data-vsf-option-count],
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-options[data-vsf-option-count]{
    grid-template-rows:none!important;
    grid-auto-rows:minmax(60px,auto)!important;
    align-content:start!important;
  }

  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:auto!important;
    min-height:60px!important;
    max-height:none!important;
    gap:8px!important;
    padding:8px 10px!important;
    text-align:left!important;
  }

  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > span,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > span{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    flex:0 0 30px!important;
    border-radius:10px!important;
    font-size:15px!important;
  }

  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:1em!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    color:var(--vsf-editorial-ink)!important;
    -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
    font-size:12px!important;
    line-height:1.18!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option.is-active > strong,
  .vsf-app[data-vsf-viewport="compact"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option[aria-pressed="true"] > strong,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option.is-active > strong,
  .vsf-app[data-vsf-viewport="tight"][data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option[aria-pressed="true"] > strong{
    color:var(--vsf-editorial-ink)!important;
    -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* Fallback for desktop browsers where the viewport guard has not painted yet.
   This catches the same short effective viewport produced by 200% OS scaling
   plus browser zoom without changing ordinary desktop layouts. */
@media (min-width:981px) and (max-height:820px){
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong{
    min-height:1em!important;
    max-height:none!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* =========================================================
   v1.8.16 — continuous scaled-desktop Finder geometry.
   Activated by html.vsf-scaled-desktop, which is based on actual DPR and
   desktop pointer capabilities. Density tiers are driven by usable CSS
   viewport dimensions, not by a list of Windows scale percentages.
   ========================================================= */
@media(max-width:1180px){
  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay),
  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:visible!important;
  }

  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(176px,24vw,286px)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    grid-template-areas:
      "copy bottle"
      "selector bottle"!important;
    column-gap:clamp(10px,1.7vw,18px)!important;
    row-gap:8px!important;
    align-content:stretch!important;
    align-items:stretch!important;
    padding:0!important;
    border-radius:0!important;
  }

  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-right{
    display:contents!important;
  }

  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-left{
    grid-area:copy!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 6px!important;
    align-self:end!important;
    overflow:visible!important;
  }

  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-panel{
    grid-area:selector!important;
    order:initial!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:min(100%,var(--vsf-safe-panel-height,378px))!important;
    min-height:0!important;
    max-height:min(100%,var(--vsf-safe-panel-height,378px))!important;
    margin:0!important;
    padding:clamp(12px,1.5vw,17px) clamp(13px,1.7vw,19px)!important;
    align-self:start!important;
    overflow:hidden!important;
    border-radius:clamp(17px,2vw,22px)!important;
  }

  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app:not(.vsf-final-overlay) .vsf-visual{
    grid-area:bottle!important;
    order:initial!important;
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    align-self:stretch!important;
    overflow:visible!important;
    transform:none!important;
  }

  html.vsf-scaled-desktop .vsf-bottle{
    scale:var(--vsf-scaled-bottle-scale,.74)!important;
    transform-origin:center center!important;
  }
  html.vsf-scaled-desktop .vsf-aura{
    width:var(--vsf-scaled-aura-size,260px)!important;
    height:var(--vsf-scaled-aura-size,260px)!important;
  }

  html.vsf-scaled-desktop .vsf-title{
    max-width:100%!important;
    margin:0 0 6px!important;
    font-size:var(--vsf-scaled-title-size,clamp(31px,3.4vw,41px))!important;
    line-height:1!important;
  }
  html.vsf-scaled-desktop .vsf-description{
    max-width:100%!important;
    margin:0!important;
    font-size:var(--vsf-scaled-description-size,clamp(10.5px,1.15vw,12.5px))!important;
    line-height:1.35!important;
  }

  html.vsf-scaled-desktop .vsf-stage-list{
    width:100%!important;
    margin-top:8px!important;
    padding:1px 0 4px!important;
    gap:4px!important;
    overflow:visible!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"]:not(.vsf-final-overlay) .vsf-stage-list{
    display:grid!important;
    grid-template-columns:repeat(var(--vsf-stage-count,6),minmax(0,1fr))!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"]:not(.vsf-final-overlay) .vsf-stage,
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"]:not(.vsf-final-overlay) .vsf-stage:disabled{
    flex:initial!important;
    min-width:0!important;
    min-height:38px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    font-size:8px!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-guided-flow:not([hidden]){
    display:grid!important;
    height:100%!important;
    min-height:0!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-question{
    margin:0!important;
    font-size:clamp(18px,2vw,24px)!important;
    line-height:1.08!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-options{
    align-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    align-content:center!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    padding:2px 3px 4px!important;
    gap:8px!important;
  }

  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:minmax(58px,84px)!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:minmax(58px,84px)!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:minmax(58px,82px)!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:minmax(58px,82px)!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(52px,68px))!important;
  }

  html.vsf-scaled-desktop .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option,
  html.vsf-scaled-desktop .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option:not(.is-active):not([aria-pressed="true"]){
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    gap:7px!important;
    padding:7px 9px!important;
    text-align:left!important;
  }
  html.vsf-scaled-desktop .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > span{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    flex:0 0 29px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }
  html.vsf-scaled-desktop .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:1em!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    color:var(--vsf-editorial-ink)!important;
    -webkit-text-fill-color:var(--vsf-editorial-ink)!important;
    font-size:clamp(10px,1.05vw,12px)!important;
    line-height:1.14!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  html.vsf-scaled-desktop .vsf-actions{
    margin-top:0!important;
    padding-top:6px!important;
    gap:6px!important;
  }

  html.vsf-scaled-desktop .vsf-app[data-mode="chooser"] .vsf-path-chooser,
  html.vsf-scaled-desktop .vsf-app[data-mode="known"] .vsf-known-flow:not([hidden]){
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="chooser"] .vsf-path-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:12px!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="chooser"] .vsf-path-card{
    min-height:76px!important;
    padding:10px 12px!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="chooser"] .vsf-path-chooser h3{
    font-size:clamp(22px,2.6vw,30px)!important;
    line-height:1.04!important;
  }
}

/* Density-specific refinements. Values are exposed through variables so
   high-specificity historical rules cannot win merely because of selector
   order. */
html.vsf-scaled-desktop{
  --vsf-scaled-bottle-scale:.74;
  --vsf-scaled-aura-size:260px;
  --vsf-scaled-title-size:clamp(31px,3.4vw,41px);
  --vsf-scaled-description-size:clamp(10.5px,1.15vw,12.5px);
}
html.vsf-scaled-desktop[data-vsf-desktop-density="compact"]{
  --vsf-scaled-bottle-scale:.68;
  --vsf-scaled-aura-size:235px;
  --vsf-scaled-title-size:clamp(29px,3.2vw,37px);
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"]{
  --vsf-scaled-bottle-scale:.58;
  --vsf-scaled-aura-size:205px;
  --vsf-scaled-title-size:clamp(26px,3vw,34px);
  --vsf-scaled-description-size:10.5px;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]{
  --vsf-scaled-bottle-scale:.36;
  --vsf-scaled-aura-size:140px;
  --vsf-scaled-title-size:clamp(23px,2.8vw,29px);
  --vsf-scaled-description-size:9.5px;
}

html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{
  min-height:34px!important;
  font-size:7.5px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-panel{
  padding:11px 13px!important;
  border-radius:18px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options,
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:minmax(48px,60px)!important;
  grid-template-rows:none!important;
}

html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-card{
  grid-template-columns:minmax(0,1fr) clamp(150px,22vw,190px)!important;
  column-gap:8px!important;
  row-gap:5px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-title{margin-bottom:3px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-description{line-height:1.2!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage-list{margin-top:4px!important;gap:2px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage:disabled{min-height:28px!important;gap:1px!important;font-size:6.8px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-stage > span{transform:scale(.82)!important;transform-origin:center top!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-panel{padding:9px 11px!important;border-radius:16px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-question{font-size:17px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-options{gap:5px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:minmax(42px,52px)!important;
  grid-template-rows:none!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option{gap:5px!important;padding:5px 7px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > span{
  width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;flex-basis:24px!important;font-size:12px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong{font-size:9px!important;line-height:1.08!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-actions{padding-top:3px!important;gap:4px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-actions .vsf-button{font-size:8px!important;min-height:28px!important;padding:4px 7px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="chooser"] .vsf-path-chooser h3{font-size:21px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="chooser"] .vsf-path-grid{margin-top:8px!important;gap:7px!important;}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"] .vsf-app[data-mode="chooser"] .vsf-path-card{min-height:64px!important;padding:8px 9px!important;}

/* Ultra-scaled desktop remains a desktop interaction surface even when its
   logical width crosses legacy mobile breakpoints. Compress copy rather than
   hiding answers or moving the bottle below the Finder. */
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-description{
  display:none!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-title{
  font-size:21px!important;
  line-height:1!important;
  margin-bottom:2px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-stage-list{
  margin-top:2px!important;
  padding:0!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-stage,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-stage:disabled{
  min-height:21px!important;
  height:21px!important;
  font-size:0!important;
  gap:0!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.velara-site.velara-hero.velara-hero-split-bg
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-stage > span{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  transform:scale(.76)!important;
  transform-origin:center center!important;
}

@media(max-width:760px){
  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-card{
    grid-template-columns:minmax(0,1fr) clamp(150px,22vw,190px)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    grid-template-areas:
      "copy bottle"
      "selector bottle"!important;
  }
  html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
  .vsf-app[data-mode="guided"]:not(.vsf-final-overlay).is-guided-question .vsf-visual{
    grid-area:bottle!important;
    display:grid!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* Ensure scaled-desktop bottle sizing wins over legacy tablet/mobile rules. */
html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-bottle{
  scale:var(--vsf-scaled-bottle-scale,.74)!important;
  transform-origin:center center!important;
}
html.vsf-scaled-desktop .velara-site.velara-hero.velara-hero-split-bg
.vsf-app:not(.vsf-final-overlay) .vsf-aura{
  width:var(--vsf-scaled-aura-size,260px)!important;
  height:var(--vsf-scaled-aura-size,260px)!important;
}

/* =========================================================
   v1.8.19 — reference-inspired final essence wash.
   IMPORTANT: every selector is scoped to .vsf-final-overlay so no normal
   Finder controls, internal buttons, Shop/Cart or Checkout can inherit it.
   ========================================================= */
@keyframes vsfReferenceWashBlob{
  0%{
    opacity:0;
    transform:translate3d(-132px,10px,0) scale(.28,.62) rotate(-10deg);
  }
  18%{
    opacity:.82;
    transform:translate3d(-88px,4px,0) scale(.70,.86) rotate(-6deg);
  }
  42%{
    opacity:.92;
    transform:translate3d(-28px,-1px,0) scale(1.06,.98) rotate(2deg);
  }
  62%{
    opacity:.72;
    transform:translate3d(8px,-7px,0) scale(1.16,1.06) rotate(5deg);
  }
  82%{
    opacity:.34;
    transform:translate3d(35px,-15px,0) scale(.86,.92) rotate(8deg);
  }
  100%{
    opacity:0;
    transform:translate3d(58px,-22px,0) scale(.58,.70) rotate(11deg);
  }
}

@keyframes vsfReferenceWashBubble{
  0%{
    opacity:0;
    transform:translate3d(-112px,var(--vsf-ref-start-y,0px),0) scale(.18);
  }
  18%{opacity:.90;}
  48%{
    opacity:.96;
    transform:translate3d(
      var(--vsf-ref-x,0px),
      var(--vsf-ref-y,0px),
      0
    ) scale(1.08);
  }
  72%{
    opacity:.76;
    transform:translate3d(var(--vsf-ref-x,0px),var(--vsf-ref-y,0px),0) scale(.94);
  }
  100%{
    opacity:0;
    transform:translate3d(
      calc(var(--vsf-ref-x,0px) + 24px),
      calc(var(--vsf-ref-y,0px) - 16px),
      0
    ) scale(.56);
  }
}

@keyframes vsfReferenceBottleHit{
  0%,100%{
    transform:translate3d(0,-3px,0) scale(1) rotate(0deg);
  }
  24%{
    transform:translate3d(0,-3px,0) scale(1) rotate(0deg);
  }
  43%{
    transform:translate3d(var(--vsf-ref-hit-x,7px),-2px,0)
      scale(var(--vsf-ref-hit-sx,.982),var(--vsf-ref-hit-sy,1.018))
      rotate(var(--vsf-ref-hit-rotate,1.25deg));
  }
  61%{
    transform:translate3d(var(--vsf-ref-recoil-x,-2px),-4px,0)
      scale(1.014,.993)
      rotate(var(--vsf-ref-recoil-rotate,-.42deg));
  }
  78%{
    transform:translate3d(1px,-3px,0) scale(.998,1.004) rotate(.14deg);
  }
}

.vsf-final-overlay .vsf-reference-wash{
  position:absolute;
  inset:0;
  z-index:12;
  pointer-events:none;
  overflow:visible;
  opacity:0;
  transform-origin:center;
  will-change:opacity,transform;
}

.vsf-final-overlay .vsf-reference-wash-blob{
  position:absolute;
  top:50%;
  left:50%;
  width:172px;
  height:132px;
  margin:-66px 0 0 -86px;
  border-radius:58% 42% 56% 44% / 49% 55% 45% 51%;
  opacity:0;
  background:
    radial-gradient(circle at 34% 31%,rgba(241,211,255,.98) 0 13%,rgba(203,143,239,.97) 28%,rgba(151,77,209,.94) 57%,rgba(113,52,175,.88) 78%,rgba(89,39,147,.70) 100%);
  box-shadow:
    0 18px 36px rgba(103,47,163,.16),
    inset 14px 12px 26px rgba(255,255,255,.22);
  filter:saturate(.94);
  will-change:transform,opacity;
}

.vsf-final-overlay .vsf-reference-wash > span{
  --vsf-ref-x:0px;
  --vsf-ref-y:0px;
  --vsf-ref-start-y:0px;
  --vsf-ref-size:18px;
  --vsf-ref-delay:0s;
  position:absolute;
  top:50%;
  left:50%;
  width:var(--vsf-ref-size);
  height:var(--vsf-ref-size);
  margin:-9px 0 0 -9px;
  border-radius:50%;
  opacity:0;
  background:
    radial-gradient(circle at 31% 27%,rgba(255,255,255,.98) 0 11%,rgba(224,183,250,.96) 31%,rgba(157,83,213,.94) 67%,rgba(105,48,166,.92) 100%);
  box-shadow:
    0 8px 18px rgba(96,43,157,.18),
    inset 0 1px 4px rgba(255,255,255,.48);
  will-change:transform,opacity;
}

.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(1){--vsf-ref-x:-72px;--vsf-ref-y:-62px;--vsf-ref-start-y:-18px;--vsf-ref-size:28px;--vsf-ref-delay:.00s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(2){--vsf-ref-x:-35px;--vsf-ref-y:-86px;--vsf-ref-start-y:-30px;--vsf-ref-size:19px;--vsf-ref-delay:.04s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(3){--vsf-ref-x:2px;--vsf-ref-y:-72px;--vsf-ref-start-y:-12px;--vsf-ref-size:33px;--vsf-ref-delay:.02s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(4){--vsf-ref-x:43px;--vsf-ref-y:-48px;--vsf-ref-start-y:-22px;--vsf-ref-size:22px;--vsf-ref-delay:.07s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(5){--vsf-ref-x:61px;--vsf-ref-y:-5px;--vsf-ref-start-y:7px;--vsf-ref-size:29px;--vsf-ref-delay:.01s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(6){--vsf-ref-x:39px;--vsf-ref-y:38px;--vsf-ref-start-y:20px;--vsf-ref-size:18px;--vsf-ref-delay:.06s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(7){--vsf-ref-x:2px;--vsf-ref-y:56px;--vsf-ref-start-y:26px;--vsf-ref-size:25px;--vsf-ref-delay:.03s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(8){--vsf-ref-x:-41px;--vsf-ref-y:45px;--vsf-ref-start-y:22px;--vsf-ref-size:20px;--vsf-ref-delay:.08s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(9){--vsf-ref-x:-77px;--vsf-ref-y:17px;--vsf-ref-start-y:12px;--vsf-ref-size:14px;--vsf-ref-delay:.05s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(10){--vsf-ref-x:76px;--vsf-ref-y:-31px;--vsf-ref-start-y:-8px;--vsf-ref-size:13px;--vsf-ref-delay:.09s}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(11){--vsf-ref-x:-8px;--vsf-ref-y:-108px;--vsf-ref-start-y:-36px;--vsf-ref-size:12px;--vsf-ref-delay:.10s}

/* Four synchronized passes. Same reference language, slightly increasing
   intensity so the final message feels like the strongest reward. */
.vsf-final-overlay.is-reference-wave-1{
  --vsf-ref-hit-x:6px;
  --vsf-ref-hit-sx:.986;
  --vsf-ref-hit-sy:1.014;
  --vsf-ref-hit-rotate:.85deg;
  --vsf-ref-recoil-x:-1px;
  --vsf-ref-recoil-rotate:-.28deg;
}
.vsf-final-overlay.is-reference-wave-2{
  --vsf-ref-hit-x:8px;
  --vsf-ref-hit-sx:.981;
  --vsf-ref-hit-sy:1.019;
  --vsf-ref-hit-rotate:1.15deg;
  --vsf-ref-recoil-x:-2px;
  --vsf-ref-recoil-rotate:-.38deg;
}
.vsf-final-overlay.is-reference-wave-3{
  --vsf-ref-hit-x:9px;
  --vsf-ref-hit-sx:.976;
  --vsf-ref-hit-sy:1.024;
  --vsf-ref-hit-rotate:1.35deg;
  --vsf-ref-recoil-x:-2px;
  --vsf-ref-recoil-rotate:-.48deg;
}
.vsf-final-overlay.is-reference-wave-4{
  --vsf-ref-hit-x:12px;
  --vsf-ref-hit-sx:.966;
  --vsf-ref-hit-sy:1.034;
  --vsf-ref-hit-rotate:1.70deg;
  --vsf-ref-recoil-x:-3px;
  --vsf-ref-recoil-rotate:-.60deg;
}

.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash{
  opacity:1;
}

.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash{transform:scale(.78)}
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash{transform:scale(.88)}
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash{transform:scale(.96)}
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash{transform:scale(1.08)}

.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash-blob,
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash-blob,
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash-blob,
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash-blob{
  animation:vsfReferenceWashBlob var(--vsf-ref-duration,.82s) cubic-bezier(.16,.70,.24,1) both;
}

.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash > span,
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash > span,
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash > span,
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash > span{
  animation:vsfReferenceWashBubble var(--vsf-ref-duration,.82s) cubic-bezier(.14,.66,.24,1) var(--vsf-ref-delay) both;
}

.vsf-final-overlay.is-reference-wave-1{--vsf-ref-duration:.82s}
.vsf-final-overlay.is-reference-wave-2{--vsf-ref-duration:.86s}
.vsf-final-overlay.is-reference-wave-3{--vsf-ref-duration:.90s}
.vsf-final-overlay.is-reference-wave-4{--vsf-ref-duration:1.02s}

.vsf-final-overlay.is-reference-wave-1 .vsf-bottle,
.vsf-final-overlay.is-reference-wave-2 .vsf-bottle,
.vsf-final-overlay.is-reference-wave-3 .vsf-bottle,
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle{
  animation:vsfReferenceBottleHit var(--vsf-ref-duration,.82s) cubic-bezier(.18,.72,.24,1) both!important;
}

/* Preserve subtle material feedback but avoid the previous detached spring. */
.vsf-final-overlay.is-reference-wave-2 .vsf-bottle-cap,
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle-cap{
  animation:vsfFinalCapFlash .72s ease-out both!important;
}
.vsf-final-overlay.is-reference-wave-3 .vsf-bottle-liquid:before,
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle-liquid:before{
  animation:vsfFinalLiquidWave .78s ease-out both!important;
}
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle-body:after{
  animation:vsfFinalGlassSweep .90s ease-out both!important;
}

.vsf-final-overlay.is-mobile-ritual .vsf-reference-wash{
  transform-origin:center;
}
.vsf-final-overlay.is-mobile-ritual.is-reference-wave-1 .vsf-reference-wash{transform:scale(.66)}
.vsf-final-overlay.is-mobile-ritual.is-reference-wave-2 .vsf-reference-wash{transform:scale(.72)}
.vsf-final-overlay.is-mobile-ritual.is-reference-wave-3 .vsf-reference-wash{transform:scale(.78)}
.vsf-final-overlay.is-mobile-ritual.is-reference-wave-4 .vsf-reference-wash{transform:scale(.86)}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay .vsf-reference-wash{
    display:none!important;
  }
  .vsf-final-overlay.is-reference-wave-1 .vsf-bottle,
  .vsf-final-overlay.is-reference-wave-2 .vsf-bottle,
  .vsf-final-overlay.is-reference-wave-3 .vsf-bottle,
  .vsf-final-overlay.is-reference-wave-4 .vsf-bottle,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-cap,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-body:after{
    animation:none!important;
  }
}


/* =========================================================
   v1.8.20 — final foam contact + resilient guided option cards.
   Two intentionally isolated surfaces:
   1) normal guided answer cards (2–6 only), and
   2) .vsf-final-overlay reference foam.
   No Shop, Cart, Checkout, path chooser or known-perfume selectors.
   ========================================================= */

/* ---------- Guided answer geometry: text decides height, never clipping. ---------- */
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  align-content:center!important;
}

.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options{
  grid-template-columns:repeat(2,minmax(150px,210px))!important;
  justify-content:center!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options{
  grid-template-columns:repeat(3,minmax(138px,190px))!important;
  justify-content:center!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-panel .vsf-option,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-panel .vsf-option{
  min-height:96px!important;
  height:auto!important;
  padding:13px 14px!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-panel .vsf-option,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-panel .vsf-option{
  min-height:88px!important;
  height:auto!important;
  padding:11px 10px!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-panel .vsf-option{
  min-height:72px!important;
  height:auto!important;
  padding:9px 11px!important;
}

.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option > strong,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option > strong{
  font-size:clamp(12.5px,1vw,14px)!important;
  line-height:1.22!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option > strong,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option > strong,
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option > strong{
  font-size:clamp(11px,.86vw,12.5px)!important;
  line-height:1.18!important;
}

.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-panel .vsf-option > strong{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-wrap:pretty!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-panel .vsf-option.is-label-long > strong{
  font-size:clamp(10.8px,.82vw,12px)!important;
  line-height:1.16!important;
}
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay) .vsf-panel .vsf-option.is-label-very-long > strong{
  font-size:clamp(10.2px,.78vw,11.5px)!important;
  line-height:1.14!important;
}

/* High-DPI compact/tight: retain card presence instead of shrinking text away. */
html.vsf-scaled-desktop[data-vsf-desktop-density="compact"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option,
html.vsf-scaled-desktop[data-vsf-desktop-density="compact"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option{
  min-height:82px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option,
html.vsf-scaled-desktop[data-vsf-desktop-density="tight"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option{
  min-height:74px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options{
  grid-template-columns:repeat(2,minmax(122px,1fr))!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options{
  grid-template-columns:repeat(3,minmax(104px,1fr))!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option{
  min-height:66px!important;
  padding:7px 8px!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option > strong,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option > strong{
  font-size:11.5px!important;
  line-height:1.14!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option > strong,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option > strong,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option > strong{
  font-size:10.5px!important;
  line-height:1.12!important;
}
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option,
html.vsf-scaled-desktop[data-vsf-desktop-density="micro"]
.vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option{
  min-height:52px!important;
  height:auto!important;
}

/* ---------- Duolingo-reference final contact: visible foam engulf, not confetti. ---------- */
@keyframes vsfDuoLeadOrb{
  0%{opacity:0;transform:translate3d(-190px,8px,0) scale(.55)}
  10%{opacity:1}
  28%{opacity:1;transform:translate3d(-112px,4px,0) scale(1)}
  43%{opacity:.92;transform:translate3d(-76px,1px,0) scale(1.32,.88)}
  60%{opacity:.25;transform:translate3d(-58px,-2px,0) scale(1.55,.72)}
  100%{opacity:0;transform:translate3d(-40px,-5px,0) scale(.35)}
}
@keyframes vsfDuoFoamCore{
  0%,16%{opacity:0;transform:translate3d(-120px,0,0) scale(.22,.56)}
  30%{opacity:.96;transform:translate3d(-78px,0,0) scale(.62,.82)}
  47%{opacity:1;transform:translate3d(-25px,0,0) scale(1.08,1.02)}
  61%{opacity:1;transform:translate3d(3px,-2px,0) scale(1.18,1.08)}
  74%{opacity:.76;transform:translate3d(24px,-5px,0) scale(.94,.98)}
  100%{opacity:0;transform:translate3d(62px,-13px,0) scale(.40,.58)}
}
@keyframes vsfDuoFoamBubble{
  0%,18%{opacity:0;transform:translate3d(-132px,var(--vsf-duo-start-y,0px),0) scale(.16)}
  32%{opacity:1}
  52%{opacity:1;transform:translate3d(var(--vsf-duo-x,0px),var(--vsf-duo-y,0px),0) scale(1.08)}
  66%{opacity:.98;transform:translate3d(var(--vsf-duo-x,0px),var(--vsf-duo-y,0px),0) scale(.96)}
  82%{opacity:.44;transform:translate3d(calc(var(--vsf-duo-x,0px) + 22px),calc(var(--vsf-duo-y,0px) - 8px),0) scale(.72)}
  100%{opacity:0;transform:translate3d(calc(var(--vsf-duo-x,0px) + 46px),calc(var(--vsf-duo-y,0px) - 18px),0) scale(.25)}
}
@keyframes vsfDuoBottleSquash{
  0%,18%,100%{transform:translate3d(0,-3px,0) scale(1,1) rotate(0deg)}
  36%{transform:translate3d(4px,-3px,0) scale(.985,1.012) rotate(.4deg)}
  50%{transform:translate3d(13px,-2px,0) scale(.90,1.08) rotate(2.4deg)}
  63%{transform:translate3d(-4px,-4px,0) scale(1.055,.965) rotate(-1.1deg)}
  78%{transform:translate3d(2px,-3px,0) scale(.99,1.012) rotate(.28deg)}
  90%{transform:translate3d(0,-3px,0) scale(1.008,.995) rotate(-.10deg)}
}

.vsf-final-overlay .vsf-reference-wash{
  z-index:30!important;
  opacity:0;
  filter:none!important;
  mix-blend-mode:normal!important;
}
.vsf-final-overlay .vsf-reference-wash::before{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:46px;height:46px;
  margin:-23px 0 0 -23px;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle at 30% 27%,#f5dcff 0 13%,#cf8ff0 34%,#9b55d2 68%,#7735b6 100%);
  box-shadow:0 10px 22px rgba(86,35,145,.26),inset 7px 6px 12px rgba(255,255,255,.34);
  will-change:transform,opacity;
}
.vsf-final-overlay .vsf-reference-wash-blob{
  width:208px!important;
  height:168px!important;
  margin:-84px 0 0 -104px!important;
  border-radius:52% 48% 55% 45% / 48% 56% 44% 52%!important;
  background:#a65cda!important;
  background-image:
    radial-gradient(circle at 21% 35%,#d89cf4 0 16%,transparent 17%),
    radial-gradient(circle at 71% 29%,#c27be8 0 17%,transparent 18%),
    radial-gradient(circle at 64% 73%,#8b43c5 0 20%,transparent 21%),
    radial-gradient(circle at 31% 74%,#b86ee4 0 19%,transparent 20%),
    linear-gradient(145deg,#bf78e8,#8b43c5)!important;
  box-shadow:0 16px 32px rgba(80,31,135,.23),inset 10px 9px 18px rgba(255,255,255,.18)!important;
  filter:none!important;
}
.vsf-final-overlay .vsf-reference-wash > span{
  background:#ab61dc!important;
  background-image:radial-gradient(circle at 30% 27%,#eed0fb 0 10%,#c980e9 34%,#9c52d1 72%,#7c38ba 100%)!important;
  box-shadow:0 7px 14px rgba(83,31,139,.20),inset 3px 3px 7px rgba(255,255,255,.26)!important;
}
/* Large circles deliberately cover the bottle, matching the supplied reference. */
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(1){--vsf-duo-x:-82px;--vsf-duo-y:-56px;--vsf-duo-start-y:-20px;--vsf-ref-size:54px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(2){--vsf-duo-x:-38px;--vsf-duo-y:-78px;--vsf-duo-start-y:-29px;--vsf-ref-size:43px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(3){--vsf-duo-x:10px;--vsf-duo-y:-60px;--vsf-duo-start-y:-15px;--vsf-ref-size:58px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(4){--vsf-duo-x:56px;--vsf-duo-y:-28px;--vsf-duo-start-y:-8px;--vsf-ref-size:48px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(5){--vsf-duo-x:66px;--vsf-duo-y:22px;--vsf-duo-start-y:9px;--vsf-ref-size:55px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(6){--vsf-duo-x:20px;--vsf-duo-y:60px;--vsf-duo-start-y:23px;--vsf-ref-size:49px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(7){--vsf-duo-x:-34px;--vsf-duo-y:64px;--vsf-duo-start-y:25px;--vsf-ref-size:52px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(8){--vsf-duo-x:-78px;--vsf-duo-y:30px;--vsf-duo-start-y:12px;--vsf-ref-size:44px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(9){--vsf-duo-x:91px;--vsf-duo-y:-63px;--vsf-duo-start-y:-18px;--vsf-ref-size:18px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(10){--vsf-duo-x:104px;--vsf-duo-y:42px;--vsf-duo-start-y:12px;--vsf-ref-size:15px}
.vsf-final-overlay .vsf-reference-wash > span:nth-of-type(11){--vsf-duo-x:-103px;--vsf-duo-y:-91px;--vsf-duo-start-y:-30px;--vsf-ref-size:14px}

.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash,
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash{opacity:1!important}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-reference-wash::before{
  animation:vsfDuoLeadOrb var(--vsf-duo-duration,.92s) cubic-bezier(.18,.76,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-reference-wash-blob{
  animation:vsfDuoFoamCore var(--vsf-duo-duration,.92s) cubic-bezier(.16,.72,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-reference-wash > span{
  animation:vsfDuoFoamBubble var(--vsf-duo-duration,.92s) cubic-bezier(.16,.72,.22,1) var(--vsf-ref-delay,0s) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle{
  animation:vsfDuoBottleSquash var(--vsf-duo-duration,.92s) cubic-bezier(.16,.72,.22,1) both!important;
}
.vsf-final-overlay.is-reference-wave-1{--vsf-duo-duration:.86s}
.vsf-final-overlay.is-reference-wave-2{--vsf-duo-duration:.90s}
.vsf-final-overlay.is-reference-wave-3{--vsf-duo-duration:.94s}
.vsf-final-overlay.is-reference-wave-4{--vsf-duo-duration:1.02s}
.vsf-final-overlay.is-reference-wave-1 .vsf-reference-wash{transform:scale(.88)!important}
.vsf-final-overlay.is-reference-wave-2 .vsf-reference-wash{transform:scale(.96)!important}
.vsf-final-overlay.is-reference-wave-3 .vsf-reference-wash{transform:scale(1.03)!important}
.vsf-final-overlay.is-reference-wave-4 .vsf-reference-wash{transform:scale(1.10)!important}

.vsf-final-overlay.is-mobile-ritual[class*="is-reference-wave-"] .vsf-reference-wash{
  transform:scale(.80)!important;
}
@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay .vsf-reference-wash,
  .vsf-final-overlay .vsf-reference-wash::before{display:none!important}
}
.vsf-final-overlay .vsf-reference-wash > span{
  margin:calc(var(--vsf-ref-size) * -.5) 0 0 calc(var(--vsf-ref-size) * -.5)!important;
}

/* =========================================================
   v1.8.21 — internal fragrance mixing ritual.
   The Duolingo-inspired energy is clipped inside the bottle glass. Exterior
   foam from 1.8.20 is deliberately disabled; guided option-card rules remain.
   ========================================================= */

/* The reference wash is legacy-only in this release. Nothing violet is emitted
   outside the bottle during the synchronized editorial ritual. */
.vsf-final-overlay .vsf-reference-wash{
  display:none!important;
  opacity:0!important;
}

/* Keep the large bottle materially stable. The visual reaction now belongs to
   the liquid and internal essence, not to exterior squash/foam. */
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle{
  animation:none!important;
  transform:translate3d(0,-3px,0)!important;
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-cap{
  animation:none!important;
}

.vsf-final-overlay .vsf-bottle-body{
  isolation:isolate;
}

.vsf-final-overlay .vsf-bottle-internal-mix{
  --vsf-mix-duration:.9s;
  --vsf-mix-strength:1;
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transform:translateZ(0);
}

.vsf-final-overlay .vsf-bottle-mix-core{
  position:absolute;
  left:-18%;
  bottom:7%;
  width:128%;
  height:66%;
  border-radius:46% 54% 58% 42% / 56% 42% 58% 44%;
  opacity:0;
  background:
    radial-gradient(ellipse at 24% 70%,rgba(235,203,255,.92) 0 10%,transparent 25%),
    radial-gradient(ellipse at 71% 36%,rgba(197,125,236,.78) 0 14%,transparent 32%),
    radial-gradient(ellipse at 58% 78%,rgba(95,39,157,.72) 0 18%,transparent 38%),
    linear-gradient(128deg,rgba(189,112,230,.82),rgba(111,50,176,.46));
  filter:blur(.6px) saturate(1.08);
  mix-blend-mode:screen;
  transform-origin:50% 70%;
  will-change:transform,opacity;
}

.vsf-final-overlay .vsf-bottle-mix-ribbon{
  position:absolute;
  left:7%;
  bottom:16%;
  width:112%;
  height:34%;
  border-radius:50%;
  opacity:0;
  border:10px solid rgba(232,196,251,.48);
  border-right-color:rgba(111,49,178,.42);
  border-bottom-color:rgba(159,81,209,.70);
  filter:blur(1.2px);
  transform-origin:50% 50%;
  will-change:transform,opacity;
}

.vsf-final-overlay .vsf-bottle-internal-mix > span{
  --vsf-mix-x:0px;
  --vsf-mix-y:-60px;
  --vsf-mix-size:16px;
  --vsf-mix-delay:0s;
  position:absolute;
  left:50%;
  bottom:8%;
  width:var(--vsf-mix-size);
  height:var(--vsf-mix-size);
  margin-left:calc(var(--vsf-mix-size) * -.5);
  border-radius:50%;
  opacity:0;
  background:
    radial-gradient(circle at 30% 28%,rgba(255,246,255,.92) 0 8%,rgba(221,177,246,.84) 30%,rgba(157,79,211,.68) 67%,rgba(87,33,149,.54) 100%);
  box-shadow:inset 2px 2px 5px rgba(255,255,255,.38),0 4px 8px rgba(79,29,132,.12);
  mix-blend-mode:screen;
  will-change:transform,opacity;
}

.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(1){--vsf-mix-x:-43px;--vsf-mix-y:-72px;--vsf-mix-size:17px;--vsf-mix-delay:.00s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(2){--vsf-mix-x:-17px;--vsf-mix-y:-118px;--vsf-mix-size:11px;--vsf-mix-delay:.04s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(3){--vsf-mix-x:21px;--vsf-mix-y:-91px;--vsf-mix-size:20px;--vsf-mix-delay:.02s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(4){--vsf-mix-x:47px;--vsf-mix-y:-137px;--vsf-mix-size:9px;--vsf-mix-delay:.07s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(5){--vsf-mix-x:35px;--vsf-mix-y:-58px;--vsf-mix-size:13px;--vsf-mix-delay:.09s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(6){--vsf-mix-x:2px;--vsf-mix-y:-151px;--vsf-mix-size:8px;--vsf-mix-delay:.11s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(7){--vsf-mix-x:-32px;--vsf-mix-y:-154px;--vsf-mix-size:7px;--vsf-mix-delay:.13s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(8){--vsf-mix-x:51px;--vsf-mix-y:-103px;--vsf-mix-size:6px;--vsf-mix-delay:.15s}

@keyframes vsfInternalEssenceCore{
  0%,12%{opacity:0;transform:translate3d(-34px,34px,0) rotate(-18deg) scale(.58,.72)}
  28%{opacity:.72;transform:translate3d(-16px,12px,0) rotate(-8deg) scale(.86,1.02)}
  48%{opacity:.92;transform:translate3d(7px,-3px,0) rotate(8deg) scale(1.08,.94)}
  67%{opacity:.78;transform:translate3d(-2px,-16px,0) rotate(18deg) scale(.98,1.08)}
  82%{opacity:.42;transform:translate3d(13px,-23px,0) rotate(25deg) scale(.88,.94)}
  100%{opacity:0;transform:translate3d(22px,-30px,0) rotate(32deg) scale(.68,.78)}
}

@keyframes vsfInternalEssenceRibbon{
  0%,14%{opacity:0;transform:translate3d(-25px,24px,0) rotate(-32deg) scale(.64,.58)}
  31%{opacity:.56;transform:translate3d(-10px,8px,0) rotate(-8deg) scale(.92,.82)}
  53%{opacity:.76;transform:translate3d(4px,-4px,0) rotate(22deg) scale(1.08,.96)}
  73%{opacity:.48;transform:translate3d(-2px,-14px,0) rotate(48deg) scale(.94,1.08)}
  100%{opacity:0;transform:translate3d(10px,-28px,0) rotate(78deg) scale(.72,.84)}
}

@keyframes vsfInternalEssenceBubble{
  0%,18%{opacity:0;transform:translate3d(0,12px,0) scale(.34)}
  32%{opacity:.76}
  58%{opacity:.92;transform:translate3d(var(--vsf-mix-x),var(--vsf-mix-y),0) scale(1.06)}
  74%{opacity:.68;transform:translate3d(calc(var(--vsf-mix-x) - 5px),calc(var(--vsf-mix-y) - 12px),0) scale(.92)}
  100%{opacity:0;transform:translate3d(calc(var(--vsf-mix-x) + 8px),calc(var(--vsf-mix-y) - 28px),0) scale(.52)}
}

@keyframes vsfInternalLiquidMix{
  0%,100%{transform:translate3d(0,0,0) skewX(0deg) scaleX(1)}
  27%{transform:translate3d(-3px,1px,0) skewX(-3deg) scaleX(1.025)}
  51%{transform:translate3d(4px,-2px,0) skewX(4deg) scaleX(.985)}
  72%{transform:translate3d(-2px,0,0) skewX(-1.5deg) scaleX(1.012)}
}

@keyframes vsfInternalSurfaceMix{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scaleX(1)}
  30%{transform:translate3d(-5px,2px,0) rotate(-3deg) scaleX(1.06)}
  56%{transform:translate3d(6px,-1px,0) rotate(3.8deg) scaleX(.95)}
  76%{transform:translate3d(-2px,1px,0) rotate(-1.2deg) scaleX(1.02)}
}

.vsf-final-overlay.is-reference-wave-1{--vsf-mix-duration:.86s;--vsf-mix-strength:.80}
.vsf-final-overlay.is-reference-wave-2{--vsf-mix-duration:.90s;--vsf-mix-strength:.90}
.vsf-final-overlay.is-reference-wave-3{--vsf-mix-duration:.94s;--vsf-mix-strength:1.00}
.vsf-final-overlay.is-reference-wave-4{--vsf-mix-duration:1.04s;--vsf-mix-strength:1.10}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-internal-mix{
  opacity:1;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core{
  animation:vsfInternalEssenceCore var(--vsf-mix-duration,.9s) cubic-bezier(.16,.70,.22,1) both!important;
  transform-origin:50% 70%;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon{
  animation:vsfInternalEssenceRibbon var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-internal-mix > span{
  animation:vsfInternalEssenceBubble var(--vsf-mix-duration,.9s) cubic-bezier(.16,.68,.22,1) var(--vsf-mix-delay) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid{
  transform-origin:50% 100%;
  animation:vsfInternalLiquidMix var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before{
  animation:vsfInternalSurfaceMix var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.22,1) both!important;
}

/* Subtle intensity progression without exterior effects. */
.vsf-final-overlay.is-reference-wave-1 .vsf-bottle-internal-mix{transform:scale(.88)}
.vsf-final-overlay.is-reference-wave-2 .vsf-bottle-internal-mix{transform:scale(.94)}
.vsf-final-overlay.is-reference-wave-3 .vsf-bottle-internal-mix{transform:scale(1)}
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle-internal-mix{transform:scale(1.05)}
.vsf-final-overlay.is-reference-wave-4 .vsf-bottle-body{
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.34),
    inset -12px -10px 26px rgba(55,22,92,.14),
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 28px 55px rgba(77,36,127,.24),
    0 0 24px rgba(151,86,205,.14)!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay .vsf-bottle-internal-mix{
    display:none!important;
  }
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before{
    animation:none!important;
  }
}

/* =========================================================
   v1.8.22 — translucent internal essence + final settle.
   This appendix is intentionally scoped to .vsf-final-overlay only.
   ========================================================= */

/* The ritual liquid should read as translucent fragrance, not a solid fill. */
.vsf-final-overlay .vsf-bottle-liquid{
  opacity:.78!important;
  background:
    radial-gradient(ellipse at 20% 72%,rgba(255,255,255,.22) 0 7%,transparent 24%),
    radial-gradient(ellipse at 78% 34%,rgba(225,190,245,.24) 0 10%,transparent 29%),
    radial-gradient(ellipse at 58% 86%,rgba(91,40,151,.22) 0 16%,transparent 38%),
    linear-gradient(154deg,
      rgba(192,126,226,.66) 0%,
      rgba(153,86,205,.56) 34%,
      rgba(112,55,178,.58) 67%,
      rgba(78,34,132,.64) 100%)!important;
  background-blend-mode:screen,screen,multiply,normal;
  box-shadow:
    inset 14px 2px 22px rgba(255,255,255,.16),
    inset -14px -12px 26px rgba(55,20,93,.13),
    inset 0 8px 18px rgba(229,196,248,.08),
    0 -4px 15px rgba(116,59,181,.10)!important;
  filter:saturate(.96) contrast(.98);
}

.vsf-final-overlay .vsf-bottle-liquid:before{
  opacity:.76!important;
  background:
    radial-gradient(ellipse at 38% 38%,rgba(248,232,255,.54) 0 12%,transparent 42%),
    linear-gradient(90deg,
      rgba(212,171,238,.62),
      rgba(162,96,211,.58) 52%,
      rgba(102,48,164,.56))!important;
  box-shadow:
    inset 0 3px 7px rgba(255,255,255,.20),
    0 -2px 5px rgba(255,255,255,.10)!important;
}

.vsf-final-overlay .vsf-bottle-liquid:after{
  opacity:.56!important;
  background:
    linear-gradient(112deg,rgba(255,255,255,.20),transparent 38%),
    radial-gradient(ellipse at 68% 62%,rgba(224,183,246,.18),transparent 54%)!important;
}

/* Internal masses are softer and partially transparent so they read as
   currents suspended in liquid rather than opaque paint. */
.vsf-final-overlay .vsf-bottle-mix-core{
  opacity:0;
  background:
    radial-gradient(ellipse at 22% 68%,rgba(243,219,255,.62) 0 9%,transparent 25%),
    radial-gradient(ellipse at 72% 34%,rgba(205,147,236,.48) 0 14%,transparent 34%),
    radial-gradient(ellipse at 58% 79%,rgba(104,47,165,.34) 0 18%,transparent 42%),
    linear-gradient(128deg,rgba(194,125,228,.44),rgba(108,52,174,.24))!important;
  filter:blur(1.1px) saturate(.96)!important;
  mix-blend-mode:screen!important;
}

.vsf-final-overlay .vsf-bottle-mix-ribbon{
  border-color:rgba(235,211,250,.26)!important;
  border-right-color:rgba(115,58,177,.22)!important;
  border-bottom-color:rgba(164,102,207,.34)!important;
  filter:blur(2px)!important;
}

.vsf-final-overlay .vsf-bottle-internal-mix > span{
  background:
    radial-gradient(circle at 31% 27%,
      rgba(255,250,255,.72) 0 8%,
      rgba(226,193,246,.56) 30%,
      rgba(168,103,216,.44) 66%,
      rgba(94,42,151,.30) 100%)!important;
  box-shadow:
    inset 2px 2px 5px rgba(255,255,255,.24),
    0 3px 7px rgba(79,29,132,.07)!important;
}

@keyframes vsfFinalEssenceConverge{
  0%{opacity:.20;transform:translate3d(-11px,11px,0) rotate(-14deg) scale(.88,.78)}
  30%{opacity:.70;transform:translate3d(8px,-3px,0) rotate(12deg) scale(1.08,.92)}
  56%{opacity:.52;transform:translate3d(-3px,-13px,0) rotate(31deg) scale(.96,1.06)}
  78%{opacity:.26;transform:translate3d(5px,-22px,0) rotate(48deg) scale(.86,.92)}
  100%{opacity:0;transform:translate3d(8px,-30px,0) rotate(62deg) scale(.72,.80)}
}

@keyframes vsfFinalLiquidSettle{
  0%{transform:translate3d(0,0,0) skewX(0deg) scaleX(1)}
  18%{transform:translate3d(-5px,1px,0) skewX(-4deg) scaleX(1.035)}
  38%{transform:translate3d(5px,-2px,0) skewX(4.8deg) scaleX(.978)}
  58%{transform:translate3d(-2px,0,0) skewX(-2deg) scaleX(1.015)}
  78%{transform:translate3d(1px,0,0) skewX(.7deg) scaleX(.997)}
  100%{transform:translate3d(0,0,0) skewX(0deg) scaleX(1)}
}

@keyframes vsfFinalSurfaceSettle{
  0%{transform:translate3d(0,0,0) rotate(0deg) scaleX(1)}
  22%{transform:translate3d(-7px,2px,0) rotate(-4deg) scaleX(1.07)}
  45%{transform:translate3d(7px,-1px,0) rotate(4deg) scaleX(.94)}
  67%{transform:translate3d(-3px,1px,0) rotate(-1.8deg) scaleX(1.026)}
  84%{transform:translate3d(1px,0,0) rotate(.6deg) scaleX(.994)}
  100%{transform:translate3d(0,0,0) rotate(0deg) scaleX(1)}
}

@keyframes vsfFinalGlassResolve{
  0%{opacity:0;transform:translate3d(-34%,0,0) skewX(-18deg)}
  34%{opacity:.62}
  72%{opacity:.30}
  100%{opacity:0;transform:translate3d(46%,0,0) skewX(-18deg)}
}

@keyframes vsfFinalBottleResolve{
  0%{transform:translate3d(0,-3px,0) scale(1)}
  35%{transform:translate3d(0,-5px,0) scale(1.016)}
  68%{transform:translate3d(0,-2px,0) scale(.997)}
  100%{transform:translate3d(0,-3px,0) scale(1)}
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle{
  animation:vsfFinalBottleResolve 1.24s cubic-bezier(.16,.72,.22,1) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-internal-mix{
  opacity:1!important;
  transform:scale(1.04)!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-core{
  animation:vsfFinalEssenceConverge 1.18s cubic-bezier(.16,.72,.22,1) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-ribbon{
  animation:vsfInternalEssenceRibbon 1.10s cubic-bezier(.18,.72,.20,1) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-internal-mix > span{
  animation:vsfInternalEssenceBubble .94s cubic-bezier(.16,.68,.22,1) var(--vsf-mix-delay) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid{
  transform-origin:50% 100%;
  animation:vsfFinalLiquidSettle 1.20s cubic-bezier(.16,.74,.22,1) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before{
  animation:vsfFinalSurfaceSettle 1.18s cubic-bezier(.16,.74,.22,1) both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-body:after{
  opacity:1!important;
  animation:vsfFinalGlassResolve 1.08s ease-out .08s both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-bottle-body{
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.36),
    inset -12px -10px 26px rgba(55,22,92,.12),
    inset 0 0 0 1px rgba(255,255,255,.20),
    0 28px 55px rgba(77,36,127,.22),
    0 0 28px rgba(166,104,210,.15)!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-core,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-ribbon,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-internal-mix > span,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-body:after{
    animation:none!important;
  }
}

/* =========================================================
   v1.8.23 — transparent glass / living essence ritual.
   Keep the synchronized message cadence from 1.8.22, but remove the solid
   bottle/liquid background. The fragrance is represented only by moving,
   translucent internal currents. Pulses 2 and 4 are deliberately stronger.
   Scoped to .vsf-final-overlay so normal Finder cards/layout stay untouched.
   ========================================================= */

/* Transparent ritual glass: no solid purple bottle backdrop. */
.vsf-final-overlay .vsf-bottle-body{
  background:
    linear-gradient(145deg,rgba(255,255,255,.16),transparent 31%),
    linear-gradient(165deg,rgba(196,151,226,.075),rgba(104,58,160,.045) 68%,rgba(75,35,123,.065))!important;
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.22),
    inset -12px -10px 24px rgba(55,22,92,.07),
    inset 0 0 0 1px rgba(255,255,255,.16),
    0 26px 52px rgba(77,36,127,.14)!important;
}

/* The liquid element only defines the current fill height. It has no flat
   background of its own; the two pseudo-elements below are the moving fluid. */
.vsf-final-overlay .vsf-bottle-liquid{
  overflow:hidden!important;
  opacity:1!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  border-radius:46% 46% 34px 34px!important;
}

.vsf-final-overlay .vsf-bottle-liquid:before,
.vsf-final-overlay .vsf-bottle-liquid:after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  box-shadow:none!important;
  will-change:transform,opacity,filter;
}

/* Main translucent current. It intentionally has holes/transparent regions so
   the bottle never reads as a uniformly filled purple block. */
.vsf-final-overlay .vsf-bottle-liquid:before{
  top:-18%!important;
  right:-28%!important;
  bottom:-20%!important;
  left:-24%!important;
  height:auto!important;
  border-radius:44% 56% 52% 48% / 48% 43% 57% 52%!important;
  opacity:.66!important;
  background:
    radial-gradient(ellipse at 24% 66%,rgba(224,181,247,.54) 0 10%,rgba(185,116,224,.26) 24%,transparent 47%),
    radial-gradient(ellipse at 72% 32%,rgba(196,125,231,.47) 0 12%,rgba(132,66,190,.24) 28%,transparent 51%),
    radial-gradient(ellipse at 62% 84%,rgba(99,43,160,.36) 0 16%,rgba(84,35,143,.16) 31%,transparent 55%),
    conic-gradient(from 212deg at 48% 58%,transparent 0 12%,rgba(209,157,239,.24) 18%,rgba(119,55,181,.28) 31%,transparent 43% 62%,rgba(187,111,225,.20) 73%,transparent 86%)!important;
  filter:blur(2.2px) saturate(1.06)!important;
  transform-origin:52% 62%;
  animation:vsfEssenceAmbientA 4.8s cubic-bezier(.42,0,.58,1) infinite alternate!important;
}

/* Secondary current moving on a different axis, creating a mixed-liquid read. */
.vsf-final-overlay .vsf-bottle-liquid:after{
  top:-10%!important;
  right:-18%!important;
  bottom:-14%!important;
  left:-31%!important;
  width:auto!important;
  height:auto!important;
  border-radius:58% 42% 48% 52% / 44% 56% 46% 54%!important;
  opacity:.48!important;
  background:
    radial-gradient(ellipse at 37% 28%,rgba(246,226,255,.44) 0 7%,rgba(209,157,239,.18) 19%,transparent 41%),
    radial-gradient(ellipse at 74% 70%,rgba(126,58,188,.34) 0 15%,rgba(91,38,151,.16) 31%,transparent 55%),
    linear-gradient(118deg,transparent 9%,rgba(216,169,242,.16) 33%,rgba(123,59,184,.25) 56%,transparent 78%)!important;
  filter:blur(3px) saturate(1.02)!important;
  transform-origin:44% 56%;
  animation:vsfEssenceAmbientB 5.6s cubic-bezier(.42,0,.58,1) infinite alternate-reverse!important;
}

@keyframes vsfEssenceAmbientA{
  0%{transform:translate3d(-4%,3%,0) rotate(-4deg) scale(1.03,.96)}
  38%{transform:translate3d(4%,-2%,0) rotate(3deg) scale(.97,1.05)}
  72%{transform:translate3d(-1%,-5%,0) rotate(7deg) scale(1.05,.98)}
  100%{transform:translate3d(5%,1%,0) rotate(-1deg) scale(.99,1.03)}
}
@keyframes vsfEssenceAmbientB{
  0%{transform:translate3d(5%,-1%,0) rotate(8deg) scale(.96,1.04)}
  42%{transform:translate3d(-4%,4%,0) rotate(-5deg) scale(1.06,.96)}
  76%{transform:translate3d(2%,-5%,0) rotate(2deg) scale(.98,1.05)}
  100%{transform:translate3d(-3%,1%,0) rotate(-8deg) scale(1.03,.99)}
}

/* A faint continuous inner current gives life between messages without filling
   the bottle. The explicit message pulse temporarily overrides this motion. */
.vsf-final-overlay .vsf-bottle-internal-mix{
  opacity:.34!important;
  transform:scale(.96)!important;
}
.vsf-final-overlay .vsf-bottle-mix-core{
  opacity:.24!important;
  background:
    radial-gradient(ellipse at 24% 68%,rgba(244,221,255,.40) 0 8%,transparent 28%),
    radial-gradient(ellipse at 72% 36%,rgba(190,116,228,.30) 0 13%,transparent 35%),
    radial-gradient(ellipse at 54% 80%,rgba(97,42,156,.24) 0 17%,transparent 44%)!important;
  filter:blur(3px) saturate(.98)!important;
  mix-blend-mode:screen!important;
  animation:vsfEssenceCoreAmbient 5.2s ease-in-out infinite alternate!important;
}
.vsf-final-overlay .vsf-bottle-mix-ribbon{
  opacity:.20!important;
  border-color:rgba(232,204,248,.19)!important;
  border-right-color:rgba(111,52,174,.16)!important;
  border-bottom-color:rgba(158,91,205,.22)!important;
  filter:blur(2.8px)!important;
  animation:vsfEssenceRibbonAmbient 6.2s ease-in-out infinite!important;
}
.vsf-final-overlay .vsf-bottle-internal-mix > span{
  opacity:0;
}

@keyframes vsfEssenceCoreAmbient{
  0%{transform:translate3d(-5px,5px,0) rotate(-8deg) scale(.92,.86)}
  50%{transform:translate3d(8px,-7px,0) rotate(13deg) scale(1.05,.94)}
  100%{transform:translate3d(-2px,-11px,0) rotate(25deg) scale(.96,1.04)}
}
@keyframes vsfEssenceRibbonAmbient{
  0%{transform:translate3d(-7px,5px,0) rotate(-12deg) scale(.94)}
  50%{transform:translate3d(8px,-5px,0) rotate(18deg) scale(1.03)}
  100%{transform:translate3d(-3px,-9px,0) rotate(42deg) scale(.97)}
}

/* Message-synchronized pulse variables. 2 and 4 intentionally hit harder. */
.vsf-final-overlay.is-reference-wave-1{
  --vsf-pulse-x:3px;--vsf-pulse-y:-3px;--vsf-pulse-rot:2deg;--vsf-pulse-scale:1.025;
  --vsf-pulse-opacity:.72;--vsf-pulse-opacity-secondary:.56;--vsf-bubble-opacity:.16;--vsf-bubble-mid:.11;--vsf-pulse-x-opposite:-2px;--vsf-pulse-y-opposite:2px;--vsf-pulse-rot-opposite:-2deg;
}
.vsf-final-overlay.is-reference-wave-2{
  --vsf-pulse-x:8px;--vsf-pulse-y:-7px;--vsf-pulse-rot:5.5deg;--vsf-pulse-scale:1.075;
  --vsf-pulse-opacity:.88;--vsf-pulse-opacity-secondary:.69;--vsf-bubble-opacity:.34;--vsf-bubble-mid:.24;--vsf-pulse-x-opposite:-6px;--vsf-pulse-y-opposite:4px;--vsf-pulse-rot-opposite:-5deg;
}
.vsf-final-overlay.is-reference-wave-3{
  --vsf-pulse-x:-5px;--vsf-pulse-y:-5px;--vsf-pulse-rot:-3deg;--vsf-pulse-scale:1.045;
  --vsf-pulse-opacity:.78;--vsf-pulse-opacity-secondary:.61;--vsf-bubble-opacity:.22;--vsf-bubble-mid:.16;--vsf-pulse-x-opposite:3px;--vsf-pulse-y-opposite:3px;--vsf-pulse-rot-opposite:3deg;
}
.vsf-final-overlay.is-reference-wave-4{
  --vsf-pulse-x:11px;--vsf-pulse-y:-10px;--vsf-pulse-rot:7deg;--vsf-pulse-scale:1.105;
  --vsf-pulse-opacity:.96;--vsf-pulse-opacity-secondary:.75;--vsf-bubble-opacity:.48;--vsf-bubble-mid:.34;--vsf-pulse-x-opposite:-8px;--vsf-pulse-y-opposite:6px;--vsf-pulse-rot-opposite:-7deg;
}

@keyframes vsfEssenceMessagePulseA{
  0%{opacity:.60;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  28%{opacity:var(--vsf-pulse-opacity,.80);transform:translate3d(var(--vsf-pulse-x),var(--vsf-pulse-y),0) rotate(var(--vsf-pulse-rot)) scale(var(--vsf-pulse-scale))}
  54%{opacity:.74;transform:translate3d(var(--vsf-pulse-x-opposite),3px,0) rotate(var(--vsf-pulse-rot-opposite)) scale(.97,1.045)}
  76%{opacity:.68;transform:translate3d(2px,-2px,0) rotate(1deg) scale(1.018,.99)}
  100%{opacity:.66;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
@keyframes vsfEssenceMessagePulseB{
  0%{opacity:.42;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  31%{opacity:var(--vsf-pulse-opacity-secondary,.62);transform:translate3d(var(--vsf-pulse-x-opposite),var(--vsf-pulse-y-opposite),0) rotate(var(--vsf-pulse-rot-opposite)) scale(.96,1.08)}
  59%{opacity:.58;transform:translate3d(var(--vsf-pulse-x),var(--vsf-pulse-y),0) rotate(var(--vsf-pulse-rot)) scale(1.07,.95)}
  100%{opacity:.48;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
@keyframes vsfEssenceCorePulse{
  0%{opacity:.18;transform:translate3d(-9px,8px,0) rotate(-13deg) scale(.86,.78)}
  32%{opacity:var(--vsf-pulse-opacity,.82);transform:translate3d(8px,-3px,0) rotate(11deg) scale(1.10,.91)}
  61%{opacity:.52;transform:translate3d(-3px,-12px,0) rotate(29deg) scale(.95,1.06)}
  100%{opacity:.24;transform:translate3d(0,-8px,0) rotate(44deg) scale(.92,.96)}
}
@keyframes vsfEssenceRibbonPulse{
  0%{opacity:.12;transform:translate3d(-9px,7px,0) rotate(-18deg) scale(.88)}
  38%{opacity:var(--vsf-pulse-opacity-secondary,.62);transform:translate3d(8px,-6px,0) rotate(16deg) scale(1.08)}
  72%{opacity:.34;transform:translate3d(-2px,-13px,0) rotate(51deg) scale(.97)}
  100%{opacity:.20;transform:translate3d(0,-7px,0) rotate(72deg) scale(.92)}
}
@keyframes vsfEssenceBubblePulse{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.62)}
  35%{opacity:var(--vsf-bubble-opacity,.28);transform:translate3d(calc(var(--vsf-mix-x) * .55),calc(var(--vsf-mix-y) * .42),0) scale(.94)}
  68%{opacity:var(--vsf-bubble-mid,.20);transform:translate3d(var(--vsf-mix-x),var(--vsf-mix-y),0) scale(1.05)}
  100%{opacity:0;transform:translate3d(calc(var(--vsf-mix-x) + 6px),calc(var(--vsf-mix-y) - 25px),0) scale(.48)}
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before{
  animation:vsfEssenceMessagePulseA var(--vsf-mix-duration,.9s) cubic-bezier(.16,.70,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:after{
  animation:vsfEssenceMessagePulseB var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core{
  animation:vsfEssenceCorePulse var(--vsf-mix-duration,.9s) cubic-bezier(.16,.72,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon{
  animation:vsfEssenceRibbonPulse var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-internal-mix > span{
  animation:vsfEssenceBubblePulse var(--vsf-mix-duration,.9s) cubic-bezier(.16,.68,.22,1) var(--vsf-mix-delay) both!important;
}

/* Final settle: one last stronger internal surge, then both currents return to a
   calm, transparent motion. No exterior pop/foam and no solid final fill. */
@keyframes vsfEssenceFinalSettleA{
  0%{opacity:.72;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  22%{opacity:.98;transform:translate3d(10px,-9px,0) rotate(7deg) scale(1.11,.95)}
  44%{opacity:.82;transform:translate3d(-8px,-5px,0) rotate(-5deg) scale(.95,1.08)}
  67%{opacity:.72;transform:translate3d(4px,-3px,0) rotate(2deg) scale(1.035,.99)}
  100%{opacity:.66;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
@keyframes vsfEssenceFinalSettleB{
  0%{opacity:.48;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  27%{opacity:.78;transform:translate3d(-10px,-5px,0) rotate(-9deg) scale(.94,1.10)}
  53%{opacity:.62;transform:translate3d(7px,-8px,0) rotate(7deg) scale(1.08,.95)}
  76%{opacity:.52;transform:translate3d(-2px,-2px,0) rotate(-2deg) scale(.99,1.02)}
  100%{opacity:.48;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid{
  background:transparent!important;
  box-shadow:none!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before{
  animation:vsfEssenceFinalSettleA 1.20s cubic-bezier(.16,.74,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:after{
  animation:vsfEssenceFinalSettleB 1.24s cubic-bezier(.16,.74,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-body{
  background:
    linear-gradient(145deg,rgba(255,255,255,.18),transparent 31%),
    linear-gradient(165deg,rgba(196,151,226,.08),rgba(104,58,160,.045) 68%,rgba(75,35,123,.06))!important;
  box-shadow:
    inset 12px 0 24px rgba(255,255,255,.25),
    inset -12px -10px 24px rgba(55,22,92,.07),
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 26px 52px rgba(77,36,127,.14),
    0 0 22px rgba(166,104,210,.09)!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay .vsf-bottle-liquid:before,
  .vsf-final-overlay .vsf-bottle-liquid:after,
  .vsf-final-overlay .vsf-bottle-mix-core,
  .vsf-final-overlay .vsf-bottle-mix-ribbon,
  .vsf-final-overlay .vsf-bottle-internal-mix > span{
    animation:none!important;
  }
  .vsf-final-overlay .vsf-bottle-liquid:before{opacity:.54!important;}
  .vsf-final-overlay .vsf-bottle-liquid:after{opacity:.38!important;}
}

/* =========================================================
   v1.8.24 — full-bottle synchronized mix pulses.
   The ritual bottle stays full at a constant level. Each message triggers a
   short bottle movement plus an internal liquid-mixing reaction, then both
   return to rest before the next message. No growth, exterior foam, or
   continuous ambient agitation between messages.
   Scoped to .vsf-final-overlay only.
   ========================================================= */

.vsf-final-overlay{
  --vsf-fill:100%!important;
}
.vsf-final-overlay .vsf-bottle-liquid{
  height:100%!important;
  min-height:100%!important;
  opacity:1!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(209,160,237,.72) 0%,rgba(164,100,209,.76) 42%,rgba(103,48,167,.82) 100%)!important;
  box-shadow:
    inset 0 10px 18px rgba(255,255,255,.20),
    inset 0 -16px 24px rgba(72,30,129,.20)!important;
  border-radius:45% 45% 34px 34px!important;
  transition:none!important;
}
.vsf-final-overlay[data-vsf-fill="100"] .vsf-bottle-liquid{
  height:100%!important;
  opacity:1!important;
}

/* At rest the bottle and liquid are calm. The synchronized wave classes below
   are the only thing that animates them. */
.vsf-final-overlay .vsf-bottle,
.vsf-final-overlay .vsf-bottle-liquid:before,
.vsf-final-overlay .vsf-bottle-liquid:after,
.vsf-final-overlay .vsf-bottle-mix-core,
.vsf-final-overlay .vsf-bottle-mix-ribbon,
.vsf-final-overlay .vsf-bottle-internal-mix > span{
  animation:none!important;
}

.vsf-final-overlay .vsf-bottle-liquid:before{
  top:-14%!important;
  right:-30%!important;
  bottom:-16%!important;
  left:-26%!important;
  height:auto!important;
  opacity:.52!important;
  border-radius:43% 57% 53% 47% / 48% 42% 58% 52%!important;
  background:
    radial-gradient(ellipse at 25% 68%,rgba(244,224,255,.58) 0 10%,rgba(216,169,242,.30) 24%,transparent 49%),
    radial-gradient(ellipse at 72% 34%,rgba(192,122,229,.52) 0 13%,rgba(129,62,188,.26) 30%,transparent 55%),
    conic-gradient(from 205deg at 50% 57%,transparent 0 12%,rgba(233,201,250,.25) 19%,rgba(123,58,185,.30) 34%,transparent 47% 64%,rgba(189,115,227,.22) 76%,transparent 88%)!important;
  filter:blur(2.2px) saturate(1.05)!important;
  transform:translate3d(0,0,0) rotate(-2deg) scale(1.02,.98)!important;
}
.vsf-final-overlay .vsf-bottle-liquid:after{
  top:-8%!important;
  right:-20%!important;
  bottom:-12%!important;
  left:-32%!important;
  width:auto!important;
  height:auto!important;
  opacity:.36!important;
  border-radius:57% 43% 49% 51% / 44% 56% 46% 54%!important;
  background:
    radial-gradient(ellipse at 38% 29%,rgba(255,245,255,.42) 0 8%,rgba(210,158,239,.20) 20%,transparent 42%),
    radial-gradient(ellipse at 73% 72%,rgba(122,55,185,.38) 0 15%,rgba(85,35,146,.17) 32%,transparent 56%),
    linear-gradient(119deg,transparent 10%,rgba(226,189,246,.17) 34%,rgba(119,55,181,.26) 58%,transparent 80%)!important;
  filter:blur(3px) saturate(1.02)!important;
  transform:translate3d(0,0,0) rotate(3deg) scale(.99,1.01)!important;
}

.vsf-final-overlay .vsf-bottle-internal-mix{
  opacity:.30!important;
  transform:scale(.96)!important;
}
.vsf-final-overlay .vsf-bottle-mix-core{
  opacity:.20!important;
  transform:translate3d(0,-4px,0) rotate(8deg) scale(.94,.90)!important;
}
.vsf-final-overlay .vsf-bottle-mix-ribbon{
  opacity:.16!important;
  transform:translate3d(0,-3px,0) rotate(20deg) scale(.94)!important;
}
.vsf-final-overlay .vsf-bottle-internal-mix > span{
  opacity:0!important;
}

/* Different pulses keep the cadence from feeling mechanically repeated. */
.vsf-final-overlay.is-reference-wave-1{
  --vsf-bottle-pulse-x:3px; --vsf-bottle-pulse-y:-3px; --vsf-bottle-pulse-r:1.8deg; --vsf-bottle-pulse-s:1.018;
}
.vsf-final-overlay.is-reference-wave-2{
  --vsf-bottle-pulse-x:-6px; --vsf-bottle-pulse-y:-5px; --vsf-bottle-pulse-r:-3.8deg; --vsf-bottle-pulse-s:1.035;
}
.vsf-final-overlay.is-reference-wave-3{
  --vsf-bottle-pulse-x:5px; --vsf-bottle-pulse-y:-4px; --vsf-bottle-pulse-r:3deg; --vsf-bottle-pulse-s:1.026;
}
.vsf-final-overlay.is-reference-wave-4{
  --vsf-bottle-pulse-x:-8px; --vsf-bottle-pulse-y:-7px; --vsf-bottle-pulse-r:-5deg; --vsf-bottle-pulse-s:1.045;
}

@keyframes vsfFullBottleMessagePulse{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  18%{transform:translate3d(calc(var(--vsf-bottle-pulse-x) * -.35),2px,0) rotate(calc(var(--vsf-bottle-pulse-r) * -.32)) scale(.992,1.006)}
  43%{transform:translate3d(var(--vsf-bottle-pulse-x),var(--vsf-bottle-pulse-y),0) rotate(var(--vsf-bottle-pulse-r)) scale(var(--vsf-bottle-pulse-s))}
  68%{transform:translate3d(calc(var(--vsf-bottle-pulse-x) * -.28),1px,0) rotate(calc(var(--vsf-bottle-pulse-r) * -.22)) scale(.997,1.004)}
  84%{transform:translate3d(1px,-1px,0) rotate(.45deg) scale(1.006)}
  100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
@keyframes vsfFullLiquidMixA{
  0%{opacity:.52;transform:translate3d(0,0,0) rotate(-2deg) scale(1.02,.98)}
  26%{opacity:.78;transform:translate3d(7px,-8px,0) rotate(8deg) scale(1.08,.94)}
  52%{opacity:.66;transform:translate3d(-8px,3px,0) rotate(-7deg) scale(.95,1.07)}
  74%{opacity:.59;transform:translate3d(4px,-3px,0) rotate(4deg) scale(1.035,.98)}
  100%{opacity:.52;transform:translate3d(0,0,0) rotate(-2deg) scale(1.02,.98)}
}
@keyframes vsfFullLiquidMixB{
  0%{opacity:.36;transform:translate3d(0,0,0) rotate(3deg) scale(.99,1.01)}
  31%{opacity:.62;transform:translate3d(-9px,-5px,0) rotate(-10deg) scale(.94,1.10)}
  57%{opacity:.54;transform:translate3d(8px,-8px,0) rotate(9deg) scale(1.09,.94)}
  79%{opacity:.43;transform:translate3d(-3px,2px,0) rotate(-3deg) scale(.985,1.025)}
  100%{opacity:.36;transform:translate3d(0,0,0) rotate(3deg) scale(.99,1.01)}
}
@keyframes vsfFullMixCorePulse{
  0%{opacity:.20;transform:translate3d(0,-4px,0) rotate(8deg) scale(.94,.90)}
  32%{opacity:.58;transform:translate3d(8px,-8px,0) rotate(23deg) scale(1.08,.91)}
  61%{opacity:.42;transform:translate3d(-6px,-12px,0) rotate(44deg) scale(.95,1.07)}
  100%{opacity:.20;transform:translate3d(0,-4px,0) rotate(68deg) scale(.94,.90)}
}
@keyframes vsfFullMixRibbonPulse{
  0%{opacity:.16;transform:translate3d(0,-3px,0) rotate(20deg) scale(.94)}
  38%{opacity:.48;transform:translate3d(-7px,-10px,0) rotate(74deg) scale(1.08)}
  70%{opacity:.30;transform:translate3d(7px,-6px,0) rotate(128deg) scale(.98)}
  100%{opacity:.16;transform:translate3d(0,-3px,0) rotate(176deg) scale(.94)}
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle{
  animation:vsfFullBottleMessagePulse var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before{
  animation:vsfFullLiquidMixA var(--vsf-mix-duration,.9s) cubic-bezier(.16,.70,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:after{
  animation:vsfFullLiquidMixB var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core{
  animation:vsfFullMixCorePulse var(--vsf-mix-duration,.9s) cubic-bezier(.16,.72,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon{
  animation:vsfFullMixRibbonPulse var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}

/* The final settle is a short, calm resolve only. The liquid remains full. */
@keyframes vsfFullBottleFinalSettle{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  30%{transform:translate3d(3px,-3px,0) rotate(1.4deg) scale(1.012)}
  58%{transform:translate3d(-2px,1px,0) rotate(-.8deg) scale(.998,1.004)}
  100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle{
  animation:vsfFullBottleFinalSettle .76s cubic-bezier(.18,.72,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid{
  height:100%!important;
  background:
    linear-gradient(180deg,rgba(209,160,237,.72) 0%,rgba(164,100,209,.76) 42%,rgba(103,48,167,.82) 100%)!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before{
  animation:vsfFullLiquidMixA .76s cubic-bezier(.18,.72,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:after{
  animation:vsfFullLiquidMixB .78s cubic-bezier(.18,.72,.22,1) both!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:after,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:after{
    animation:none!important;
  }
}


/* =========================================================
   v1.8.25 — internal Duolingo-style essence impact.
   The final bottle itself stays visually stable. Each synchronized editorial
   message drives a large purple mass INSIDE the clipped glass: side-entry,
   squash/stretch, overlapping bubble bloom, merge and settle. The liquid level
   stays fixed at 100%. Scoped to .vsf-final-overlay only.
   ========================================================= */

/* Remove the remaining exterior pulse from the final ritual. Travel of the
   overlay itself is handled by the overlay visual, not this bottle node. */
.vsf-final-overlay .vsf-bottle,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle,
.vsf-final-overlay.is-final-mix-settle .vsf-bottle{
  animation:none!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle{
  transform:translate3d(0,0,0)!important;
}
.vsf-final-overlay .vsf-bottle-cap,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-cap{
  animation:none!important;
}

/* Full perfume remains present, but slightly quieter so the moving internal
   masses are clearly readable through the glass. */
.vsf-final-overlay .vsf-bottle-liquid,
.vsf-final-overlay[data-vsf-fill="100"] .vsf-bottle-liquid{
  height:100%!important;
  min-height:100%!important;
  opacity:1!important;
  background:
    radial-gradient(ellipse at 22% 18%,rgba(237,213,252,.16) 0 10%,transparent 31%),
    linear-gradient(164deg,rgba(185,123,222,.72) 0%,rgba(130,67,188,.76) 48%,rgba(78,33,137,.82) 100%)!important;
  box-shadow:
    inset 12px 0 22px rgba(255,255,255,.18),
    inset -14px -12px 25px rgba(52,20,87,.19),
    inset 0 14px 24px rgba(237,210,251,.08)!important;
  overflow:hidden!important;
  transition:none!important;
}

/* Disable the older pseudo-current pulses: the visible reaction now comes from
   the dedicated internal-mix layer, which is closer to the reference. */
.vsf-final-overlay .vsf-bottle-liquid:before,
.vsf-final-overlay .vsf-bottle-liquid:after,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:before,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-liquid:after,
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:before,
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-liquid:after{
  animation:none!important;
  opacity:.10!important;
}

.vsf-final-overlay .vsf-bottle-internal-mix{
  z-index:3!important;
  opacity:1!important;
  transform:none!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}

/* Large amorphous impact mass. At rest it is invisible. */
.vsf-final-overlay .vsf-bottle-mix-core{
  left:-34%!important;
  bottom:17%!important;
  width:142%!important;
  height:58%!important;
  opacity:0!important;
  border-radius:55% 45% 58% 42% / 48% 58% 42% 52%!important;
  background:
    radial-gradient(circle at 30% 34%,rgba(247,226,255,.82) 0 8%,transparent 24%),
    radial-gradient(ellipse at 53% 57%,rgba(200,128,236,.96) 0 34%,rgba(142,67,202,.91) 61%,rgba(91,35,158,.82) 100%)!important;
  filter:blur(.45px) saturate(1.08)!important;
  mix-blend-mode:screen!important;
  transform-origin:32% 56%!important;
  animation:none!important;
}

/* Secondary mass overlaps the main blob and makes the movement read as liquid
   mixing/merging instead of one rigid circle. */
.vsf-final-overlay .vsf-bottle-mix-ribbon{
  left:-22%!important;
  bottom:10%!important;
  width:112%!important;
  height:48%!important;
  opacity:0!important;
  border:0!important;
  border-radius:44% 56% 43% 57% / 61% 42% 58% 39%!important;
  background:
    radial-gradient(ellipse at 64% 42%,rgba(224,175,248,.78) 0 19%,rgba(166,88,217,.70) 45%,rgba(100,40,165,.62) 74%,transparent 75%)!important;
  filter:blur(1.1px) saturate(1.08)!important;
  mix-blend-mode:screen!important;
  transform-origin:38% 58%!important;
  animation:none!important;
}

/* Bubble swarm: deliberately larger than previous versions. These are the
   inside-the-bottle analogue of the reference's overlapping purple circles. */
.vsf-final-overlay .vsf-bottle-internal-mix > span{
  left:36%!important;
  bottom:31%!important;
  opacity:0!important;
  background:
    radial-gradient(circle at 31% 28%,rgba(255,239,255,.88) 0 8%,rgba(214,150,242,.92) 31%,rgba(154,75,211,.88) 67%,rgba(91,34,155,.76) 100%)!important;
  box-shadow:
    inset 3px 3px 7px rgba(255,255,255,.27),
    inset -4px -5px 8px rgba(72,27,125,.16)!important;
  filter:saturate(1.04)!important;
  mix-blend-mode:screen!important;
  animation:none!important;
}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(1){--vsf-mix-x:-37px;--vsf-mix-y:-80px;--vsf-mix-size:38px;--vsf-mix-delay:.00s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(2){--vsf-mix-x:0px;--vsf-mix-y:-118px;--vsf-mix-size:29px;--vsf-mix-delay:.03s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(3){--vsf-mix-x:34px;--vsf-mix-y:-92px;--vsf-mix-size:44px;--vsf-mix-delay:.01s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(4){--vsf-mix-x:49px;--vsf-mix-y:-142px;--vsf-mix-size:24px;--vsf-mix-delay:.06s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(5){--vsf-mix-x:17px;--vsf-mix-y:-57px;--vsf-mix-size:34px;--vsf-mix-delay:.08s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(6){--vsf-mix-x:-25px;--vsf-mix-y:-145px;--vsf-mix-size:22px;--vsf-mix-delay:.10s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(7){--vsf-mix-x:-48px;--vsf-mix-y:-119px;--vsf-mix-size:18px;--vsf-mix-delay:.12s}
.vsf-final-overlay .vsf-bottle-internal-mix > span:nth-of-type(8){--vsf-mix-x:47px;--vsf-mix-y:-63px;--vsf-mix-size:20px;--vsf-mix-delay:.14s}

/* Per-message intensity. Timing is still provided by the already-approved JS
   synchronization. Only visual amplitude changes here. */
.vsf-final-overlay.is-reference-wave-1{--vsf-duo-blob-scale:.88;--vsf-duo-bubble-scale:.88;--vsf-duo-opacity:.74}
.vsf-final-overlay.is-reference-wave-2{--vsf-duo-blob-scale:1.00;--vsf-duo-bubble-scale:1.00;--vsf-duo-opacity:.90}
.vsf-final-overlay.is-reference-wave-3{--vsf-duo-blob-scale:.94;--vsf-duo-bubble-scale:.94;--vsf-duo-opacity:.82}
.vsf-final-overlay.is-reference-wave-4{--vsf-duo-blob-scale:1.10;--vsf-duo-bubble-scale:1.08;--vsf-duo-opacity:1}

@keyframes vsfDuoInsideBlob{
  0%,8%{opacity:0;transform:translate3d(-52px,18px,0) rotate(-11deg) scale(.38,.58)}
  20%{opacity:calc(var(--vsf-duo-opacity,.85) * .72);transform:translate3d(-29px,8px,0) rotate(-7deg) scale(.70,.86)}
  36%{opacity:var(--vsf-duo-opacity,.85);transform:translate3d(-6px,-2px,0) rotate(3deg) scale(calc(var(--vsf-duo-blob-scale,1) * 1.04),calc(var(--vsf-duo-blob-scale,1) * .90))}
  51%{opacity:calc(var(--vsf-duo-opacity,.85) * .94);transform:translate3d(11px,-9px,0) rotate(10deg) scale(calc(var(--vsf-duo-blob-scale,1) * .92),calc(var(--vsf-duo-blob-scale,1) * 1.10))}
  66%{opacity:calc(var(--vsf-duo-opacity,.85) * .70);transform:translate3d(-1px,-17px,0) rotate(18deg) scale(calc(var(--vsf-duo-blob-scale,1) * 1.08),calc(var(--vsf-duo-blob-scale,1) * .92))}
  82%{opacity:.28;transform:translate3d(14px,-25px,0) rotate(25deg) scale(.80,.88)}
  100%{opacity:0;transform:translate3d(22px,-31px,0) rotate(31deg) scale(.52,.64)}
}

@keyframes vsfDuoInsideSecondary{
  0%,14%{opacity:0;transform:translate3d(-42px,20px,0) rotate(13deg) scale(.44,.64)}
  31%{opacity:calc(var(--vsf-duo-opacity,.85) * .64);transform:translate3d(-16px,3px,0) rotate(-7deg) scale(.86,1.02)}
  49%{opacity:calc(var(--vsf-duo-opacity,.85) * .78);transform:translate3d(12px,-10px,0) rotate(-18deg) scale(1.08,.88)}
  67%{opacity:calc(var(--vsf-duo-opacity,.85) * .55);transform:translate3d(-3px,-21px,0) rotate(-31deg) scale(.94,1.05)}
  100%{opacity:0;transform:translate3d(18px,-35px,0) rotate(-45deg) scale(.58,.70)}
}

@keyframes vsfDuoInsideBubble{
  0%,20%{opacity:0;transform:translate3d(-40px,8px,0) scale(.22)}
  34%{opacity:calc(var(--vsf-duo-opacity,.85) * .62);transform:translate3d(calc(var(--vsf-mix-x) * .38),calc(var(--vsf-mix-y) * .24),0) scale(calc(var(--vsf-duo-bubble-scale,1) * .84))}
  49%{opacity:calc(var(--vsf-duo-opacity,.85) * .88);transform:translate3d(calc(var(--vsf-mix-x) * .72),calc(var(--vsf-mix-y) * .58),0) scale(calc(var(--vsf-duo-bubble-scale,1) * 1.10))}
  67%{opacity:calc(var(--vsf-duo-opacity,.85) * .72);transform:translate3d(var(--vsf-mix-x),var(--vsf-mix-y),0) scale(var(--vsf-duo-bubble-scale,1))}
  82%{opacity:.34;transform:translate3d(calc(var(--vsf-mix-x) + 5px),calc(var(--vsf-mix-y) - 12px),0) scale(.80)}
  100%{opacity:0;transform:translate3d(calc(var(--vsf-mix-x) + 11px),calc(var(--vsf-mix-y) - 24px),0) scale(.38)}
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core{
  animation:vsfDuoInsideBlob var(--vsf-mix-duration,.9s) cubic-bezier(.16,.70,.22,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon{
  animation:vsfDuoInsideSecondary var(--vsf-mix-duration,.9s) cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-internal-mix > span{
  animation:vsfDuoInsideBubble var(--vsf-mix-duration,.9s) cubic-bezier(.16,.68,.22,1) var(--vsf-mix-delay) both!important;
}

/* Final resolve: one last internal merge, no exterior bottle motion. */
@keyframes vsfDuoInsideFinalMerge{
  0%{opacity:0;transform:translate3d(-24px,9px,0) rotate(-8deg) scale(.58,.72)}
  27%{opacity:.86;transform:translate3d(-4px,-2px,0) rotate(4deg) scale(1.02,.94)}
  50%{opacity:.78;transform:translate3d(8px,-10px,0) rotate(13deg) scale(.94,1.08)}
  72%{opacity:.40;transform:translate3d(-1px,-17px,0) rotate(21deg) scale(.88,.93)}
  100%{opacity:0;transform:translate3d(8px,-25px,0) rotate(28deg) scale(.64,.72)}
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-core{
  animation:vsfDuoInsideFinalMerge .86s cubic-bezier(.18,.72,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-ribbon{
  animation:vsfDuoInsideSecondary .84s cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-bottle-internal-mix > span{
  animation:vsfDuoInsideBubble .84s cubic-bezier(.16,.68,.22,1) var(--vsf-mix-delay) both!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-core,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-mix-ribbon,
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-bottle-internal-mix > span,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-core,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-mix-ribbon,
  .vsf-final-overlay.is-final-mix-settle .vsf-bottle-internal-mix > span{
    animation:none!important;
  }
}


/* =========================================================
   v1.8.26 — conflict-free internal fluid motion.
   The previous experimental nodes could remain invisible because historical
   !important opacity/transform declarations outranked animation values. This
   dedicated layer uses unique class names and lives inside the clipped bottle
   body, above the base liquid and below the logo/glass highlights.
   ========================================================= */

.vsf-final-overlay .vsf-bottle-internal-mix{
  display:none!important;
}

.vsf-final-overlay .vsf-duo-fluid{
  position:absolute;
  inset:3% 4% 2%;
  z-index:3;
  overflow:hidden;
  border-radius:42% 42% 31px 31px;
  pointer-events:none;
  opacity:1;
  transform:translateZ(0);
  isolation:isolate;
}

.vsf-final-overlay .vsf-duo-fluid-blob,
.vsf-final-overlay .vsf-duo-fluid-glint{
  position:absolute;
  display:block;
  pointer-events:none;
  will-change:transform,opacity,border-radius;
}

.vsf-final-overlay .vsf-duo-fluid-blob{
  opacity:.16;
  mix-blend-mode:screen;
  filter:blur(1.6px) saturate(1.12);
  box-shadow:inset 6px 5px 14px rgba(255,255,255,.18);
}

.vsf-final-overlay .vsf-duo-fluid-blob-a{
  left:-42%;
  bottom:-3%;
  width:118%;
  height:56%;
  border-radius:58% 42% 61% 39% / 48% 57% 43% 52%;
  background:radial-gradient(ellipse at 54% 43%,rgba(235,199,255,.88) 0 14%,rgba(191,116,235,.80) 38%,rgba(120,52,188,.65) 70%,rgba(74,26,131,.20) 100%);
}
.vsf-final-overlay .vsf-duo-fluid-blob-b{
  right:-38%;
  bottom:24%;
  width:102%;
  height:54%;
  border-radius:44% 56% 38% 62% / 60% 45% 55% 40%;
  background:radial-gradient(ellipse at 41% 56%,rgba(225,177,249,.76) 0 18%,rgba(154,76,213,.74) 45%,rgba(81,31,145,.46) 78%,transparent 100%);
}
.vsf-final-overlay .vsf-duo-fluid-blob-c{
  left:8%;
  bottom:8%;
  width:72%;
  height:72%;
  border-radius:50% 50% 57% 43% / 43% 61% 39% 57%;
  background:radial-gradient(ellipse at 55% 52%,rgba(251,235,255,.58) 0 10%,rgba(201,139,238,.54) 28%,rgba(128,57,194,.44) 57%,transparent 78%);
}
.vsf-final-overlay .vsf-duo-fluid-blob-d{
  left:21%;
  top:5%;
  width:50%;
  height:38%;
  border-radius:62% 38% 49% 51% / 54% 43% 57% 46%;
  background:radial-gradient(ellipse at 45% 60%,rgba(245,220,255,.58),rgba(187,111,230,.42) 45%,transparent 75%);
}
.vsf-final-overlay .vsf-duo-fluid-blob-e{
  right:7%;
  bottom:6%;
  width:44%;
  height:42%;
  border-radius:43% 57% 63% 37% / 59% 39% 61% 41%;
  background:radial-gradient(ellipse at 40% 44%,rgba(213,159,242,.52),rgba(108,45,175,.46) 52%,transparent 78%);
}
.vsf-final-overlay .vsf-duo-fluid-glint{
  left:14%;
  top:12%;
  width:72%;
  height:72%;
  border-radius:48%;
  opacity:.12;
  background:conic-gradient(from 214deg,transparent 0 20%,rgba(255,244,255,.32) 30%,rgba(198,130,235,.18) 45%,transparent 58% 75%,rgba(237,203,253,.20) 86%,transparent 100%);
  filter:blur(5px);
  mix-blend-mode:screen;
}

/* Baseline motion is deliberately subtle. The synchronized wave classes below
   are the visible Duolingo-like mixing moments. */
@keyframes vsfDuoFluidIdleA{
  0%{transform:translate3d(-3%,2%,0) rotate(-4deg) scale(.98,1.02)}
  50%{transform:translate3d(4%,-2%,0) rotate(5deg) scale(1.035,.98)}
  100%{transform:translate3d(-1%,-4%,0) rotate(10deg) scale(.99,1.025)}
}
@keyframes vsfDuoFluidIdleB{
  0%{transform:translate3d(4%,-2%,0) rotate(7deg) scale(1.02,.98)}
  50%{transform:translate3d(-5%,4%,0) rotate(-6deg) scale(.97,1.04)}
  100%{transform:translate3d(2%,1%,0) rotate(-12deg) scale(1.025,.99)}
}
.vsf-final-overlay .vsf-duo-fluid-blob-a{animation:vsfDuoFluidIdleA 5.8s ease-in-out infinite alternate}
.vsf-final-overlay .vsf-duo-fluid-blob-b{animation:vsfDuoFluidIdleB 6.4s ease-in-out infinite alternate}
.vsf-final-overlay .vsf-duo-fluid-blob-c{animation:vsfDuoFluidIdleA 7.1s ease-in-out -1.2s infinite alternate}
.vsf-final-overlay .vsf-duo-fluid-blob-d{animation:vsfDuoFluidIdleB 5.4s ease-in-out -.7s infinite alternate}
.vsf-final-overlay .vsf-duo-fluid-blob-e{animation:vsfDuoFluidIdleA 6.7s ease-in-out -1.8s infinite alternate}

.vsf-final-overlay.is-reference-wave-1{--vsf-duo-hit-scale:1.04;--vsf-duo-dur:.86s}
.vsf-final-overlay.is-reference-wave-2{--vsf-duo-hit-scale:1.12;--vsf-duo-dur:.90s}
.vsf-final-overlay.is-reference-wave-3{--vsf-duo-hit-scale:1.09;--vsf-duo-dur:.94s}
.vsf-final-overlay.is-reference-wave-4{--vsf-duo-hit-scale:1.18;--vsf-duo-dur:1.04s}

@keyframes vsfDuoFluidHitA{
  0%{opacity:.20;transform:translate3d(-24%,15%,0) rotate(-15deg) scale(.66,.82);border-radius:64% 36% 68% 32% / 45% 60% 40% 55%}
  22%{opacity:.78;transform:translate3d(-8%,5%,0) rotate(-8deg) scale(.90,1.02);border-radius:54% 46% 61% 39% / 57% 43% 57% 43%}
  42%{opacity:.96;transform:translate3d(12%,-6%,0) rotate(8deg) scale(var(--vsf-duo-hit-scale,1.06),.88);border-radius:42% 58% 36% 64% / 62% 41% 59% 38%}
  61%{opacity:.82;transform:translate3d(-3%,-14%,0) rotate(18deg) scale(.91,1.11);border-radius:61% 39% 53% 47% / 42% 63% 37% 58%}
  79%{opacity:.52;transform:translate3d(9%,-21%,0) rotate(28deg) scale(1.06,.94);border-radius:47% 53% 65% 35% / 58% 39% 61% 42%}
  100%{opacity:.20;transform:translate3d(2%,-7%,0) rotate(35deg) scale(.98,1.02);border-radius:58% 42% 61% 39% / 48% 57% 43% 52%}
}
@keyframes vsfDuoFluidHitB{
  0%{opacity:.16;transform:translate3d(26%,8%,0) rotate(17deg) scale(.72,.90)}
  27%{opacity:.70;transform:translate3d(8%,-5%,0) rotate(6deg) scale(.95,1.08)}
  49%{opacity:.90;transform:translate3d(-13%,-11%,0) rotate(-13deg) scale(1.10,.89)}
  68%{opacity:.66;transform:translate3d(4%,-19%,0) rotate(-24deg) scale(.92,1.10)}
  100%{opacity:.16;transform:translate3d(-1%,-5%,0) rotate(-31deg) scale(1.01,.98)}
}
@keyframes vsfDuoFluidHitC{
  0%{opacity:.12;transform:translate3d(0,18%,0) scale(.58,.72) rotate(-4deg)}
  32%{opacity:.72;transform:translate3d(-6%,-2%,0) scale(1.14,.86) rotate(8deg)}
  55%{opacity:.86;transform:translate3d(9%,-14%,0) scale(.91,1.16) rotate(21deg)}
  76%{opacity:.48;transform:translate3d(-2%,-24%,0) scale(1.07,.95) rotate(32deg)}
  100%{opacity:.12;transform:translate3d(1%,-7%,0) scale(1,1) rotate(41deg)}
}
@keyframes vsfDuoFluidGlintHit{
  0%{opacity:.08;transform:rotate(-12deg) scale(.88)}
  42%{opacity:.48;transform:rotate(28deg) scale(1.16)}
  72%{opacity:.22;transform:rotate(62deg) scale(.98)}
  100%{opacity:.10;transform:rotate(88deg) scale(1)}
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-blob-a,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-blob-d{
  animation:vsfDuoFluidHitA var(--vsf-duo-dur,.9s) cubic-bezier(.16,.70,.22,1) both;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-blob-b,
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-blob-e{
  animation:vsfDuoFluidHitB var(--vsf-duo-dur,.9s) cubic-bezier(.18,.72,.20,1) both;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-blob-c{
  animation:vsfDuoFluidHitC var(--vsf-duo-dur,.9s) cubic-bezier(.16,.68,.22,1) both;
}
.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid-glint{
  animation:vsfDuoFluidGlintHit var(--vsf-duo-dur,.9s) ease-out both;
}

@keyframes vsfDuoFluidFinalSettle{
  0%{opacity:.74;transform:translate3d(8%,-8%,0) rotate(16deg) scale(1.12,.90)}
  33%{opacity:.88;transform:translate3d(-7%,-15%,0) rotate(-8deg) scale(.93,1.10)}
  61%{opacity:.56;transform:translate3d(3%,-7%,0) rotate(5deg) scale(1.035,.98)}
  100%{opacity:.18;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-a,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-b,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-c,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-d,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-e{
  animation:vsfDuoFluidFinalSettle .88s cubic-bezier(.18,.72,.22,1) both;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay .vsf-duo-fluid-blob-a,
  .vsf-final-overlay .vsf-duo-fluid-blob-b,
  .vsf-final-overlay .vsf-duo-fluid-blob-c,
  .vsf-final-overlay .vsf-duo-fluid-blob-d,
  .vsf-final-overlay .vsf-duo-fluid-blob-e,
  .vsf-final-overlay .vsf-duo-fluid-glint{
    animation:none!important;
  }
}

/* =========================================================
   v1.8.27 — final internal resolution.
   Keeps the bottle shell completely still. After the fourth synchronized
   message the internal fluid converges, sends one last wave upward, releases
   three small bubbles, receives a restrained vertical glass-like highlight,
   then settles before the result is revealed.
   ========================================================= */

.vsf-final-overlay .vsf-duo-fluid::before,
.vsf-final-overlay .vsf-duo-fluid::after{
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
  opacity:0;
  z-index:5;
}

.vsf-final-overlay .vsf-duo-fluid::before{
  left:8%;
  bottom:8%;
  width:84%;
  height:18%;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(240,211,255,.44) 0 12%,rgba(193,126,232,.30) 35%,rgba(130,62,190,.16) 60%,transparent 78%);
  filter:blur(3px);
  transform:translate3d(0,0,0) scale(.82,.72);
  mix-blend-mode:screen;
}

.vsf-final-overlay .vsf-duo-fluid::after{
  left:43%;
  bottom:20%;
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(246,226,255,.66);
  box-shadow:
    21px 12px 0 -1px rgba(220,181,244,.52),
    -24px 24px 0 -2px rgba(235,207,250,.44);
  filter:blur(.2px);
  transform:translate3d(0,0,0) scale(.75);
}

@keyframes vsfDuoFinalConvergeA{
  0%{opacity:.84;transform:translate3d(10%,-10%,0) rotate(18deg) scale(1.12,.90);border-radius:45% 55% 38% 62% / 58% 43% 57% 42%}
  24%{opacity:.94;transform:translate3d(-7%,-14%,0) rotate(-9deg) scale(.95,1.09);border-radius:60% 40% 57% 43% / 43% 60% 40% 57%}
  47%{opacity:.78;transform:translate3d(2%,-6%,0) rotate(4deg) scale(1.04,.98);border-radius:52% 48% 51% 49% / 49% 53% 47% 51%}
  68%{opacity:.42;transform:translate3d(0,-2%,0) rotate(0deg) scale(.96,1.02);border-radius:50%}
  100%{opacity:.16;transform:translate3d(0,0,0) rotate(0deg) scale(1);border-radius:50%}
}

@keyframes vsfDuoFinalConvergeB{
  0%{opacity:.78;transform:translate3d(-11%,-4%,0) rotate(-17deg) scale(.92,1.12)}
  25%{opacity:.92;transform:translate3d(8%,-15%,0) rotate(11deg) scale(1.10,.91)}
  48%{opacity:.72;transform:translate3d(-2%,-7%,0) rotate(-3deg) scale(.98,1.04)}
  70%{opacity:.38;transform:translate3d(0,-2%,0) rotate(0deg) scale(1.02,.99)}
  100%{opacity:.14;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}

@keyframes vsfDuoFinalConvergeC{
  0%{opacity:.68;transform:translate3d(0,-15%,0) rotate(9deg) scale(1.14,.86)}
  30%{opacity:.88;transform:translate3d(-4%,-8%,0) rotate(-6deg) scale(.93,1.10)}
  52%{opacity:.62;transform:translate3d(3%,-4%,0) rotate(3deg) scale(1.03,.98)}
  74%{opacity:.32;transform:translate3d(0,-1%,0) rotate(0deg) scale(.99,1.01)}
  100%{opacity:.12;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}

@keyframes vsfDuoFinalWaveRise{
  0%,26%{opacity:0;transform:translate3d(0,20px,0) scale(.72,.58)}
  38%{opacity:.56;transform:translate3d(0,2px,0) scale(.95,.82)}
  57%{opacity:.46;transform:translate3d(0,-58px,0) scale(1.08,.68)}
  76%{opacity:.20;transform:translate3d(0,-116px,0) scale(.94,.50)}
  100%{opacity:0;transform:translate3d(0,-158px,0) scale(.72,.34)}
}

@keyframes vsfDuoFinalThreeBubbles{
  0%,38%{opacity:0;transform:translate3d(0,10px,0) scale(.55)}
  47%{opacity:.74;transform:translate3d(-3px,0,0) scale(.90)}
  67%{opacity:.62;transform:translate3d(7px,-58px,0) scale(1.02)}
  84%{opacity:.28;transform:translate3d(-2px,-110px,0) scale(.78)}
  100%{opacity:0;transform:translate3d(4px,-148px,0) scale(.48)}
}

@keyframes vsfDuoFinalVerticalResolve{
  0%,54%{opacity:0;transform:translate3d(-54%,0,0) rotate(0deg) scale(.72,1)}
  64%{opacity:.10;transform:translate3d(-22%,0,0) rotate(0deg) scale(.86,1)}
  76%{opacity:.46;transform:translate3d(5%,0,0) rotate(0deg) scale(1.04,1)}
  88%{opacity:.16;transform:translate3d(32%,0,0) rotate(0deg) scale(.90,1)}
  100%{opacity:.08;transform:translate3d(52%,0,0) rotate(0deg) scale(.82,1)}
}

.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-a,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-d{
  animation:vsfDuoFinalConvergeA 1.18s cubic-bezier(.16,.70,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-b,
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-e{
  animation:vsfDuoFinalConvergeB 1.18s cubic-bezier(.18,.72,.20,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-blob-c{
  animation:vsfDuoFinalConvergeC 1.18s cubic-bezier(.16,.68,.22,1) both!important;
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid::before{
  animation:vsfDuoFinalWaveRise 1.18s cubic-bezier(.20,.70,.22,1) both;
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid::after{
  animation:vsfDuoFinalThreeBubbles 1.18s cubic-bezier(.18,.70,.22,1) both;
}
.vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-glint{
  left:39%;
  top:5%;
  width:22%;
  height:90%;
  border-radius:46%;
  background:linear-gradient(90deg,transparent 0 12%,rgba(255,247,255,.10) 28%,rgba(255,248,255,.58) 50%,rgba(221,183,245,.14) 72%,transparent 88% 100%);
  filter:blur(3px);
  transform-origin:center;
  animation:vsfDuoFinalVerticalResolve 1.18s ease-out both!important;
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid::before,
  .vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid::after,
  .vsf-final-overlay.is-final-mix-settle .vsf-duo-fluid-glint{
    animation:none!important;
    opacity:0!important;
  }
}


/* =========================================================
   v1.8.28 — final leaf vortex + completion glow.
   Reuses only the three existing decorative Velara petals. During the final
   settle they leave their normal orbit, spiral into the bottle centre, shrink
   into the essence and trigger one restrained exterior completion glow before
   the redirect to Shop. No Finder card/button selectors are touched here.
   ========================================================= */

@keyframes vsfFinalLeafWhirlOne{
  0%{opacity:.74;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  18%{opacity:.92;transform:translate3d(42px,-8px,0) rotate(150deg) scale(1.06)}
  38%{opacity:.96;transform:translate3d(104px,30px,0) rotate(330deg) scale(.96)}
  58%{opacity:.88;transform:translate3d(119px,92px,0) rotate(555deg) scale(.80)}
  76%{opacity:.58;transform:translate3d(78px,128px,0) rotate(765deg) scale(.52)}
  100%{opacity:0;transform:translate3d(71px,124px,0) rotate(990deg) scale(.10)}
}

@keyframes vsfFinalLeafWhirlTwo{
  0%{opacity:.72;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  16%{opacity:.90;transform:translate3d(30px,-24px,0) rotate(-145deg) scale(1.04)}
  37%{opacity:.96;transform:translate3d(79px,-6px,0) rotate(-322deg) scale(.94)}
  58%{opacity:.84;transform:translate3d(86px,49px,0) rotate(-540deg) scale(.76)}
  78%{opacity:.52;transform:translate3d(49px,73px,0) rotate(-760deg) scale(.48)}
  100%{opacity:0;transform:translate3d(46px,62px,0) rotate(-980deg) scale(.08)}
}

@keyframes vsfFinalLeafWhirlThree{
  0%{opacity:.70;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  17%{opacity:.88;transform:translate3d(18px,-49px,0) rotate(155deg) scale(1.05)}
  39%{opacity:.96;transform:translate3d(74px,-72px,0) rotate(340deg) scale(.96)}
  60%{opacity:.82;transform:translate3d(108px,-45px,0) rotate(565deg) scale(.76)}
  79%{opacity:.48;transform:translate3d(88px,-12px,0) rotate(785deg) scale(.46)}
  100%{opacity:0;transform:translate3d(76px,-18px,0) rotate(1010deg) scale(.08)}
}

@keyframes vsfFinalCenterResolveGlow{
  0%,47%{opacity:0;transform:translate(-50%,-50%) scale(.24);filter:blur(12px)}
  58%{opacity:.18;transform:translate(-50%,-50%) scale(.48);filter:blur(10px)}
  70%{opacity:.72;transform:translate(-50%,-50%) scale(.86);filter:blur(5px)}
  78%{opacity:.92;transform:translate(-50%,-50%) scale(1.05);filter:blur(2px)}
  88%{opacity:.30;transform:translate(-50%,-50%) scale(1.42);filter:blur(6px)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.78);filter:blur(10px)}
}

@keyframes vsfFinalCenterResolveRing{
  0%,55%{opacity:0;transform:translate(-50%,-50%) scale(.48)}
  68%{opacity:.58;transform:translate(-50%,-50%) scale(.76)}
  82%{opacity:.34;transform:translate(-50%,-50%) scale(1.08)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.46)}
}

.vsf-final-overlay.is-final-mix-settle .vsf-petal{
  transform-origin:center!important;
  will-change:transform,opacity!important;
  animation-timing-function:cubic-bezier(.18,.72,.20,1)!important;
  animation-fill-mode:both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-petal-1{
  animation-name:vsfFinalLeafWhirlOne!important;
  animation-duration:1.22s!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-petal-2{
  animation-name:vsfFinalLeafWhirlTwo!important;
  animation-duration:1.18s!important;
  animation-delay:.04s!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-petal-3{
  animation-name:vsfFinalLeafWhirlThree!important;
  animation-duration:1.26s!important;
  animation-delay:.02s!important;
}

.vsf-final-overlay .vsf-final-overlay-visual::before,
.vsf-final-overlay .vsf-final-overlay-visual::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  z-index:12;
  pointer-events:none;
  opacity:0;
}

.vsf-final-overlay .vsf-final-overlay-visual::before{
  width:190px;
  height:190px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.90) 0 8%,
      rgba(244,221,255,.62) 18%,
      rgba(194,128,235,.34) 42%,
      rgba(121,57,183,.12) 64%,
      transparent 76%);
  mix-blend-mode:screen;
}

.vsf-final-overlay .vsf-final-overlay-visual::after{
  width:150px;
  height:150px;
  border:2px solid rgba(231,198,250,.50);
  border-radius:50%;
  box-shadow:
    0 0 24px rgba(196,130,235,.26),
    inset 0 0 20px rgba(255,255,255,.18);
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::before{
  animation:vsfFinalCenterResolveGlow 1.46s ease-out both;
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::after{
  animation:vsfFinalCenterResolveRing 1.46s cubic-bezier(.18,.72,.20,1) both;
}

/* The last 380 ms become a pale handoff rather than revealing the old page
   underneath immediately before navigation. */
.vsf-final-overlay.is-exiting .vsf-final-overlay-backdrop{
  opacity:1!important;
  background:rgba(253,250,255,.98)!important;
  transition:background .34s ease,opacity .34s ease!important;
}

.vsf-final-overlay.is-exiting .vsf-final-overlay-visual,
.vsf-final-overlay.is-exiting .vsf-final-messages{
  opacity:0!important;
  transition:opacity .30s ease!important;
}

@media(max-width:760px){
  .vsf-final-overlay .vsf-final-overlay-visual::before{
    width:154px;
    height:154px;
  }
  .vsf-final-overlay .vsf-final-overlay-visual::after{
    width:124px;
    height:124px;
  }
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay.is-final-mix-settle .vsf-petal-1,
  .vsf-final-overlay.is-final-mix-settle .vsf-petal-2,
  .vsf-final-overlay.is-final-mix-settle .vsf-petal-3,
  .vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::before,
  .vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::after{
    animation:none!important;
  }
}


/* =========================================================
   v1.8.29 — synchronized step bubbles + slower completion halo.
   Isolated to the final overlay. Each editorial message now releases a small
   internal bubble rise while the existing fluid masses mix. The final halo is
   intentionally larger and slower so the completion moment reads clearly
   before the Shop handoff. No Finder card/option selectors are changed here.
   ========================================================= */

.vsf-final-overlay.is-reference-wave-1{
  --vsf-step-bubble-opacity:.46;
  --vsf-step-bubble-scale:.82;
  --vsf-step-bubble-drift:-5px;
}
.vsf-final-overlay.is-reference-wave-2{
  --vsf-step-bubble-opacity:.62;
  --vsf-step-bubble-scale:.94;
  --vsf-step-bubble-drift:7px;
}
.vsf-final-overlay.is-reference-wave-3{
  --vsf-step-bubble-opacity:.56;
  --vsf-step-bubble-scale:.90;
  --vsf-step-bubble-drift:-8px;
}
.vsf-final-overlay.is-reference-wave-4{
  --vsf-step-bubble-opacity:.76;
  --vsf-step-bubble-scale:1.08;
  --vsf-step-bubble-drift:9px;
}

@keyframes vsfDuoStepBubbleRise{
  0%{
    opacity:0;
    transform:translate3d(0,8px,0) scale(calc(var(--vsf-step-bubble-scale,1) * .58));
  }
  18%{
    opacity:calc(var(--vsf-step-bubble-opacity,.55) * .62);
    transform:translate3d(calc(var(--vsf-step-bubble-drift,0px) * .20),0,0) scale(calc(var(--vsf-step-bubble-scale,1) * .78));
  }
  42%{
    opacity:var(--vsf-step-bubble-opacity,.55);
    transform:translate3d(calc(var(--vsf-step-bubble-drift,0px) * .55),-24px,0) scale(var(--vsf-step-bubble-scale,1));
  }
  68%{
    opacity:calc(var(--vsf-step-bubble-opacity,.55) * .70);
    transform:translate3d(var(--vsf-step-bubble-drift,0px),-52px,0) scale(calc(var(--vsf-step-bubble-scale,1) * .92));
  }
  100%{
    opacity:0;
    transform:translate3d(calc(var(--vsf-step-bubble-drift,0px) * 1.18),-88px,0) scale(calc(var(--vsf-step-bubble-scale,1) * .62));
  }
}

.vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid::after{
  animation:vsfDuoStepBubbleRise var(--vsf-duo-dur,.9s) cubic-bezier(.18,.72,.22,1) both;
}

/* Large completion halo with continuous overlap. The leaf vortex remains unchanged;
   the luminous resolve now begins immediately and overlaps the leaf convergence so
   the handoff reads as one uninterrupted motion instead of a separate pause. */
.vsf-final-overlay .vsf-final-overlay-visual::before{
  width:360px;
  height:360px;
  background:
    radial-gradient(circle,
      rgba(255,255,255,.92) 0 5%,
      rgba(248,231,255,.66) 14%,
      rgba(211,163,242,.38) 34%,
      rgba(154,91,210,.20) 54%,
      rgba(116,53,178,.08) 68%,
      transparent 80%);
}

.vsf-final-overlay .vsf-final-overlay-visual::after{
  width:286px;
  height:286px;
  border:2px solid rgba(231,198,250,.46);
  box-shadow:
    0 0 42px rgba(196,130,235,.28),
    0 0 86px rgba(170,102,222,.12),
    inset 0 0 28px rgba(255,255,255,.16);
}

@keyframes vsfFinalCenterResolveGlowSlow{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.20);filter:blur(14px)}
  10%{opacity:.12;transform:translate(-50%,-50%) scale(.32);filter:blur(12px)}
  26%{opacity:.42;transform:translate(-50%,-50%) scale(.58);filter:blur(8px)}
  44%{opacity:.78;transform:translate(-50%,-50%) scale(.90);filter:blur(4px)}
  58%{opacity:.90;transform:translate(-50%,-50%) scale(1.08);filter:blur(3px)}
  76%{opacity:.50;transform:translate(-50%,-50%) scale(1.34);filter:blur(6px)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.68);filter:blur(12px)}
}

@keyframes vsfFinalCenterResolveRingSlow{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.38)}
  16%{opacity:.14;transform:translate(-50%,-50%) scale(.54)}
  36%{opacity:.44;transform:translate(-50%,-50%) scale(.80)}
  56%{opacity:.52;transform:translate(-50%,-50%) scale(1.02)}
  76%{opacity:.30;transform:translate(-50%,-50%) scale(1.28)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.56)}
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::before{
  animation:vsfFinalCenterResolveGlowSlow 1.38s cubic-bezier(.16,.72,.20,1) both;
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::after{
  animation:vsfFinalCenterResolveRingSlow 1.38s cubic-bezier(.16,.74,.20,1) both;
}

@media(max-width:760px){
  .vsf-final-overlay .vsf-final-overlay-visual::before{
    width:270px;
    height:270px;
  }
  .vsf-final-overlay .vsf-final-overlay-visual::after{
    width:214px;
    height:214px;
  }
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay[class*="is-reference-wave-"] .vsf-duo-fluid::after,
  .vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::before,
  .vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::after{
    animation:none!important;
  }
}


/* =========================================================
   v1.8.32 — continuous completion halo only.
   The v1.8.30 ritual timing, leaf vortex and Shop handoff remain untouched.
   These two keyframes remove the perceptual mid-animation plateau: radius,
   blur and opacity evolve continuously from ignition through dissipation.
   ========================================================= */

@keyframes vsfFinalHaloContinuousGlow{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.18);
    filter:blur(14px);
  }
  12%{
    opacity:.20;
    transform:translate(-50%,-50%) scale(.34);
    filter:blur(11px);
  }
  28%{
    opacity:.52;
    transform:translate(-50%,-50%) scale(.60);
    filter:blur(8px);
  }
  46%{
    opacity:.84;
    transform:translate(-50%,-50%) scale(.90);
    filter:blur(4px);
  }
  62%{
    opacity:.78;
    transform:translate(-50%,-50%) scale(1.14);
    filter:blur(3px);
  }
  80%{
    opacity:.40;
    transform:translate(-50%,-50%) scale(1.42);
    filter:blur(7px);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(1.72);
    filter:blur(12px);
  }
}

@keyframes vsfFinalHaloContinuousRing{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.36);
  }
  16%{
    opacity:.18;
    transform:translate(-50%,-50%) scale(.56);
  }
  34%{
    opacity:.46;
    transform:translate(-50%,-50%) scale(.78);
  }
  52%{
    opacity:.50;
    transform:translate(-50%,-50%) scale(1.00);
  }
  70%{
    opacity:.36;
    transform:translate(-50%,-50%) scale(1.22);
  }
  86%{
    opacity:.18;
    transform:translate(-50%,-50%) scale(1.40);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(1.58);
  }
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::before{
  animation:vsfFinalHaloContinuousGlow 1.24s linear both!important;
}

.vsf-final-overlay.is-final-mix-settle .vsf-final-overlay-visual::after{
  animation:vsfFinalHaloContinuousRing 1.24s linear both!important;
}


/* =========================================================
   v1.8.33 — clean editorial-card handoff only.
   The halo, leaf vortex, fluid ritual and Shop handoff are untouched.
   Outgoing copy clears before incoming copy starts, so cards never overlap;
   the next internal liquid pulse still starts with the incoming card.
   ========================================================= */
.vsf-final-overlay.is-message-handoff .vsf-final-message.is-leaving{
  transition:
    opacity .16s cubic-bezier(.4,0,1,1),
    transform .17s cubic-bezier(.4,0,1,1),
    filter .16s ease,
    visibility 0s linear .17s!important;
}
.vsf-final-overlay.is-mobile-ritual.is-message-handoff .vsf-final-message.is-leaving{
  transition:
    opacity .13s cubic-bezier(.4,0,1,1),
    transform .14s cubic-bezier(.4,0,1,1),
    visibility 0s linear .14s!important;
}


/* =========================================================
   v1.8.34 — single continuous final mixing ritual.
   The four editorial messages no longer trigger four repeated bottle reactions.
   One continuous bottle/liquid movement spans the complete copy sequence; a
   single bubble bloom appears mid-process. The approved leaf vortex + halo
   resolution from v1.8.32/v1.8.33 remains untouched.
   ========================================================= */

@keyframes vsfContinuousRitualBottle{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  10%{transform:translate3d(-4px,1px,0) rotate(-2.2deg) scale(.997,1.002)}
  22%{transform:translate3d(5px,-2px,0) rotate(2.8deg) scale(1.003,.998)}
  38%{transform:translate3d(-3px,-1px,0) rotate(-1.8deg) scale(.999,1.002)}
  55%{transform:translate3d(4px,-2px,0) rotate(2.0deg) scale(1.002,.999)}
  70%{transform:translate3d(-2px,-1px,0) rotate(-1.1deg) scale(1)}
  84%{transform:translate3d(1px,0,0) rotate(.55deg) scale(1)}
  100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}

@keyframes vsfContinuousRitualFluidA{
  0%{opacity:.20;transform:translate3d(-10%,5%,0) rotate(-8deg) scale(.92,1.04);border-radius:58% 42% 61% 39% / 48% 57% 43% 52%}
  14%{opacity:.48;transform:translate3d(-2%,-1%,0) rotate(-2deg) scale(1.05,.95);border-radius:46% 54% 42% 58% / 59% 44% 56% 41%}
  30%{opacity:.72;transform:translate3d(8%,-7%,0) rotate(9deg) scale(.94,1.10);border-radius:61% 39% 55% 45% / 42% 63% 37% 58%}
  47%{opacity:.62;transform:translate3d(-7%,-13%,0) rotate(-10deg) scale(1.10,.91);border-radius:43% 57% 64% 36% / 58% 40% 60% 42%}
  64%{opacity:.54;transform:translate3d(5%,-8%,0) rotate(13deg) scale(.96,1.06);border-radius:57% 43% 46% 54% / 46% 59% 41% 54%}
  80%{opacity:.38;transform:translate3d(-2%,-4%,0) rotate(-5deg) scale(1.03,.98);border-radius:50% 50% 55% 45% / 52% 48% 52% 48%}
  100%{opacity:.20;transform:translate3d(0,0,0) rotate(0deg) scale(1);border-radius:58% 42% 61% 39% / 48% 57% 43% 52%}
}

@keyframes vsfContinuousRitualFluidB{
  0%{opacity:.16;transform:translate3d(9%,-2%,0) rotate(7deg) scale(1.03,.97)}
  18%{opacity:.44;transform:translate3d(-8%,5%,0) rotate(-9deg) scale(.94,1.08)}
  36%{opacity:.66;transform:translate3d(5%,-10%,0) rotate(14deg) scale(1.09,.91)}
  53%{opacity:.58;transform:translate3d(-6%,-15%,0) rotate(-16deg) scale(.93,1.10)}
  70%{opacity:.46;transform:translate3d(4%,-9%,0) rotate(10deg) scale(1.06,.95)}
  86%{opacity:.28;transform:translate3d(-2%,-4%,0) rotate(-4deg) scale(.99,1.02)}
  100%{opacity:.16;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}

@keyframes vsfContinuousRitualFluidC{
  0%{opacity:.12;transform:translate3d(0,8%,0) rotate(-3deg) scale(.90,.96)}
  22%{opacity:.38;transform:translate3d(-6%,-1%,0) rotate(7deg) scale(1.08,.93)}
  43%{opacity:.60;transform:translate3d(7%,-12%,0) rotate(18deg) scale(.94,1.12)}
  61%{opacity:.52;transform:translate3d(-4%,-16%,0) rotate(-11deg) scale(1.07,.94)}
  78%{opacity:.32;transform:translate3d(2%,-8%,0) rotate(6deg) scale(.98,1.04)}
  100%{opacity:.12;transform:translate3d(0,0,0) rotate(0deg) scale(1)}
}

@keyframes vsfContinuousRitualGlint{
  0%{opacity:.08;transform:rotate(-14deg) scale(.92)}
  28%{opacity:.24;transform:rotate(22deg) scale(1.06)}
  52%{opacity:.36;transform:rotate(58deg) scale(1.12)}
  74%{opacity:.20;transform:rotate(92deg) scale(1.02)}
  100%{opacity:.09;transform:rotate(118deg) scale(1)}
}

@keyframes vsfContinuousRitualBubbleBloom{
  0%,34%{opacity:0;transform:translate3d(0,8px,0) scale(.52)}
  42%{opacity:.32;transform:translate3d(-2px,-6px,0) scale(.74)}
  53%{opacity:.68;transform:translate3d(5px,-34px,0) scale(1.05)}
  64%{opacity:.50;transform:translate3d(-4px,-63px,0) scale(.92)}
  76%{opacity:.18;transform:translate3d(7px,-91px,0) scale(.70)}
  86%,100%{opacity:0;transform:translate3d(9px,-112px,0) scale(.48)}
}

.vsf-final-overlay.is-continuous-ritual .vsf-bottle{
  animation:vsfContinuousRitualBottle 4.18s cubic-bezier(.22,.62,.28,1) both!important;
  transform-origin:50% 72%!important;
}

.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-a,
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-d{
  animation:vsfContinuousRitualFluidA 4.18s cubic-bezier(.22,.62,.28,1) both!important;
}
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-b,
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-e{
  animation:vsfContinuousRitualFluidB 4.18s cubic-bezier(.20,.64,.26,1) both!important;
}
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-c{
  animation:vsfContinuousRitualFluidC 4.18s cubic-bezier(.20,.62,.27,1) both!important;
}
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-glint{
  animation:vsfContinuousRitualGlint 4.18s ease-in-out both!important;
}

/* One bubble moment only, around the middle of the same continuous mix. */
.vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid::after{
  animation:vsfContinuousRitualBubbleBloom 4.18s cubic-bezier(.20,.68,.24,1) both!important;
}

/* The historical per-message wave classes are deliberately inert during the
   continuous ritual. This prevents any old pulse rule from restarting motion. */
.vsf-final-overlay.is-continuous-ritual[class*="is-reference-wave-"] .vsf-bottle,
.vsf-final-overlay.is-continuous-ritual[class*="is-reference-wave-"] .vsf-duo-fluid-blob,
.vsf-final-overlay.is-continuous-ritual[class*="is-reference-wave-"] .vsf-duo-fluid-glint,
.vsf-final-overlay.is-continuous-ritual[class*="is-reference-wave-"] .vsf-duo-fluid::after{
  animation-play-state:running!important;
}

@media(max-width:760px){
  .vsf-final-overlay.is-continuous-ritual .vsf-bottle,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-a,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-b,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-c,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-d,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-e,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-glint,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid::after{
    animation-duration:3.60s!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .vsf-final-overlay.is-continuous-ritual .vsf-bottle,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-a,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-b,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-c,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-d,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-blob-e,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid-glint,
  .vsf-final-overlay.is-continuous-ritual .vsf-duo-fluid::after{
    animation:none!important;
  }
}

/* =========================================================
   v1.8.35 — mobile guided-card integrity.
   v1.8.20 introduced option-count geometry after the legacy mobile
   breakpoints; those desktop-oriented rules could therefore win the cascade
   on phones. This final mobile-only layer restores intentional phone grids
   while preserving content-driven heights and long-label wrapping.
   ========================================================= */
@media(max-width:760px){
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-options[data-vsf-option-count]{
    width:100%!important;
    min-width:0!important;
    grid-template-rows:none!important;
    grid-auto-rows:minmax(84px,auto)!important;
    align-items:stretch!important;
    align-content:start!important;
    justify-content:stretch!important;
    gap:9px!important;
    overflow-x:hidden!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Three choices keep the larger three-card presentation on phones. */
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Five choices finish with a centered full-row card rather than a lonely
     left-aligned fifth tile. */
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"]
  .vsf-option:nth-child(5){
    grid-column:1 / -1!important;
    justify-self:center!important;
    width:calc(50% - 4.5px)!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option:not(.is-active):not([aria-pressed="true"]){
    display:grid!important;
    grid-template-rows:auto auto!important;
    place-items:center!important;
    align-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    gap:8px!important;
    padding:10px 8px!important;
    overflow:visible!important;
    text-align:center!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option{
    min-height:100px!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option{
    min-height:96px!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option{
    min-height:86px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > span{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    flex:0 0 34px!important;
    margin:0 auto!important;
    font-size:17px!important;
    line-height:1!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-panel .vsf-options[data-vsf-option-count] button.vsf-option > strong{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:1em!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto!important;
    text-wrap:pretty!important;
    text-align:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="2"] .vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option > strong{
    font-size:13px!important;
    line-height:1.18!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option > strong{
    font-size:12.5px!important;
    line-height:1.18!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-option.is-label-long > strong{
    font-size:12px!important;
    line-height:1.16!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-option.is-label-very-long > strong{
    font-size:11.5px!important;
    line-height:1.14!important;
  }

  /* The active check must not cover a wrapped label in the narrow cards. */
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)
  .vsf-option.is-active:after{
    top:6px!important;
    right:6px!important;
    width:18px!important;
    height:18px!important;
    font-size:10px!important;
  }
}

@media(max-width:380px){
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-options{
    gap:7px!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option{
    min-height:92px!important;
    padding:9px 6px!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="3"] .vsf-option > strong{
    font-size:12px!important;
  }
}

/* =========================================================
   v1.8.36 — desktop guided-card row integrity.
   Desktop/fine-pointer only. Mobile rules from v1.8.35 remain authoritative.
   Wider cards are preferred over shrinking long labels into a single row.
   ========================================================= */
@media (min-width:761px) and (hover:hover) and (pointer:fine){
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options{
    grid-template-columns:repeat(2,minmax(170px,1fr))!important;
    max-width:620px!important;
    margin-inline:auto!important;
    gap:10px 12px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
    grid-template-columns:repeat(3,minmax(150px,1fr))!important;
    max-width:690px!important;
    margin-inline:auto!important;
    gap:10px 12px!important;
  }

  /* 3 + 2 centered. Six virtual columns let the second row sit symmetrically. */
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    max-width:690px!important;
    margin-inline:auto!important;
    gap:10px 12px!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option{
    grid-column:span 2!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option:nth-child(4){
    grid-column:2 / span 2!important;
  }
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option:nth-child(5){
    grid-column:4 / span 2!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-panel .vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-panel .vsf-option,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-panel .vsf-option{
    min-height:78px!important;
    height:auto!important;
    padding:10px 13px!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option > strong{
    font-size:clamp(11.8px,.9vw,13px)!important;
    line-height:1.2!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option.is-label-long > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option.is-label-long > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option.is-label-long > strong{
    font-size:clamp(11.3px,.86vw,12.5px)!important;
  }

  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-option.is-label-very-long > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option.is-label-very-long > strong,
  .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-option.is-label-very-long > strong{
    font-size:clamp(10.9px,.82vw,12px)!important;
    line-height:1.18!important;
  }
}

/* A heavily scaled Windows desktop can report <=760 CSS px. It is still a
   desktop only when the runtime explicitly classified it as vsf-scaled-desktop.
   Real phones never receive this class, so v1.8.35 mobile geometry is untouched. */
@media (max-width:760px){
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="4"] .vsf-options,
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-options,
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="6"] .vsf-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:100%!important;
    margin-inline:auto!important;
    gap:7px!important;
  }

  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option{
    grid-column:auto!important;
    width:100%!important;
    justify-self:stretch!important;
  }
  html.vsf-scaled-desktop .vsf-app[data-mode="guided"].is-guided-question:not(.vsf-final-overlay)[data-vsf-option-count="5"] .vsf-option:nth-child(5){
    grid-column:1 / -1!important;
    width:calc(50% - 3.5px)!important;
    justify-self:center!important;
  }
}
