/* Home v5 (page-home-v5.php). Scoped to .v5 / body.hv5-body. Averta CY Web, logo-palette accents, bright blue pill CTA. */
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Semibold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

.v5 {
  --ink:#1D1D1B; --body:#4A5175; --muted:#6B7395; --faint:#8F96B0;
  --blue:#4DAAE8; --green:#98C355; --yellow:#F7CA50; --red:#DB4B46;
  --cta:#1353e9; --line:#E3E7F2; --soft:#F6F7FB; --night:#0E1424;
  --font:'Averta CY Web','Averta CY',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--font); color:var(--body); font-size:16px; line-height:1.55; text-align:left; overflow-x:clip;
}
.v5 *, .v5 *::before, .v5 *::after { box-sizing:border-box; }
.v5 h1, .v5 h2, .v5 h3, .v5 strong, .v5 summary { font-family:var(--font); font-weight:600; letter-spacing:0; color:var(--ink); }
.v5 ul, .v5 ol { list-style:none; margin:0; padding:0; }
.v5 p, .v5 figure { margin:0; }
.v5 a { text-decoration:none; }
.v5 :focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:6px; }
.v5-wrap { max-width:1160px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
.v5-i { width:18px; height:18px; flex:none; }

/* shared bits */
.v5-eyebrow { display:flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#2f7fb8; margin-bottom:18px; }
.v5-head .v5-eyebrow { justify-content:center; }
.v5-eyebrow i { width:6px; height:6px; border-radius:50%; background:var(--blue); }
.v5-eyebrow i:nth-child(2) { background:var(--green); } .v5-eyebrow i:nth-child(3) { background:var(--yellow); }
.v5-eyebrow i:nth-child(4) { background:var(--red); margin-right:6px; }
.v5-eyebrow--light { color:#8CC8F0; }
.v5-chip { width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.v5-chip--sm { width:32px; height:32px; border-radius:9px; }
.c-blue { background:rgba(77,170,232,.15); color:#1f6fa8; } .c-green { background:rgba(152,195,85,.2); color:#4f7a1c; }
.c-yellow { background:rgba(247,202,80,.25); color:#9a6d00; } .c-red { background:rgba(219,75,70,.13); color:#b8322d; }
.c-purple { background:rgba(110,99,210,.14); color:#4b44a8; } .c-orange { background:rgba(238,143,55,.16); color:#b4600f; }
.c-teal { background:rgba(23,166,115,.14); color:#137a56; } .c-navy { background:#EEF1FB; color:#0D1758; }
.v5-pill { display:inline-block; background:var(--yellow); color:#5a4300; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:6px; line-height:1.3; vertical-align:middle; }
.v5-note { color:var(--faint); font-size:13px; margin-top:28px; text-align:center; }
.v5-note--l { text-align:left; }

/* CTA: pill + centred line under it (fixes v4 misalignment) */
.v5-cta { display:inline-flex; flex-direction:column; align-items:center; gap:14px; }
.v5-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:0 32px; border-radius:999px; background:var(--cta); color:#fff !important; font-weight:600; font-size:16.5px; box-shadow:0 10px 28px -10px rgba(19,83,233,.6),0 2px 6px -2px rgba(19,83,233,.3); transition:transform .18s ease, box-shadow .18s ease; }
.v5-btn:hover { transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(19,83,233,.65),0 3px 8px -2px rgba(19,83,233,.3); }
.v5-btn .v5-i { transition:transform .18s ease; } .v5-btn:hover .v5-i { transform:translateX(4px); }
.v5-btn--lg { min-height:60px; padding:0 38px; font-size:17.5px; }
.v5 .v5-cta__under { width:0; min-width:100%; font-size:13.5px; color:var(--muted); text-align:center; }

/* sections */
.v5-sec { padding:clamp(72px,11vh,128px) 0; }
.v5-band { background:var(--soft); }
.v5-head { text-align:center; max-width:760px; margin:0 auto clamp(40px,6vh,64px); }
.v5-head h2 { font-size:clamp(30px,3vw,42px); line-height:1.15; margin:0 0 12px; letter-spacing:-.01em; }
.v5 .v5-head > p:not(.v5-eyebrow):not(.v5-big) { color:var(--muted); font-size:18px; }

/* 1 hero */
.v5-hero { padding:clamp(36px,6vh,80px) 0 clamp(64px,10vh,112px); }
.v5-hero__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(40px,5vw,72px); align-items:center; max-width:1300px; }
.v5-hero h1 { font-size:clamp(32px,min(3.4vw,6.2vh),52px); line-height:1.08; margin:0 0 22px; letter-spacing:-.015em; }
.v5-hero h1 span { display:block; color:#2f7fb8; margin-top:8px; }
.v5-lead { font-size:clamp(16px,1.3vw,18.5px); line-height:1.6; max-width:520px; margin-bottom:34px; }
.v5-hero__shot { position:relative; }
.v5-hero__shot img { display:block; width:100%; height:auto; border-radius:16px; border:1px solid var(--line); box-shadow:0 40px 80px -36px rgba(13,23,88,.4),0 2px 6px rgba(13,23,88,.06); }
.v5-hero__shot figcaption { margin-top:12px; font-size:12.5px; color:var(--faint); text-align:center; }
.v5-live { position:absolute; top:-12px; right:20px; z-index:1; display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px 12px; font-size:12px; font-weight:600; color:#3d6e12; box-shadow:0 6px 16px -8px rgba(13,23,88,.25); }
.v5-live i { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(152,195,85,.6); animation:v5pulse 2s infinite; }
@keyframes v5pulse { 0% { box-shadow:0 0 0 0 rgba(152,195,85,.6); } 70% { box-shadow:0 0 0 9px rgba(152,195,85,0); } 100% { box-shadow:0 0 0 0 rgba(152,195,85,0); } }

/* 2 truth (dark, calm) */
.v5-truth { background:var(--night); color:#C9D0E4; padding:clamp(80px,12vh,136px) 0; position:relative; overflow:hidden; }
.v5-truth::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#4DAAE8 0 25%,#98C355 25% 50%,#F7CA50 50% 75%,#DB4B46 75%); opacity:.9; }
.v5-truth__in { max-width:880px; }
.v5-truth h2 { color:#fff; font-size:clamp(30px,3.4vw,48px); line-height:1.12; margin:0 0 40px; letter-spacing:-.015em; }
.v5-truth__lines li { font-size:clamp(18px,1.6vw,22px); line-height:1.5; padding:14px 0; border-top:1px solid rgba(255,255,255,.08); color:#AEB6CE; }
.v5-truth__lines li:last-child { border-bottom:1px solid rgba(255,255,255,.08); }
.v5-truth__pay { margin-top:36px; font-size:clamp(22px,2.2vw,30px); font-weight:600; color:#fff; }
.v5-truth__pay::after { content:""; display:block; width:72px; height:3px; margin-top:16px; border-radius:2px; background:var(--blue); }

/* 3 facts */
.v5-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px clamp(24px,3vw,44px); }
.v5-facts li { display:flex; flex-direction:column; gap:16px; }
.v5-facts h3 { font-size:18px; line-height:1.3; margin:0 0 6px; }
.v5-facts p { font-size:15px; color:var(--muted); }

/* 4 catalog */
.v5-big { font-size:clamp(88px,11vw,152px); line-height:.9; font-weight:600; letter-spacing:-.04em; margin:0 0 12px; background:linear-gradient(90deg,#4DAAE8 0%,#98C355 38%,#F7CA50 68%,#DB4B46 100%); -webkit-background-clip:text; background-clip:text; color:transparent; font-variant-numeric:tabular-nums; }
.v5-powers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,2.4vw,32px); }
.v5-power { position:relative; background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 30px 26px; overflow:hidden; }
.v5-power::before { content:""; position:absolute; left:0; top:0; right:0; height:4px; }
.v5-power--waste::before { background:var(--red); } .v5-power--peak::before { background:var(--yellow); }
.v5-power--health::before { background:var(--blue); } .v5-power--ops::before { background:var(--green); }
.v5-power__icons { display:flex; gap:8px; margin-bottom:18px; }
.v5-power__icons img { width:40px; height:40px; }
.v5-power__n { font-size:14px; color:var(--muted); margin-bottom:2px; }
.v5-power__n b { font-size:40px; line-height:1; font-weight:600; letter-spacing:-.02em; margin-right:6px; vertical-align:-4px; font-variant-numeric:tabular-nums; }
.v5-power--waste .v5-power__n b { color:#cf3f3a; } .v5-power--peak .v5-power__n b { color:#c99412; }
.v5-power--health .v5-power__n b { color:#2f8fd0; } .v5-power--ops .v5-power__n b { color:#5f9a2a; }
.v5-power h3 { font-size:21px; margin:8px 0 4px; }
.v5-power__cost { font-size:15px; color:var(--muted); margin-bottom:18px; }
.v5-names { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.v5-names li { font-size:12.5px; line-height:1.3; color:#2B3150; background:var(--soft); border:1px solid #ECEEF5; border-radius:999px; padding:6px 11px; }
.v5-names__more { background:transparent !important; border-style:dashed !important; color:var(--muted) !important; }
.v5-ex { font-size:14px; color:var(--ink); padding-top:16px; border-top:1px solid var(--line); }
.v5-ex .v5-pill { margin-right:8px; }
.v5-tools { margin-top:clamp(32px,5vh,48px); text-align:center; }
.v5-tools__h { font-size:15px; font-weight:600; color:var(--ink); margin-bottom:16px; }
.v5-tools ul { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.v5-tools li { display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--body); }

/* 5 how */
.v5-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,3vw,48px); position:relative; }
.v5-steps::before { content:""; position:absolute; left:16%; right:16%; top:110px; height:2px; background:repeating-linear-gradient(90deg,#C9CEDD 0 6px,transparent 6px 12px); z-index:0; }
.v5-steps li { position:relative; z-index:1; text-align:center; }
.v5-art { height:220px; border-radius:22px; background:linear-gradient(180deg,#F6F8FD,#EEF2FA); border:1px solid #E6EAF4; display:flex; align-items:center; justify-content:center; margin-bottom:26px; overflow:hidden; }
.v5-art svg { width:82%; height:auto; max-height:190px; }
.v5-steps__n { display:inline-flex; width:30px; height:30px; border-radius:50%; align-items:center; justify-content:center; background:var(--cta); color:#fff; font-size:14px; font-weight:600; margin-bottom:14px; }
.v5-steps li:nth-child(2) .v5-steps__n { background:#5f9a2a; } .v5-steps li:nth-child(3) .v5-steps__n { background:#c99412; }
.v5-steps h3 { font-size:21px; margin:0 0 8px; }
.v5-steps p { font-size:15.5px; color:var(--muted); max-width:300px; margin:0 auto; }
.v5-ct__glow { opacity:.0; animation:v5glow 2.4s ease-in-out infinite; animation-delay:var(--d); }
@keyframes v5glow { 0%,100% { opacity:0; } 50% { opacity:.28; } }
.v5-wire { stroke-dasharray:6 6; animation:v5dash 1.6s linear infinite; }
@keyframes v5dash { to { stroke-dashoffset:-24; } }
.v5-wave { stroke-dasharray:320; stroke-dashoffset:0; animation:v5draw 3.2s ease-out infinite; }
@keyframes v5draw { 0% { stroke-dashoffset:320; } 60%,100% { stroke-dashoffset:0; } }
.v5-dot { animation:v5blink 3.2s infinite; } @keyframes v5blink { 0%,55% { opacity:0; } 65%,100% { opacity:1; } }
.v5-mini { width:84%; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; text-align:left; box-shadow:0 18px 36px -24px rgba(13,23,88,.35); }
.v5-mini__top { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:#061C36; margin-bottom:10px; }
.v5-mini__top .v5-pill { margin-left:auto; }
.v5-mini__t { font-size:15px; font-weight:600; color:var(--ink); line-height:1.3; }
.v5-mini__s { font-size:12px; color:var(--muted); margin:4px 0 10px; }
.v5-mini__fix { font-size:12.5px; color:#3d6e12; background:rgba(152,195,85,.16); border-radius:8px; padding:6px 10px; display:inline-block; }

/* 6 shows */
.v5-shots { display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,2.6vw,36px); }
.v5-shots img { display:block; width:100%; height:auto; border-radius:14px; border:1px solid var(--line); box-shadow:0 30px 60px -36px rgba(13,23,88,.35); background:#fff; }
.v5-shots figcaption { margin-top:14px; font-size:14.5px; color:var(--muted); }
.v5-shots figcaption strong { color:var(--ink); }
.v5-shows__tie { text-align:center; margin-top:clamp(32px,5vh,48px); font-size:16px; color:var(--body); }
.v5-shows__tie a, .v5-story a, .v5-alts a { color:#2f7fb8; font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.v5-alts a.a-green { color:#3f7d1c; }

/* 7 proof */
.v5-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.v5-logos a { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; padding:8px; border-radius:16px; transition:transform .2s ease; }
.v5-logos a:hover { transform:translateY(-3px); }
.v5-logo { height:150px; width:100%; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 20px 40px -32px rgba(13,23,88,.3); }
.v5-logo img { height:88px; width:auto; max-width:78%; object-fit:contain; }
.v5-logos__n { font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.35; max-width:230px; }
.v5-story { text-align:center; margin-top:32px; }

/* 8 every */
.v5-every { padding:clamp(72px,11vh,120px) 0; background:linear-gradient(180deg,#fff,#F6F7FB); }
.v5-every__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(40px,6vw,96px); align-items:center; }
.v5-every h2 { font-size:clamp(30px,3vw,42px); line-height:1.15; margin:0 0 16px; letter-spacing:-.01em; }
.v5-every h2 span { display:block; color:#2f7fb8; }
.v5-every__lead { font-size:18px; color:var(--body); max-width:520px; }
.v5 .v5-sectors { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.v5-sectors li { padding:9px 18px; border-radius:999px; border:1px solid var(--line); font-size:14.5px; color:var(--ink); background:#fff; }
.v5-sectors li:nth-child(4n+1) { border-color:rgba(77,170,232,.55); } .v5-sectors li:nth-child(4n+2) { border-color:rgba(152,195,85,.65); }
.v5-sectors li:nth-child(4n+3) { border-color:rgba(247,202,80,.85); } .v5-sectors li:nth-child(4n) { border-color:rgba(219,75,70,.45); }
.v5-sectors li:last-child { border-style:dashed; border-color:#C9CEDD; color:var(--muted); }
.v5-panels { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.v5-panels span { aspect-ratio:3/4; background:#fff; border:1px solid #DDE2EE; border-radius:12px; padding:12% 14%; display:flex; flex-direction:column; gap:9%; box-shadow:0 12px 24px -20px rgba(13,23,88,.35); }
.v5-panels i { flex:1; border-radius:4px; background:#EEF1F7; position:relative; overflow:hidden; }
.v5-panels i::after { content:""; position:absolute; inset:0; background:var(--c,#4DAAE8); opacity:0; animation:v5on 4.8s ease-in-out infinite; animation-delay:calc(var(--i) * .35s); }
.v5-panels span:nth-child(4n+1) i { --c:#4DAAE8; } .v5-panels span:nth-child(4n+2) i { --c:#98C355; }
.v5-panels span:nth-child(4n+3) i { --c:#F7CA50; } .v5-panels span:nth-child(4n) i { --c:#DB4B46; }
.v5-panels i:nth-child(2)::after { animation-delay:calc(var(--i) * .35s + .3s); } .v5-panels i:nth-child(3)::after { animation-delay:calc(var(--i) * .35s + .6s); } .v5-panels i:nth-child(4)::after { animation-delay:calc(var(--i) * .35s + .9s); }
@keyframes v5on { 0%,100% { opacity:0; } 40%,60% { opacity:.55; } }

/* 9 offer */
.v5-offer__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,96px); align-items:start; }
.v5-offer h2 { font-size:clamp(32px,3.4vw,48px); line-height:1.1; margin:0 0 16px; letter-spacing:-.015em; }
.v5-offer__body { font-size:18px; color:var(--body); margin:0 0 32px; max-width:480px; }
.v5-offer .v5-cta { align-items:flex-start; }
.v5-checks { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--body); padding-left:6px; }
.v5-checks span { display:inline-flex; align-items:center; gap:6px; }
.v5-checks .v5-i { width:16px; height:16px; color:#5f9a2a; }
.v5-risk { margin-top:18px; font-size:15px; color:var(--ink); font-weight:600; }
.v5 .v5-alts { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); display:grid; gap:14px; max-width:480px; }
.v5-alts li { display:flex; align-items:center; gap:12px; }
.v5-alts a { font-size:14.5px; }
.v5-faq { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px 30px 12px; box-shadow:0 24px 48px -36px rgba(13,23,88,.3); }
.v5-faq h3 { font-size:19px; margin:0 0 8px; }
.v5-faq details + details { border-top:1px solid var(--line); }
.v5-faq summary { list-style:none; cursor:pointer; position:relative; padding:18px 36px 18px 0; font-size:16px; color:var(--ink); }
.v5-faq summary::-webkit-details-marker { display:none; }
.v5-faq summary::after { content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%); width:26px; height:26px; border-radius:50%; background:#EEF4FD; color:#2f7fb8; font-size:18px; font-weight:400; line-height:26px; text-align:center; transition:transform .2s ease; }
.v5-faq details[open] summary::after { transform:translateY(-50%) rotate(45deg); }
.v5-faq details p { padding:0 36px 18px 0; font-size:15px; color:var(--body); }

/* nav on this page: Login as a quiet text link (Shop and Cart unchanged) */
body.hv5-body .osh__login { background:transparent !important; box-shadow:none !important; font-weight:600 !important; color:rgba(255,255,255,.82) !important; padding-left:12px !important; padding-right:12px !important; }
body.hv5-body .osh__login svg { display:none; }
body.hv5-body .osh__login:hover { color:#fff !important; text-decoration:underline !important; text-underline-offset:4px; }

/* reveal motion (only when JS + motion allowed) */
.v5-js .v5-power, .v5-js .v5-facts li, .v5-js .v5-steps li, .v5-js .v5-shots figure, .v5-js .v5-logos li { opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; transition-delay:calc(var(--k,0) * 80ms); }
.v5-js .is-in { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce) {
  .v5 *, .v5 *::after { animation:none !important; transition:none !important; }
  .v5-wave { stroke-dashoffset:0; } .v5-dot { opacity:1; }
}

/* laptop short screens */
@media (min-width:1024px) and (max-height:780px) {
  .v5-hero { padding-top:28px; }
  .v5-hero h1 { margin-bottom:16px; }
  .v5-lead { margin-bottom:26px; }
}
@media (max-width:1023px) {
  .v5-hero__grid { grid-template-columns:1fr; }
  .v5-facts { grid-template-columns:1fr 1fr; }
  .v5-offer__grid, .v5-every__grid { grid-template-columns:1fr; }
  .v5-panels { max-width:420px; }
}
@media (max-width:800px) {
  .v5-powers, .v5-shots { grid-template-columns:1fr; }
  .v5-steps { grid-template-columns:1fr; gap:48px; }
  .v5-steps::before { display:none; }
  .v5-logos { grid-template-columns:1fr 1fr; }
  .v5-logo { height:120px; }
  .v5-logo img { height:70px; }
}
@media (max-width:560px) {
  .v5-hero h1 { font-size:31px; }
  .v5-cta, .v5-offer .v5-cta { display:flex; align-items:stretch; }
  .v5-btn { width:100%; padding:0 18px; }
  .v5-facts { grid-template-columns:1fr; gap:28px; }
  .v5-facts li { flex-direction:row; align-items:flex-start; }
  .v5-head { text-align:left; } .v5-head .v5-eyebrow { justify-content:flex-start; }
  .v5-power { padding:24px 20px 20px; }
  .v5-tools ul { justify-content:flex-start; } .v5-tools { text-align:left; }
  .v5-note { text-align:left; }
  .v5-panels { grid-template-columns:repeat(4,1fr); gap:8px; }
  .v5-faq { padding:20px 18px 6px; }
  .v5-logos__n { font-size:13px; }
}

/* r2 fixes: beat the `.v5 p` margin reset; CTA line wraps to button width; panel life */
.v5 .v5-note { margin-top:28px; }
.v5 .v5-shows__tie { margin-top:clamp(36px,5vh,52px); }
.v5 .v5-story { margin-top:32px; }
.v5 .v5-offer__body { margin:0 0 32px; }
.v5 .v5-risk { margin-top:18px; }
.v5 .v5-lead { margin-bottom:34px; }
.v5 .v5-truth__pay { margin-top:36px; }
.v5 .v5-power__cost { margin-bottom:18px; }
.v5 .v5-every__lead { margin-top:4px; }
.v5 .v5-note--l { margin-top:22px; }
.v5-panels i:first-child { background:color-mix(in srgb, var(--c,#4DAAE8) 45%, #fff); }
.v5-panels span { position:relative; }
.v5-panels span::before { content:""; position:absolute; top:7px; right:8px; width:6px; height:6px; border-radius:50%; background:#98C355; box-shadow:0 0 0 3px rgba(152,195,85,.18); }
@media (min-width:1024px) and (max-height:780px) { .v5 .v5-lead { margin-bottom:26px; } }
