/* [vo_home] landing page. Every rule is scoped under .voh-page; the Elementor kit styles h1, a, p, img
   at (0,1,1), so rules here are written to outrank that. */
.voh-page{
  --yellow:#FDC843; --yellow-soft:#FFD96A;
  --ink:#1C1C1C; --ink-2:#282828; --ink-60:#4A4A4A; --paper:#FFFFFF;
  --line:rgba(28,28,28,.14);
  --font:'Inter',system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:'Inter Tight',var(--font);
  --r-m:16px;
  --gutter:clamp(20px,4.2vw,64px);
  --col:1200px;
}
html:has(.voh-page){-webkit-text-size-adjust:100%}
body:has(.voh-page){margin:0;padding:0;background:#FDC843}
.voh-page.voh-page,.voh-page.voh-page *{box-sizing:border-box;margin:0;padding:0;letter-spacing:normal;word-spacing:normal;text-transform:none}
.voh-page.voh-page a{color:inherit;text-decoration:none}
.voh-page.voh-page a:hover,.voh-page.voh-page a:focus{color:inherit}
.voh-page.voh-page img,.voh-page.voh-page svg{display:block;max-width:none}

/* page frame */
.voh-page{font-family:var(--font);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;
  min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;
  background:radial-gradient(70% 60% at 78% 62%,var(--yellow-soft) 0%,rgba(255,217,106,0) 60%),var(--yellow)}

/* header */
.voh-page .voh-top{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px var(--gutter);max-width:calc(var(--col) + 2*var(--gutter));width:100%;margin:0 auto}
.voh-page .voh-brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.01em}
.voh-page .voh-brand img{width:38px;height:38px}
.voh-page .voh-brand span{letter-spacing:inherit}
.voh-page .voh-brand span b{font-weight:700}
.voh-page .voh-nav{display:flex;gap:28px;font-size:14px;font-weight:500;color:var(--ink-2)}
.voh-page .voh-nav a{padding:6px 0;border-bottom:1.5px solid transparent}
.voh-page .voh-nav a:hover{border-color:var(--ink)}
.voh-page a.voh-cta-small{display:none;background:var(--ink);color:var(--yellow);font-weight:600;font-size:14px;padding:10px 16px;border-radius:999px}
.voh-page a.voh-cta-small:hover{color:var(--yellow)}

/* hero */
.voh-page .voh-hero{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);align-items:center;gap:clamp(24px,4vw,64px);
  padding:0 var(--gutter);max-width:calc(var(--col) + 2*var(--gutter));width:100%;margin:0 auto;min-height:0}
.voh-page .voh-copy{display:flex;flex-direction:column;gap:clamp(14px,2.4vh,26px);max-width:560px}
.voh-page .voh-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.voh-page .voh-eyebrow::before{content:"";width:28px;height:2px;background:var(--ink)}
.voh-page .voh-h1{font-family:var(--display);font-weight:700;font-size:clamp(40px,4.6vw,66px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;color:var(--ink)}
.voh-page .voh-lede{font-size:clamp(15px,1.15vw,17px);line-height:1.6;color:var(--ink-60);max-width:48ch}

/* download block */
/* --qh sizes the QR; --bw is the shared badge width, about four fifths of a QR-card-tall stack */
.voh-page{--qh:clamp(108px,15vh,140px);--bw:calc((var(--qh) + 16px) / 0.6332 * .78)}
.voh-page .voh-get{display:flex;align-items:center;gap:18px;margin-top:4px}
.voh-page .voh-qr{background:var(--paper);border-radius:var(--r-m);padding:14px;display:flex;align-items:center;
  box-shadow:0 1px 0 rgba(28,28,28,.06),0 12px 32px -16px rgba(28,28,28,.35)}
.voh-page .voh-qr img{width:var(--qh);height:auto;border-radius:6px}
.voh-page .voh-stores{display:flex;flex-direction:column;justify-content:center;gap:10px}
.voh-page .voh-stores a{display:block;border-radius:8px;transition:transform .15s ease}
.voh-page .voh-stores a:hover{transform:translateY(-1px)}
.voh-page .voh-stores img{display:block;width:var(--bw);height:auto}
.voh-page .voh-btn-get{display:none}

/* stats row */
.voh-page .voh-stats{list-style:none;display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:12px 16px;
  margin-top:clamp(2px,1vh,10px);padding-top:clamp(14px,2vh,20px);border-top:1px solid var(--line)}
.voh-page .voh-stats li{list-style:none;display:flex;align-items:center;gap:12px;min-width:0}
.voh-page .voh-stats svg{width:28px;height:28px;flex:none;stroke:var(--ink);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.voh-page .voh-stats b{display:block;font-family:var(--display);font-size:19px;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.voh-page .voh-stats span{display:block;font-size:12px;font-weight:500;line-height:1.25;color:var(--ink-60);margin-top:2px}

/* stage: two drawn phones over dashed orbit rings */
.voh-page .voh-stage{position:relative;height:100%;min-height:0}
.voh-page .voh-device{position:absolute;left:50%;top:50%;height:min(96%,720px);aspect-ratio:1;transform:translate(-50%,-50%)}
.voh-page .voh-rings{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.voh-page .voh-phone{position:absolute;filter:drop-shadow(0 22px 28px rgba(28,28,28,.3))}
.voh-page .voh-phone svg{width:100%;height:auto}
.voh-page .voh-phone-front{left:39%;top:61%;width:26.9%;z-index:2;transform:translate(-50%,-50%) rotate(-16deg)}
.voh-page .voh-phone-back{left:60.5%;top:38%;width:25%;z-index:1;transform:translate(-50%,-50%) rotate(14deg)}
.voh-page .voh-phone-front.voh-float{animation:voh-bob-front 7s ease-in-out infinite}
.voh-page .voh-phone-back.voh-float{animation:voh-bob-back 7s ease-in-out -3.5s infinite}
@keyframes voh-bob-front{0%,100%{transform:translate(-50%,-50%) rotate(-16deg)}50%{transform:translate(-50%,calc(-50% - 10px)) rotate(-16deg)}}
@keyframes voh-bob-back{0%,100%{transform:translate(-50%,-50%) rotate(14deg)}50%{transform:translate(-50%,calc(-50% - 10px)) rotate(14deg)}}
.voh-page .voh-screen image{transform-box:fill-box;transform-origin:center}
.voh-page .voh-phone-front .voh-screen image{opacity:0;transform:scale(1.035);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.voh-page .voh-phone-front .voh-screen image.voh-on{opacity:1;transform:scale(1)}
.voh-page .voh-phone-front .voh-screen image.voh-off{opacity:0;transform:scale(1)}
.voh-page .voh-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:6px;padding:0 0 10px;z-index:3;pointer-events:none}
.voh-page .voh-caption i{width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:.22;transition:opacity .4s,width .4s}
.voh-page .voh-caption i.voh-on{opacity:.9;width:18px;border-radius:3px}

/* footer */
.voh-page .voh-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:14px var(--gutter) 16px;max-width:calc(var(--col) + 2*var(--gutter));width:100%;margin:0 auto;
  font-size:13px;color:var(--ink-2);border-top:1px solid var(--line)}
.voh-page .voh-foot .voh-contact{display:flex;gap:22px;font-weight:500}
.voh-page .voh-foot .voh-contact a{display:flex;align-items:center;gap:7px}
.voh-page .voh-foot .voh-contact svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.voh-page .voh-foot .voh-legal{display:flex;gap:18px;color:var(--ink-60)}
.voh-page .voh-foot .voh-legal a:hover{color:var(--ink)}
.voh-page .voh-foot .voh-by{color:var(--ink-60)}
.voh-page .voh-foot .voh-by a{font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}

/* desktop: one screen, no scroll */
@media (min-width:1024px){
  html:has(.voh-page),body:has(.voh-page){height:100%;overflow:hidden}
  .voh-page{height:100dvh}
  .voh-page .voh-hero{padding-bottom:0}
  .voh-page .voh-stage{align-self:stretch}
}
/* short desktops (1366x768): tighter vertical rhythm */
@media (min-width:1024px) and (max-height:820px){
  .voh-page .voh-top{padding-top:14px;padding-bottom:12px}
  .voh-page .voh-copy{gap:14px}
  .voh-page .voh-h1{font-size:clamp(38px,4.1vw,54px)}
  .voh-page .voh-lede{font-size:15px}
  .voh-page{--qh:108px}
  .voh-page .voh-stats{padding-top:12px}
  .voh-page .voh-stats b{font-size:17px}
  .voh-page .voh-foot{padding-top:11px;padding-bottom:12px}
}

/* tablet / phone: stacked */
@media (max-width:1023px){
  body:has(.voh-page){overflow-x:hidden}
  .voh-page{grid-template-rows:auto auto auto}
  .voh-page .voh-nav{display:none}
  .voh-page a.voh-cta-small{display:inline-block}
  .voh-page .voh-hero{grid-template-columns:1fr;gap:28px;padding-top:12px}
  .voh-page .voh-copy{max-width:600px;gap:clamp(14px,2vh,22px)}
  .voh-page .voh-h1{font-size:clamp(36px,9vw,56px)}
  .voh-page .voh-get{display:none}
  .voh-page a.voh-btn-get{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--yellow);
    font-weight:600;font-size:16px;padding:16px 22px;border-radius:14px;margin-top:6px}
  .voh-page a.voh-btn-get:hover{color:var(--yellow)}
  .voh-page .voh-btn-get svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .voh-page .voh-stores-m{display:flex;gap:12px;margin-top:6px}
  .voh-page .voh-stores-m img{height:40px;width:auto}
  .voh-page .voh-stats{grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:6px}
  .voh-page .voh-stage{height:min(112vw,660px);margin:0 calc(-1*var(--gutter));overflow:hidden}
  .voh-page .voh-device{height:100%}
  .voh-page .voh-foot{flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:28px}
  .voh-page .voh-foot .voh-contact{flex-direction:column;gap:10px}
  .voh-page .voh-foot .voh-legal{flex-wrap:wrap;gap:10px 16px}
}
@media (min-width:1024px){.voh-page .voh-stores-m{display:none}}
/* Desktop: stats as 2x2, columns lined up with the QR card and the badges above */
@media (min-width:1024px){
  .voh-page .voh-stats{grid-template-columns:calc(var(--qh) + 28px) max(var(--bw),150px);justify-content:start;column-gap:18px;row-gap:14px;width:max-content}
}

@media (prefers-reduced-motion:reduce){
  .voh-page .voh-phone.voh-float{animation:none}
  .voh-page .voh-phone-front .voh-screen image{transition:opacity .35s linear;transform:none}
  .voh-page .voh-stores a{transition:none}
}
