html{line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}
.vs-hero{position:relative;isolation:isolate;overflow:hidden;height:880px;min-height:100svh;color:oklch(.22 .03 45);font-family:'DM Sans',sans-serif;background:linear-gradient(180deg,oklch(.95 .025 255) 0,oklch(.96 .025 330) 194px,oklch(.95 .04 40) 387px,oklch(.9 .08 58) 510px,oklch(.83 .13 55) 634px,oklch(.77 .16 48) 706px,oklch(.7 .16 40) 708px,oklch(.64 .15 34) 880px)}
.vs-hero *{box-sizing:border-box}.vs-hero a{color:inherit;text-decoration:none;transition:opacity .2s}.vs-hero a:hover{opacity:.8}.vs-hero :focus-visible{outline:3px solid #352114;outline-offset:5px}.vs-inner{position:relative;max-width:1280px;height:100%;margin:auto}.vs-scenery{position:absolute;inset:0;overflow:hidden;pointer-events:none}.vs-glow{position:absolute;inset:0;background:radial-gradient(ellipse 900px 520px at 72% 80%,oklch(.95 .1 85 / .9),oklch(.86 .15 65 / .55) 30%,transparent 70%)}
.vs-rays{position:absolute;left:calc(50% + 281px);top:705px;width:2400px;height:2400px;margin:-1200px 0 0 -1200px;background:repeating-conic-gradient(from 0deg,oklch(1 .03 85 / .22) 0deg 3deg,transparent 3deg 12deg);mask:radial-gradient(circle,#000 8%,transparent 38%);animation:vs-spin 180s linear infinite}.vs-horizon{position:absolute;inset:0 0 auto;height:706px;overflow:hidden}.vs-sun{position:absolute;left:calc(50% + 101px);top:525px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,oklch(.99 .04 95),oklch(.95 .11 85) 45%,oklch(.86 .16 68));box-shadow:0 0 120px 40px oklch(.92 .13 80 / .6);animation:vs-sun-up 3.2s cubic-bezier(.2,.7,.2,1) both}.vs-reflection{position:absolute;left:0;right:0;top:706px;height:120px;background:linear-gradient(180deg,oklch(.93 .11 82 / .7),transparent 40%);mask:radial-gradient(ellipse 380px 120px at 72% 0%,#000,transparent)}
.vs-cloud{position:absolute;border-radius:50%;background:oklch(.97 .05 70 / .55);filter:blur(6px);animation:vs-drift 22s ease-in-out infinite}.cloud-one{left:40%;top:600px;width:640px;height:14px}.cloud-two{left:64%;top:640px;width:520px;height:10px;animation-duration:28s;animation-delay:-6s}.cloud-three{left:14%;top:470px;width:560px;height:18px;filter:blur(10px);animation-duration:30s;animation-delay:-12s}
.vs-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 56px}.vs-brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',Georgia,serif;font-size:1.4rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.vs-brand span{color:#2A2016}.vs-brand img{flex-shrink:0}.vs-navlinks{display:flex;gap:32px;align-items:center;font-size:15px;color:oklch(.36 .03 45)}.vs-navlinks a{padding:10px 0;white-space:nowrap}.vs-navstores{display:flex;gap:8px;margin-left:auto}.vs-pill{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px;background:oklch(.18 .02 45);color:white!important;white-space:nowrap}.vs-pill img{flex-shrink:0}.vs-light{background:oklch(1 0 0 / .8)!important;color:oklch(.18 .02 45)!important;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px oklch(.85 .04 60)}
.vs-copy{position:relative;width:656px;padding:36px 0 0 56px}.vs-copy h1{margin:0;font:400 76px/.98 'Instrument Serif',serif;letter-spacing:-1.5px;text-wrap:balance;color:inherit}.vs-copy h1 em{color:oklch(.56 .19 40);font-weight:400}.vs-downloads{display:flex;flex-direction:column;gap:14px;width:380px;margin-top:48px}.vs-store{display:flex;align-items:center;gap:18px;padding:18px 32px;border-radius:20px;background:oklch(.18 .02 45);color:white!important}.vs-store.vs-light{color:oklch(.18 .02 45)!important}.vs-store img{flex-shrink:0}.vs-store span{display:flex;flex-direction:column;line-height:1.1}.vs-store small{font-size:15px;font-weight:500;opacity:.85}.vs-store strong{font-size:30px;font-weight:600;letter-spacing:-.5px}
.vs-phones{position:absolute;right:clamp(16px,calc(100vw - 1140px),140px);top:92px;width:440px;height:520px;pointer-events:none}.vs-phones img{position:absolute;height:auto;box-shadow:0 40px 70px -30px oklch(.35 .12 35 / .6)}.vs-phone-back{left:0;top:70px;width:200px;border-radius:26px;transform:rotate(-6deg);animation:vs-float-back 6s ease-in-out infinite}.vs-phone-front{right:0;top:10px;width:240px;border-radius:30px;animation:vs-float 6s ease-in-out infinite}
.vs-reviews{position:absolute;left:0;right:0;bottom:36px;z-index:2}.vs-review-window{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent)}.vs-review-track{display:flex;width:max-content;animation:vs-marquee 165s linear infinite}.vs-review-group{display:grid;grid-auto-flow:column;grid-auto-columns:max(380px,calc((100vw - 54px) / 3));gap:18px;flex:none;width:max-content;padding-right:18px}.vs-review{display:flex;flex-direction:column;gap:6px;height:172px;background:oklch(1 .005 70 / .86);backdrop-filter:blur(16px);border-radius:22px;padding:14px 22px;box-shadow:0 20px 40px -22px oklch(.4 .12 40 / .55),inset 0 0 0 1px oklch(1 0 0 / .6)}.vs-review-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.vs-stars{font-size:14px;color:oklch(.55 .19 42);letter-spacing:2px}.vs-review-author{font-size:12px;color:oklch(.42 .03 45)}.vs-review-title{font-size:15px;font-weight:600;line-height:1.2}.vs-review-quote{font:400 19px/1.22 'Instrument Serif',serif;display:block;flex-shrink:0;text-wrap:pretty;margin:0}.vs-review-author{margin-top:0;font-size:13px;white-space:nowrap}.vs-review-window:hover .vs-review-track,.vs-review-window:focus-within .vs-review-track{animation-play-state:paused!important}
@keyframes vs-spin{to{transform:rotate(360deg)}}@keyframes vs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes vs-float-back{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-12px) rotate(-6deg)}}@keyframes vs-sun-up{from{transform:translateY(160px)}to{transform:translateY(0)}}@keyframes vs-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(40px)}}@keyframes vs-marquee{to{transform:translateX(-50%)}}
@media(min-width:760px) and (max-width:1100px){.vs-nav{padding:24px 32px;gap:16px}.vs-navlinks{gap:20px;margin-left:auto}.vs-navstores{display:none}.vs-copy{width:54%;padding:44px 0 0 32px}.vs-copy h1{font-size:clamp(58px,6.2vw,70px)}.vs-downloads{width:min(340px,100%)}.vs-phones{right:15px;top:120px;width:36%;height:500px}.vs-phone-back{width:55%}.vs-phone-front{width:63%}}
/* Mobile layout: one clear header row, paired downloads, and compact artwork. */
@media(max-width:759px){
  .vs-hero{
    --mobile-gutter:clamp(16px,5vw,28px);
    --mobile-phone-width:clamp(230px,min(76vw,34svh),300px);
    --mobile-bottom:max(20px,env(safe-area-inset-bottom));
    --mobile-horizon-bottom:calc(196px + 16px + 16px + var(--mobile-bottom));
    height:auto;min-height:100svh;padding-bottom:var(--mobile-bottom);
    background:linear-gradient(180deg,oklch(.95 .025 255),oklch(.96 .025 330) 22%,oklch(.95 .04 40) 44%,oklch(.9 .08 58) 65%,oklch(.83 .13 55) 82%,oklch(.7 .16 40) 100%);
  }
  .vs-inner{height:auto}
  .vs-nav{padding:12px var(--mobile-gutter);gap:16px;flex-wrap:nowrap}
  .vs-brand{min-height:44px}
  .vs-navstores{display:none}
  .vs-navlinks{order:0;width:auto;margin-left:auto;gap:0;font-size:14px}
  .vs-navlinks a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;padding:10px 8px}
  .vs-copy{width:100%;padding:14px var(--mobile-gutter) 0;text-align:center}
  .vs-copy h1{max-width:460px;margin:auto;font-size:clamp(42px,10.8vw,56px);line-height:1.02;letter-spacing:-1px}
  .vs-downloads{flex-direction:row;width:min(420px,100%);margin:22px auto 0;gap:10px;text-align:left}
  .vs-store{flex:1;min-width:0;min-height:62px;justify-content:center;padding:11px 12px;gap:8px;border-radius:16px}
  .vs-store img{width:24px;height:24px}
  .vs-store span{min-width:0}
  .vs-store strong{font-size:clamp(17px,4.6vw,20px);letter-spacing:-.3px;white-space:nowrap}
  .vs-store small{font-size:10.5px;line-height:1.25;white-space:nowrap}
  .vs-phones{position:relative;top:auto;right:auto;width:var(--mobile-phone-width);height:calc(var(--mobile-phone-width)*1.27);margin:24px auto 0}
  .vs-phones img{box-shadow:0 25px 45px -20px oklch(.35 .12 35 / .55)}
  .vs-phone-back{width:49%;top:calc(var(--mobile-phone-width)*.14);left:0;border-radius:13% / 6.2%}
  .vs-phone-front{width:58%;top:0;border-radius:12.5% / 6%}
  .vs-reviews{position:relative;bottom:auto;margin-top:16px}
  .vs-review-window{overflow:hidden;mask:none;scroll-snap-type:none;scroll-padding-inline:var(--mobile-gutter);overscroll-behavior-x:contain;padding:4px var(--mobile-gutter) 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .vs-review-window::-webkit-scrollbar{display:none}
  .vs-review-group{width:max-content;grid-auto-columns:min(340px,calc(100vw - var(--mobile-gutter)*2 - 24px));padding:0 12px 0 0;gap:12px}
  .vs-review{scroll-snap-align:start;height:196px;padding:14px 18px}
  .vs-review-quote{font-size:19px}
  .vs-glow{background:radial-gradient(ellipse 460px 360px at 50% calc(100% - var(--mobile-horizon-bottom)),oklch(.95 .1 85 / .9),oklch(.86 .15 65 / .5) 30%,transparent 70%)}
  .vs-rays{top:auto;bottom:var(--mobile-horizon-bottom);left:50%;width:1400px;height:1400px;margin:0 0 -700px -700px}
  .vs-horizon{inset:0 0 var(--mobile-horizon-bottom);height:auto}
  .vs-sun{top:auto;bottom:-130px;left:calc(50% - 130px);width:260px;height:260px}
  .vs-reflection{top:auto;bottom:calc(var(--mobile-horizon-bottom) - 80px);height:80px;mask:radial-gradient(ellipse 240px 80px at 50% 0%,#000,transparent)}
  .cloud-one{top:auto;bottom:calc(var(--mobile-horizon-bottom) + 44px);left:-5%;width:85%;height:10px}
  .cloud-two{top:auto;bottom:calc(var(--mobile-horizon-bottom) + 85px);left:40%;width:75%}
  .cloud-three{top:auto;bottom:calc(var(--mobile-horizon-bottom) + 210px);left:-15%;width:80%}
}
@media(max-width:359px){
  .vs-copy h1{font-size:40px}
  .vs-store{padding:10px;gap:6px}
  .vs-store img{width:22px;height:22px}
  .vs-store strong{font-size:16px}
  .vs-store small{font-size:9px}
}
/* Keep the full desktop composition inside shorter browser windows. */
@media(min-width:760px){
  .vs-hero{--scene-horizon:calc(max(620px,100svh)*.802);height:100svh;min-height:620px;background:linear-gradient(180deg,oklch(.95 .025 255) 0%,oklch(.96 .025 330) 22%,oklch(.95 .04 40) 44%,oklch(.9 .08 58) 58%,oklch(.83 .13 55) 72%,oklch(.77 .16 48) 80.2%,oklch(.7 .16 40) 80.4%,oklch(.64 .15 34) 100%)}
  .vs-reviews{bottom:20px}
  .vs-phones{--phone-height:clamp(300px,calc(100svh - 320px),505px);top:92px;width:calc(var(--phone-height)*.872);height:calc(var(--phone-height) + 16px)}
  .vs-phone-front{width:54.545%}
  .vs-phone-back{width:45.455%;top:calc(var(--phone-height)*.139)}
  .vs-rays{top:var(--scene-horizon)}
  .vs-horizon{height:var(--scene-horizon)}
  .vs-sun{top:calc(var(--scene-horizon) - 180px)}
  .vs-reflection{top:var(--scene-horizon)}
  .cloud-one{top:calc(var(--scene-horizon) - 106px)}
  .cloud-two{top:calc(var(--scene-horizon) - 66px)}
  .cloud-three{top:calc(var(--scene-horizon) - 236px)}
}
@media(min-width:760px) and (max-width:1100px){
  .vs-phones{width:min(36%,calc(var(--phone-height)*.755))}
  .vs-phone-back{width:55%}
  .vs-phone-front{width:63%}
}
@media(min-width:760px) and (max-height:800px){
  .vs-nav{padding-top:18px;padding-bottom:18px}
  .vs-copy{padding-top:16px}
  .vs-copy h1{font-size:64px}
  .vs-downloads{margin-top:24px;gap:10px}
  .vs-store{padding:12px 28px}
  .vs-store img{width:38px;height:38px}
  .vs-store strong{font-size:28px}
  .vs-store small{font-size:14px}
}
@media(min-width:760px) and (max-width:1100px) and (max-height:800px){
  .vs-copy h1{font-size:clamp(44px,5.8vw,64px)}
}
@media(prefers-reduced-motion:reduce){.vs-hero *{animation:none!important;scroll-behavior:auto!important}.vs-review-window{overflow-x:auto;mask:none;padding:4px 24px 16px}.vs-review-group{width:max-content;grid-auto-columns:min(380px,calc(100vw - 48px));padding-right:0}.vs-review-group[aria-hidden=true]{display:none}}


@media(max-width:759px) and (prefers-reduced-motion:reduce){
  .vs-review-window{padding:4px var(--mobile-gutter) 12px;scroll-snap-type:x mandatory}
  .vs-review-group{grid-auto-columns:min(340px,calc(100vw - var(--mobile-gutter)*2 - 24px))}
}

/* Touch browsers can retain hover/focus after a tap; pause only while pressed or keyboard-focused. */
@media(max-width:759px) and (hover:none){
  .vs-review-window:hover .vs-review-track,.vs-review-window:focus-within .vs-review-track{animation-play-state:running!important}
  .vs-review-window:active .vs-review-track,.vs-review-window:focus-visible .vs-review-track{animation-play-state:paused!important}
}

.vs-review-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:72px;height:72px;padding:0;border:0;border-radius:50%;background:transparent;color:#65432e;cursor:pointer}
.vs-review-arrow[hidden]{display:none}
.vs-review-arrow span{display:grid;place-items:center;width:56px;height:56px;border:1px solid #b99b7959;border-radius:50%;background:rgb(255 255 255 / .35);box-shadow:0 2px 8px #6846230d;transition:background .15s,box-shadow .15s}
.vs-review-arrow:active span,.vs-review-arrow:focus-visible span{background:#fff;box-shadow:0 2px 10px #68462333}
@media(hover:hover){.vs-review-arrow:hover span{background:#fff;box-shadow:0 2px 10px #68462333}}
/* Center on the cards, accounting for the review window's vertical padding. */
@media(min-width:760px) and (prefers-reduced-motion:reduce){.vs-review-arrow{top:calc(50% - 6px)}}
@media(max-width:759px){.vs-review-arrow{top:calc(50% - 4px)}}
.vs-review-prev{left:0}
.vs-review-next{right:0}
.vs-hero .vs-review-arrow:focus-visible{outline-offset:-3px}
.vs-reviews.is-navigating .vs-review-track{animation-play-state:paused!important}

/* Reserve the longest benefit's width so the headline stays still during each swap. */
.vs-headline-benefit{white-space:nowrap}
.vs-word-rotator{display:inline-grid;vertical-align:baseline;text-align:left}
.vs-rotating-word{grid-area:1 / 1;white-space:nowrap;opacity:0;transform:translateY(.28em);filter:blur(3px);pointer-events:none;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1)}
.vs-rotating-word.is-current{opacity:1;transform:translateY(0);filter:blur(0)}
.vs-rotating-word.is-leaving{transform:translateY(-.28em)}
.vs-word-period{color:oklch(.22 .03 45);font-style:normal}
@media(prefers-reduced-motion:reduce){.vs-rotating-word{transition:none;transform:none;filter:none}}
