/* ============================================
   RepreX Landing Pages — Shared CSS
   ============================================ */
:root {
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --primary:#7c3aed;--primary-light:#a78bfa;--primary-dark:#5b21b6;--primary-bg:rgba(124,58,237,0.08);
  --accent:#06b6d4;--accent-light:#67e8f9;
  --success:#10b981;--success-bg:rgba(16,185,129,0.1);
  --warning:#f59e0b;--warning-bg:rgba(245,158,11,0.1);
  --error:#ef4444;--error-bg:rgba(239,68,68,0.1);
  --bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#16161f;--bg-card-hover:#1e1e2d;--bg-hover:rgba(255,255,255,0.03);
  --text-primary:#f0f0f5;--text-secondary:#a0a0b8;--text-muted:#6b6b85;
  --border:rgba(255,255,255,0.08);--border-hover:rgba(255,255,255,0.15);
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;
  --transition-fast:150ms ease;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--primary-light);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--primary)}
img{max-width:100%;height:auto}

/* Light theme override */
.lp-light{--bg-primary:#f7f7fd;--bg-secondary:#ffffff;--bg-card:#ffffff;--bg-card-hover:#f0f0f8;--text-primary:#1a1a2e;--text-secondary:#4a4a6a;--text-muted:#8888a0;--border:rgba(0,0,0,0.08);--border-hover:rgba(0,0,0,0.15);--bg-hover:rgba(0,0,0,0.02)}

/* ── V-Logo (animated brand mark) ── */
.v-logo-component{--size:300px;width:var(--size);height:var(--size);position:relative;overflow:visible;flex-shrink:0}
.v-mask{width:100%;height:100%;position:absolute;top:0;left:0;clip-path:polygon(0% -20%,50% 100%,100% -20%);isolation:isolate}
.v-blob{position:absolute;border-radius:50%;mix-blend-mode:screen;filter:blur(calc(var(--size)*0.12))}
.v-blob-blue{width:70%;height:120%;background:linear-gradient(to top,#001eff,#00c3ff,transparent);bottom:-10%;left:-10%;transform:rotate(-10deg);opacity:0.8;animation:v-moveSide 6s ease-in-out infinite alternate}
.v-blob-purple{width:70%;height:120%;background:linear-gradient(to top,#5500ff,#e100ff,transparent);bottom:-10%;right:-10%;transform:rotate(10deg);opacity:0.8;animation:v-moveSide 6s ease-in-out infinite alternate-reverse}
.v-blob-flame{width:45%;height:80%;background:radial-gradient(circle at center,#fffeb3 0%,#ffea00 40%,#ffae00 70%,transparent 85%);bottom:20%;left:27.5%;opacity:1;z-index:10;filter:blur(calc(var(--size)*0.1)) brightness(1.2);animation:v-organicFlame 5s ease-in-out infinite}
@keyframes v-moveSide{0%{transform:translateY(0) rotate(-10deg)}100%{transform:translateY(-5%) rotate(0deg)}}
@keyframes v-organicFlame{0%{transform:translateY(0) scale(1);border-radius:50%}33%{transform:translateY(-10%) scale(1.05) rotate(-3deg);border-radius:40% 60% 55% 45%/50% 50% 50% 50%}66%{transform:translateY(-5%) scale(0.95) rotate(3deg);border-radius:60% 40% 45% 55%/50% 50% 50% 50%}100%{transform:translateY(0) scale(1);border-radius:50%}}

/* ── Nav ── */
.lp-nav{position:sticky;top:0;z-index:50;background:rgba(10,10,15,0.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:14px 40px;display:flex;justify-content:space-between;align-items:center}
.lp-light .lp-nav{background:rgba(255,255,255,0.92)}
.lp-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.lp-nav-brand img{height:1.3rem;width:auto}
.lp-nav-brand small{font-size:0.55rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;display:block;margin-top:2px}
.lp-nav-links{display:flex;gap:20px;align-items:center}
.lp-nav-links a{font-size:0.8rem;color:var(--text-secondary);text-decoration:none}
.lp-nav-links a:hover{color:var(--text-primary)}
.lp-nav-alt{font-size:0.8rem;font-weight:600;color:var(--accent);background:rgba(6,182,212,0.1);border:1px solid rgba(6,182,212,0.22);padding:5px 12px;border-radius:var(--radius-md);text-decoration:none;white-space:nowrap}
.lp-hamburger{display:none;flex-direction:column;gap:5px;padding:6px;background:none;border:none;cursor:pointer}
.lp-hamburger span{display:block;width:20px;height:2px;background:var(--text-primary);border-radius:1px}
.lp-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(10,10,15,0.97);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);padding:20px 24px;flex-direction:column;gap:14px;z-index:49}
.lp-mobile-menu.open{display:flex}
.lp-mobile-menu a{font-size:0.88rem;color:var(--text-secondary);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--border)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:var(--font);font-size:0.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px rgba(124,58,237,0.3)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,58,237,0.4);color:#fff}
.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}
.btn-success{background:linear-gradient(135deg,var(--success),#059669);color:#fff}
.btn-sm{padding:6px 14px;font-size:0.8rem}
.btn-lg{padding:14px 28px;font-size:1rem}

/* ── Shared section patterns ── */
.lp-section{padding:clamp(64px,8vw,100px) clamp(24px,5vw,80px);border-bottom:1px solid var(--border)}
.lp-section-alt{background:var(--bg-secondary)}
.lp-wrap{max-width:1200px;margin:0 auto}
.lp-wrap-narrow{max-width:860px;margin:0 auto}
.lp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.lp-kicker{display:inline-flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--primary-light);background:var(--primary-bg);border:1px solid rgba(167,139,250,0.2);padding:4px 12px;border-radius:var(--radius-full);margin-bottom:28px}
.lp-label{font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--primary-light);margin-bottom:40px;display:flex;align-items:center;gap:12px}
.lp-label::after{content:'';flex:0 0 40px;height:1px;background:var(--border)}
.lp-h2{font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.08;letter-spacing:-0.025em;color:var(--text-primary);margin-bottom:0}
.lp-h2 em{font-style:normal;background:linear-gradient(135deg,var(--primary-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.lp-h2 .dim{color:var(--text-secondary)}
.lp-body{font-size:1rem;color:var(--text-secondary);line-height:1.8;margin-top:24px;max-width:420px}
.lp-body+.lp-body{margin-top:12px}
.lp-insight{border-left:3px solid var(--primary-light);padding-left:20px;margin-top:28px;font-size:1.05rem;font-style:italic;color:var(--text-secondary);line-height:1.6}
.lp-insight em{color:var(--primary-light);font-style:normal;font-weight:600}

/* ── Numbered list / pain items ── */
.lp-list{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card)}
.lp-list-item{padding:22px 28px;border-bottom:1px solid var(--border);transition:background var(--transition-fast)}
.lp-list-item:last-child{border-bottom:none}
.lp-list-item:hover{background:var(--bg-card-hover)}
.lp-list-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.lp-list-n{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;color:var(--text-muted);min-width:20px}
.lp-list-title{font-size:0.95rem;font-weight:700;color:var(--text-primary)}
.lp-list-desc{padding-left:32px;font-size:0.83rem;color:var(--text-secondary);line-height:1.7;margin:0}
.lp-list-desc strong{color:var(--text-primary);font-weight:600}

/* ── UI mockup (deck / inbox) ── */
.lp-ui{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card)}
.lp-ui-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:10px 18px;display:flex;align-items:center;gap:6px}
.lp-dot{width:8px;height:8px;border-radius:50%}
.lp-ui-file{font-size:0.7rem;color:var(--text-muted);letter-spacing:0.06em;margin-left:auto}
.lp-slide{padding:24px 22px;border-bottom:1px solid var(--border)}
.lp-slide:last-child{border-bottom:none}
.lp-slide-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.lp-slide-num{font-size:0.7rem;color:var(--text-muted);letter-spacing:0.08em}
.lp-verdict{font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-sm)}
.lp-v-skip{color:var(--error);background:var(--error-bg)}
.lp-v-ok{color:var(--warning);background:var(--warning-bg)}
.lp-v-good{color:var(--success);background:var(--success-bg)}
.lp-slide-name{font-size:0.88rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}
.lp-slide-reason{font-size:0.78rem;color:var(--text-secondary);line-height:1.65;margin:0}
.lp-slide-reason strong{font-weight:600}
.lp-slide-reason.bad strong{color:var(--error)}
.lp-slide-reason.good strong{color:var(--success)}
.lp-ui-warning{padding:16px 22px;background:rgba(239,68,68,0.05);border-top:1px solid rgba(239,68,68,0.12);font-size:0.78rem;color:var(--text-secondary);line-height:1.6}
.lp-ui-warning strong{color:var(--error);font-weight:600}

/* ── Contrast grid ── */
.lp-contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:48px}
.lp-cc{padding:36px 32px}
.lp-cc-before{background:rgba(239,68,68,0.04)}
.lp-cc-after{background:rgba(16,185,129,0.04)}
.lp-cc-label{font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.lp-cc-before .lp-cc-label{color:var(--error)}
.lp-cc-after .lp-cc-label{color:var(--success)}
.lp-ci{display:flex;gap:12px;font-size:0.83rem;color:var(--text-secondary);padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.04);line-height:1.6;align-items:flex-start}
.lp-ci:last-child{border-bottom:none}
.lp-ci strong{color:var(--text-primary);font-weight:600}
.lp-ci-icon{flex-shrink:0;margin-top:2px;font-weight:700}
.lp-ci-icon.bad{color:var(--error)}
.lp-ci-icon.good{color:var(--success)}

/* ── Dossier mockup ── */
.lp-dossier{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card)}
.lp-dossier-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:8px}
.lp-fit-badge{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;color:var(--success);border:1px solid rgba(16,185,129,0.3);padding:3px 10px;border-radius:var(--radius-sm)}
.lp-fit-score{margin-left:auto;font-size:1.4rem;font-weight:900;color:var(--success)}
.lp-dossier-body{padding:20px}
.lp-d-sec{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin:16px 0 10px}
.lp-d-sec:first-child{margin-top:0}
.lp-d-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.82rem}
.lp-d-key{color:var(--text-secondary)}
.lp-bar-w{display:flex;align-items:center;gap:8px}
.lp-bar{width:64px;height:3px;background:var(--border);border-radius:2px;overflow:hidden}
.lp-bar-fill{height:100%;background:var(--success);border-radius:2px;transition:width 1.1s ease;width:0%}
.lp-bar-n{font-size:0.78rem;font-weight:700;color:var(--success);min-width:24px;text-align:right}
.lp-d-risk{background:var(--error-bg);border:1px solid rgba(239,68,68,0.15);border-radius:var(--radius-sm);padding:12px 14px;margin-top:6px;font-size:0.78rem;color:var(--text-secondary);line-height:1.6}
.lp-d-risk strong{color:var(--error);font-weight:600}
.lp-dossier-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}
.lp-d-hint{margin-left:auto;font-size:0.7rem;color:var(--text-muted)}

/* ── Audience profiles ── */
.lp-whom{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:40px}
.lp-whom-item{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--border);transition:background var(--transition-fast)}
.lp-whom-item:last-child{border-bottom:none}
.lp-whom-item:hover{background:var(--bg-hover)}
.lp-whom-left{padding:24px 22px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
.lp-whom-role{font-size:0.95rem;font-weight:800;color:var(--text-primary)}
.lp-whom-tag{font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted)}
.lp-whom-right{padding:24px 28px;font-size:0.83rem;color:var(--text-secondary);line-height:1.8}
.lp-whom-right strong{color:var(--text-primary);font-weight:600}

/* ── Principles ── */
.lp-principles{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.lp-principle{flex:1;min-width:200px;padding:28px 24px;background:var(--bg-card)}
.lp-principle-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.lp-principle-title{font-size:0.95rem;font-weight:800;color:var(--text-primary);margin-bottom:6px}
.lp-principle-desc{font-size:0.8rem;color:var(--text-secondary);line-height:1.7;margin:0}
.lp-not-quote{font-size:clamp(1.1rem,2vw,1.5rem);font-style:italic;color:var(--text-secondary);line-height:1.6;border-left:3px solid var(--primary-light);padding-left:24px;max-width:720px;margin-bottom:48px}
.lp-not-quote em{color:var(--primary-light);font-style:normal;font-weight:600}

/* ── Bilateral insight ── */
.lp-bilateral{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;padding:40px 44px;border:1px solid rgba(167,139,250,0.15);border-radius:var(--radius-lg);background:rgba(124,58,237,0.04)}
.lp-bil-label{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--primary-light);margin-bottom:12px}

/* ── CTA section ── */
.lp-cta{padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px);text-align:center;position:relative;overflow:hidden}
.lp-cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(124,58,237,0.12) 0%,transparent 65%);pointer-events:none}

/* ── Footer ── */
.lp-footer{padding:24px 40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.lp-footer a{font-size:0.75rem;color:var(--text-muted)}

/* ── Animations ── */
.lp-r{opacity:0;transform:translateY(20px);transition:opacity 0.65s ease,transform 0.65s ease}
.lp-r.on{opacity:1;transform:none}
.lp-d1{transition-delay:0.1s}.lp-d2{transition-delay:0.2s}.lp-d3{transition-delay:0.3s}

/* ── Responsive ── */
@media(max-width:900px){
  .lp-two-col{grid-template-columns:1fr!important;gap:40px!important}
  .lp-contrast{grid-template-columns:1fr}
  .lp-whom-item{grid-template-columns:1fr}
  .lp-whom-left{border-right:none;border-bottom:1px solid var(--border)}
  .lp-bilateral{grid-template-columns:1fr;gap:32px}
  .lp-nav{padding:12px 20px}
  .lp-nav-links{display:none!important}
  .lp-hamburger{display:flex}
}
