/* ============================================================
   The Lean CPTO landing — all scoped under #lcpto
   ============================================================ */
#lcpto{
  --bg:#0A0C12; --text:#F4F6FF; --muted:#8A90A6; --faint:#5E6480;
  --cobalt:#1E3AE0; --accent:#6E8BFF; --accent-lt:#9FB2FF; --accent-ltr:#C7D1FF;
  --onblue:#D6DDFF; --ok:#34D399; --bubble-a:#DDE1EE;
  background:var(--bg); color:var(--text);
  font-family:'Inter',sans-serif; overflow-x:hidden;
}
#lcpto *{box-sizing:border-box;}
#lcpto h1,#lcpto h2,#lcpto p{margin:0;}
#lcpto input::placeholder{opacity:.5;}

/* Keyframes */
@keyframes lc-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lc-pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
@keyframes lc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes lc-tdot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes lc-msgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Typography helpers */
#lcpto .lc-eyebrow{font-family:'Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;}
#lcpto .lc-eyebrow--muted{font-weight:700;color:var(--muted);margin-bottom:20px;}
#lcpto .lc-eyebrow--accent{color:var(--accent);}
#lcpto .lc-eyebrow--onblue{color:var(--accent-ltr);margin:24px 0 16px;}
#lcpto .lc-accent{color:var(--accent);}
#lcpto .lc-h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(42px,7.4vw,104px);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;color:var(--text);}
#lcpto .lc-h2{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(30px,4.4vw,56px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;color:var(--text);}
#lcpto .lc-h2--lg{font-size:clamp(32px,4.8vw,64px);}
#lcpto .lc-h2--xl{font-size:clamp(34px,5.6vw,72px);}
#lcpto .lc-h2--cta{font-size:clamp(40px,7vw,96px);line-height:.92;letter-spacing:-.03em;margin-bottom:20px;}
#lcpto .lc-lede{margin-top:26px;font-size:clamp(16px,1.4vw,19px);color:var(--muted);line-height:1.55;max-width:34ch;}
#lcpto .lc-body{margin-top:22px;font-size:clamp(16px,1.4vw,20px);line-height:1.6;color:var(--muted);max-width:52ch;}
#lcpto .lc-body--r{margin-left:auto;}
#lcpto .lc-body--onblue{color:var(--onblue);}
#lcpto .lc-body--sub{font-size:clamp(15px,1.3vw,18px);margin:0 0 40px;line-height:1.55;}
#lcpto .lc-body--ctasub{max-width:44ch;margin:0 auto 40px;}

/* Layout primitives */
#lcpto .lc-section{padding:clamp(64px,9vw,140px) clamp(20px,5vw,80px);}
#lcpto .lc-bordered{border-bottom:1px solid rgba(255,255,255,.08);}
#lcpto .lc-align-right{text-align:right;}
#lcpto .lc-narrow{max-width:760px;}
#lcpto .lc-center-narrow{max-width:760px;margin:0 auto;text-align:center;}
#lcpto .lc-center-wide{max-width:820px;margin:0 auto;text-align:center;}
#lcpto .lc-two{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:center;max-width:1000px;margin:0 auto;}
#lcpto .lc-two--wide{max-width:1120px;gap:clamp(32px,5vw,80px);}

/* Numerals */
#lcpto .lc-numeral{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(72px,12vw,180px);line-height:.78;color:rgba(110,139,255,.16);}
#lcpto .lc-numeral--onblue{font-size:clamp(84px,14vw,200px);color:rgba(255,255,255,.2);}

/* ---------- HERO ---------- */
#lcpto .lc-hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,4vw,52px);padding:clamp(20px,4vw,56px);overflow:hidden;}
#lcpto .lc-blob{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--cobalt),transparent 66%);}
#lcpto .lc-blob--a{top:-18%;right:-8%;width:640px;height:640px;max-width:70vw;max-height:70vw;filter:blur(60px);opacity:.5;}
#lcpto .lc-blob--b{bottom:-24%;left:-10%;width:560px;height:560px;max-width:64vw;max-height:64vw;filter:blur(70px);opacity:.28;}
#lcpto .lc-topbar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-family:'Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
#lcpto .lc-brand{color:var(--accent);}
#lcpto .lc-hero-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:center;}
#lcpto .lc-hero-copy{flex:1 1 400px;min-width:min(100%,400px);}
#lcpto .lc-scrollhint{display:flex;gap:10px;align-items:center;margin-top:28px;font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);animation:lc-bob 2.4s ease-in-out infinite;}
#lcpto .lc-arrow{font-size:15px;color:var(--accent);}

/* ---------- CHAT ---------- */
#lcpto .lc-chat{display:flex;flex-direction:column;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6);}
#lcpto .lc-chat--hero{flex:1 1 440px;min-width:min(100%,340px);height:min(85dvh,600px);}
#lcpto .lc-chat--demo{height:440px;box-shadow:0 40px 120px rgba(0,0,0,.55);}
#lcpto .lc-chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);}
#lcpto .lc-avatar{width:36px;height:36px;border-radius:50%;background:var(--cobalt);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:900;font-size:16px;flex-shrink:0;}
#lcpto .lc-avatar--sm{width:34px;height:34px;font-size:15px;}
#lcpto .lc-chat-meta{flex:1;}
#lcpto .lc-chat-name{font-size:14px;font-weight:600;color:#EDEFF5;}
#lcpto .lc-online{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.05em;}
#lcpto .lc-online--mono{margin-top:24px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
#lcpto .lc-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:lc-pulse 2s infinite;flex-shrink:0;}
#lcpto .lc-chat-body{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;}
#lcpto .lc-row{display:flex;margin-bottom:11px;animation:lc-msgin .3s ease both;}
#lcpto .lc-row--a{justify-content:flex-start;}
#lcpto .lc-row--u{justify-content:flex-end;}
#lcpto .lc-bubble{padding:11px 15px;border-radius:15px;font-size:14px;line-height:1.45;max-width:82%;white-space:pre-wrap;}
#lcpto .lc-bubble--a{background:rgba(255,255,255,.06);color:var(--bubble-a);border:1px solid rgba(255,255,255,.09);}
#lcpto .lc-bubble--u{background:var(--cobalt);color:#fff;border:1px solid var(--cobalt);}
#lcpto .lc-typing{display:flex;gap:5px;align-items:center;padding:14px 16px;border-radius:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);align-self:flex-start;margin-bottom:11px;}
#lcpto .lc-typing span{width:7px;height:7px;border-radius:50%;background:var(--accent-lt);animation:lc-tdot 1.2s infinite;}
#lcpto .lc-typing span:nth-child(2){animation-delay:.15s;}
#lcpto .lc-typing span:nth-child(3){animation-delay:.3s;}
#lcpto .lc-chat-input{display:flex;gap:9px;align-items:center;padding:14px;border-top:1px solid rgba(255,255,255,.08);}
#lcpto .lc-input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#EDEFF5;border-radius:12px;padding:12px 15px;font-size:14px;outline:none;font-family:inherit;}
#lcpto .lc-input--ghost{color:var(--faint);}
#lcpto .lc-input--dark{background:var(--bg);border:none;color:#EDEFF5;border-radius:12px;padding:16px 18px;font-size:16px;flex:1 1 220px;}
#lcpto .lc-send{background:var(--cobalt);color:#fff;border:none;border-radius:12px;width:46px;height:46px;font-size:20px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
#lcpto .lc-send--static{cursor:default;}

/* Capture card inside chat */
#lcpto .lc-capture{margin-top:8px;padding:14px;background:rgba(30,58,224,.16);border:1px solid rgba(110,139,255,.4);border-radius:14px;}
#lcpto .lc-capture-title{font-size:13px;color:var(--accent-lt);font-weight:600;margin-bottom:9px;}
#lcpto .lc-capture-row{display:flex;gap:8px;flex-wrap:wrap;}
#lcpto .lc-capture-row .lc-input{flex:1 1 160px;background:rgba(255,255,255,.06);border-radius:10px;padding:10px 13px;font-size:13px;}
#lcpto .lc-consent{margin-top:9px;font-size:11px;color:var(--faint);line-height:1.4;}
#lcpto .lc-consent--onblue{color:#B4BEEC;margin-top:16px;font-size:12px;}
#lcpto .lc-capture-done,#lcpto .lc-v2-done{font-size:13px;color:var(--accent-lt);font-weight:600;}

/* Buttons */
#lcpto .lc-btn{border:none;cursor:pointer;font-weight:700;font-family:'Archivo',sans-serif;}
#lcpto .lc-btn--send{background:var(--cobalt);color:#fff;border-radius:10px;padding:0 15px;height:40px;font-size:13px;white-space:nowrap;}
#lcpto .lc-btn--pill{background:var(--cobalt);color:#fff;border-radius:12px;padding:12px 22px;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
#lcpto .lc-btn--dark{background:var(--bg);color:var(--accent-lt);border-radius:12px;padding:0 26px;height:54px;font-size:16px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}

/* ---------- DEMO ---------- */
#lcpto .lc-demo-grid{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px);align-items:center;}
#lcpto .lc-demo-copy{flex:1 1 300px;min-width:min(100%,280px);}
#lcpto .lc-demo-chatwrap{flex:1 1 360px;min-width:min(100%,320px);}
#lcpto .lc-chat-input--static .lc-input{cursor:default;}

/* ---------- MARQUEE ---------- */
#lcpto .lc-marquee{background:var(--cobalt);color:var(--text);overflow:hidden;white-space:nowrap;padding:14px 0;}
#lcpto .lc-marquee-track{display:inline-flex;animation:lc-marq 24s linear infinite;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(20px,2.4vw,30px);text-transform:uppercase;letter-spacing:.01em;}
#lcpto .lc-marquee-track span{padding-right:.6em;}

/* ---------- 01 PROBLEM ---------- */
#lcpto .lc-figure{flex:1 1 320px;min-width:min(100%,280px);display:flex;justify-content:center;}
#lcpto .lc-photo{position:relative;border-radius:20px;overflow:hidden;}
#lcpto .lc-photo--icp{width:100%;max-width:420px;aspect-ratio:4/5;}
#lcpto .lc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
#lcpto .lc-quote{position:absolute;bottom:-18px;left:-14px;max-width:290px;background:var(--text);color:var(--bg);border-radius:16px;padding:15px 18px;font-weight:600;font-size:clamp(14px,1.3vw,16px);line-height:1.45;box-shadow:0 24px 60px rgba(0,0,0,.55);}
#lcpto .lc-figure{position:relative;}
#lcpto .lc-quote-tail{position:absolute;bottom:-7px;left:34px;width:16px;height:16px;background:var(--text);transform:rotate(45deg);}
#lcpto .lc-two--wide .lc-align-right{flex:1 1 380px;min-width:min(100%,300px);}

/* ---------- 02 SOLUTION ---------- */
#lcpto .lc-invert{background:var(--cobalt);color:var(--text);}

/* ---------- 03 MARKET ---------- */
#lcpto .lc-market-head{max-width:20ch;margin-left:auto;margin-bottom:clamp(40px,6vw,72px);}
#lcpto .lc-stats{display:flex;flex-wrap:wrap;gap:clamp(16px,2vw,28px);text-align:left;}
#lcpto .lc-stat{flex:1 1 240px;padding:clamp(24px,3vw,36px);border:1px solid rgba(255,255,255,.12);border-radius:18px;}
#lcpto .lc-stat--fill{background:var(--cobalt);}
#lcpto .lc-stat-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(52px,7vw,88px);line-height:.85;color:var(--accent);letter-spacing:-.02em;}
#lcpto .lc-stat-num--white{color:#fff;}
#lcpto .lc-stat-label{margin-top:14px;font-size:15px;color:var(--muted);line-height:1.45;}
#lcpto .lc-stat-label--onblue{color:var(--onblue);}

/* ---------- FOUNDER ---------- */
#lcpto .lc-two--founder .lc-founder-photo{flex:0 0 auto;width:clamp(180px,30vw,300px);}
#lcpto .lc-photo--matt{border:1px solid rgba(255,255,255,.12);aspect-ratio:1/1.15;}
#lcpto .lc-photo--matt img{object-position:center top;filter:grayscale(.15);}
#lcpto .lc-photo-scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(30,58,224,.35));pointer-events:none;}
#lcpto .lc-founder-copy{flex:1 1 340px;min-width:min(100%,300px);}
#lcpto .lc-founder-copy .lc-body{max-width:54ch;}
#lcpto .lc-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
#lcpto .lc-tag{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--accent-ltr);background:rgba(30,58,224,.18);border:1px solid rgba(110,139,255,.35);border-radius:999px;padding:7px 14px;}

/* ---------- VERDICT ---------- */
#lcpto .lc-verdict{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:clamp(28px,4vw,44px);}
#lcpto .lc-verdict-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(56px,9vw,112px);line-height:.85;color:var(--accent);letter-spacing:-.02em;}
#lcpto .lc-range{width:100%;accent-color:var(--cobalt);margin:32px 0 20px;height:6px;}
#lcpto .lc-verdict-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;}
#lcpto .lc-stat-line{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.06em;color:var(--muted);}

/* ---------- V2 ---------- */
#lcpto .lc-v2-copy{flex:1 1 320px;min-width:min(100%,300px);}
#lcpto .lc-tagrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
#lcpto .lc-pill-fill{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--accent);border-radius:999px;padding:5px 11px;font-weight:600;}
#lcpto .lc-pill-muted{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
#lcpto .lc-v2-form{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px;max-width:440px;}
#lcpto .lc-v2-form .lc-input{flex:1 1 200px;border-radius:12px;padding:13px 16px;}
#lcpto .lc-v2-form .lc-btn--send{height:48px;border-radius:12px;padding:0 20px;font-size:14px;text-transform:uppercase;letter-spacing:.03em;}
#lcpto .lc-v2-done{margin-top:28px;font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(16px,1.5vw,20px);text-transform:uppercase;color:var(--accent-lt);}
#lcpto .lc-v2-preview{flex:1 1 340px;min-width:min(100%,300px);}
#lcpto .lc-locked{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.03);}
#lcpto .lc-locked-blur{filter:blur(2.5px);opacity:.6;padding:20px;pointer-events:none;user-select:none;display:flex;flex-direction:column;gap:14px;}
#lcpto .lc-mock-card{border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);padding:14px;}
#lcpto .lc-mock-label{font-family:'Archivo',sans-serif;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
#lcpto .lc-mock-label--light{color:var(--accent-lt);font-size:9px;letter-spacing:.06em;}
#lcpto .lc-mock-line{height:9px;border-radius:999px;background:rgba(255,255,255,.14);margin-top:12px;}
#lcpto .lc-mock-row{display:flex;align-items:center;gap:10px;margin-top:9px;}
#lcpto .lc-mock-bar{flex:1;height:9px;border-radius:999px;background:rgba(255,255,255,.14);}
#lcpto .lc-prio{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;border-radius:5px;padding:3px 6px;}
#lcpto .lc-prio--p0{color:#fff;background:var(--cobalt);}
#lcpto .lc-prio--p1{color:var(--accent-ltr);background:rgba(110,139,255,.3);}
#lcpto .lc-prio--cut{color:var(--muted);background:rgba(255,255,255,.09);}
#lcpto .lc-mock-risks{display:flex;gap:12px;}
#lcpto .lc-mock-risk{flex:1;border-radius:12px;background:rgba(110,139,255,.12);border:1px solid rgba(110,139,255,.22);padding:12px;}
#lcpto .lc-locked-scrim{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at center,rgba(10,12,18,.35),rgba(10,12,18,.72));}
#lcpto .lc-lock-icon{width:52px;height:52px;border-radius:50%;background:rgba(30,58,224,.85);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px rgba(30,58,224,.5);}
#lcpto .lc-lock-label{font-family:'Archivo',sans-serif;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ltr);}

/* ---------- CTA ---------- */
#lcpto .lc-cta{padding:clamp(72px,10vw,150px) clamp(20px,5vw,80px);}
#lcpto .lc-cta-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:560px;margin:0 auto;}
#lcpto .lc-cta-done{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(24px,3.4vw,38px);text-transform:uppercase;color:var(--text);}

/* ---------- FOOTER ---------- */
#lcpto .lc-footer{padding:clamp(32px,4vw,52px) clamp(20px,5vw,80px);display:flex;justify-content:center;align-items:center;font-family:'Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:.1em;color:var(--faint);text-transform:uppercase;}
