/* index.css — extracted from inline <style> in templates/index.html
   Part of CSP hardening: removing 'unsafe-inline' from style-src. */

/* ============================
   TOKENS
   ============================ */
:root{
  --pw-bg:#05060c;
  --pw-surface:rgba(12,14,26,0.76);
  --pw-surface-h:rgba(28,24,55,0.84);
  --pw-border:rgba(121,184,255,0.13);
  --pw-text:#f1f5f9;
  --pw-muted:#64748b;
  --pw-blue:#5a8bff;
  --pw-blue-l:#79b8ff;
  --pw-green:#2fbf7f;
  --pw-gold:#caa158;
  --pw-cyan:#79b8ff;
  --pw-red:#ed6070;
  --max-w:1200px;
  --section-px:clamp(24px, 5vw, 80px);
}

*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--pw-bg);color:var(--pw-text);font-family:'DM Sans',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;}

/* ============================
   NAV
   ============================ */
.pw-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:16px var(--section-px);
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(7,9,15,0.7);
  backdrop-filter:blur(20px);
  border-bottom:1px solid transparent;
  transition:all .3s;
}
.pw-nav.scrolled{
  padding:12px var(--section-px);
  background:rgba(7,9,15,0.95);
  border-bottom-color:var(--pw-border);
}
.pw-nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;}
.pw-nav-logo img{height:34px;width:auto;}
.pw-nav-logo-text{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:18px;color:var(--pw-text);letter-spacing:0;}
.pw-nav-links{display:flex;align-items:center;gap:8px;list-style:none;}
.pw-nav-links a{color:#94a3b8;text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:8px;transition:color .2s;cursor:pointer;}
.pw-nav-links a:hover{color:var(--pw-text);}
.pw-btn-nav-primary{background:var(--pw-blue);color:white;border:none;padding:9px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.pw-btn-nav-primary:hover{background:var(--pw-blue-l);transform:translateY(-1px);}
.pw-btn-nav-ghost{background:transparent;color:#94a3b8;border:1px solid var(--pw-border);padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.pw-btn-nav-ghost:hover{border-color:rgba(255,255,255,.2);color:var(--pw-text);}

/* ============================
   HERO
   ============================ */
.pw-hero{
  min-height:100vh;
  display:flex;align-items:center;
  padding:120px var(--section-px) 80px;
  position:relative;overflow:hidden;
}
.pw-hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 90% 85% at 50% 40%,black 10%,transparent 70%);
  pointer-events:none;
}

.pw-hero-inner{
  position:relative;z-index:1;
  max-width:var(--max-w);margin:0 auto;width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,5vw,80px);
  align-items:center;
}
.pw-hero-copy{width:100%;}

.pw-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(90,139,255,.1);border:1px solid rgba(121,184,255,.28);
  border-radius:100px;padding:5px 14px;
  font-size:12.5px;font-weight:600;color:var(--pw-blue-l);
  margin-bottom:28px;animation:fadeUp .5s ease both;
}
.pw-hero h1{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(36px,4.2vw,58px);
  font-weight:800;line-height:1.08;letter-spacing:0;
  color:var(--pw-text);margin-bottom:22px;
  animation:fadeUp .5s ease .08s both;
}
.pw-hero h1 .highlight{
  background:linear-gradient(135deg,#7d4cff,#79b8ff);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.pw-hero-sub{
  font-size:clamp(15px,1.6vw,18px);color:#94a3b8;line-height:1.65;
  margin-bottom:36px;max-width:480px;
  animation:fadeUp .5s ease .16s both;
}
.pw-hero-cta{display:flex;gap:12px;flex-wrap:wrap;animation:fadeUp .5s ease .24s both;margin-bottom:36px;}
.pw-btn-primary{
  background:linear-gradient(135deg,#160922,#2356c7);color:white;border:none;
  padding:14px 32px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;
  transition:all .25s;font-family:'DM Sans',sans-serif;
  box-shadow:0 4px 24px rgba(90,139,255,.35);
}
.pw-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(90,139,255,.42);}
.pw-btn-secondary{
  background:var(--pw-surface);color:var(--pw-text);
  border:1px solid var(--pw-border);padding:14px 28px;border-radius:10px;
  font-size:16px;font-weight:500;cursor:pointer;transition:all .25s;font-family:'DM Sans',sans-serif;
}
.pw-btn-secondary:hover{background:var(--pw-surface-h);border-color:rgba(255,255,255,.15);transform:translateY(-2px);}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

.pw-trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap;animation:fadeUp .5s ease .32s both;}
.pw-trust-item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#64748b;font-weight:500;}
.pw-trust-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.12);}

/* ============================
   HERO VISUAL / MOCKUP
   ============================ */
.pw-hero-visual{
  animation:fadeUp .5s ease .2s both;
  max-width:480px;
  width:100%;
  margin-left:auto;
}
.pw-mockup-wrap{
  position:relative;
}
.pw-mockup-float{
  position:absolute;
  background:rgba(13,20,40,0.95);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:10px 14px;
  backdrop-filter:blur(8px);
  box-shadow:0 8px 32px rgba(0,0,0,.5);
  animation:floatCard 4s ease-in-out infinite;
  z-index:2;
}
.pw-mockup-float-1{
  right:-28px;top:60px;
  min-width:130px;
  animation-delay:0s;
}
.pw-mockup-float-2{
  left:-28px;bottom:80px;
  min-width:140px;
  animation-delay:1.8s;
}
@keyframes floatCard{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}
.pw-float-label{font-size:9px;color:#475569;text-transform:uppercase;letter-spacing:.7px;font-weight:600;margin-bottom:4px;}
.pw-float-val{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:800;color:var(--pw-text);letter-spacing:0;}
.pw-float-delta{font-size:10px;font-weight:600;margin-top:2px;}

.pw-mockup-frame{
  background:#0c1526;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03),
    0 32px 72px rgba(0,0,0,.7),
    0 0 80px rgba(90,139,255,.08);
  position:relative;z-index:1;
}
.pw-mockup-titlebar{
  background:#0e1a2d;padding:11px 16px;
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.pw-mockup-dots{display:flex;gap:6px;}
.pw-mockup-dot{width:10px;height:10px;border-radius:50%;}
.pw-mockup-url-bar{
  flex:1;background:rgba(255,255,255,.05);border-radius:5px;
  padding:4px 10px;font-size:11px;color:#475569;text-align:center;font-family:monospace;
}
.pw-panel-tabs{display:flex;gap:6px;padding:10px 18px 0;}
.pw-panel-tab{width:24px;height:3px;border-radius:2px;background:rgba(255,255,255,.1);transition:background .3s;cursor:pointer;}
.pw-panel-tab.active{background:var(--pw-blue);}
.pw-mockup-body{padding:16px;display:flex;flex-direction:column;gap:10px;min-height:300px;}
.pw-mockup-panel{display:none;flex-direction:column;gap:10px;}
.pw-mockup-panel.active{display:flex;animation:panelIn .5s ease both;}
@keyframes panelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.pw-mock-nw{
  background:linear-gradient(135deg,#131f3a,#0e1829);
  border:1px solid rgba(121,184,255,.18);border-radius:12px;padding:16px 18px;
  position:relative;overflow:hidden;
}
.pw-mock-nw::after{
  content:'';position:absolute;right:-10px;top:-10px;
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle,rgba(90,139,255,.14) 0%,transparent 70%);
}
.pw-mock-nw-label{font-size:10px;color:#475569;font-weight:500;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.pw-mock-nw-value{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:var(--pw-text);letter-spacing:0;line-height:1;margin-bottom:4px;}
.pw-mock-nw-delta{font-size:11px;color:var(--pw-green);font-weight:600;}
.pw-mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.pw-mock-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055);border-radius:9px;padding:10px 12px;}
.pw-mock-stat-lbl{font-size:9px;color:#475569;font-weight:500;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;}
.pw-mock-stat-val{font-family:'Bricolage Grotesque',sans-serif;font-size:14px;font-weight:700;letter-spacing:0;}
.pw-mock-budget-block{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055);border-radius:9px;padding:12px 13px;}
.pw-mock-section-title{font-size:10px;font-weight:600;color:var(--pw-text);margin-bottom:9px;text-transform:uppercase;letter-spacing:.6px;}
.pw-mock-brow{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.pw-mock-brow:last-child{margin-bottom:0;}
.pw-mock-bcat{font-size:9.5px;color:#64748b;width:60px;flex-shrink:0;}
.pw-mock-btrack{flex:1;height:5px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;}
.pw-mock-bfill{height:100%;border-radius:10px;transition:width 1.4s cubic-bezier(.4,0,.2,1);}
.pw-mock-bpct{font-size:9px;color:#475569;width:24px;text-align:right;flex-shrink:0;}
.pw-mock-chat{background:rgba(90,139,255,.06);border:1px solid rgba(121,184,255,.18);border-radius:9px;padding:12px 14px;}
.pw-mock-chat-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--pw-blue-l);font-weight:700;margin-bottom:7px;}
.pw-mock-bubble{border-radius:8px;padding:7px 10px;font-size:11px;line-height:1.5;margin-bottom:5px;}
.pw-mock-bubble:last-child{margin-bottom:0;}
.pw-mock-bubble.user{background:rgba(255,255,255,.05);color:#94a3b8;}
.pw-mock-bubble.ai{background:rgba(90,139,255,.1);color:#d9e5ff;}
.pw-mock-bubble.ai strong{color:#e0e7ff;}
.demo-typing{display:flex;align-items:center;gap:4px;padding:7px 10px;background:rgba(90,139,255,.08);border:1px solid rgba(121,184,255,.15);border-radius:8px;width:fit-content;}
.demo-typing span{width:5px;height:5px;border-radius:50%;background:#79b8ff;animation:typingDot 1.2s ease-in-out infinite;}
.demo-typing span:nth-child(2){animation-delay:.2s;}
.demo-typing span:nth-child(3){animation-delay:.4s;}
@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}
.demo-tx-row{
  display:flex;align-items:center;gap:9px;
  padding:8px 10px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);border-radius:8px;
  opacity:0;transform:translateX(-12px);transition:all .4s ease;
}
.demo-tx-row.visible{opacity:1;transform:translateX(0);}
.demo-tx-icon{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}
.demo-sync-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:var(--pw-green);font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;}
.demo-sync-dot{width:6px;height:6px;border-radius:50%;background:var(--pw-green);animation:syncPulse 1.5s ease-in-out infinite;}
@keyframes syncPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}

/* ============================
   TRUST STRIP
   ============================ */
.pw-trust-strip{
  border-top:1px solid var(--pw-border);
  border-bottom:1px solid var(--pw-border);
  background:rgba(255,255,255,.015);
  padding:28px var(--section-px);
}
.pw-trust-strip-inner{
  max-width:var(--max-w);margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.pw-trust-block{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 20px;
  border-right:1px solid var(--pw-border);
}
.pw-trust-block:last-child{border-right:none;}
.pw-trust-block-icon{
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;
}
.pw-trust-block-title{font-size:13.5px;font-weight:700;color:var(--pw-text);margin-bottom:3px;}
.pw-trust-block-desc{font-size:12px;color:var(--pw-muted);line-height:1.5;}

/* ============================
   SECTIONS
   ============================ */
.pw-section{
  padding:96px var(--section-px);
  max-width:var(--max-w);margin:0 auto;
}
.pw-section-label{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--pw-blue-l);margin-bottom:14px;}
.pw-section-title{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(26px,3.2vw,40px);font-weight:800;line-height:1.1;letter-spacing:0;color:var(--pw-text);margin-bottom:14px;}
.pw-section-sub{font-size:16px;color:#64748b;line-height:1.65;max-width:480px;margin-bottom:52px;}

/* ============================
   HOW IT WORKS
   ============================ */
.pw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pw-step{background:var(--pw-surface);border:1px solid var(--pw-border);border-radius:16px;padding:32px;transition:all .3s;}
.pw-step:hover{background:var(--pw-surface-h);border-color:rgba(121,184,255,.28);transform:translateY(-4px);}
.pw-step-num{font-family:'Bricolage Grotesque',sans-serif;font-size:48px;font-weight:800;color:rgba(90,139,255,.15);line-height:1;margin-bottom:16px;}
.pw-step h3{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:700;color:var(--pw-text);margin-bottom:10px;}
.pw-step p{font-size:14px;color:#64748b;line-height:1.65;}

/* ============================
   FEATURES SHOWCASE
   ============================ */
.pw-features-showcase{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.pw-feat-card{background:var(--pw-surface);border:1px solid var(--pw-border);border-radius:18px;overflow:hidden;transition:all .3s;}
.pw-feat-card:hover{border-color:rgba(121,184,255,.25);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.3);}
.pw-feat-demo{padding:20px;border-bottom:1px solid var(--pw-border);background:rgba(255,255,255,.015);min-height:200px;position:relative;overflow:hidden;}
.pw-feat-copy{padding:20px 22px;}
.pw-feat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;}
.pw-feat-copy h3{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:700;color:var(--pw-text);margin-bottom:8px;}
.pw-feat-copy p{font-size:13.5px;color:#64748b;line-height:1.65;}
.demo-brow{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.demo-bcat{font-size:10.5px;color:#64748b;width:72px;flex-shrink:0;}
.demo-btrack{flex:1;height:8px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;}
.demo-bfill{height:100%;border-radius:10px;width:0;transition:width 1.6s cubic-bezier(.4,0,.2,1);}
.demo-bpct{font-size:10px;color:#475569;width:32px;text-align:right;flex-shrink:0;}
.demo-nw-counter{font-family:'Bricolage Grotesque',sans-serif;font-size:34px;font-weight:800;color:var(--pw-text);letter-spacing:0;margin-bottom:4px;}
.demo-nw-chart{display:flex;align-items:flex-end;gap:4px;height:55px;padding:0 2px;}
.demo-nw-bar{flex:1;border-radius:3px 3px 0 0;transition:height 1.2s cubic-bezier(.4,0,.2,1);}
.demo-goal{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 14px;margin-bottom:8px;}
.demo-goal:last-child{margin-bottom:0;}
.demo-goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.demo-goal-name{font-size:11.5px;font-weight:600;color:var(--pw-text);}
.demo-goal-pct{font-size:11.5px;font-weight:700;}
.demo-goal-track{height:6px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;margin-bottom:6px;}
.demo-goal-fill{height:100%;border-radius:10px;width:0;transition:width 1.8s cubic-bezier(.4,0,.2,1);}
.demo-goal-meta{display:flex;justify-content:space-between;font-size:9.5px;color:#475569;}
.demo-learn-path{display:flex;align-items:center;margin-bottom:12px;}
.demo-learn-node{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;transition:all .4s;}
.demo-learn-line{flex:1;height:2px;}
.demo-course-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:8px;font-size:11px;margin-bottom:6px;transition:all .4s;}
.demo-course-item.done{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.06);}
.demo-course-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;margin-left:auto;}

/* ============================
   PRICING
   ============================ */
.pw-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
.pw-plan{background:var(--pw-surface);border:1px solid var(--pw-border);border-radius:20px;padding:36px 28px;position:relative;transition:all .3s;display:flex;flex-direction:column;}
.pw-plan:hover{transform:translateY(-4px);}
.pw-plan-popular{border-color:rgba(121,184,255,.45);background:rgba(90,139,255,.05);}
.pw-plan-premium{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.03);}
.pw-plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 16px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;}
.pw-plan-name{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;color:var(--pw-text);margin-bottom:4px;}
.pw-plan-desc{font-size:13px;color:var(--pw-muted);margin-bottom:22px;line-height:1.5;}
.pw-plan-price{font-family:'Bricolage Grotesque',sans-serif;font-size:44px;font-weight:800;color:var(--pw-text);line-height:1;margin-bottom:4px;letter-spacing:0;}
.pw-plan-price-period{font-size:15px;font-weight:400;color:var(--pw-muted);letter-spacing:0;}
.pw-plan-grandfathered{font-size:12px;padding:6px 12px;border-radius:8px;margin:12px 0;font-weight:600;}
.pw-plan-divider{border:none;border-top:1px solid var(--pw-border);margin:20px 0;}
.pw-plan-features{list-style:none;margin-bottom:28px;flex:1;}
.pw-plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#94a3b8;margin-bottom:12px;line-height:1.5;}
.pw-plan-features li.coming{opacity:.55;}
.pw-plan-features li.coming::after{content:'Soon';font-size:10px;font-weight:700;padding:2px 7px;background:rgba(245,158,11,.12);color:var(--pw-gold);border-radius:4px;margin-left:auto;flex-shrink:0;align-self:center;}
.pw-plan-features li .check{flex-shrink:0;margin-top:1px;font-size:14px;}
.pw-plan-btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s;font-family:'DM Sans',sans-serif;}
.pw-plan-btn-free{background:var(--pw-surface-h);color:var(--pw-text);border:1px solid var(--pw-border);}
.pw-plan-btn-free:hover{background:rgba(255,255,255,.1);}
.pw-plan-btn-pro{background:linear-gradient(135deg,#160922,#2356c7);color:white;box-shadow:0 4px 20px rgba(90,139,255,.3);}
.pw-plan-btn-pro:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(90,139,255,.42);}
.pw-plan-btn-premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;font-weight:700;}
.pw-plan-btn-premium:hover{transform:translateY(-2px);}

/* ============================
   TESTIMONIALS
   ============================ */
.pw-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pw-testimonial{background:var(--pw-surface);border:1px solid var(--pw-border);border-radius:16px;padding:28px;}
.pw-stars{font-size:15px;margin-bottom:14px;color:var(--pw-gold);}
.pw-testimonial-text{font-size:14px;color:#94a3b8;line-height:1.7;margin-bottom:20px;}
.pw-testimonial-author{display:flex;align-items:center;gap:12px;}
.pw-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.pw-author-name{font-size:13.5px;font-weight:700;color:var(--pw-text);}
.pw-author-title{font-size:12px;color:var(--pw-muted);}
.pw-testimonial-placeholder{
  background:var(--pw-surface);border:1px dashed rgba(255,255,255,.08);
  border-radius:16px;padding:28px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;text-align:center;min-height:180px;
  transition: all .3s;
}
.pw-testimonial-placeholder:hover{
  border-color: rgba(121,184,255,.3);
  background: var(--pw-surface-h);
}
.pw-testimonial-placeholder p{font-size:13px;color:#94a3b8;}

/* ============================
   FAQ
   ============================ */
.pw-faq{max-width:720px;margin:0 auto;}
.pw-faq-item{border-bottom:1px solid var(--pw-border);}
.pw-faq-q{
  width:100%;background:none;border:none;color:var(--pw-text);
  font-size:15px;font-weight:600;font-family:'DM Sans',sans-serif;
  padding:20px 0;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;text-align:left;gap:16px;transition:color .2s;
}
.pw-faq-q:hover{color:var(--pw-blue-l);}
.pw-faq-arrow{font-size:11px;color:var(--pw-muted);transition:transform .3s;flex-shrink:0;}
.pw-faq-item.open .pw-faq-arrow{transform:rotate(180deg);}
.pw-faq-a{
  font-size:14px;color:#64748b;line-height:1.75;
  max-height:0;overflow:hidden;transition:max-height .4s ease, padding .3s;
  padding:0;
}
.pw-faq-a a{color:var(--pw-blue-l);}
.pw-faq-item.open .pw-faq-a{max-height:300px;padding-bottom:20px;}

/* ============================
   CTA BANNER
   ============================ */
.pw-cta-banner{
  margin:0 var(--section-px) 80px;
  max-width:var(--max-w);margin-left:auto;margin-right:auto;
  border-radius:20px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,rgba(90,139,255,.15),rgba(121,184,255,.08));
  border:1px solid rgba(121,184,255,.2);
  padding:clamp(40px,5vw,64px) clamp(32px,5vw,72px);
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  margin-bottom:0;
}
.pw-cta-banner::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:radial-gradient(ellipse 70% 80% at 50% 50%,black,transparent);
  pointer-events:none;
}
.pw-cta-banner-copy{position:relative;z-index:1;}
.pw-cta-banner h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:0;color:var(--pw-text);margin-bottom:10px;}
.pw-cta-banner p{font-size:15px;color:#94a3b8;max-width:440px;line-height:1.6;}
.pw-cta-banner-actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}

/* ============================
   FOOTER
   ============================ */
.pw-footer{
  border-top:1px solid var(--pw-border);
  padding:48px var(--section-px);
  text-align:center;
}
.pw-footer-logo{height:36px;width:auto;margin-bottom:12px;opacity:.7;}
.pw-footer-name{font-family:'Bricolage Grotesque',sans-serif;font-size:16px;font-weight:700;color:var(--pw-text);margin-bottom:20px;}
.pw-footer-links{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:center;margin-bottom:24px;}
.pw-footer-links a{font-size:13px;color:var(--pw-muted);text-decoration:none;transition:color .2s;}
.pw-footer-links a:hover{color:var(--pw-text);}
.pw-footer-legal{font-size:12px;color:#334155;line-height:1.7;}

/* ============================
   SURVEY
   ============================ */
.pw-survey-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 24px;}
.pw-survey-card{background:#0c1526;border:1px solid var(--pw-border);border-radius:20px;padding:40px;max-width:520px;width:100%;}
.pw-survey-card h2{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:var(--pw-text);margin-bottom:8px;letter-spacing:0;}
.pw-survey-card .sub{font-size:14px;color:var(--pw-muted);margin-bottom:28px;line-height:1.6;}
.pw-field{margin-bottom:18px;}
.pw-field label{display:block;font-size:13px;font-weight:600;color:#94a3b8;margin-bottom:7px;}
.pw-field select{width:100%;background:#131f3a;border:1px solid rgba(255,255,255,.1);color:var(--pw-text);font-size:14px;font-family:'DM Sans',sans-serif;padding:11px 14px;border-radius:9px;outline:none;cursor:pointer;transition:border-color .2s;}
.pw-field select:focus{border-color:rgba(121,184,255,.4);}
.pw-survey-btn{width:100%;background:linear-gradient(135deg,#160922,#2356c7);color:white;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:8px;transition:all .2s;}
.pw-survey-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(90,139,255,.34);}

/* ============================
   SCROLL REVEAL
   ============================ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@keyframes learnPulse{0%,100%{box-shadow:0 0 0 0 rgba(125,76,255,.42);}50%{box-shadow:0 0 0 7px rgba(125,76,255,0);}}

/* ============================
   RESPONSIVE
   ============================ */
@media(min-width:1400px){
  :root{--max-w:1280px;}
}

@media(max-width:1100px){
  .pw-hero-inner{grid-template-columns:1fr 1fr;gap:40px;}
  .pw-hero-visual{max-width:420px;}
  .pw-mockup-float-1{right:-12px;}
  .pw-mockup-float-2{left:-12px;}
}

@media(max-width:960px){
  .pw-hero-inner{grid-template-columns:1fr;gap:48px;}
  .pw-hero{text-align:center;padding:110px 24px 60px;}
  .pw-hero-copy{max-width:100%;}
  .pw-hero-sub{max-width:560px;margin-left:auto;margin-right:auto;}
  .pw-hero-cta{justify-content:center;}
  .pw-trust{justify-content:center;}
  .pw-hero-visual{max-width:500px;margin:0 auto;}
  .pw-mockup-float{display:none;}
  .pw-features-showcase{grid-template-columns:1fr;}
  .pw-trust-strip-inner{grid-template-columns:repeat(2,1fr);}
  .pw-trust-block{border-right:none;border-bottom:1px solid var(--pw-border);}
  .pw-trust-block:nth-child(2),.pw-trust-block:last-child{border-bottom:none;}
}

@media(max-width:768px){
  .pw-nav-links{display:none;}
  .pw-nav{padding:16px 20px;}
  .pw-steps,.pw-pricing-grid,.pw-testimonials{grid-template-columns:1fr;}
  .pw-plan{padding:28px 20px;}
  .pw-survey-card{padding:28px 20px;}
  .pw-trust-strip-inner{grid-template-columns:1fr;}
  .pw-trust-block{border-right:none;border-bottom:1px solid var(--pw-border);}
  .pw-trust-block:last-child{border-bottom:none;}
  .pw-cta-banner{flex-direction:column;text-align:center;}
  .pw-cta-banner-actions{justify-content:center;}
}

/* ============================
   PILOT WEALTH BRAND LANDING
   ============================ */
body{
  background:
    linear-gradient(180deg,#05060c 0%,#070714 42%,#05060c 100%);
}
.pw-nav{
  background:rgba(5,6,12,.76);
  border-bottom:1px solid rgba(121,184,255,.08);
  box-shadow:0 18px 60px rgba(0,0,0,.22);
}
.pw-nav.scrolled{
  background:rgba(5,6,12,.94);
  border-bottom-color:rgba(121,184,255,.16);
}
.pw-nav-logo img{
  height:40px;
  filter:drop-shadow(0 10px 28px rgba(90,139,255,.18));
}
.pw-nav-links a{
  color:#9aa7bf;
  border-radius:8px;
}
.pw-nav-links a:hover{
  color:#f6f8ff;
  background:rgba(121,184,255,.07);
}
.pw-btn-nav-primary,
.pw-btn-primary{
  border-radius:8px;
  background:linear-gradient(135deg,#160922 0%,#2a115d 50%,#2356c7 100%);
  border:1px solid rgba(121,184,255,.24);
  box-shadow:0 16px 34px rgba(35,86,199,.28);
}
.pw-btn-nav-primary:hover,
.pw-btn-primary:hover{
  background:linear-gradient(135deg,#1c0d31 0%,#351774 48%,#2c68df 100%);
  box-shadow:0 18px 42px rgba(35,86,199,.38);
}
.pw-btn-nav-ghost,
.pw-btn-secondary{
  border-radius:8px;
  color:#d8e2f5;
  background:rgba(255,255,255,.035);
  border-color:rgba(121,184,255,.16);
}
.pw-btn-nav-ghost:hover,
.pw-btn-secondary:hover{
  background:rgba(121,184,255,.08);
  border-color:rgba(121,184,255,.3);
}

.pw-hero{
  min-height:88svh;
  padding:124px var(--section-px) 78px;
  isolation:isolate;
  background:
    linear-gradient(135deg,rgba(5,6,12,.98) 0%,rgba(14,8,28,.98) 46%,rgba(6,20,48,.98) 100%);
}
.pw-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 0 43%,rgba(121,184,255,.11) 43.2%,transparent 43.8%),
    linear-gradient(152deg,transparent 0 57%,rgba(125,76,255,.12) 57.2%,transparent 57.8%),
    repeating-linear-gradient(90deg,rgba(121,184,255,.045) 0 1px,transparent 1px 92px),
    repeating-linear-gradient(0deg,rgba(121,184,255,.035) 0 1px,transparent 1px 92px);
  opacity:.62;
  mask-image:linear-gradient(180deg,black 0%,black 62%,transparent 100%);
  pointer-events:none;
}
.pw-hero::after{
  content:'';
  position:absolute;
  top:50%;
  right:max(-190px,-13vw);
  width:min(900px,78vw);
  height:min(560px,50vw);
  transform:translateY(-50%);
  background:url('/static/pilot-wealth-logo.png') center / contain no-repeat;
  opacity:.25;
  filter:saturate(1.08) contrast(1.08);
  z-index:0;
  pointer-events:none;
}
.pw-hero-glow-left,
.pw-hero-glow-right{
  display:none;
}
.pw-hero-inner{
  display:block;
  position:relative;
  z-index:1;
  min-height:560px;
}
.pw-hero-copy{
  position:relative;
  z-index:2;
  max-width:760px;
}
.pw-badge{
  border-radius:8px;
  padding:7px 12px;
  color:#dce8ff;
  background:rgba(18,14,38,.74);
  border-color:rgba(121,184,255,.2);
  text-transform:uppercase;
  letter-spacing:0;
}
.pw-hero h1{
  max-width:780px;
  font-size:clamp(58px,8.8vw,118px);
  line-height:.9;
  margin-bottom:18px;
  color:#ffffff;
  text-shadow:0 26px 80px rgba(0,0,0,.56);
}
.pw-hero-statement{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(28px,3.6vw,52px);
  line-height:1.02;
  font-weight:800;
  color:#d9e5ff;
  margin-bottom:20px;
}
.pw-hero-sub{
  max-width:670px;
  color:#aeb9cf;
  font-size:clamp(16px,1.55vw,19px);
  line-height:1.68;
}
.pw-hero-cta{
  margin-bottom:28px;
}
.pw-trust{
  gap:12px;
}
.pw-trust-item{
  color:#8796b0;
}
.pw-trust-dot{
  background:rgba(121,184,255,.26);
}
.pw-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  max-width:720px;
  margin-top:30px;
  border-top:1px solid rgba(121,184,255,.18);
  border-bottom:1px solid rgba(121,184,255,.12);
}
.pw-hero-metrics>div{
  padding:18px 18px 18px 0;
  border-right:1px solid rgba(121,184,255,.12);
}
.pw-hero-metrics>div:last-child{
  border-right:0;
}
.pw-hero-metrics strong{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:24px;
  color:#ffffff;
  line-height:1;
  margin-bottom:6px;
}
.pw-hero-metrics span{
  display:block;
  font-size:12.5px;
  color:#7f8da7;
  line-height:1.45;
}
.pw-hero-visual{
  position:absolute;
  right:clamp(0px,4vw,64px);
  bottom:0;
  z-index:1;
  width:min(46vw,560px);
  max-width:none;
  margin:0;
  opacity:.78;
}
.pw-mockup-frame,
.pw-mockup-float,
.pw-step,
.pw-feat-card,
.pw-plan,
.pw-testimonial,
.pw-testimonial-placeholder,
.pw-cta-banner,
.pw-survey-card{
  border-radius:8px;
}
.pw-mockup-frame{
  background:linear-gradient(180deg,rgba(12,16,32,.94),rgba(7,9,18,.96));
  border-color:rgba(121,184,255,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.025) inset;
}
.pw-mockup-titlebar{
  background:rgba(12,17,32,.9);
  border-bottom-color:rgba(121,184,255,.11);
}
.pw-mockup-float{
  background:rgba(8,10,20,.88);
  border-color:rgba(121,184,255,.18);
}
.pw-panel-tab.active{
  background:linear-gradient(90deg,#7d4cff,#79b8ff);
}
.pw-mock-bubble.ai,
.demo-typing{
  background:rgba(90,139,255,.09);
  border-color:rgba(121,184,255,.18);
  color:#d9e5ff;
}
.pw-mock-bfill,
.demo-bfill,
.demo-nw-bar,
.demo-goal-fill{
  background:linear-gradient(90deg,#5a8bff,#79b8ff)!important;
}

.pw-trust-strip{
  background:linear-gradient(180deg,rgba(5,6,12,.96),rgba(8,10,20,.96));
  border-color:rgba(121,184,255,.12);
}
.pw-trust-block{
  padding:18px 22px;
}
.pw-trust-block-icon,
.pw-feat-icon{
  background:rgba(90,139,255,.1)!important;
  border:1px solid rgba(121,184,255,.16);
}
.pw-trust-block-icon svg,
.pw-feat-icon svg{
  stroke:#79b8ff!important;
}
.pw-trust-block-title,
.pw-step h3,
.pw-feat-copy h3,
.pw-plan-name,
.pw-author-name{
  color:#f7f9ff;
}
.pw-trust-block-desc,
.pw-step p,
.pw-feat-copy p,
.pw-plan-desc,
.pw-testimonial-text,
.pw-faq-a,
.pw-cta-banner p{
  color:#91a0bb;
}
.pw-section{
  padding-top:104px;
  padding-bottom:104px;
}
.pw-section-label{
  color:#79b8ff;
  letter-spacing:0;
}
.pw-section-title{
  max-width:760px;
}
.pw-section-sub{
  color:#8c9ab4;
}
.pw-step,
.pw-feat-card,
.pw-plan,
.pw-testimonial{
  background:linear-gradient(180deg,rgba(13,15,29,.86),rgba(8,10,20,.9));
  border-color:rgba(121,184,255,.12);
  box-shadow:0 16px 50px rgba(0,0,0,.24);
}
.pw-step:hover,
.pw-feat-card:hover,
.pw-plan:hover{
  border-color:rgba(121,184,255,.28);
  box-shadow:0 20px 60px rgba(0,0,0,.34);
}
.pw-step-num{
  color:#79b8ff;
}
.pw-feat-demo{
  background:
    linear-gradient(135deg,rgba(90,139,255,.04),rgba(125,76,255,.05)),
    rgba(255,255,255,.012);
  border-bottom-color:rgba(121,184,255,.1);
}
.demo-sync-badge{
  background:rgba(47,191,127,.12);
  border-color:rgba(47,191,127,.28);
  color:#67d7a1;
}
.demo-sync-dot{
  background:#67d7a1;
}
.pw-pricing-grid{
  gap:22px;
}
.pw-plan-popular{
  border-color:rgba(121,184,255,.36);
  background:linear-gradient(180deg,rgba(22,9,34,.82),rgba(9,18,43,.9));
}
.pw-plan-premium{
  border-color:rgba(125,76,255,.3);
  background:linear-gradient(180deg,rgba(26,12,48,.78),rgba(10,11,22,.9));
}
.pw-plan-badge{
  border-radius:8px;
}
.pw-plan-popular .pw-plan-badge{
  background:linear-gradient(135deg,#160922,#2356c7)!important;
  color:#ffffff!important;
}
.pw-plan-premium .pw-plan-badge{
  background:linear-gradient(135deg,#2a115d,#7d4cff)!important;
  color:#ffffff!important;
}
.pw-plan-features .check{
  color:#79b8ff!important;
}
.pw-plan:first-child .pw-plan-features .check{
  color:#67d7a1!important;
}
.pw-plan-grandfathered{
  background:rgba(90,139,255,.08)!important;
  border-color:rgba(121,184,255,.18)!important;
  color:#d9e5ff!important;
}
.pw-plan-btn-premium{
  background:linear-gradient(135deg,#2a115d,#7d4cff);
  color:white;
}
.pw-stars{
  color:#caa158;
}
.pw-testimonial-placeholder{
  background:rgba(8,10,20,.72);
  border-color:rgba(121,184,255,.14);
}
.pw-avatar{
  background:rgba(90,139,255,.13)!important;
}
#heroChatMessages>div,
#aiChatDemo>div,
#aiChatDemo>div>div{
  border-color:rgba(121,184,255,.18)!important;
}
#heroChatMessages>div:not(.user),
#aiChatDemo>div:not([style*="align-self:flex-end"]),
#aiChatDemo>div>div:not([style*="align-self:flex-end"]){
  background:rgba(90,139,255,.1)!important;
  color:#d9e5ff!important;
}
#aiChatDemo [style*="align-self:flex-end"]{
  background:rgba(255,255,255,.055)!important;
  color:#aeb9cf!important;
}
.pw-cta-banner{
  background:
    linear-gradient(135deg,rgba(22,9,34,.92),rgba(9,24,60,.94)),
    #080a14;
  border-color:rgba(121,184,255,.18);
}
.pw-cta-banner::before{
  background:
    linear-gradient(115deg,transparent 0 48%,rgba(121,184,255,.16) 48.2%,transparent 48.8%),
    repeating-linear-gradient(90deg,rgba(121,184,255,.04) 0 1px,transparent 1px 72px);
  mask-image:none;
}
.pw-footer{
  background:#05060c;
  border-top-color:rgba(121,184,255,.11);
}
.pw-footer-logo{
  opacity:.9;
}
.pw-footer-legal{
  color:#58647a;
}
@keyframes learnPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(125,76,255,.42);}
  50%{box-shadow:0 0 0 7px rgba(125,76,255,0);}
}

@media(max-width:1100px){
  .pw-hero-inner{
    display:block;
  }
  .pw-hero-visual{
    width:min(48vw,500px);
    right:0;
    opacity:.58;
  }
}
@media(max-width:960px){
  .pw-hero{
    min-height:auto;
    text-align:left;
    padding:108px 24px 54px;
  }
  .pw-hero::after{
    top:160px;
    right:-44vw;
    width:104vw;
    opacity:.15;
  }
  .pw-hero-inner{
    min-height:auto;
  }
  .pw-hero-copy{
    max-width:700px;
  }
  .pw-hero-sub{
    margin-left:0;
    margin-right:0;
  }
  .pw-hero-cta,
  .pw-trust{
    justify-content:flex-start;
  }
  .pw-hero-visual{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    max-width:520px;
    margin:36px auto 0;
    opacity:1;
  }
  .pw-hero-metrics{
    grid-template-columns:1fr;
  }
  .pw-hero-metrics>div{
    border-right:0;
    border-bottom:1px solid rgba(121,184,255,.12);
    padding-right:0;
  }
  .pw-hero-metrics>div:last-child{
    border-bottom:0;
  }
}
@media(max-width:768px){
  .pw-nav{
    padding:14px 20px;
  }
  .pw-hero{
    padding:94px 20px 44px;
  }
  .pw-hero h1{
    font-size:clamp(50px,18vw,78px);
  }
  .pw-hero-statement{
    font-size:clamp(24px,8vw,36px);
  }
  .pw-hero-visual{
    display:none;
  }
  .pw-hero-metrics{
    margin-top:24px;
  }
  .pw-section{
    padding:72px 20px;
  }
  .pw-cta-banner-actions,
  .pw-cta-banner-actions button,
  .pw-hero-cta,
  .pw-hero-cta button{
    width:100%;
  }
}

/* Landing balance pass */
.pw-hero{
  min-height:82svh;
  padding:118px var(--section-px) 72px;
  text-align:center;
  background:linear-gradient(135deg,rgba(5,6,12,.99) 0%,rgba(15,9,31,.98) 52%,rgba(7,19,46,.98) 100%);
}
.pw-hero::before{
  background:
    linear-gradient(116deg,transparent 0 47%,rgba(121,184,255,.075) 47.15%,transparent 47.55%),
    linear-gradient(154deg,transparent 0 58%,rgba(125,76,255,.065) 58.15%,transparent 58.5%);
  opacity:.32;
  mask-image:linear-gradient(180deg,black 0%,rgba(0,0,0,.72) 54%,transparent 100%);
}
.pw-hero::after{
  top:52%;
  right:auto;
  left:50%;
  width:min(560px,64vw);
  height:min(390px,44vw);
  transform:translate(-50%,-50%);
  opacity:.105;
  filter:saturate(.98) contrast(1.02);
}
.pw-hero-inner{
  max-width:980px;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.pw-hero-copy{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.pw-badge{
  margin-left:auto;
  margin-right:auto;
  margin-bottom:22px;
}
.pw-hero h1{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(48px,7vw,88px);
  line-height:.96;
}
.pw-hero-statement{
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(24px,3vw,40px);
}
.pw-hero-sub{
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.pw-hero-cta,
.pw-trust{
  justify-content:center;
}
.pw-hero-metrics{
  width:100%;
  max-width:660px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px auto 0;
  border:0;
}
.pw-hero-metrics>div{
  padding:16px 14px;
  border:1px solid rgba(121,184,255,.13);
  border-radius:8px;
  background:rgba(255,255,255,.032);
}
.pw-hero-metrics>div:last-child{
  border-right:1px solid rgba(121,184,255,.13);
}
.pw-hero-metrics strong{
  font-size:21px;
}
.pw-hero-visual{
  display:none!important;
}
.pw-section-title,
.pw-section-sub{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.pw-section-label{
  display:block;
  text-align:center;
}
.pw-cta-banner{
  justify-content:center;
  text-align:center;
}
.pw-cta-banner p{
  margin-left:auto;
  margin-right:auto;
}
.pw-cta-banner-actions{
  justify-content:center;
}

@media(max-width:960px){
  .pw-hero{
    text-align:center;
    padding:104px 24px 56px;
  }
  .pw-hero::after{
    top:48%;
    right:auto;
    left:50%;
    width:min(520px,86vw);
    opacity:.09;
  }
  .pw-hero-copy{
    max-width:660px;
  }
  .pw-hero-sub{
    margin-left:auto;
    margin-right:auto;
  }
  .pw-hero-cta,
  .pw-trust{
    justify-content:center;
  }
}

@media(max-width:768px){
  .pw-hero{
    min-height:auto;
    padding:92px 20px 44px;
  }
  .pw-hero h1{
    font-size:clamp(42px,14vw,64px);
  }
  .pw-hero-statement{
    font-size:clamp(22px,7vw,32px);
  }
  .pw-hero-metrics{
    grid-template-columns:1fr;
    max-width:380px;
  }
  .pw-hero-metrics>div{
    border-right:1px solid rgba(121,184,255,.13);
    border-bottom:1px solid rgba(121,184,255,.13);
  }
}

/* Reference-inspired refinement */
.pw-hero{
  min-height:auto;
  padding:120px var(--section-px) 76px;
}
.pw-hero::before{
  background:
    linear-gradient(180deg,rgba(121,184,255,.06),transparent 32%),
    linear-gradient(116deg,transparent 0 48%,rgba(121,184,255,.055) 48.1%,transparent 48.45%);
  opacity:.28;
}
.pw-hero::after{
  top:188px;
  width:min(380px,52vw);
  height:min(240px,34vw);
  opacity:.07;
}
.pw-hero-inner{
  max-width:1060px;
}
.pw-hero-copy{
  max-width:780px;
}
.pw-badge{
  background:rgba(255,255,255,.035);
  border-color:rgba(121,184,255,.18);
  color:#dce8ff;
  font-size:13px;
  text-transform:none;
}
.pw-hero h1{
  max-width:820px;
  font-size:clamp(46px,6.6vw,84px);
  line-height:1.02;
  margin-bottom:18px;
}
.pw-hero-statement{
  display:none;
}
.pw-hero-sub{
  max-width:660px;
  margin-bottom:28px;
  font-size:clamp(17px,1.65vw,21px);
  line-height:1.62;
}
.pw-hero-proof{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 0;
  margin-top:2px;
  color:#8796b0;
  font-size:14px;
  font-weight:600;
}
.pw-hero-proof span{
  display:inline-flex;
  align-items:center;
}
.pw-hero-proof span+span::before{
  content:'';
  width:4px;
  height:4px;
  border-radius:999px;
  background:rgba(121,184,255,.32);
  margin:0 14px;
}
.pw-hero-metrics{
  display:none;
}
.pw-hero-visual{
  display:block!important;
  position:relative;
  right:auto;
  bottom:auto;
  width:min(860px,100%);
  max-width:860px;
  margin:44px auto 0;
  opacity:1;
  z-index:2;
}
.pw-mockup-wrap{
  max-width:820px;
  margin:0 auto;
}
.pw-mockup-float{
  display:none;
}
.pw-mockup-frame{
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.025) inset;
}
.pw-mockup-body{
  min-height:360px;
}
.pw-trust-strip{
  padding-top:24px;
  padding-bottom:24px;
}
.pw-trust-strip-inner{
  gap:14px;
}
.pw-trust-block{
  padding:16px 18px;
}
.pw-section{
  padding-top:88px;
  padding-bottom:88px;
}
.pw-section-title{
  max-width:800px;
}
.pw-section-sub{
  max-width:620px;
}
.pw-features-showcase{
  gap:20px;
}
.pw-feat-card{
  box-shadow:0 12px 38px rgba(0,0,0,.22);
}
.pw-feat-card:hover{
  transform:translateY(-2px);
}

@media(max-width:960px){
  .pw-hero{
    padding:104px 24px 60px;
  }
  .pw-hero::after{
    top:172px;
    width:min(360px,72vw);
  }
  .pw-hero-visual{
    width:100%;
    max-width:720px;
    margin-top:36px;
  }
  .pw-mockup-body{
    min-height:330px;
  }
}

@media(max-width:768px){
  .pw-hero{
    padding:92px 20px 48px;
  }
  .pw-hero h1{
    font-size:clamp(40px,13vw,58px);
  }
  .pw-hero-sub{
    font-size:16px;
  }
  .pw-hero-proof{
    font-size:13px;
    line-height:1.45;
  }
  .pw-hero-proof span+span::before{
    margin:0 10px;
  }
  .pw-hero-visual{
    display:none!important;
  }
  .pw-section{
    padding-top:68px;
    padding-bottom:68px;
  }
}

/* Pilot Wealth landing reset */
.pw-hero{
  padding:116px var(--section-px) 82px;
  background:
    linear-gradient(180deg,#05060c 0%,#080915 62%,#05060c 100%);
}
.pw-hero::before{
  background:
    linear-gradient(118deg,transparent 0 49%,rgba(121,184,255,.06) 49.12%,transparent 49.45%),
    linear-gradient(154deg,transparent 0 62%,rgba(125,76,255,.055) 62.12%,transparent 62.44%);
  opacity:1;
  mask-image:linear-gradient(180deg,black 0%,rgba(0,0,0,.72) 60%,transparent 100%);
}
.pw-hero::after{
  top:172px;
  left:50%;
  width:min(340px,46vw);
  height:min(210px,30vw);
  opacity:.075;
}
.pw-hero-inner{
  max-width:1100px;
  gap:0;
}
.pw-hero-copy{
  max-width:800px;
}
.pw-badge{
  padding:7px 13px;
  background:rgba(121,184,255,.07);
  border-color:rgba(121,184,255,.18);
  color:#dce8ff;
  font-size:13px;
}
.pw-hero h1{
  max-width:760px;
  font-size:clamp(56px,8.5vw,106px);
  line-height:.93;
  margin-bottom:18px;
}
.pw-hero-statement{
  display:block!important;
  max-width:720px;
  margin:0 auto 18px;
  font-size:clamp(27px,3.8vw,50px);
  line-height:1.05;
  color:#dfe8ff;
}
.pw-hero-sub{
  max-width:700px;
  margin-bottom:30px;
  font-size:clamp(17px,1.7vw,21px);
}
.pw-hero-proof{
  color:#92a0b8;
}
.pw-hero-visual{
  display:block!important;
  position:relative;
  width:min(940px,100%);
  max-width:940px;
  margin:46px auto 0;
  opacity:1;
}
.pw-hero-visual>.pw-mockup-wrap{
  display:none!important;
}
.pw-preview-shell{
  width:100%;
  border:1px solid rgba(121,184,255,.16);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(13,15,30,.96),rgba(7,9,18,.98));
  box-shadow:0 28px 76px rgba(0,0,0,.42);
  overflow:hidden;
}
.pw-preview-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-bottom:1px solid rgba(121,184,255,.12);
}
.pw-preview-topbar>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.pw-preview-kicker{
  font-size:11px;
  font-weight:800;
  color:#79b8ff;
  text-transform:uppercase;
}
.pw-preview-topbar strong{
  font-size:18px;
  color:#f7f9ff;
}
.pw-preview-status{
  font-size:12px;
  font-weight:800;
  color:#67d7a1;
  padding:7px 10px;
  border-radius:8px;
  background:rgba(47,191,127,.1);
  border:1px solid rgba(47,191,127,.2);
}
.pw-preview-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:14px;
  padding:16px;
}
.pw-preview-card{
  min-height:148px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:18px;
  border:1px solid rgba(121,184,255,.11);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  text-align:left;
}
.pw-preview-card-large{
  grid-row:span 2;
  min-height:310px;
}
.pw-preview-card span{
  font-size:12px;
  font-weight:800;
  color:#91a0bb;
  text-transform:uppercase;
}
.pw-preview-card strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(32px,4vw,54px);
  line-height:1;
  color:#ffffff;
}
.pw-preview-card small{
  color:#91a0bb;
  font-size:13px;
}
.pw-preview-bars{
  height:116px;
  display:flex;
  align-items:flex-end;
  gap:9px;
  padding-top:16px;
}
.pw-preview-bars i{
  flex:1;
  min-width:18px;
  border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,#79b8ff,#2356c7);
}
.pw-preview-meter{
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}
.pw-preview-meter b{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#79b8ff,#2356c7);
}
.pw-preview-meter.purple b{
  background:linear-gradient(90deg,#7d4cff,#5a8bff);
}
.pw-preview-coach{
  grid-column:span 2;
  min-height:132px;
  background:linear-gradient(135deg,rgba(42,17,93,.42),rgba(35,86,199,.18));
}
.pw-preview-coach p{
  margin:0;
  color:#dce8ff;
  font-size:15px;
  line-height:1.55;
}
.pw-trust-strip{
  background:#05060c;
}
.pw-section{
  padding-top:86px;
  padding-bottom:86px;
}
.pw-features-showcase{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pw-feat-demo{
  min-height:174px;
}
.pw-feat-copy{
  padding:18px;
}

@media(max-width:1100px){
  .pw-features-showcase{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:768px){
  .pw-hero{
    padding:92px 20px 54px;
  }
  .pw-hero h1{
    font-size:clamp(48px,15vw,72px);
  }
  .pw-hero-statement{
    font-size:clamp(24px,8vw,36px);
  }
  .pw-preview-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .pw-preview-grid{
    grid-template-columns:1fr;
  }
  .pw-preview-card-large,
  .pw-preview-coach{
    grid-column:auto;
    grid-row:auto;
    min-height:150px;
  }
  .pw-preview-bars{
    height:86px;
  }
  .pw-features-showcase{
    grid-template-columns:1fr;
  }
}

/* Cleanup pass */
.pw-hero h1{
  font-size:clamp(52px,7.6vw,96px);
}
.pw-hero-statement{
  font-size:clamp(30px,4.8vw,62px);
  color:#ffffff;
}
.pw-hero-sub{
  color:#aeb9cf;
}
.pw-steps{
  gap:14px;
}
.pw-step{
  padding:26px;
  background:rgba(255,255,255,.024);
  border-color:rgba(121,184,255,.12);
  box-shadow:none;
}
.pw-step:hover{
  transform:none;
  background:rgba(255,255,255,.034);
  box-shadow:none;
}
.pw-step-num{
  font-size:13px;
  line-height:1;
  margin-bottom:18px;
  color:#79b8ff;
  opacity:1;
  font-family:'DM Sans',sans-serif;
  font-weight:900;
}
.pw-step h3{
  font-size:18px;
  margin-bottom:9px;
}
.pw-step p{
  color:#98a6bd;
}
.pw-trust-block-icon,
.pw-feat-icon{
  background:transparent!important;
  border:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  justify-content:flex-start!important;
  margin-bottom:12px;
}
.pw-trust-block-icon{
  margin-top:2px;
}
.pw-feat-icon svg{
  width:22px;
  height:22px;
}
.pw-feat-card{
  background:rgba(255,255,255,.024);
  box-shadow:none;
}
.pw-feat-card:hover{
  transform:none;
  box-shadow:none;
  background:rgba(255,255,255,.034);
}
.pw-feat-demo{
  background:rgba(255,255,255,.018);
}

@media(max-width:768px){
  .pw-hero h1{
    font-size:clamp(46px,14vw,68px);
  }
  .pw-hero-statement{
    font-size:clamp(30px,10vw,44px);
  }
  .pw-step{
    padding:22px;
  }
}

/* Final landing polish */
.pw-badge{
  background:rgba(121,184,255,.075);
  border-color:rgba(121,184,255,.2);
  color:#dce8ff;
}
.pw-hero-sub{
  max-width:660px;
  color:#b5c1d5;
}
.pw-trust-strip{
  padding:32px var(--section-px);
  background:linear-gradient(180deg,#05060c 0%,rgba(8,11,22,.96) 100%);
}
.pw-trust-strip-inner{
  gap:16px;
}
.pw-trust-block{
  min-height:130px;
  padding:20px;
  border:1px solid rgba(121,184,255,.13);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.pw-trust-block:last-child{
  border-right:1px solid rgba(121,184,255,.13);
}
.pw-trust-strip .pw-trust-block:nth-child(2),
.pw-trust-strip .pw-trust-block:last-child{
  border-bottom:1px solid rgba(121,184,255,.13);
}
.pw-trust-block:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.022));
  border-color:rgba(121,184,255,.24);
  transform:translateY(-2px);
}
.pw-trust-strip .pw-trust-block-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px;
  border-radius:8px!important;
  display:flex;
  align-items:center;
  justify-content:center!important;
  margin:1px 0 0;
  background:rgba(121,184,255,.08)!important;
  border:1px solid rgba(121,184,255,.14)!important;
}
.pw-trust-block-title{
  font-size:14.5px;
  margin-bottom:6px;
}
.pw-trust-block-desc{
  font-size:12.5px;
  line-height:1.55;
}
.pw-seo-resources{
  background:#05060c;
  border-top:1px solid var(--pw-border);
  border-bottom:1px solid var(--pw-border);
}
.pw-resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.pw-resource-card{
  display:block;
  min-height:178px;
  padding:22px;
  border:1px solid rgba(121,184,255,.13);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.pw-resource-card:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.024));
  border-color:rgba(121,184,255,.26);
  transform:translateY(-2px);
}
.pw-resource-card span{
  display:inline-flex;
  margin-bottom:14px;
  color:#79b8ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pw-resource-card h3{
  margin:0 0 10px;
  color:#fff;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:22px;
  line-height:1.12;
}
.pw-resource-card p{
  margin:0;
  color:#98a6bd;
  font-size:14px;
  line-height:1.55;
}

@media(max-width:960px){
  .pw-trust-strip-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pw-resource-grid{
    grid-template-columns:1fr;
  }
  .pw-trust-block{
    border:1px solid rgba(121,184,255,.13);
  }
}
@media(max-width:768px){
  .pw-trust-strip{
    padding:24px 20px;
    overflow:hidden;
  }
  .pw-trust-strip-inner{
    grid-template-columns:1fr;
    width:100%;
    max-width:100%;
  }
  .pw-trust-block{
    min-height:auto;
    gap:14px;
    width:100%;
    max-width:calc(100vw - 40px);
  }
  .pw-trust-block>div:last-child{
    min-width:0;
    max-width:min(220px, calc(100vw - 150px));
  }
  .pw-trust-block-desc{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  .pw-section-title{
    max-width:310px;
    font-size:clamp(28px,9vw,38px);
  }
  .pw-section-sub{
    max-width:310px;
  }
  .pw-hero{
    padding:92px 20px 48px;
    overflow:hidden;
  }
  .pw-hero h1{
    max-width:100%;
    font-size:clamp(40px,11vw,46px);
    line-height:.96;
  }
  .pw-hero-statement{
    max-width:310px;
    font-size:clamp(32px,10vw,42px);
    line-height:1.04;
  }
  .pw-hero-sub{
    max-width:310px;
    font-size:16px;
    line-height:1.55;
  }
  .pw-hero-cta{
    width:100%;
    max-width:300px;
    margin-bottom:22px;
  }
  .pw-hero-proof{
    display:grid;
    gap:7px;
    max-width:300px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.35;
  }
  .pw-hero-proof span{
    justify-content:center;
  }
  .pw-hero-proof span+span::before{
    display:none;
  }
  .pw-hero-visual{
    display:none!important;
  }
}

/* ============================================================
   CSP HARDENING — classes extracted from inline style="" attrs
   (templates/index.html). Dynamic values (bar widths/heights,
   chat bubbles, etc.) are still set at runtime via CSSOM in
   landing.js, which CSP does not restrict.
   ============================================================ */

/* layout utilities */
.ta-center{text-align:center;}
.mb-0{margin-bottom:0;}
.mb-48{margin-bottom:48px;}
.mb-52{margin-bottom:52px;}
.pw-band{background:rgba(255,255,255,.015);border-top:1px solid var(--pw-border);border-bottom:1px solid var(--pw-border);}
.pw-sub-auto{margin:0 auto;}
.pw-sub-auto-sm{margin:8px auto 0;}
.pw-btn-xl{font-size:17px;padding:16px 36px;}
.pw-btn-lg{font-size:16px;padding:15px 32px;}
.pw-faq-section{padding-bottom:60px;}
.pw-cta-wrap{padding:0 var(--section-px) 80px;max-width:calc(var(--max-w) + 160px);margin:0 auto;}

/* colored icon chips (used on .pw-trust-block-icon and .pw-feat-icon) */
.ic-green{background:rgba(16,185,129,.12);}
.ic-blue{background:rgba(90,139,255,.12);}
.ic-amber{background:rgba(245,158,11,.12);}
.ic-cyan{background:rgba(121,184,255,.12);}
.ic-red{background:rgba(239,68,68,.12);}
.ic-purple{background:rgba(125,76,255,.12);}

/* check marks in pricing lists */
.check.c-green{color:#10b981;}
.check.c-blue{color:#79b8ff;}
.check.c-amber{color:#f59e0b;}

/* auth modal overlay (shown via JS: authContainer.style.display='flex') */
#auth-container{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);z-index:9999;align-items:center;justify-content:center;}
.pw-auth-card{background:#0f172a;border:1px solid rgba(255,255,255,.1);padding:32px;border-radius:16px;max-width:400px;width:90%;}

/* survey section (shown via JS: survey.style.display='block') */
#survey{display:none;}
.pw-survey-step-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(90,139,255,.12);border:1px solid rgba(121,184,255,.25);border-radius:8px;padding:5px 14px;font-size:12px;font-weight:600;color:#79b8ff;margin-bottom:24px;letter-spacing:0;}

/* hero preview shell (static decoration) */
.pw-preview-bars i:nth-child(1){height:42%;}
.pw-preview-bars i:nth-child(2){height:54%;}
.pw-preview-bars i:nth-child(3){height:49%;}
.pw-preview-bars i:nth-child(4){height:67%;}
.pw-preview-bars i:nth-child(5){height:72%;}
.pw-preview-bars i:nth-child(6){height:86%;}
.pw-preview-meter b{width:64%;}
.pw-preview-meter.purple b{width:72%;}

/* feature demos (initial state; landing.js animates via CSSOM) */
.demo-sync-badge{position:absolute;top:12px;right:12px;}
#txSyncList{display:flex;flex-direction:column;gap:7px;margin-top:8px;}
#demoAIChat{display:flex;flex-direction:column;gap:8px;justify-content:flex-end;}
#aiChatDemo{display:flex;flex-direction:column;gap:7px;}
.demo-chat-user{align-self:flex-end;padding:8px 11px;background:rgba(255,255,255,.06);border-radius:8px 8px 2px 8px;font-size:11px;color:#94a3b8;max-width:85%;}
.demo-budget-head{display:flex;justify-content:space-between;margin-bottom:12px;}
.demo-budget-head-title{font-size:11px;font-weight:700;color:var(--pw-text);text-transform:uppercase;letter-spacing:.5px;}
.demo-budget-head-sub{font-size:10px;color:var(--pw-muted);}
#db1{background:#10b981;}
#db2{background:#ef4444;}
#db3{background:#79b8ff;}
#db4{background:#f59e0b;}
#budgetAlert{display:none;margin-top:10px;padding:8px 12px;border-radius:8px;font-size:11px;font-weight:600;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#f87171;}

/* net worth demo */
.demo-nw-head{margin-bottom:8px;}
.demo-nw-head-label{font-size:10px;color:#475569;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;}
.demo-nw-head-growth{font-size:11px;color:var(--pw-green);font-weight:600;}
.demo-nw-chart .demo-nw-bar{height:0%;}
#nwb1{background:rgba(90,139,255,.3);}
#nwb2{background:rgba(90,139,255,.4);}
#nwb3{background:rgba(90,139,255,.5);}
#nwb4{background:rgba(90,139,255,.6);}
#nwb5{background:rgba(90,139,255,.75);}
#nwb6{background:#5a8bff;}
.demo-nw-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;}
.demo-nw-cell{padding:8px 10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;}
.demo-nw-cell-label{font-size:9px;color:#475569;text-transform:uppercase;margin-bottom:3px;}
.demo-nw-cell-val{font-size:13px;font-weight:700;}
.c-cyan{color:#79b8ff;}
.c-amber{color:#f59e0b;}
.c-green{color:#10b981;}

/* goals demo (landing.js sets fill width/background via CSSOM) */
#goal1pct{color:#5a8bff;}
#goal2pct{color:#10b981;}
#goal3pct{color:#f59e0b;}
#goal1fill{background:linear-gradient(90deg,#5a8bff,#7d4cff);}
#goal2fill{background:linear-gradient(90deg,#10b981,#059669);}
#goal3fill{background:linear-gradient(90deg,#f59e0b,#d97706);}

/* learn demo */
.demo-learn-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.demo-learn-head-title{font-size:11px;font-weight:700;color:var(--pw-text);text-transform:uppercase;letter-spacing:0;}
.demo-learn-head-badge{font-size:10px;font-weight:700;color:#b9a3ff;background:rgba(125,76,255,.1);padding:2px 8px;border-radius:8px;}
.demo-learn-node.done{background:rgba(16,185,129,.15);border:2px solid #10b981;}
.demo-learn-node.current{background:rgba(125,76,255,.1);border:2px solid #7d4cff;animation:learnPulse 2s ease-in-out infinite;}
.demo-learn-node.todo{background:var(--pw-surface);border:2px solid rgba(255,255,255,.1);opacity:.4;font-size:11px;color:#475569;}
.demo-learn-progress{margin:10px 0 12px;}
.demo-learn-progress-head{display:flex;justify-content:space-between;font-size:10px;color:#475569;margin-bottom:5px;}
.demo-learn-progress-track{height:5px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;}
#learnFill{height:100%;border-radius:10px;background:linear-gradient(90deg,#7d4cff,#5a8bff);width:0;transition:width 2s cubic-bezier(.4,0,.2,1);}
.demo-course-name{color:var(--pw-text);}
.demo-course-badge.b-green{background:rgba(16,185,129,.15);color:#10b981;}
.demo-course-badge.b-purple{background:rgba(125,76,255,.1);color:#b9a3ff;}
.demo-course-item.next{border-color:rgba(125,76,255,.3);background:rgba(125,76,255,.06);}

/* pricing plan badges + grandfathered notes */
.pw-plan-badge.b-free{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3);}
.pw-plan-badge.b-pro{background:linear-gradient(135deg,#160922,#2356c7);color:white;}
.pw-plan-badge.b-premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;}
.pw-plan-nocard{background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.2);padding:10px 14px;border-radius:8px;margin-bottom:20px;text-align:center;font-size:12px;font-weight:600;color:#10b981;}
.pw-plan-grandfathered.g-pro{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.25);}
.pw-plan-grandfathered.g-premium{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.25);}

/* testimonials */
.pw-avatar.a-blue{background:rgba(90,139,255,.15);}
.pw-avatar.a-green{background:rgba(16,185,129,.15);}
.pw-testimonial-placeholder{text-decoration:none;}
.pw-testimonial-placeholder-icon{font-size:28px;opacity:.4;}
.pw-testimonial-placeholder-title{color:#fff;font-weight:600;}
.pw-testimonial-placeholder-sub{font-size:12px;}

/* faq email link */
.pw-faq-email{color:var(--pw-blue-l);text-decoration:none;font-weight:600;}

/* learn-line needs a visible default bg (was inline); ll1/ll2 turn green via JS) */
.demo-learn-line{background:rgba(255,255,255,.06);}
