/* Homepage V2 - loads only on page-homepage-v2.php */
.esv2{--b:#1B4DFF;--ink:#0B1220;--gray:#5A6474;--line:#E3E6EC;--soft:#EEF3FF;font-family:'Montserrat',system-ui,sans-serif;overflow-x:clip;}
.esv2 *,.esv2 *::before,.esv2 *::after{box-sizing:border-box;}
.esv2 img{max-width:100%;height:auto;display:block;}
.esv2 a:focus-visible,.esv2 button:focus-visible{outline:3px solid var(--b);outline-offset:3px;border-radius:8px;}
.esv2-ticker{background:#000;overflow:hidden;padding:11px 0;}
.esv2-ticker__track{display:flex;width:max-content;animation:esv2scroll 28s linear infinite;}
.esv2-ticker__item{display:flex;align-items:center;gap:9px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;white-space:nowrap;padding:0 30px;}
.esv2-ticker__item svg{width:17px;height:17px;flex:none;color:var(--b);}
@keyframes esv2scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Faster ticker on phones - less text is visible at once, so a quicker
   scroll reads better on small screens. */
@media (max-width:768px){.esv2-ticker__track{animation-duration:22s;}}
.esv2-hero{position:relative;padding:74px 24px 84px;background:linear-gradient(180deg,#DCE8FF 0%,#E9F0FF 42%,#FFFFFF 100%);}
.esv2-hero__inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.esv2-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#1B4DFF 1px,transparent 1px);background-size:24px 24px;opacity:.09;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,0) 90%);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,0) 90%);}
.esv2 .esv2-h1{font-family:'Bebas Neue',sans-serif!important;font-weight:400!important;font-size:76px!important;line-height:.95!important;letter-spacing:.5px;color:var(--ink)!important;text-transform:none!important;margin:0 0 20px;}
.esv2 .esv2-h1 .esv2-blue{color:var(--b)!important;}
.esv2-sub{font-size:17px;line-height:1.65;color:var(--gray);max-width:30rem;margin:0 0 26px;}
.esv2-btnrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.esv2-btnrow--second{margin-top:12px;}
.esv2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;line-height:1;padding:16px 30px;border-radius:8px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.esv2-btn--primary{background:var(--b);color:#fff;box-shadow:0 8px 20px rgba(27,77,255,.28);}
.esv2-btn--primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(27,77,255,.34);}
.esv2-btn--ghost{background:#fff;border-color:var(--line);color:var(--ink);}
.esv2-btn--ghost:hover{color:var(--ink);border-color:#c8d2e6;transform:translateY(-1px);}
.esv2-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#22C55E;flex:none;box-shadow:0 0 7px rgba(34,197,94,.9);}
.esv2-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22C55E;animation:esv2pulse 2s ease-out infinite;}
@keyframes esv2pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
.esv2-reveal{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink);}
.esv2-reveal[hidden]{display:none;}
.esv2-copy{background:none;border:0;color:var(--b);font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px;}
.esv2-hero__art{display:flex;align-items:flex-end;justify-content:center;gap:8px;}
.esv2-vial{animation:esv2float 6s ease-in-out infinite;}
.esv2-vial img{filter:drop-shadow(0 26px 20px rgba(11,18,32,.24));}
.esv2-vial--left{width:150px;animation-delay:0s;}
.esv2-vial--center{width:215px;margin-bottom:48px;animation-delay:.8s;}
.esv2-vial--right{width:150px;animation-delay:1.6s;}
@keyframes esv2float{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
.esv2-featwrap{padding:0 24px 48px;background:#fff;}
.esv2-featurebar{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:0 6px 26px rgba(11,18,32,.06);}
.esv2-feat{display:flex;align-items:flex-start;gap:12px;}
.esv2-feat__tile{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--soft);color:var(--b);}
.esv2-feat__tile svg{width:20px;height:20px;}
.esv2-feat__text{display:flex;flex-direction:column;gap:3px;}
.esv2-feat__text strong{font-size:14px;font-weight:700;color:var(--ink);line-height:1.2;}
.esv2-feat__text small{font-size:12.5px;color:var(--gray);line-height:1.35;}
@media (max-width:1024px){
.esv2 .esv2-h1{font-size:58px!important;}
.esv2-hero__inner{gap:32px;}
.esv2-featurebar{grid-template-columns:repeat(2,1fr);gap:20px;}
}
@media (max-width:767px){
.esv2-hero{padding:34px 18px 44px;text-align:center;}
.esv2-hero__inner{grid-template-columns:1fr;gap:26px;}
.esv2-hero__copy{order:2;display:flex;flex-direction:column;align-items:center;}
.esv2-hero__art{order:1;gap:4px;}
.esv2 .esv2-h1{font-size:40px!important;margin-bottom:16px;}
.esv2-sub{max-width:100%;}
.esv2-btnrow{width:100%;flex-direction:column;align-items:stretch;gap:10px;}
.esv2-btnrow--second{margin-top:10px;}
.esv2-btn{width:100%;}
.esv2-reveal{justify-content:center;}
.esv2-vial--left,.esv2-vial--right{width:88px;}
.esv2-vial--center{width:126px;margin-bottom:26px;}
.esv2-featwrap{padding:0 18px 36px;}
.esv2-featurebar{grid-template-columns:1fr;gap:0;padding:6px 18px;}
.esv2-feat{padding:16px 0;border-bottom:1px solid var(--line);}
.esv2-feat:last-child{border-bottom:0;}
}
@media (prefers-reduced-motion:reduce){
.esv2-ticker__track,.esv2-vial,.esv2-dot::after{animation:none!important;}
.esv2-btn{transition:none;}
}

/* ---------- Popular Picks ---------- */
.esv2-picks{background:#fff;padding:8px 24px 64px;}
.esv2-picks__inner{max-width:1240px;margin:0 auto;}
.esv2-picks__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;}
.esv2 .esv2-h2{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:44px;line-height:1;letter-spacing:.5px;color:var(--ink);text-transform:none;margin:0 0 6px;}
.esv2-subline{font-size:15px;color:var(--gray);margin:0;}
.esv2-viewall{padding:12px 22px;font-size:14px;flex:none;}
.esv2-carousel{position:relative;}
.esv2-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none;-ms-overflow-style:none;}
.esv2-track::-webkit-scrollbar{display:none;}
.esv2-track.is-drag{scroll-behavior:auto;cursor:grabbing;scroll-snap-type:none;}
.esv2-track.is-drag *{user-select:none;}
.esv2-card{flex:0 0 calc((100% - 3*18px)/4.4);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.esv2-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,18,32,.10);}
.esv2-card__media{position:relative;background:#EEF3FF;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.esv2-card__media a{display:block;width:100%;height:100%;}
.esv2-card__media img{width:100%;height:100%;object-fit:contain;padding:14px;}
.esv2-card__noimg{display:block;width:100%;height:100%;}
.esv2-card__body{display:flex;flex-direction:column;gap:5px;padding:14px 14px 16px;flex:1;}
.esv2-card__name{font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.3;}
.esv2-card__name:hover{color:var(--b);}
.esv2-card__price{font-size:16px;font-weight:700;color:var(--ink);}
.esv2-card__price del{opacity:.5;font-weight:500;margin-right:5px;}
.esv2-card__price ins{text-decoration:none;}
.esv2-card__cta{margin-top:auto;width:100%;padding:12px 16px;font-size:14px;box-shadow:none;}
.esv2-card__cta:hover{transform:none;box-shadow:0 8px 18px rgba(27,77,255,.26);}
.esv2-card__cta.added{display:none;}
.esv2-card__body .added_to_cart{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:var(--b);text-decoration:none;}
.esv2-arrow{position:absolute;top:38%;z-index:3;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(11,18,32,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:opacity .15s ease,transform .15s ease;}
.esv2-arrow svg{width:19px;height:19px;}
.esv2-arrow:hover{transform:scale(1.06);}
.esv2-arrow:disabled{opacity:0;pointer-events:none;}
.esv2-arrow--prev{left:-18px;}
.esv2-arrow--next{right:-18px;}
@media (max-width:1200px){
.esv2-arrow--prev{left:-6px;}
.esv2-arrow--next{right:-6px;}
}
@media (max-width:1024px){
.esv2-card{flex:0 0 calc((100% - 2*18px)/2.6);}
.esv2 .esv2-h2{font-size:38px;}
}
@media (max-width:767px){
.esv2-picks{padding:4px 0 44px;}
.esv2-picks__inner{max-width:100%;}
.esv2-picks__head{flex-direction:column;align-items:flex-start;gap:12px;padding:0 18px;margin-bottom:18px;}
.esv2 .esv2-h2{font-size:34px;}
.esv2-viewall{align-self:stretch;text-align:center;}
.esv2-arrow{display:none;}
.esv2-track{gap:14px;padding:4px 18px 12px;}
.esv2-card{flex:0 0 76%;}
}
@media (prefers-reduced-motion:reduce){
.esv2-track{scroll-behavior:auto;}
}

/* ---------- mobile hero revisions ---------- */
@media (max-width:767px){
  .esv2-hero{padding:18px 18px 34px;}
  .esv2-hero__inner{display:flex;flex-direction:column;gap:0;}
  .esv2-hero__copy{display:contents;}
  .esv2 .esv2-h1{order:1;margin:0 0 12px;}
  .esv2-sub{order:2;margin:0 0 18px;font-size:15.5px;line-height:1.6;}
  .esv2-hero__art{order:3;gap:2px;margin:0 0 22px;align-items:flex-end;}
  .esv2-btnrow{order:4;}
  .esv2-btnrow--second{order:5;}
  .esv2-vial--left,.esv2-vial--right{width:58px;}
  .esv2-vial--center{width:82px;margin-bottom:16px;}
}
@media (max-width:767px){
  .esv2-btnrow{flex-direction:row;flex-wrap:nowrap;width:100%;gap:10px;align-items:stretch;}
  .esv2-btnrow .esv2-btn{width:auto;flex:1 1 0;min-width:0;padding:15px 8px;font-size:14.5px;white-space:nowrap;}
  .esv2-btnrow--second{flex-direction:column;align-items:center;gap:8px;margin-top:10px;}
  .esv2-btnrow--second .esv2-btn{flex:0 0 auto;width:auto;min-width:190px;padding:15px 26px;}
  .esv2-btnrow--second .esv2-reveal{justify-content:center;}
}

/* ---------- mobile hero: breathing room + bigger headline ---------- */
@media (max-width:767px){
  .esv2-hero{padding-top:40px;}
  .esv2 .esv2-h1{font-size:53px!important;line-height:.9!important;letter-spacing:.6px;margin:0 0 14px;}
  .esv2-sub{font-size:15px;line-height:1.6;margin:0 0 20px;}
}
@media (max-width:380px){
  .esv2 .esv2-h1{font-size:46px!important;}
}

/* ---------- display type: Montserrat ExtraBold ---------- */
.esv2 .esv2-h1{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:68px!important;line-height:.98!important;letter-spacing:-.022em!important;text-transform:none!important;}
.esv2 .esv2-h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:38px;line-height:1.05;letter-spacing:-.02em;}
@media (max-width:1024px){
  .esv2 .esv2-h1{font-size:52px!important;}
  .esv2 .esv2-h2{font-size:32px;}
}
@media (max-width:767px){
  .esv2 .esv2-h1{font-size:39px!important;line-height:1.02!important;margin:0 0 14px;}
  .esv2 .esv2-h2{font-size:28px;}
}
@media (max-width:380px){
  .esv2 .esv2-h1{font-size:34px!important;}
}

/* ---------- mobile: View all below carousel, smaller cards ---------- */
@media (max-width:767px){
  .esv2-picks__inner{display:flex;flex-direction:column;}
  .esv2-picks__head{display:contents;}
  .esv2-picks__head > div{order:1;padding:0 18px;margin-bottom:14px;}
  .esv2-carousel{order:2;}
  .esv2-viewall{order:3;align-self:center;width:auto;max-width:46%;margin-top:16px;padding:12px 26px;font-size:14px;text-align:center;}
  .esv2-card{flex:0 0 58%;}
  .esv2-card__body{padding:12px 12px 14px;gap:4px;}
  .esv2-card__name{font-size:13.5px;}
  .esv2-card__price{font-size:15px;}
  .esv2-card__cta{padding:11px 12px;font-size:13.5px;}
  .esv2-track{gap:12px;}
}

/* ---------- mobile: card size nudge ---------- */
@media (max-width:767px){
  .esv2-card{flex:0 0 64%;}
  .esv2-card__name{font-size:14px;}
  .esv2-card__price{font-size:15.5px;margin-bottom:6px;}
  .esv2-card__cta{padding:12px 12px;font-size:14px;}
}

/* ---------- real vial photography: resized for 1:2.2 aspect ---------- */
.esv2-vial img{filter:drop-shadow(0 20px 18px rgba(11,18,32,.20));}
.esv2-vial--left{width:122px;}
.esv2-vial--center{width:168px;margin-bottom:42px;}
.esv2-vial--right{width:122px;}
.esv2-hero__art{gap:14px;padding-right:120px;}
@media (max-width:1024px){
  .esv2-vial--left,.esv2-vial--right{width:104px;}
  .esv2-vial--center{width:142px;margin-bottom:34px;}
}
@media (max-width:767px){
  .esv2-hero__art{gap:8px;margin:0 0 22px;}
  .esv2-vial--left,.esv2-vial--right{width:68px;}
  .esv2-vial--center{width:94px;margin-bottom:18px;}
  .esv2-vial img{filter:drop-shadow(0 12px 12px rgba(11,18,32,.18));}
}

/* ---------- vial size balance ---------- */
.esv2-vial--left,.esv2-vial--right{width:136px;}
.esv2-vial--center{width:157px;margin-bottom:38px;}
@media (max-width:1024px){
  .esv2-vial--left,.esv2-vial--right{width:116px;}
  .esv2-vial--center{width:133px;margin-bottom:30px;}
}
@media (max-width:767px){
  .esv2-vial--left,.esv2-vial--right{width:76px;}
  .esv2-vial--center{width:88px;margin-bottom:16px;}
}

/* ---------- gradient now spans hero + feature bar ---------- */
.esv2-top{position:relative;background:linear-gradient(180deg,#DCE8FF 0%,#E4EDFF 38%,#F2F6FF 74%,#FFFFFF 100%);}
/* Floating decorative dots layer. Sits above the static grid texture but behind
   the hero content. Colour is the pale lavender-blue #F5F8FF, nudged a touch
   more saturated so it reads against the light hero. */
.esv2-dots{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.esv2-dots span{position:absolute;width:var(--s,6px);height:var(--s,6px);border-radius:50%;background:#8FB0FF;box-shadow:0 0 8px 1px rgba(107,143,255,.45);opacity:.85;animation:esv2dotfloat var(--dur,8s) ease-in-out var(--delay,0s) infinite;}
@keyframes esv2dotfloat{0%,100%{transform:translateY(0) translateX(0);opacity:.6;}50%{transform:translateY(-30px) translateX(12px);opacity:1;}}
@media (prefers-reduced-motion:reduce){.esv2-dots span{animation:none;}}
/* Keep hero content above the dots. */
.esv2-hero,.esv2-featwrap{position:relative;z-index:1;}
.esv2-top::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#1B4DFF 1px,transparent 1px);background-size:24px 24px;opacity:.09;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,0) 88%);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,0) 88%);}
.esv2-hero{background:none;}
.esv2-hero::before{display:none;}
.esv2-featwrap{background:transparent;position:relative;z-index:1;}

/* ---------- a little more air around the vials on mobile ---------- */
@media (max-width:767px){
  .esv2-hero__art{margin:14px 0 32px;}
}

/* ---------- What We Test For ---------- */
/* New "7x tested" proof grid (esv2-batch). Uses the .esv2-test section shell for
   background + vertical padding; all inner layout is the batch grid below.
   The older .esv2-test__inner / blackcard / tabs / panel rules further down are
   now unused (kept to avoid touching unrelated selectors). */
.esv2-batch__inner{max-width:1180px;margin:0 auto;}
.esv2-batch__head{text-align:center;max-width:680px;margin:0 auto 40px;}
.esv2-batch__pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #C9D8FF;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--b);margin:0 0 22px;}
.esv2-batch__pill svg{width:15px;height:15px;flex:none;}
.esv2 .esv2-batch__title{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:56px!important;line-height:1!important;letter-spacing:-.022em!important;color:var(--ink)!important;text-transform:none!important;margin:0 0 4px;}
.esv2 .esv2-batch__title .esv2-blue{color:var(--b)!important;}
.esv2-batch__sub2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:36px;line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin:0 0 18px;}
.esv2-batch__lede{font-size:16px;line-height:1.65;color:var(--gray);margin:0;}
.esv2-batch__hint{display:none;}
.esv2-batch__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.esv2-batch__card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease;}
.esv2-batch__card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(11,18,32,.08);border-color:#C9D8FF;}
.esv2-batch__ico{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:11px;background:var(--soft);color:var(--b);}
.esv2-batch__ico svg{width:22px;height:22px;}
.esv2-batch__num{position:absolute;top:-7px;right:-7px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--b);color:#fff;font-size:11px;font-weight:800;line-height:1;border:2px solid #fff;}
.esv2-batch__txt{flex:1;min-width:0;}
.esv2-batch__name{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;color:var(--ink);margin:0 0 5px;line-height:1.25;}
.esv2-batch__desc{font-size:13.5px;line-height:1.55;color:var(--gray);margin:0;}
@media (max-width:860px){
  .esv2-batch__grid{grid-template-columns:1fr;}
  .esv2 .esv2-batch__title{font-size:48px!important;}
  .esv2-batch__sub2{font-size:30px;}
  .esv2-batch__lede{font-size:15px;}

  /* ----- Tap-to-cycle deck (mobile only) ----- */
  .esv2-batch__hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 10px;color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;letter-spacing:.02em;}
  .esv2-batch__hand{display:inline-flex;color:#0B1220;animation:esv2tap 1.1s ease-in-out infinite;}
  .esv2-batch__hand svg{width:20px;height:20px;transform:scaleY(-1);}
  .esv2-batch--tapped .esv2-batch__hint{opacity:.45;}
  @keyframes esv2tap{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

  /* The grid becomes a positioned deck. Height holds the front card; the peeking
     cards sit above it. Extra top padding leaves room for the poke-out edges. */
  .esv2-batch__grid.is-deck{position:relative;display:block;padding-top:22px;min-height:210px;}
  .esv2-batch__grid.is-deck .esv2-batch__card{
    position:absolute;left:0;right:0;top:30px;margin:0;
    /* each card behind shifts UP by --d*10px and scales down slightly, so its top
       edge pokes out above the front card as a blank rounded shape. */
    transform:translateY(calc(var(--d,0) * -10px)) scale(calc(1 - var(--d,0) * 0.04));
    transform-origin:top center;
    transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s ease;
    cursor:default;
  }
  .esv2-batch__grid.is-deck .esv2-batch__card.is-front{cursor:pointer;}
  /* Blank out everything except the front card - behind cards are just shapes. */
  .esv2-batch__grid.is-deck .esv2-batch__card:not(.is-front) .esv2-batch__txt,
  .esv2-batch__grid.is-deck .esv2-batch__card:not(.is-front) .esv2-batch__ico{visibility:hidden;}
  .esv2-batch__grid.is-deck .esv2-batch__card:not(.is-front){background:#F6F7F9;}
  /* Fade out cards deeper than the peek so the stack stays tidy. */
  .esv2-batch__grid.is-deck .esv2-batch__card[style*="--d: 3"],
  .esv2-batch__grid.is-deck .esv2-batch__card[style*="--d:3"]{opacity:0;}
}

.esv2-test{background:#fff;padding:20px 24px 72px;}
.esv2-test__inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.esv2-blackcard{position:relative;background:#0B1220;border-radius:16px;overflow:hidden;min-height:560px;display:flex;align-items:center;justify-content:center;padding:44px 24px 104px;}
.esv2-blackcard__vial{width:auto;height:400px;max-width:70%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.65));}
.esv2-purity{position:absolute;top:18px;right:18px;display:flex;align-items:center;gap:9px;background:#fff;border-radius:999px;padding:9px 16px 9px 12px;box-shadow:0 8px 22px rgba(0,0,0,.35);}
.esv2-purity__ico{display:flex;color:#22C55E;}
.esv2-purity__ico svg{width:18px;height:18px;}
.esv2-purity__txt{display:flex;flex-direction:column;line-height:1.2;}
.esv2-purity__txt strong{font-size:13.5px;font-weight:700;color:var(--ink);}
.esv2-purity__txt small{font-size:11.5px;color:var(--gray);}
.esv2-proof{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:14px 16px;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.35);transition:transform .16s ease;}
.esv2-proof:hover{transform:translateY(-2px);}
.esv2-proof__ico{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--soft);color:var(--b);}
.esv2-proof__ico svg{width:19px;height:19px;}
.esv2-proof__txt{display:flex;flex-direction:column;line-height:1.25;flex:1;min-width:0;}
.esv2-proof__txt strong{font-size:14.5px;font-weight:700;color:var(--ink);}
.esv2-proof__txt small{font-size:12.5px;color:var(--gray);}
.esv2-proof__chev{flex:none;display:flex;color:var(--gray);}
.esv2-proof__chev svg{width:18px;height:18px;}
.esv2-test__copy{padding-top:6px;}
.esv2-test__cta{margin:18px 0 26px;}
.esv2-tabs{display:flex;flex-wrap:wrap;gap:4px 22px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.esv2-tab{background:none;border:0;padding:9px 0 11px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;color:var(--gray);cursor:pointer;position:relative;white-space:nowrap;transition:color .15s ease;}
.esv2-tab:hover{color:var(--ink);}
.esv2-tab::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--b);opacity:0;transition:opacity .15s ease;}
.esv2-tab.is-active{color:var(--b);}
.esv2-tab.is-active::after{opacity:1;}
.esv2-panel{background:var(--soft);border-radius:12px;padding:22px 22px 20px;}
.esv2-panel[hidden]{display:none;}
.esv2-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px;}
.esv2-panel__title{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:700;color:var(--ink);margin:0;line-height:1.25;}
.esv2-panel__badge{flex:none;font-size:11.5px;font-weight:600;color:#15803D;border:1px solid #86E0A6;background:#F2FCF6;border-radius:999px;padding:5px 12px;white-space:nowrap;}
.esv2-panel__body{font-size:14.5px;line-height:1.65;color:var(--gray);margin:0 0 16px;}
.esv2-panel__why{background:#fff;border-left:3px solid var(--b);border-radius:0 8px 8px 0;padding:14px 16px;font-size:14px;line-height:1.6;color:var(--gray);}
.esv2-panel__why strong{color:var(--ink);font-weight:700;}
@media (max-width:1024px){
  .esv2-test__inner{grid-template-columns:1fr;gap:30px;}
  .esv2-blackcard{min-height:440px;padding:36px 20px 96px;}
  .esv2-blackcard__vial{height:300px;}
  .esv2-tabs{gap:2px 18px;}
}
@media (max-width:767px){
  .esv2-test{padding:12px 18px 52px;}
  .esv2-test__inner{gap:24px;}
  .esv2-blackcard{min-height:0;padding:34px 18px 92px;border-radius:14px;}
  .esv2-blackcard__vial{height:250px;max-width:60%;}
  .esv2-purity{top:14px;right:14px;padding:8px 13px 8px 10px;gap:7px;}
  .esv2-purity__txt strong{font-size:12.5px;}
  .esv2-purity__txt small{font-size:10.5px;}
  .esv2-proof{left:14px;right:14px;bottom:14px;padding:12px 13px;gap:10px;}
  .esv2-proof__ico{width:32px;height:32px;}
  .esv2-proof__txt strong{font-size:13.5px;}
  .esv2-proof__txt small{font-size:11.5px;}
  .esv2-test__copy{padding-top:0;}
  .esv2-test__cta{margin:14px 0 22px;width:100%;}
  .esv2-tabs{gap:2px 16px;margin-bottom:16px;}
  .esv2-tab{font-size:13px;padding:8px 0 10px;}
  .esv2-panel{padding:18px 16px 16px;}
  .esv2-panel__top{flex-direction:column;gap:8px;}
  .esv2-panel__title{font-size:17px;}
  .esv2-panel__body{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){
  .esv2-proof,.esv2-tab,.esv2-tab::after{transition:none;}
}

/* ---------- black card: glow + ring treatment ---------- */
.esv2-blackcard{min-height:430px;padding:44px 24px 104px;
  background:radial-gradient(ellipse 62% 52% at 50% 44%,rgba(27,77,255,.34) 0%,rgba(27,77,255,.10) 42%,rgba(11,18,32,0) 72%),
             radial-gradient(circle at 50% 108%,rgba(27,77,255,.16) 0%,rgba(11,18,32,0) 55%),#0B1220;}
.esv2-blackcard::before{content:'';position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);
  width:min(74%,380px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 0 60px rgba(27,77,255,.12);pointer-events:none;}
.esv2-blackcard::after{content:'';position:absolute;left:50%;top:calc(44% + 128px);transform:translateX(-50%);
  width:min(46%,230px);height:26px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(27,77,255,.42) 0%,rgba(11,18,32,0) 70%);
  filter:blur(6px);pointer-events:none;}
.esv2-blackcard__vial{position:relative;z-index:1;height:246px;max-width:52%;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.7));}
.esv2-purity{z-index:3;}
.esv2-proof{z-index:3;}
@media (max-width:1024px){
  .esv2-blackcard{min-height:390px;padding:38px 20px 98px;}
  .esv2-blackcard__vial{height:215px;max-width:46%;}
  .esv2-blackcard::after{top:calc(44% + 112px);}
}
@media (max-width:767px){
  .esv2-test__inner{display:flex;flex-direction:column;gap:0;}
  .esv2-test__copy{display:contents;}
  .esv2-test .esv2-h2{order:1;margin:0 0 6px;}
  .esv2-test .esv2-subline{order:2;margin:0 0 18px;}
  .esv2-test__visual{order:3;margin:0 0 22px;}
  .esv2-test__cta{order:4;margin:0 0 22px;width:100%;}
  .esv2-tabs{order:5;}
  .esv2-panel{order:6;}
  .esv2-blackcard{min-height:0;padding:34px 16px 88px;border-radius:14px;}
  .esv2-blackcard__vial{height:192px;max-width:44%;}
  .esv2-blackcard::before{width:min(72%,240px);top:41%;}
  .esv2-blackcard::after{top:calc(41% + 98px);width:min(52%,160px);height:20px;}
}

/* ---------- black card: square, corrected vial sizing ---------- */
.esv2 .esv2-blackcard{aspect-ratio:1/1;min-height:0;height:auto;padding:34px 24px 96px;}
.esv2 .esv2-blackcard__vial{height:46%;width:auto;max-width:42%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 20px 28px rgba(0,0,0,.7));}
.esv2 .esv2-blackcard::before{top:42%;width:min(62%,300px);}
.esv2 .esv2-blackcard::after{top:66%;width:min(40%,190px);height:24px;}
@media (max-width:1024px){
  .esv2 .esv2-blackcard{padding:30px 20px 92px;}
  .esv2 .esv2-blackcard__vial{height:44%;max-width:40%;}
}
@media (max-width:767px){
  .esv2 .esv2-blackcard{padding:26px 16px 84px;}
  .esv2 .esv2-blackcard__vial{height:42%;max-width:40%;}
  .esv2 .esv2-blackcard::before{width:min(66%,220px);top:40%;}
  .esv2 .esv2-blackcard::after{top:62%;width:min(46%,150px);height:18px;}
}

/* ---------- mobile: restore full-width stretch in the flex column ---------- */
@media (max-width:767px){
  .esv2-test__inner{align-items:stretch;}
  .esv2-test__visual{width:100%;align-self:stretch;}
  .esv2 .esv2-blackcard{width:100%;display:flex;}
  .esv2 .esv2-blackcard__vial{height:44%;max-width:44%;}
  .esv2-test .esv2-h2{align-self:flex-start;}
  .esv2-test .esv2-subline{align-self:stretch;}
}

/* ---------- mobile: narrow the whole test section slightly ---------- */
@media (max-width:767px){
  .esv2-test{padding-left:30px;padding-right:30px;}
  .esv2 .esv2-blackcard{width:88%;margin:0 auto;}
  .esv2 .esv2-blackcard__vial{height:42%;max-width:42%;}
  .esv2 .esv2-blackcard::before{width:min(64%,200px);}
  .esv2 .esv2-blackcard::after{width:min(44%,140px);}
}

/* ---------- mobile: image first, text below ---------- */
@media (max-width:767px){
  .esv2-test__visual{order:1;margin:0 0 20px;}
  .esv2-test .esv2-h2{order:2;margin:0 0 6px;}
  .esv2-test .esv2-subline{order:3;margin:0 0 18px;}
  .esv2-test__cta{order:4;}
  .esv2-tabs{order:5;}
  .esv2-panel{order:6;}
}

/* ---------- desktop only: larger vial, same box ---------- */
@media (min-width:768px){
  .esv2 .esv2-blackcard__vial{height:55%;max-width:50%;}
  .esv2 .esv2-blackcard::before{width:min(72%,380px);top:44%;}
  .esv2 .esv2-blackcard::after{top:73%;width:min(44%,210px);}
}

/* =========================================================
   SECTION RHYTHM
   One variable controls the vertical gap between every
   section. Future sections: add padding-top/bottom:var(--sec-y)
   and they will match automatically.
   ========================================================= */
.esv2{--sec-y:82px;}
.esv2-featwrap{padding-bottom:58px;}
.esv2-picks{padding-top:var(--sec-y);padding-bottom:var(--sec-y);}
.esv2-test{padding-top:var(--sec-y);padding-bottom:var(--sec-y);}
@media (max-width:1024px){
  .esv2{--sec-y:66px;}
}
@media (max-width:767px){
  .esv2{--sec-y:52px;}
  .esv2-featwrap{padding-bottom:42px;}
}

/* ---------- Why Choose Elevate Science ---------- */
.esv2-why{background:#fff;padding-top:var(--sec-y);padding-bottom:var(--sec-y);padding-left:24px;padding-right:24px;}
.esv2-why__inner{max-width:1100px;margin:0 auto;}
.esv2-why__head{text-align:center;max-width:680px;margin:0 auto 40px;}
.esv2-why__head .esv2-subline{margin:10px auto 0;}
.esv2-why__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 28px;}
.esv2-point{flex:0 1 calc((100% - 2*28px)/3);display:flex;flex-direction:column;align-items:center;text-align:center;}
.esv2-point__tile{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:15px;background:linear-gradient(160deg,#3B67FF 0%,#1B4DFF 100%);color:#fff;margin-bottom:16px;box-shadow:0 12px 24px rgba(27,77,255,.34),0 3px 8px rgba(27,77,255,.22);}
.esv2-point__tile svg{width:26px;height:26px;}
.esv2-point__title{font-family:'Montserrat',sans-serif;font-size:16.5px;font-weight:700;color:var(--ink);margin:0 0 8px;line-height:1.3;}
.esv2-point__body{font-size:14.5px;line-height:1.6;color:var(--gray);margin:0;max-width:32ch;}
.esv2-why__dots{display:none;}
@media (max-width:1024px){
  .esv2-point{flex:0 1 calc((100% - 28px)/2);}
}
@media (max-width:767px){
  .esv2-why{padding-left:0;padding-right:0;}
  .esv2-why__head{padding:0 22px;margin-bottom:24px;text-align:left;}
  .esv2-why__head .esv2-subline{margin:8px 0 0;}
  .esv2-why__grid{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:14px;padding:4px 22px 6px;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;}
  .esv2-why__grid::-webkit-scrollbar{display:none;}
  .esv2-point{flex:0 0 74%;scroll-snap-align:start;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 18px 22px;box-shadow:0 4px 18px rgba(11,18,32,.05);}
  .esv2-point__tile{width:50px;height:50px;border-radius:13px;margin-bottom:14px;}
  .esv2-point__tile svg{width:23px;height:23px;}
  .esv2-point__title{font-size:15.5px;}
  .esv2-point__body{font-size:14px;max-width:none;}
  .esv2-why__dots{display:flex;justify-content:center;gap:7px;margin-top:18px;}
  .esv2-dotnav{width:7px;height:7px;border-radius:50%;background:#C9D3E6;transition:background .18s ease,width .18s ease;}
  .esv2-dotnav.is-on{background:var(--b);width:18px;border-radius:99px;}
}
@media (prefers-reduced-motion:reduce){
  .esv2-why__grid{scroll-behavior:auto;}
  .esv2-dotnav{transition:none;}
}

/* =========================================================
   PAGE GUTTER
   One variable sets the left/right edge for every section.
   Nothing sits outside this line. Future sections: use
   padding-left/right:var(--gut) and they align automatically.
   ========================================================= */
.esv2{--gut:24px;}
@media (max-width:767px){
  .esv2{--gut:30px;}
  .esv2-hero{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-featwrap{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-test{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-picks__head{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-track{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-why__head{padding-left:var(--gut);padding-right:var(--gut);}
  .esv2-why__grid{padding-left:var(--gut);padding-right:var(--gut);}
}

/* ---------- mobile: match Popular Picks + Why Choose to the
   black card's inset line in What We Test For ---------- */
@media (max-width:767px){
  .esv2{--gut-in:calc(var(--gut) + (100vw - 2*var(--gut))*0.06);}
  .esv2-picks__head{padding-left:var(--gut-in);padding-right:var(--gut-in);}
  .esv2-track{padding-left:var(--gut-in);padding-right:var(--gut);}
  .esv2-why__head{padding-left:var(--gut-in);padding-right:var(--gut-in);}
  .esv2-why__grid{padding-left:var(--gut-in);padding-right:var(--gut);}
  .esv2-card{flex:0 0 62%;}
  .esv2-point{flex:0 0 72%;}
}

/* ---------- desktop only: wider Popular Picks, more products visible ---------- */
@media (min-width:1025px){
  .esv2-picks__inner{max-width:1460px;}
  .esv2-track{gap:16px;}
  .esv2-card{flex:0 0 calc((100% - 4*16px)/5.4);}
  .esv2-card__media img{padding:10px;}
  .esv2-card__body{padding:12px 12px 14px;}
  .esv2-card__name{font-size:13.5px;}
  .esv2-card__price{font-size:15px;}
  .esv2-card__cta{padding:11px 12px;font-size:13.5px;}
}
@media (min-width:1025px) and (max-width:1560px){
  .esv2-arrow--prev{left:-4px;}
  .esv2-arrow--next{right:-4px;}
}

/* ---------- Frequently Asked Questions ---------- */
.esv2-faq{background:#fff;padding-top:var(--sec-y);padding-bottom:var(--sec-y);padding-left:var(--gut);padding-right:var(--gut);}
.esv2-faq__inner{max-width:48rem;margin:0 auto;}
.esv2-faq__head{text-align:center;margin-bottom:30px;}
.esv2-faq__head .esv2-subline{margin-top:10px;}
.esv2-faq__row{border-bottom:1px solid var(--line);}
.esv2-faq__row:first-child{border-top:1px solid var(--line);}
.esv2-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:none;border:0;padding:19px 2px;cursor:pointer;text-align:left;font-family:'Montserrat',sans-serif;}
.esv2-faq__qtext{font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.4;}
.esv2-faq__q:hover .esv2-faq__qtext{color:var(--b);}
.esv2-faq__ico{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--gray);}
.esv2-faq__ico svg{width:19px;height:19px;}
.esv2-faq__bar{transform-origin:12px 12px;transition:transform .28s ease,opacity .28s ease;}
.esv2-faq__row.is-open .esv2-faq__ico{color:var(--b);}
.esv2-faq__row.is-open .esv2-faq__bar{transform:rotate(90deg);opacity:0;}
.esv2-faq__awrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
.esv2-faq__row.is-open .esv2-faq__awrap{grid-template-rows:1fr;}
.esv2-faq__ainner{overflow:hidden;}
.esv2-faq__a{font-size:14.5px;line-height:1.7;color:var(--gray);margin:0;padding:0 44px 20px 2px;}
@media (max-width:767px){
  .esv2-faq__head{text-align:left;margin-bottom:22px;}
  .esv2-faq__qtext{font-size:14.5px;}
  .esv2-faq__q{padding:17px 2px;gap:14px;}
  .esv2-faq__a{font-size:14px;padding:0 8px 18px 2px;}
}
@media (prefers-reduced-motion:reduce){
  .esv2-faq__awrap,.esv2-faq__bar{transition:none;}
}

/* ---------- Start Researching (closing CTA) ---------- */
.esv2-cta{background:#fff;padding-top:var(--sec-y);padding-bottom:var(--sec-y);padding-left:var(--gut);padding-right:var(--gut);}
.esv2-cta__card{position:relative;max-width:1240px;margin:0 auto;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0B1220 0%,#122048 38%,#1B3ACC 72%,#1B4DFF 100%);}
.esv2-cta__card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 70% at 82% 12%,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 60%);}
.esv2-cta__card::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:26px 26px;opacity:.10;-webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,0) 35%,#000 100%);mask-image:linear-gradient(120deg,rgba(0,0,0,0) 35%,#000 100%);}
.esv2-cta__inner{position:relative;z-index:1;text-align:center;padding:76px 32px 80px;}
.esv2-cta__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:52px;line-height:1;letter-spacing:-.022em;color:#fff;margin:0 0 14px;text-transform:none;}
.esv2-cta__sub{font-size:16.5px;line-height:1.6;color:rgba(226,236,255,.82);margin:0 auto 30px;max-width:36rem;}
.esv2-cta__btn{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:15.5px;font-weight:600;line-height:1;padding:17px 38px;border-radius:8px;text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.28);transition:transform .16s ease,box-shadow .16s ease;}
.esv2-cta__btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.34);}
@media (max-width:1024px){
  .esv2-cta__title{font-size:42px;}
  .esv2-cta__inner{padding:60px 26px 64px;}
}
@media (max-width:767px){
  .esv2-cta__card{border-radius:14px;}
  .esv2-cta__inner{padding:44px 22px 46px;}
  .esv2-cta__title{font-size:32px;}
  .esv2-cta__sub{font-size:15px;margin-bottom:24px;}
  .esv2-cta__btn{width:100%;padding:16px 24px;}
}
@media (prefers-reduced-motion:reduce){
  .esv2-cta__btn{transition:none;}
}

/* ---------- Why Choose: soft blue bleed from both edges ---------- */
.esv2-why{background:
  linear-gradient(90deg,rgba(27,77,255,.15) 0%,rgba(27,77,255,.06) 12%,rgba(27,77,255,0) 32%),
  linear-gradient(270deg,rgba(27,77,255,.15) 0%,rgba(27,77,255,.06) 12%,rgba(27,77,255,0) 32%),
  #FFFFFF;}
@media (max-width:767px){
  .esv2-why{background:
    linear-gradient(90deg,rgba(27,77,255,.13) 0%,rgba(27,77,255,0) 26%),
    linear-gradient(270deg,rgba(27,77,255,.13) 0%,rgba(27,77,255,0) 26%),
    #FFFFFF;}
}

/* ---------- Why Choose: side bleed, faded top and bottom ---------- */
.esv2-why{position:relative;background:#FFFFFF;}
.esv2-why__inner{position:relative;z-index:1;}
.esv2-why::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,rgba(27,77,255,.16) 0%,rgba(27,77,255,.06) 12%,rgba(27,77,255,0) 32%),linear-gradient(270deg,rgba(27,77,255,.16) 0%,rgba(27,77,255,.06) 12%,rgba(27,77,255,0) 32%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 20%,#000 80%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 20%,#000 80%,rgba(0,0,0,0) 100%);}
@media (max-width:767px){
  .esv2-why{background:#FFFFFF;}
  .esv2-why::before{background:linear-gradient(90deg,rgba(27,77,255,.14) 0%,rgba(27,77,255,0) 26%),linear-gradient(270deg,rgba(27,77,255,.14) 0%,rgba(27,77,255,0) 26%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 16%,#000 84%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 16%,#000 84%,rgba(0,0,0,0) 100%);}
}

/* ---------- hero trust line ---------- */
.esv2-trustline{display:flex;align-items:center;gap:10px;margin:16px 0 0;
  font-size:13.5px;font-weight:600;letter-spacing:.01em;color:var(--gray);}
.esv2-trustline__dot{width:4px;height:4px;border-radius:50%;background:#C2CCE0;flex:none;}
@media (max-width:767px){
  .esv2-trustline{justify-content:center;margin-top:14px;font-size:13px;}
  .esv2-hero__copy .esv2-trustline{order:6;}
}

/* Hero trust row */
.esv2-trustrow2{display:flex;align-items:center;flex-wrap:wrap;margin:22px 0 0;}
.esv2-tr{display:flex;align-items:center;gap:9px;padding:0 18px;position:relative;}
.esv2-tr:first-child{padding-left:0;}
.esv2-tr:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:26px;background:#DCE3EF;}
.esv2-tr__stars{display:inline-flex;gap:2px;color:#1B4DFF;}
.esv2-tr__stars svg{width:13px;height:13px;}
.esv2-tr__ico{display:inline-flex;color:#1B4DFF;flex:none;}
.esv2-tr__ico svg{width:19px;height:19px;}
.esv2-tr__txt{display:flex;flex-direction:column;line-height:1.25;}
.esv2-tr__txt strong{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:800;color:#0B1220;}
.esv2-tr__txt small{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:500;color:#5A6474;}
@media (max-width:1024px){
  .esv2-tr{padding:0 13px;gap:8px;}
  .esv2-tr__txt strong{font-size:12.5px;}
  .esv2-tr__txt small{font-size:11px;}
}
@media (max-width:767px){
  .esv2-trustrow2{justify-content:center;gap:14px 0;margin-top:18px;}
  .esv2-tr{padding:0 12px;}
  .esv2-tr:first-child{flex:0 0 100%;justify-content:center;padding:0 0 4px;}
  .esv2-tr:first-child::after{display:none;}
  .esv2-tr__txt{text-align:left;}
  .esv2-tr__txt strong{font-size:12px;}
  .esv2-tr__txt small{font-size:10.5px;}
  .esv2-tr__ico svg{width:17px;height:17px;}
}

/* Hero vials: outer two tilted outward, slightly smaller */
/* The new clear-background PNGs carry heavy transparent padding, so the glass
   renders small inside each box AND the padding pushes them apart. Compensate
   with much larger widths + negative horizontal margins to cancel the invisible
   padding and bring the vials back together. */
.esv2-vial--left{width:340px!important;margin-right:-120px!important;animation-name:esv2floatL!important;}
.esv2-vial--right{width:340px!important;margin-left:-120px!important;animation-name:esv2floatR!important;}
.esv2-vial--center{width:410px!important;z-index:2;}
@keyframes esv2floatL{0%,100%{transform:translateY(-6px) rotate(-10deg)}50%{transform:translateY(6px) rotate(-10deg)}}
@keyframes esv2floatR{0%,100%{transform:translateY(-6px) rotate(10deg)}50%{transform:translateY(6px) rotate(10deg)}}
@media (prefers-reduced-motion:reduce){.esv2-vial--left{transform:rotate(-10deg)!important;}.esv2-vial--right{transform:rotate(10deg)!important;}}
@media (max-width:1024px){.esv2-vial--left,.esv2-vial--right{width:282px!important;margin-right:-80px!important;margin-left:-80px!important;}.esv2-vial--center{width:340px!important;}}
@media (max-width:767px){.esv2-vial--left,.esv2-vial--right{width:188px!important;margin-right:-52px!important;margin-left:-52px!important;}.esv2-vial--center{width:230px!important;}}

/* Mobile only: center the vial cluster and tighten it. The desktop padding-right
   was pushing them off to the left; reset it and re-center for narrow screens. */
@media (max-width:767px){
  .esv2-hero__art{padding-right:0!important;justify-content:center!important;gap:0!important;}
  .esv2-vial--left,.esv2-vial--right{width:150px!important;margin-right:-42px!important;margin-left:-42px!important;}
  .esv2-vial--center{width:184px!important;}
}

/* Trust row: fit on one line at desktop, stack below */
@media (min-width:1101px){
  .esv2-trustrow2{flex-wrap:nowrap!important;}
  .esv2-tr{padding:0 14px!important;gap:8px!important;white-space:nowrap!important;}
  .esv2-tr__txt strong{font-size:12.5px!important;}
  .esv2-tr__txt small{font-size:11px!important;}
  .esv2-tr__stars svg{width:12px!important;height:12px!important;}
}
@media (max-width:1100px){
  .esv2-trustrow2{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;}
  .esv2-tr{padding:0!important;width:auto!important;}
  .esv2-tr::after{display:none!important;}
}

/* Mobile: three stacked rows, centred under Text Us */
@media (max-width:767px){
  .esv2-hero__copy .esv2-trustrow2{order:6!important;}
  .esv2-trustrow2{flex-direction:column!important;align-items:center!important;gap:11px!important;margin:18px 0 0!important;width:100%!important;}
  .esv2-tr{padding:0!important;justify-content:center!important;gap:8px!important;}
  .esv2-tr:first-child{flex:0 0 auto!important;padding:0!important;}
  .esv2-tr__txt{text-align:left!important;}
  .esv2-tr__txt strong{font-size:13px!important;}
  .esv2-tr__txt small{font-size:11.5px!important;}
  .esv2-tr__stars svg{width:13px!important;height:13px!important;}
  .esv2-tr__ico svg{width:18px!important;height:18px!important;}
}

/* Product image tiles: white, ready for transparent PNGs */
.esv2-card__media{background:#FFFFFF!important;}
.esv2-cartups__media{background:#FFFFFF!important;}

/* GL-RT (product 53) title image: shrink on mobile shop grid so it matches
   the smaller card text at narrow widths. Overrides the inline style. */
@media (max-width:767px){
  .vgc-card-name-img{height:12px!important;max-height:12px!important;}
}
