/* Homepage v2 (dark luxury). Loaded only by index.html, after site.css. No inline styles (CSP). */
.v2 .wrap.wide{max-width:1120px}
.v2 .wrap{padding:0 20px}
/* header floats over the hero */
.v2 header.top-hero{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.v2 header.top-hero .wrap{height:72px}

/* ---------- hero ---------- */
.hx{position:relative;overflow:hidden;padding:clamp(300px,46svh,520px) 0 36px;text-align:center;isolation:isolate}
.hx-media{position:absolute;left:0;right:0;top:0;height:min(68svh,760px);z-index:-1;overflow:hidden}
.hx-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform-origin:50% 40%}
.hx-beam{position:absolute;left:50%;top:-4%;width:min(46vw,260px);height:78%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(186,250,255,.85),rgba(34,211,238,.45) 30%,rgba(59,130,246,.22) 70%,transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(14px);mix-blend-mode:screen;opacity:.75}
.hx-beam2{width:10px;height:70%;background:linear-gradient(180deg,#fff,rgba(165,243,252,.95) 40%,rgba(34,211,238,.25) 85%,transparent);clip-path:none;filter:blur(2.5px);opacity:.95;box-shadow:0 0 30px 8px rgba(34,211,238,.45)}
.hx-pool{position:absolute;left:50%;top:58%;width:min(90vw,620px);height:180px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(34,211,238,.32),rgba(59,130,246,.12) 55%,transparent);mix-blend-mode:screen}
.hx-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,12,.55) 0%,rgba(5,7,12,0) 18%,rgba(5,7,12,0) 52%,rgba(5,7,12,.85) 82%,#05070c 100%),radial-gradient(120% 70% at 50% 45%,transparent 55%,rgba(5,7,12,.7) 100%)}
/* shimmer particles: three layers of tiny dots (box-shadows), twinkle + slow drift */
.sparkle{position:absolute;left:0;top:0;width:2px;height:2px;border-radius:50%;background:transparent;opacity:.8}
.s1{box-shadow:12vw 18svh 0 0 rgba(165,243,252,.9),27vw 40svh 0 0 rgba(255,255,255,.7),41vw 12svh 0 0 rgba(165,243,252,.8),47vw 33svh 0 1px rgba(255,255,255,.9),55vw 22svh 0 0 rgba(165,243,252,.9),63vw 46svh 0 0 rgba(255,255,255,.6),72vw 15svh 0 0 rgba(165,243,252,.7),86vw 36svh 0 0 rgba(255,255,255,.7),93vw 9svh 0 0 rgba(165,243,252,.6),6vw 52svh 0 0 rgba(255,255,255,.5)}
.s2{box-shadow:18vw 30svh 0 0 rgba(255,255,255,.8),33vw 21svh 0 1px rgba(165,243,252,.8),44vw 50svh 0 0 rgba(255,255,255,.6),51vw 8svh 0 0 rgba(255,255,255,.9),58vw 38svh 0 1px rgba(165,243,252,.9),67vw 27svh 0 0 rgba(255,255,255,.7),79vw 48svh 0 0 rgba(165,243,252,.6),90vw 24svh 0 0 rgba(255,255,255,.6),3vw 26svh 0 0 rgba(165,243,252,.6)}
.s3{width:3px;height:3px;box-shadow:23vw 9svh 2px 0 rgba(165,243,252,.7),38vw 44svh 2px 0 rgba(255,255,255,.6),49vw 26svh 3px 1px rgba(207,250,254,.9),53vw 47svh 2px 0 rgba(165,243,252,.7),69vw 11svh 2px 0 rgba(255,255,255,.6),82vw 30svh 2px 0 rgba(165,243,252,.6)}
.hx-copy{position:relative;max-width:900px}
.hx-tag{display:inline-flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.hx-tag-brand{color:#fff}
.hx-tag-div{width:1px;height:18px;background:linear-gradient(180deg,transparent,#22d3ee,transparent);box-shadow:0 0 10px #22d3ee}
.hx-tag-line{color:#67e8f9;text-shadow:0 0 18px rgba(34,211,238,.6)}
.hx h1{font-size:clamp(38px,10.6vw,88px);line-height:1.06;font-weight:700;letter-spacing:-.025em;margin:0 auto 18px;text-shadow:0 4px 40px rgba(0,0,0,.6)}
.hx h1 span{display:block}
.glow{background:linear-gradient(90deg,#a5f3fc,#22d3ee 45%,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(34,211,238,.35))}
.hx-sub{font-size:clamp(16px,4.3vw,20px);line-height:1.6;color:#a8b2c1;max-width:640px;margin:0 auto 26px;font-weight:400}
.btn.hx-cta{display:flex;width:100%;max-width:440px;margin:0 auto;min-height:62px;font-size:18px;font-weight:600;border-radius:16px;background:linear-gradient(180deg,#4f8ff7,#3b82f6 55%,#2563eb);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 14px 40px rgba(59,130,246,.5),0 0 60px rgba(34,211,238,.18);position:relative;overflow:hidden}
.btn.hx-cta::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg)}
.hx-trust{margin:14px 0 18px;font-size:13px;color:#7d8899;letter-spacing:.02em}
.hx-new{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#dbe6f5;padding:7px 14px 7px 7px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hx-new:hover{text-decoration:none;border-color:rgba(34,211,238,.5);color:#fff}
.pill-new{display:inline-block;background:#22d3ee;color:#03141b;font-weight:700;font-size:12px;letter-spacing:.02em;border-radius:999px;padding:3px 10px;box-shadow:0 0 0 3px rgba(34,211,238,.18),0 0 18px rgba(34,211,238,.55);vertical-align:middle}
h3 .pill-new{margin-left:6px;font-size:11px;padding:2px 9px}
@media (min-width:900px){
  .hx{padding-top:clamp(380px,50vh,560px);padding-bottom:56px}
  .hx-media{height:100vh;max-height:980px}
  .hx-img{object-position:50% 35%}
  .hx-pool{top:52%}
}
/* ---------- shared section bits ---------- */
.v2main section{scroll-margin-top:24px}
.v2 .v2main>section{padding-top:64px;padding-bottom:8px}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#67e8f9}
.eyebrow::before{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,#22d3ee);box-shadow:0 0 8px #22d3ee}
.v2main h2{font-size:clamp(28px,7.4vw,50px);line-height:1.1;font-weight:700;margin:0 0 12px;letter-spacing:-.025em}
.sec-sub{color:#a1abba;font-size:16px;line-height:1.65;max-width:620px;margin:0 0 24px}
/* ---------- dream gallery ---------- */
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 18px;scroll-padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
@media (min-width:1160px){.rail{padding-left:calc((100vw - 1080px)/2);padding-right:calc((100vw - 1080px)/2);scroll-padding:0 calc((100vw - 1080px)/2)}}
.gcard{position:relative;flex:0 0 74vw;max-width:320px;aspect-ratio:4/5;margin:0;border-radius:22px;overflow:hidden;scroll-snap-align:start;background:#0b111c;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 60px rgba(0,0,0,.55);isolation:isolate}
.gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gcard::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,7,12,0) 45%,rgba(5,7,12,.92) 100%)}
.gcard::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:2;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0}
.gcard figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:16px 16px 12px;display:flex;flex-direction:column;gap:3px}
.gcard figcaption b{font-size:19px;font-weight:600;color:#fff;letter-spacing:-.01em}
.gcard figcaption span{font-size:12.5px;color:#b9c3d0;line-height:1.4}
.gcard .credit{font-size:10px;color:#7d8899;text-decoration:underline;margin-top:4px}
.gcard:hover{box-shadow:0 0 0 1px rgba(34,211,238,.45),0 24px 60px rgba(0,0,0,.55),0 0 40px rgba(34,211,238,.15)}
.gcard:hover img{transform:scale(1.06)}
.rail-note{color:#5f6a7a;margin:4px auto 0}
/* ---------- glass tool cards ---------- */
.glass-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:860px){.glass-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.glass{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 20px;border-radius:24px;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 30px 60px rgba(0,0,0,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.glass::before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(34,211,238,.8),transparent)}
.glass::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(closest-side,rgba(59,130,246,.22),transparent);pointer-events:none}
.glass:hover{text-decoration:none;transform:translateY(-4px);border-color:rgba(34,211,238,.4);box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 30px 60px rgba(0,0,0,.4),0 0 40px rgba(34,211,238,.12)}
.glass .logos{display:flex;gap:10px;margin:0 0 12px}
.glass .logos img{width:52px;height:52px;border-radius:14px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 6px 16px rgba(0,0,0,.4);background:#fff}
.glass h3{font-size:22px;font-weight:600;margin:0;color:#fff}
.glass p{margin:0;color:#a1abba;font-size:15px;line-height:1.6}
.glass .go{margin-top:10px;color:#7cc4ff;font-weight:600;font-size:15px}
.logo-note{color:#5f6a7a;margin:14px 0 0}
/* ---------- how ---------- */
.how-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px}
@media (min-width:860px){.how-steps{grid-template-columns:repeat(3,1fr);gap:20px}}
.how-steps li{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.how-steps .n{flex:0 0 38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#03141b;background:radial-gradient(circle at 35% 30%,#cffafe,#22d3ee 60%,#0891b2);box-shadow:0 0 18px rgba(34,211,238,.5)}
.how-steps b{display:block;color:#fff;font-size:17px;font-weight:600;margin:6px 0 4px}
.how-steps p{margin:0;color:#a1abba;font-size:14.5px;line-height:1.6}
.how-warn{font-size:13px;color:#8a95a6;margin:16px 0 0;padding-left:12px;border-left:2px solid rgba(251,191,36,.6)}
/* ---------- pro ---------- */
.pro-card{position:relative;display:grid;gap:22px;padding:28px 22px;border-radius:28px;overflow:hidden;background:radial-gradient(90% 120% at 100% 0%,rgba(59,130,246,.28),transparent 60%),radial-gradient(70% 90% at 0% 100%,rgba(34,211,238,.12),transparent 60%),rgba(255,255,255,.035);border:1px solid rgba(124,196,255,.22);box-shadow:0 0 80px rgba(59,130,246,.12),0 1px 0 rgba(255,255,255,.08) inset}
@media (min-width:860px){.pro-card{grid-template-columns:1.3fr 1fr;align-items:center;padding:44px}}
.pro-card .sec-sub{margin-bottom:0}
.pro-r{display:flex;flex-direction:column;gap:10px}
.pro-price{font-size:56px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1}
.pro-price small{font-size:18px;color:#98a3b3;font-weight:500;letter-spacing:0;margin-left:4px}
.btn.pro-btn{min-height:58px;font-size:17px}
.pro-free{text-align:center;font-weight:600;font-size:15px}
.pro-fine{color:#6f7a8a;line-height:1.55;margin:4px 0 0}
.pro-fine a{color:#8a95a6;text-decoration:underline}
/* ---------- partner, faq, join, final ---------- */
.v2main>.partner-card{max-width:1080px;margin:48px auto 0;width:calc(100% - 40px)}
.faq-wrap .faq{padding:4px 20px;border-radius:22px}
.faq details{border-color:rgba(255,255,255,.07);padding:16px 0}
.faq summary{font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:#22d3ee;font-weight:400;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:#a1abba;line-height:1.65}
.join-card{padding:28px 22px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1)}
@media (min-width:860px){.join-card{padding:40px 44px}}
.join-card h2{font-size:clamp(24px,6vw,36px)}
.join-card>p{color:#a1abba;margin:0 0 16px;max-width:560px}
.join .wl-btn{background:var(--brand)}
.final{text-align:center;padding:72px 20px 40px!important}
.final h2{max-width:720px;margin:0 auto 26px!important}
.final .hx-tag{justify-content:center}
.v2 .site-foot{margin-top:40px}
/* ---------- motion (CSS only, compositor-friendly, off for reduced motion) ---------- */
@media (prefers-reduced-motion:no-preference){
  .hx-beam{animation:beam 6s ease-in-out infinite}
  .hx-beam2{animation:beam 4.5s ease-in-out infinite}
  .s1{animation:twinkle 3.6s ease-in-out infinite,drift 18s linear infinite}
  .s2{animation:twinkle 4.8s ease-in-out -1.6s infinite,drift 26s linear -6s infinite}
  .s3{animation:twinkle 2.8s ease-in-out -.8s infinite,drift 22s linear -12s infinite}
  .hx-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hx-copy>:nth-child(2){animation-delay:.08s}.hx-copy>:nth-child(3){animation-delay:.16s}.hx-copy>:nth-child(4){animation-delay:.24s}.hx-copy>:nth-child(5),.hx-copy>:nth-child(6){animation-delay:.32s}
  .hx-img{animation:kenburns 24s ease-in-out infinite alternate}
  .btn.hx-cta::after{animation:sheen 4.5s ease-in-out 1.2s infinite}
  .gcard:hover::after{animation:sheen2 1.1s ease}
  @supports (animation-timeline:view()){
    .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
    .hx-media{animation:parallax linear both;animation-timeline:scroll(root);animation-range:0 100vh}
  }
}
@keyframes beam{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes drift{from{transform:translateY(0)}to{transform:translateY(-40px)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
@keyframes sheen{0%,70%{left:-40%}100%{left:130%}}
@keyframes sheen2{from{left:-60%;opacity:1}to{left:140%;opacity:1}}
@keyframes reveal{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes parallax{to{transform:translateY(22%)}}
.rail{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.hx-tag{text-shadow:0 2px 12px rgba(0,0,0,.8)}

/* homepage link to /join-them-all/ (Oct 7 2026) */
.jt-home{margin-top:8px;margin-bottom:8px}
.jt-home-card{text-decoration:none;border-color:rgba(34,211,238,.35);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 0 44px rgba(34,211,238,.1),0 30px 60px rgba(0,0,0,.35)}
.jt-home-card .eyebrow{margin:0 0 4px}
.jt-home-card h3{font-size:clamp(20px,4.6vw,26px)}
.jt-home-card .go{margin-top:8px}

/* 2026-10-10 Pro yearly option */
.pro-alt{margin:.1rem 0 .6rem;opacity:.85;font-weight:600}
.pro-r .pro-btn+.pro-btn{margin-top:.5rem}
