/* ============================================================
   Conversion Factory UI/UX layer
   Loads after reskin.css. Adopts CF's actual interface patterns:
   glass-bevel surfaces, fixed nav, from-to pill rows, sticky CTA,
   numeral watermarks and scroll reveal.
   ============================================================ */

:root{
  /* CF's signature edge: a bevelled inset ring, not a border.
     Light on the top/left, water blue on the bottom/right. */
  --glass-ring:
    inset -1.5px 0 0 0 #8fa8ff8c,
    inset  1.5px 0 0 0 #ffffff47,
    inset  0 -1.5px 0 0 #8fa8ff47,
    inset  0  1.5px 0 0 #ffffff24,
    0 0 12px #4274ff1f,
    0 4px 14px #00141f38;
  --glass-ring-hi:
    inset -1.5px 0 0 0 #b9c7ffd1,
    inset  1.5px 0 0 0 #ffffff5c,
    inset  0 -1.5px 0 0 #b9c7ff5c,
    inset  0  1.5px 0 0 #ffffff33,
    0 0 22px #4274ff3d,
    0 10px 26px #00141f4d;
  --glass-fill:#0a1a6b3d;
  --glass-fill-2:#0a1a6b5c;
}

/* ---------- 1. Glass surfaces replace flat borders ---------- */
.benefit,
.vsl-shell,
.inclusions [data-slot=accordion-item],
.mini-plan,
.ad-preview,
.ownership-pill,
.vsl-chapters button,
.service-strip>div,
.fit-list p,
.next-steps p span,
.step{
  border:0!important;
  box-shadow:var(--glass-ring)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.benefit{background:linear-gradient(160deg,#0a1230d9,#080e1ae6 65%)!important}
.vsl-shell{background:#080e1ae6!important}
.inclusions [data-slot=accordion-item]{background:var(--glass-fill-2)!important}
.mini-plan,.ad-preview{background:#0d1638d9!important}
.benefit:hover,.inclusions [data-slot=accordion-item]:hover{box-shadow:var(--glass-ring-hi)!important}

/* ---------- 2. Fixed nav (CF pins it to the top) ---------- */
/* reskin.css isolates .hero-wrap so its wave layers stack cleanly; that also
   traps the nav inside it, so lift the whole wrap above the later sections. */
.hero-wrap{position:relative;z-index:70}
html{scroll-padding-top:104px}
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
}
.nav:before{
  content:"";
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:100vw;height:100%;z-index:-1;
  background:#0024ff;
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  box-shadow:inset 0 -1.5px 0 0 #ffffff2e;
}
.hero-wrap{padding-top:104px}
@media (max-width:800px){html{scroll-padding-top:82px}.hero-wrap{padding-top:82px}}
@media (max-width:600px){html{scroll-padding-top:76px}.hero-wrap{padding-top:76px}}

/* ---------- 3. Service strip as CF chips ---------- */
.service-strip>div{
  padding:10px 18px;
  border-radius:999px;
  background:var(--glass-fill);
}
.service-strip{gap:14px}
.service-strip>span{width:100%;margin-bottom:4px}

/* ---------- 4. "Is this for you" as CF pill rows ---------- */
.fit-list{max-width:100%}
.fit-list p{
  width:fit-content;
  max-width:min(640px,100%);
  margin:0 auto 14px;
  padding:18px 26px;
  border-radius:17px;
  background:var(--glass-fill);
  align-items:center;
}
.fit-list svg{
  width:30px;height:30px;padding:7px;box-sizing:border-box;
  border-radius:999px;background:#4274ff29;
  box-shadow:inset 0 0 0 1px #8fa8ff5c;
}

/* ---------- 5. From → to rows (CF's signature comparison) ---------- */
.cf-compare{max-width:1000px;margin:0 auto}
.cf-compare-head{
  display:flex;justify-content:space-between;gap:24px;
  margin:0 auto 26px;max-width:940px;
}
.cf-compare-head div{max-width:46%}
.cf-compare-head .compare-label{display:block;margin-bottom:8px}
.cf-compare-head h3{
  font-family:var(--font-heading);letter-spacing:-.02em;
  font-size:20px;margin:0;color:#ffffffa6;
}
.cf-compare-head div:last-child{text-align:right}
.cf-compare-head div:last-child h3{color:#fff}
.cf-compare-head div:last-child .compare-label{color:#b9c7ffd9!important}

.cf-row{
  width:fit-content;max-width:100%;
  margin:0 auto 14px;
  padding:21px 26px;
  border-radius:17px;
  background:var(--glass-fill);
  box-shadow:var(--glass-ring);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  display:flex;align-items:center;gap:14px;
  transition:box-shadow .3s,transform .3s;
}
.cf-row:hover{box-shadow:var(--glass-ring-hi);transform:translateY(-2px)}
.cf-row .cf-ico{
  flex-shrink:0;display:grid;place-items:center;
  width:30px;height:30px;border-radius:999px;
}
.cf-row .cf-ico-x{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff2e;color:#ffffff73}
.cf-row .cf-ico-y{background:#4274ff33;box-shadow:inset 0 0 0 1px #8fa8ff70;color:#b9c7ff}
.cf-row .cf-ico svg{width:15px;height:15px}
.cf-row .cf-old{color:#ffffff8c;font-size:16.5px}
.cf-row .cf-arrow{color:#ffffff59;flex-shrink:0;display:flex}
.cf-row .cf-arrow svg{width:17px;height:17px}
.cf-row .cf-new{color:#fff;font-weight:700;font-size:16.5px;font-family:var(--font-heading)}
.comparison-grid.cf-hidden{display:none}

@media (max-width:800px){
  .cf-compare-head{flex-direction:column;gap:14px}
  .cf-compare-head div,.cf-compare-head div:last-child{max-width:100%;text-align:left}
  .cf-row{width:100%;padding:16px 18px;flex-wrap:wrap;gap:10px}
  .cf-row .cf-arrow{display:none}
  .cf-row .cf-old{width:calc(100% - 44px)}
  .cf-row .cf-new{width:calc(100% - 44px)}
  .cf-row .cf-old,.cf-row .cf-new{font-size:15px}
}

/* ---------- 6. Numeral watermark behind the steps (CF's giant outline) ---------- */
.steps{counter-reset:cfstep}
.steps article{position:relative;isolation:isolate}
.steps article:before{
  counter-increment:cfstep;
  content:counter(cfstep,decimal-leading-zero);
  position:absolute;top:-66px;right:4px;z-index:-1;
  font-family:var(--font-heading);font-weight:500;
  font-size:124px;line-height:1;letter-spacing:-.06em;
  color:#0000;-webkit-text-stroke:1.5px #8fa8ff1f;
  pointer-events:none;user-select:none;
}
@media (max-width:800px){.steps article:before{font-size:96px;top:-44px}}
@media (max-width:600px){.steps article:before{font-size:92px;top:-10px;right:0}}

/* ---------- 7. Sticky CTA (CF keeps one docked bottom-right) ---------- */
.cf-dock{
  position:fixed;right:22px;bottom:22px;z-index:55;
  display:inline-flex;align-items:center;gap:11px;
  padding:14px 22px;border-radius:999px;
  font-family:var(--font-heading);font-weight:700;font-size:15px;
  color:#fff;
  background:linear-gradient(180deg,#2f4dff,#0018c4 70%,#0014a8);
  box-shadow:
    inset 0 1.5px 0 0 #ffffff45,
    inset 0 -1.5px 0 0 #080e1a3d,
    0 8px 26px #00141f66,
    0 0 28px #4274ff3d;
  opacity:0;transform:translateY(14px) scale(.96);
  pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
}
.cf-dock.cf-dock-on{opacity:1;transform:none;pointer-events:auto}
.cf-dock:hover{background:linear-gradient(180deg,#3a58ff,#0024ff 70%,#0018c4)}
.cf-dock svg{width:17px;height:17px;flex-shrink:0}
@media (max-width:600px){
  .cf-dock{right:14px;bottom:14px;padding:12px 18px;font-size:14px}
}

/* ---------- 8. Scroll reveal (CF fades content up) ---------- */
[data-cf-reveal]{
  opacity:0;transform:translateY(18px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
[data-cf-reveal].cf-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  [data-cf-reveal],[data-cf-reveal].cf-in{opacity:1!important;transform:none!important;transition:none!important}
  .cf-dock{transition:none}
  .cf-row:hover{transform:none}
}

/* ---------- 9. Odds and ends ---------- */
.vsl-chapters button{background:var(--glass-fill)!important;margin:2px}
.vsl-chapters button:hover,.vsl-chapters button.active{background:#0f219699!important;box-shadow:var(--glass-ring-hi)!important}
.ownership-pill{background:var(--glass-fill-2)!important}
.next-steps p span{background:#4274ff1f}
.step{background:#4274ff1f}
.faq [data-slot=accordion-item]{box-shadow:none!important;border-bottom:1px solid #8fa8ff2e!important}

/* ---------- 10. Accordion panels (content now exists + animates) -------- */
[data-slot=accordion-content]{overflow:hidden}
.acc-body{line-height:1.7}
.inclusions .acc-body{color:var(--text-3);padding:0 20px 18px 44px;font-size:14px}
.faq .acc-body{color:var(--text-3);padding:0 2px 24px;font-size:16px}
[data-slot=accordion-trigger]{cursor:pointer;text-decoration:none!important}
[data-slot=accordion-trigger] svg{transition:transform .3s cubic-bezier(.22,.61,.36,1)}
[data-slot=accordion-trigger][data-state=open] svg{transform:rotate(180deg)}
.inclusions [data-slot=accordion-item][data-state=open]{box-shadow:var(--glass-ring-hi)!important}
.faq [data-slot=accordion-trigger][data-state=open]{color:var(--foam)}

/* ---------- 11. Mobile menu panel -------------------------------------- */
@media (max-width:600px){
  .nav-links{
    background:#0024ff!important;
    box-shadow:var(--glass-ring);
    border:0!important;border-radius:18px!important;
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  }
  .nav-links a{padding:4px 2px;font-size:15px}
}

/* ---------- 12. WhatsApp ------------------------------------------------ */
.cf-dock.cf-wa{
  background:linear-gradient(180deg,#39d268,#22b455 70%,#179c47);
  box-shadow:
    inset 0 1.5px 0 0 #ffffff52,
    inset 0 -1.5px 0 0 #080e1a33,
    0 8px 26px #00141f66,
    0 0 28px #25d3663d;
}
.cf-dock.cf-wa:hover{background:linear-gradient(180deg,#4ade7c,#2cc763 70%,#1cae50)}
.cf-wa-alt{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;margin-top:12px;padding:14px 20px;
  border-radius:999px;
  font-family:var(--font-heading);font-weight:700;font-size:14px;
  color:#0c5c2c;background:#e8fbee;
  box-shadow:inset 0 0 0 1.5px #25d36659;
  transition:background .2s,transform .2s;
}
.cf-wa-alt:hover{background:#d5f7e0;transform:translateY(-1px)}
.cf-wa-alt svg{width:18px;height:18px;color:#1aa84f}
.cf-wa-note{
  display:block;text-align:center;margin-top:10px;
  font-size:12px;color:#8b95a6;line-height:1.6;
}
.hero-wa{
  display:inline-flex;align-items:center;gap:9px;
  margin-top:14px;font-size:14px;color:var(--text-2);
}
.hero-wa a{color:var(--foam);font-weight:700;font-family:var(--font-heading);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b9c7ff59}
.hero-wa a:hover{text-decoration-color:#b9c7ff}
.hero-wa svg{width:16px;height:16px;color:#4ade7c}

/* ============================================================
   13. The brushed background — lifted 1:1 from conversionfactory.co
   A fixed stack: royal-800 base, brushed-metal texture on overlay
   blend, a royal-600/40 tint, an animated metallic sheen sweep,
   and an inset vignette — the whole thing under a slight
   perspective tilt.
   ============================================================ */
.cf-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#0019a8;pointer-events:none}
.cf-bg-tilt{
  position:absolute;inset:0;will-change:transform;transform-origin:center center;
  transform:perspective(1200px) rotateX(-.486239deg) rotateY(2.95614deg) scale(1.08);
}
.cf-bg-tex{position:absolute;inset:0;mix-blend-mode:overlay;opacity:.25}
.cf-bg-tex img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:contrast(2.2);transform:scaleX(-1);
}
.cf-bg-tint{position:absolute;inset:0;background:#0024ff66}
.cf-bg-sheen-wrap{position:absolute;inset:0;overflow:hidden}
.cf-bg-sheen{
  position:absolute;inset:0;opacity:.22;
  background-image:linear-gradient(100deg,
    #0000 0%, #0000 35%,
    #ffffff80 45%, #fffc 50%, #ffffff80 55%,
    #0000 65%, #0000 100%);
  background-size:50% 100%;
  animation:metallic-sheen 6s ease-in-out infinite;
}
@keyframes metallic-sheen{
  0%{transform:translate(-100%) skew(-15deg)}
  100%{transform:translate(200%) skew(-15deg)}
}
.cf-bg-vignette{position:absolute;inset:0;box-shadow:inset 0 0 250px 100px #0006}

/* the page now rides on top of that layer */
html{background:#0019a8}
body{background:#0000!important}
body>main,body>.cf-dock{position:relative;z-index:2}
.hero-wrap{background:
  radial-gradient(900px 460px at 12% -4%,#5b74ff3d,#0000 66%),
  radial-gradient(820px 430px at 90% 4%,#2f4dff33,#0000 68%)!important}
.tinted-band{background:#02108066!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.final-banner{background:#020a64cc!important}

/* ---------- 14. Button shine (CF's nav-cta-shimmer) -------------------- */
.cta{
  position:relative;overflow:hidden;
  outline:1px solid #ffffff99;outline-offset:2px;   /* CF's ring-with-a-gap */
}
.cta-shine{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(110deg,
    #0000 0%, #0000 30%,
    #fff9 45%, #ffffffe6 50%, #fff9 55%,
    #0000 70%, #0000 100%);
  animation:nav-cta-shimmer 30s ease-in-out infinite;
}
@keyframes nav-cta-shimmer{
  0%,96%{transform:translateX(-150%) skewX(-20deg)}
  100%{transform:translateX(250%) skewX(-20deg)}
}
.cta-label{position:relative;z-index:3;display:inline-flex;align-items:center}
.cta>svg{position:relative;z-index:3}
.nav-cta{outline-color:#ffffff99}
/* the sheen reads as gloss on light pills; on the royal ones keep it subtle */
.offer-card .cta .cta-shine,.enquiry-card .cta .cta-shine{opacity:.5}

/* ---------- 15. Icon badges (CF sets icons in a glowing royal puck) ----- */
.benefit.small{position:relative;overflow:visible}
.benefit.small>svg{
  width:54px!important;height:54px!important;
  padding:15px;box-sizing:border-box;
  border-radius:999px;
  color:#cdd8ff!important;
  background:radial-gradient(circle at 34% 28%,#4274ff,#0a1a6b 78%);
  box-shadow:
    inset 0 1.5px 0 0 #ffffff3d,
    inset 0 -1.5px 0 0 #00000038,
    0 0 26px #4274ff5c,
    0 10px 24px #00000059;
  margin-bottom:18px;
}

/* ---------- 16. VSL player --------------------------------------------- */
.vsl-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;display:block;z-index:0;background:#0b1220;
}
.vsl-stage{position:relative}
/* slide-based VSL: never crop it once playback starts */
.vsl-shell.is-started .vsl-stage{aspect-ratio:1280/664;height:auto;min-height:0}
.vsl-poster{z-index:1}
.vsl-shell.is-started .vsl-poster,
.vsl-shell.is-started .vsl-shade,
.vsl-shell.is-started .vsl-play-cover{opacity:0;pointer-events:none;transition:opacity .45s ease}
.vsl-shell.is-started .vsl-topline{opacity:0;transition:opacity .3s ease}
.vsl-shell.is-started .vsl-video{z-index:3}
.vsl-play-cover{cursor:pointer;z-index:2}
.vsl-shell:not(.is-started) .vsl-video{opacity:0}
.vsl-chapters button.active{position:relative}
.vsl-controls progress{cursor:pointer}

/* ---------- 17. WhatsApp card (replaces the enquiry form) --------------- */
.wa-card{display:flex;flex-direction:column}
.wa-card h3{margin:6px 0 10px}
.wa-lead{color:#55607a;font-size:15px;line-height:1.6;margin-bottom:22px}
.wa-number{
  display:flex;flex-direction:column;gap:4px;
  padding:18px 22px;margin-bottom:20px;
  border-radius:20px;
  background:linear-gradient(180deg,#f2fff6,#e6fbec);
  box-shadow:inset 0 0 0 1.5px #25d36659;
  transition:transform .2s,box-shadow .2s;
}
.wa-number:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px #25d366a6,0 10px 26px #25d3662e}
.wa-number-label{
  font-family:var(--font-heading);font-weight:500;
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#1aa84f;
}
.wa-number-value{
  font-family:var(--font-heading);font-weight:700;
  font-size:30px;letter-spacing:-.02em;color:#0c5c2c;
}
.wa-points{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:11px}
.wa-points li{
  position:relative;padding-left:28px;
  font-size:14px;line-height:1.55;color:#55607a;
}
.wa-points li:before{
  content:"";position:absolute;left:0;top:4px;
  width:18px;height:18px;border-radius:999px;
  background:#25d3661f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231aa84f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
  box-shadow:inset 0 0 0 1px #25d36647;
}
.enquiry-card .cta.wa-cta,.wa-cta{
  width:100%;justify-content:center;gap:12px;
  background:linear-gradient(180deg,#39d268,#22b455 70%,#179c47)!important;
  color:#fff!important;
  outline-color:#ffffff8c!important;
}
.enquiry-card .cta.wa-cta:hover{background:linear-gradient(180deg,#4ade7c,#2cc763 70%,#1cae50)!important}
.wa-cta .cta-shine{opacity:.45}
@media (max-width:600px){
  .wa-number-value{font-size:26px}
}
