/* Elva page template — scoped marketing styles (ai-chat). Fonts inherit the theme system stack (Gilroy retired v3.5.0). */
.elva-pg{
  --ai-1:#FFB7A8; --ai-2:#FFA9C9; --ai-g1:#C9B6FF; --ai-g2:#AFC8FF;
  --dur-fast:0.12s; --dur-med:0.4s;
  --gold-tint:rgba(192,137,46,0.14); --info-tint:rgba(91,141,239,0.12);
  --success-tint:rgba(47,138,91,0.12); --terracotta-tint:rgba(199,90,63,0.14);
  --grad-ink:linear-gradient(160deg,var(--sage-1),var(--sage-0));
  --sh-4:0 40px 90px -40px rgba(20,20,30,0.42),0 4px 12px rgba(20,20,30,0.07);
  --star:#E8A93C;
}
.elva-pg,.elva-pg *{box-sizing:border-box;}

/* neutralizers — cancel blog global generic-class leaks inside page templates */
.elva-pg .section-head{display:block;margin-bottom:0;}
.elva-pg .cta{max-width:none;margin:0;}

/* ===== base utilities ===== */
.elva-pg *{ box-sizing: border-box; -webkit-font-smoothing: antialiased; }
.elva-pg{ scroll-behavior: smooth; }
.elva-pg,.elva-pg{ margin: 0; padding: 0; }
.elva-pg{
  background: var(--cream-0); color: var(--ink-1);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}
.elva-pg button,.elva-pg input,.elva-pg textarea,.elva-pg select{ font-family: inherit; }
.elva-pg a{ color: inherit; text-decoration: none; }
.elva-pg ::selection{ background: var(--ai-tint); }
.elva-pg :focus-visible{ outline: 2px solid var(--ai-4); outline-offset: 2px; }
.elva-pg .elva-spectrum{
  background: var(--grad-spectrum);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.elva-pg .elva-live{ position: relative; display: inline-flex; width: 8px; height: 8px; flex: none; }
.elva-pg .elva-live::before{ content: ''; position: absolute; inset: 0; border-radius: 999px; background: var(--ai-3); box-shadow: 0 0 8px var(--ai-3); }
.elva-pg .elva-live::after{ content: ''; position: absolute; inset: -2px; border-radius: 999px; border: 1.5px solid var(--ai-3); animation: elva-pulse 2.4s cubic-bezier(0.4,0,0.2,1) infinite; }
@keyframes elva-pulse{ 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(2.8); } }
.elva-pg{ overflow-x: hidden; }
.elva-pg .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.elva-pg .wrap-wide{ max-width: 1340px; margin: 0 auto; padding: 0 32px; }
.elva-pg h1,.elva-pg h2,.elva-pg h3,.elva-pg h4{ font-family: var(--font-display); letter-spacing: var(--tracking-tight); color: var(--ink-0); margin: 0; line-height: 1.05; font-weight: 600; }
.elva-pg p{ margin: 0; }
.elva-pg .ec-eyebrow{ font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--ink-3); display: inline-flex; align-items: center; gap: 11px; }
.elva-pg .ico{ width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.elva-pg .ec-spectrum{ background: var(--grad-spectrum); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.elva-pg .rainbow{ background: var(--grad-display); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.elva-pg .serif{ font-family: var(--font-serif); font-style: italic; font-weight: 500; letter-spacing: 0; }
.elva-pg .mono{ font-family: var(--font-mono); }
.elva-pg .btn{ display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-family: var(--font-body); font-weight: 550; font-size: 15px; letter-spacing: -0.01em; padding: 13px 22px; border-radius: var(--r-pill); border: 1px solid transparent; transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), background var(--dur-fast); white-space: nowrap; }
.elva-pg .btn .ico{ width: 17px; height: 17px; }
.elva-pg .btn-green{ background: var(--green-deep); color: #fff; box-shadow: 0 10px 22px -12px rgba(26,107,73,.7); }
.elva-pg .btn-green:hover{ transform: translateY(-1px); }
.elva-pg .btn-ghost{ background: transparent; color: var(--ink-0); border-color: var(--cream-shadow); }
.elva-pg .btn-ghost:hover{ background: #fff; border-color: var(--ink-4); transform: translateY(-1px); }
.elva-pg .btn-lg{ font-size: 16px; padding: 16px 28px; }
.elva-pg .btn-light{ background: #fff; color: var(--ink-0); box-shadow: var(--sh-2); }
.elva-pg .btn-light:hover{ transform: translateY(-1px); }
.elva-pg .brand{ display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 600; font-size: 20px; letter-spacing: -0.04em; color: var(--ink-0); }
.elva-pg .brand-mark{ width: 26px; height: 26px; border-radius: 7px; background: var(--grad-spectrum); display: grid; place-items: center; box-shadow: 0 4px 12px -4px rgba(155,92,255,.5); }
.elva-pg .brand-mark::after{ content:''; width: 10px; height: 10px; border-radius: 3px; background: rgba(255,255,255,.92); }
.elva-pg .ec-section{ padding: 108px 0; }
.elva-pg .ec-section.pt-0{ padding-top: 0; }
.elva-pg .ec-section.tight{ padding: 64px 0; }
.elva-pg .ec-section-head{ max-width: 720px; }
.elva-pg .ec-section-head.center{ margin: 0 auto; text-align: center; }
.elva-pg .ec-section-head h2{ font-size: clamp(32px, 4vw, 50px); font-weight: 600; margin-top: 18px; }
.elva-pg .ec-section-head p{ font-size: 18px; line-height: 1.6; color: var(--ink-2); margin-top: 20px; text-wrap: pretty; }
.elva-pg .feature{ display: grid; grid-template-columns: 1fr 1.06fr; gap: 72px; align-items: center; }
.elva-pg .feature.alt .feat-text{ order: 2; }
.elva-pg .feat-text h2{ font-size: clamp(29px, 3.4vw, 42px); font-weight: 600; margin-top: 18px; }
.elva-pg .feat-text .lead{ font-size: 17px; line-height: 1.65; color: var(--ink-2); margin-top: 20px; text-wrap: pretty; }
.elva-pg .feat-text .lead b{ color: var(--ink-0); font-weight: 600; }
.elva-pg .xlink{ display: inline-flex; align-items: center; gap: 7px; margin-top: 24px; font-size: 14.5px; font-weight: 600; color: var(--green-deep); }
.elva-pg .xlink svg{ width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform var(--dur-fast); }
.elva-pg .xlink:hover svg{ transform: translateX(3px); }
.elva-pg .xlink + .xlink{ margin-left: 22px; }
.elva-pg .viz{ position: relative; }
.elva-pg .viz::before{ content: ''; position: absolute; inset: -8% -6%; z-index: 0; border-radius: 40px; opacity: .5; filter: blur(60px); pointer-events: none; }
.elva-pg .viz > *{ position: relative; z-index: 1; }
.elva-pg .viz.g-purple::before{ background: radial-gradient(60% 60% at 50% 40%, rgba(155,92,255,.30), transparent 70%); }
.elva-pg .viz.g-blue::before{ background: radial-gradient(60% 60% at 50% 40%, rgba(91,141,239,.30), transparent 70%); }
.elva-pg .viz.g-teal::before{ background: radial-gradient(60% 60% at 50% 40%, rgba(63,184,168,.30), transparent 70%); }
.elva-pg .viz.g-gold::before{ background: radial-gradient(60% 60% at 50% 40%, rgba(192,137,46,.26), transparent 70%); }
.elva-pg .mini-row{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; }
.elva-pg .mini-card{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-lg); padding: 20px; box-shadow: var(--sh-1); transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elva-pg .mini-card:hover{ transform: translateY(-3px); box-shadow: var(--sh-2); }
.elva-pg .mini-card .mc-ic{ width: 36px; height: 36px; border-radius: 10px; background: var(--sage-3); color: #7a48c4; display: grid; place-items: center; margin-bottom: 14px; }
.elva-pg .mini-card .mc-ic svg{ width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.elva-pg .mini-card h4{ font-size: 15px; font-weight: 600; }
.elva-pg .mini-card p{ font-size: 13px; line-height: 1.5; color: var(--ink-2); margin-top: 7px; }
.elva-pg .pain-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
.elva-pg .pain{ position: relative; background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-xl); padding: 30px 28px; box-shadow: var(--sh-1); overflow: hidden; transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elva-pg .pain:hover{ transform: translateY(-3px); box-shadow: var(--sh-2); }
.elva-pg .pain::before{ content:''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--terracotta); opacity: .85; }
.elva-pg .pain .pn{ font-family: var(--font-serif); font-style: italic; font-size: 40px; font-weight: 500; color: var(--terracotta); line-height: 1; opacity: .9; }
.elva-pg .pain h3{ font-size: 19px; font-weight: 600; margin-top: 16px; }
.elva-pg .pain p{ font-size: 14px; line-height: 1.55; color: var(--ink-2); margin-top: 11px; }
.elva-pg .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; }
.elva-pg .cap{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-xl); padding: 26px; box-shadow: var(--sh-1); transition: transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out); }
.elva-pg .cap:hover{ transform: translateY(-4px); box-shadow: var(--sh-2); }
.elva-pg .cap-ic{ width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; margin-bottom: 16px; }
.elva-pg .cap-ic svg{ width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.elva-pg .cap h4{ font-size: 16px; font-weight: 600; }
.elva-pg .cap p{ font-size: 13.5px; line-height: 1.55; color: var(--ink-2); margin-top: 9px; }
.elva-pg .darksec .cap{ background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); box-shadow: none; }
.elva-pg .darksec .cap:hover{ background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.16); transform: translateY(-4px); box-shadow: none; }
.elva-pg .darksec .cap h4{ color: #fff; }
.elva-pg .darksec .cap p{ color: rgba(255,255,255,.62); }
.elva-pg .c-teal{ background: rgba(63,184,168,.14); color: #1e9b7e; }
.elva-pg .c-blue{ background: var(--info-tint); color: #2D7FB8; }
.elva-pg .c-purple{ background: var(--ai-tint); color: #7a48c4; }
.elva-pg .c-gold{ background: var(--gold-tint); color: #b5821f; }
.elva-pg .c-rose{ background: rgba(242,84,91,.12); color: #d23b43; }
.elva-pg .c-green{ background: var(--green-soft); color: var(--green-deep); }
.elva-pg .darksec{ position: relative; overflow: hidden; background: radial-gradient(58% 50% at 82% 16%, rgba(46,196,160,.16), transparent 60%), radial-gradient(130% 120% at 50% 0%, #16263c 0%, #0b1320 58%, #070d18 100%); background-color: #070d18; color: #fff; }
.elva-pg .darksec::before{ content:''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 46px 46px; -webkit-mask: radial-gradient(82% 78% at 50% 38%, #000, transparent 86%); mask: radial-gradient(82% 78% at 50% 38%, #000, transparent 86%); }
.elva-pg .darksec > *{ position: relative; z-index: 1; }
.elva-pg .darksec h1,.elva-pg .darksec h2,.elva-pg .darksec h3,.elva-pg .darksec h4{ color: #fff; }
.elva-pg .darksec p{ color: rgba(255,255,255,.66); }
.elva-pg .darksec .ec-eyebrow{ color: rgba(255,255,255,.52); }
.elva-pg .trustlight .tcard{ background: #fff; border: 1px solid var(--cream-2); box-shadow: var(--sh-1); }
.elva-pg .trustlight .tcard-ic{ background: var(--ai-tint); border: 1px solid transparent; color: #7a48c4; }
.elva-pg .trustlight .tcard h3{ color: var(--ink-1); }
.elva-pg .trustlight .tcard p{ color: var(--ink-2); }
.elva-pg .trustlight .trust-foot{ color: var(--ink-3); }
.elva-pg .trust-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; }
.elva-pg .tcard{ background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-2xl); padding: 32px; }
.elva-pg .tcard-ic{ width: 48px; height: 48px; border-radius: 13px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); display: grid; place-items: center; color: #fff; margin-bottom: 18px; }
.elva-pg .tcard-ic svg{ width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.elva-pg .tcard h3{ font-size: 18px; font-weight: 600; }
.elva-pg .tcard p{ font-size: 13.5px; line-height: 1.58; color: rgba(255,255,255,.6); margin-top: 11px; }
.elva-pg .trust-foot{ margin-top: 38px; display: flex; gap: 12px 26px; flex-wrap: wrap; justify-content: center; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .04em; color: rgba(255,255,255,.5); }
.elva-pg .trust-foot span{ display: inline-flex; align-items: center; gap: 9px; }
.elva-pg .trust-foot .tk{ width: 5px; height: 5px; border-radius: 999px; background: var(--ai-5); box-shadow: 0 0 7px var(--ai-5); }
.elva-pg .ec-cta{ padding: 20px 0 110px; }
.elva-pg .cta-card{ position: relative; overflow: hidden; background: var(--sage-0); border-radius: 36px; padding: 88px 56px; text-align: center; color: #fff; box-shadow: var(--sh-4); }
.elva-pg .cta-glow{ position: absolute; inset: 0; background: radial-gradient(60% 120% at 50% 120%, rgba(155,92,255,.45), transparent 55%), radial-gradient(50% 90% at 15% -10%, rgba(63,184,168,.35), transparent 60%); pointer-events: none; }
.elva-pg .cta-card .ec-eyebrow{ color: rgba(255,255,255,.55); position: relative; justify-content: center; }
.elva-pg .cta-card h2{ color: #fff; font-size: clamp(33px, 4.2vw, 52px); font-weight: 600; margin-top: 16px; position: relative; }
.elva-pg .cta-card p{ font-size: 18px; color: rgba(255,255,255,.68); margin-top: 20px; position: relative; max-width: 54ch; margin-left: auto; margin-right: auto; line-height: 1.55; }
.elva-pg .cta-btns{ display: flex; justify-content: center; gap: 14px; margin-top: 38px; position: relative; flex-wrap: wrap; }
.elva-pg .foot-brand{ max-width: 240px; }
.elva-pg .foot-brand p{ font-size: 13.5px; color: var(--ink-2); line-height: 1.5; margin-top: 16px; }
.elva-pg .foot-contact{ font-size: 12.5px; color: var(--ink-3); margin-top: 18px; line-height: 1.7; font-family: var(--font-mono); }
.elva-pg .foot-col h4{ font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); font-weight: 500; margin: 0 0 16px; }
.elva-pg .foot-col ul{ list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
.elva-pg .foot-col a{ font-size: 13.5px; color: var(--ink-1); transition: color var(--dur-fast); }
.elva-pg .foot-col a:hover{ color: var(--green-deep); }
.elva-pg [data-reveal]{ opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.elva-pg [data-reveal].in{ opacity: 1; transform: none; }
.elva-pg [data-reveal][data-delay="1"]{ transition-delay: .09s; }
.elva-pg [data-reveal][data-delay="2"]{ transition-delay: .18s; }
.elva-pg [data-reveal][data-delay="3"]{ transition-delay: .27s; }
.elva-pg .cap-caption{ font-size: 12.5px; color: var(--ink-3); margin-top: 16px; display: flex; align-items: center; gap: 8px; }
.elva-pg .cap-caption.center{ justify-content: center; }
.elva-pg .cap-caption::before{ content:''; width: 16px; height: 1px; background: var(--cream-shadow); }
.elva-pg .live-dot{ position: relative; display: inline-flex; width: 8px; height: 8px; flex: none; }
.elva-pg .live-dot::before{ content:''; position:absolute; inset:0; border-radius:999px; background: currentColor; }
.elva-pg .live-dot::after{ content:''; position:absolute; inset:-3px; border-radius:999px; border:1.5px solid currentColor; animation: lpulse 2s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes lpulse{ 0%{opacity:1;transform:scale(1);} 100%{opacity:0;transform:scale(2.6);} }
.elva-pg .ec-hero{ position: relative; padding: 56px 0 40px; overflow: hidden; }
.elva-pg .ec-hero-glow{ position: absolute; top: -200px; right: -160px; width: 680px; height: 680px; border-radius: 50%; pointer-events: none; z-index: 0; background: conic-gradient(from 200deg at 50% 50%, var(--ai-1), var(--ai-2), var(--ai-g1), var(--ai-g2), var(--ai-5), var(--ai-1)); filter: blur(130px); opacity: .28; animation: spin2 40s linear infinite; }
@keyframes spin2{ to { transform: rotate(360deg); } }
.elva-pg .hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 0.78fr; gap: 64px; align-items: center; }
.elva-pg .ec-hero h1{ font-size: clamp(42px, 5.2vw, 68px); font-weight: 600; margin: 18px 0 0; max-width: 13ch; line-height: 1.02; }
.elva-pg .ec-hero h1 .serif{ font-size: 1.02em; }
.elva-pg .hero-lead{ font-size: 17.5px; line-height: 1.6; color: var(--ink-2); margin-top: 24px; max-width: 54ch; text-wrap: pretty; }
.elva-pg .hero-cta{ display: flex; align-items: center; gap: 13px; margin-top: 32px; flex-wrap: wrap; }
.elva-pg .hero-chips{ display: flex; gap: 10px; margin-top: 28px; flex-wrap: wrap; }
.elva-pg .hchip{ display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 550; color: var(--ink-1); background: #fff; border: 1px solid var(--cream-2); border-radius: 999px; padding: 8px 14px; box-shadow: var(--sh-1); }
.elva-pg .hchip svg{ width: 14px; height: 14px; stroke: var(--elva-blue); fill: none; stroke-width: 1.9; }
.elva-pg .hero-browser{ width: 100%; max-width: 460px; margin: 0 auto; }
.elva-pg .hero-browser .chat-app{ max-width: none; margin: 0; border: none; border-radius: 0; box-shadow: none; }
.elva-pg .hero-browser .chat-app::after{ display: none; }
.elva-pg .chat-app{ width: 100%; max-width: 380px; margin: 0 auto; background: var(--chat-paper); border: 1px solid var(--cream-2); border-radius: 30px; box-shadow: var(--sh-4); overflow: hidden; position: relative; }
.elva-pg .chat-app::after{ content:''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-display); z-index: 5; }
.elva-pg .ca-top{ display: flex; align-items: center; gap: 10px; padding: 16px 18px 12px; }
.elva-pg .ca-icon{ width: 30px; height: 30px; border-radius: 9px; background: var(--grad-elva); display: grid; place-items: center; box-shadow: 0 6px 14px -6px rgba(91,141,239,.7); }
.elva-pg .ca-icon svg{ width: 17px; height: 17px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .ca-title{ font-family: var(--font-display); font-weight: 600; font-size: 14.5px; color: var(--ink-0); }
.elva-pg .ca-loc{ margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); border: 1px solid var(--cream-2); border-radius: 999px; padding: 4px 10px; background: #fff; }
.elva-pg .ca-loc svg{ width: 12px; height: 12px; stroke: var(--ink-3); fill: none; stroke-width: 1.8; }
.elva-pg .ca-welcome{ padding: 26px 22px 14px; text-align: center; }
.elva-pg .ca-bigicon{ width: 60px; height: 60px; border-radius: 17px; background: var(--grad-elva); margin: 0 auto 18px; display: grid; place-items: center; box-shadow: 0 16px 34px -16px rgba(91,141,239,.8); }
.elva-pg .ca-bigicon svg{ width: 32px; height: 32px; stroke: #fff; fill: none; stroke-width: 1.8; }
.elva-pg .ca-hi{ font-family: var(--font-display); font-weight: 600; font-size: 30px; letter-spacing: -.03em; color: var(--ink-0); }
.elva-pg .ca-hi .serif{ font-size: 1.02em; }
.elva-pg .ca-sub{ font-size: 14px; color: var(--ink-2); margin-top: 9px; line-height: 1.45; max-width: 30ch; margin-left: auto; margin-right: auto; }
.elva-pg .ca-prompts{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px 16px 8px; }
.elva-pg .ca-prompt{ text-align: left; background: #fff; border: 1px solid var(--cream-2); border-radius: 14px; padding: 13px 14px; cursor: pointer; transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-med), border-color var(--dur-fast); display: flex; flex-direction: column; gap: 9px; }
.elva-pg .ca-prompt:hover{ transform: translateY(-2px); box-shadow: var(--sh-2); border-color: var(--ai-g2); }
.elva-pg .ca-prompt .pic{ width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; }
.elva-pg .ca-prompt .pic svg{ width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.elva-pg .ca-prompt span{ font-size: 12.5px; line-height: 1.35; color: var(--ink-1); font-weight: 500; }
.elva-pg .ca-bar{ margin: 10px 14px 16px; background: #fff; border: 1px solid var(--cream-2); border-radius: 17px; padding: 12px 14px; box-shadow: var(--sh-1); }
.elva-pg .ca-chip{ display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .04em; color: var(--elva-blue); background: rgba(91,141,239,.1); border: 1px solid rgba(91,141,239,.2); border-radius: 999px; padding: 4px 9px; }
.elva-pg .ca-chip .dotm{ width: 13px; height: 13px; border-radius: 4px; background: var(--grad-elva); }
.elva-pg .ca-input{ display: flex; align-items: center; gap: 10px; margin-top: 11px; }
.elva-pg .ca-input .ec-ph{ flex: 1; font-size: 13px; color: var(--ink-4); }
.elva-pg .ca-actions{ display: flex; align-items: center; gap: 8px; }
.elva-pg .ca-actbtn{ display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: var(--ink-2); background: var(--cream-0); border: 1px solid var(--cream-2); border-radius: 999px; padding: 6px 11px; }
.elva-pg .ca-actbtn svg{ width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.elva-pg .ca-send{ width: 32px; height: 32px; border-radius: 50%; background: var(--bubble-user); display: grid; place-items: center; flex: none; }
.elva-pg .ca-send svg{ width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .chat-sim{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-xl); box-shadow: var(--sh-3); overflow: hidden; position: relative; }
.elva-pg .chat-sim.grad-top::after{ content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-display); z-index: 5; }
.elva-pg .cs-chrome{ display: flex; align-items: center; gap: 11px; padding: 13px 18px; border-bottom: 1px solid var(--cream-2); }
.elva-pg .cs-ava{ width: 28px; height: 28px; border-radius: 9px; background: var(--grad-elva); display: grid; place-items: center; flex: none; box-shadow: 0 5px 12px -6px rgba(91,141,239,.7); }
.elva-pg .cs-ava svg{ width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .cs-titles{ line-height: 1.2; }
.elva-pg .cs-titles .t{ font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--ink-0); }
.elva-pg .cs-titles .s{ font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); margin-top: 2px; letter-spacing: .03em; }
.elva-pg .cs-live{ margin-left: auto; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 10px; font-weight: 500; color: var(--ink-2); background: var(--cream-0); border: 1px solid var(--cream-2); border-radius: 999px; padding: 5px 11px; }
.elva-pg .cs-live .live-dot{ color: var(--ai-3); }
.elva-pg .cs-replay{ margin-left: 9px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-family: var(--font-mono); font-size: 10px; font-weight: 600; color: var(--ink-2); background: #fff; border: 1px solid var(--cream-2); border-radius: 999px; padding: 5px 10px; transition: background var(--dur-fast), color var(--dur-fast); }
.elva-pg .cs-replay:hover{ background: var(--cream-0); color: var(--ink-0); }
.elva-pg .cs-replay svg{ width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.elva-pg .cs-context{ display: flex; align-items: center; gap: 9px; padding: 11px 18px; background: rgba(91,141,239,.07); border-bottom: 1px solid rgba(91,141,239,.16); font-size: 12px; color: var(--ink-2); }
.elva-pg .cs-context .ctx-pill{ display: inline-flex; align-items: center; gap: 7px; font-weight: 600; color: var(--elva-blue); background: rgba(91,141,239,.12); border: 1px solid rgba(91,141,239,.24); border-radius: 999px; padding: 4px 11px; font-size: 12px; }
.elva-pg .cs-context .ctx-pill .av{ width: 18px; height: 18px; border-radius: 50%; background: var(--grad-elva); color: #fff; display: grid; place-items: center; font-size: 8.5px; font-weight: 700; font-family: var(--font-body); }
.elva-pg .cs-context .ctx-meta{ font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); }
.elva-pg .cs-thread{ padding: 22px 20px; display: flex; flex-direction: column; gap: 14px; overflow: hidden; }
.elva-pg .cm{ display: flex; gap: 10px; max-width: 86%; opacity: 0; transform: translateY(10px); transition: opacity .42s var(--ease-out), transform .42s var(--ease-out); }
.elva-pg .cm.show{ opacity: 1; transform: none; }
.elva-pg .cm.user{ align-self: flex-end; flex-direction: row-reverse; }
.elva-pg .cm.elva{ align-self: flex-start; }
.elva-pg .cm-av{ width: 28px; height: 28px; border-radius: 8px; background: var(--grad-elva); display: grid; place-items: center; flex: none; box-shadow: 0 4px 10px -5px rgba(91,141,239,.7); }
.elva-pg .cm-av svg{ width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .cm-bubble{ padding: 12px 15px; border-radius: 16px; font-size: 14px; line-height: 1.5; }
.elva-pg .cm.user .cm-bubble{ background: var(--bubble-user); color: #fff; border-bottom-right-radius: 5px; }
.elva-pg .cm.elva .cm-bubble{ background: var(--cream-0); border: 1px solid var(--cream-2); color: var(--ink-1); border-bottom-left-radius: 5px; }
.elva-pg .cm-bubble b{ font-weight: 650; color: var(--ink-0); }
.elva-pg .cm.user .cm-bubble b{ color: #fff; }
.elva-pg .cm-bubble .num{ font-variant-numeric: tabular-nums; }
.elva-pg .cm-data{ margin-top: 11px; display: flex; flex-direction: column; gap: 8px; }
.elva-pg .cm-row{ display: flex; align-items: baseline; gap: 10px; padding: 9px 11px; background: #fff; border: 1px solid var(--cream-2); border-radius: 10px; }
.elva-pg .cm-row .rk{ font-family: var(--font-mono); font-size: 10px; color: var(--ink-4); flex: none; width: 18px; }
.elva-pg .cm-row .rn{ font-weight: 600; color: var(--ink-0); font-size: 13px; }
.elva-pg .cm-row .rd{ font-size: 12px; color: var(--ink-2); margin-left: auto; text-align: right; font-variant-numeric: tabular-nums; }
.elva-pg .cm-fields{ margin-top: 11px; border: 1px solid var(--cream-2); border-radius: 10px; overflow: hidden; background: #fff; }
.elva-pg .cm-field{ display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-top: 1px solid var(--cream-2); font-size: 12.5px; }
.elva-pg .cm-field:first-child{ border-top: none; }
.elva-pg .cm-field .k{ color: var(--ink-3); font-family: var(--font-mono); font-size: 10.5px; }
.elva-pg .cm-field .v{ color: var(--ink-1); font-weight: 600; text-align: right; }
.elva-pg .cm-field .v.ok{ color: var(--green-deep); }
.elva-pg .cm-field .v.warn{ color: var(--gold); }
.elva-pg .cm-acts{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.elva-pg .cm-act{ display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--green-deep); background: var(--green-soft); border: 1px solid var(--green-line); border-radius: 999px; padding: 7px 13px; }
.elva-pg .cm-act svg{ width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.elva-pg .cm-act.ghost{ color: var(--ink-2); background: #fff; border-color: var(--cream-2); }
.elva-pg .cm.cm-rich{ max-width: 95%; }
.elva-pg .ans-card{ margin-top: 12px; position: relative; background: #fff; border: 1px solid var(--cream-2); border-radius: 15px; overflow: hidden; box-shadow: 0 10px 26px -18px rgba(20,20,30,.34); }
.elva-pg .ans-card::before{ content:''; position: absolute; top: 0; left: 0; bottom: 0; width: 3px; z-index: 3; background: var(--grad-elva); }
.elva-pg .ans-card.ac-teal::before{ background: linear-gradient(180deg, #3FB8A8, #5B8DEF); }
.elva-pg .ans-card.ac-purple::before{ background: linear-gradient(180deg, #5B8DEF, #9B5CFF); }
.elva-pg .ans-card.ac-gold::before{ background: linear-gradient(180deg, #C0892E, #C75A3F); }
.elva-pg .ans-card.ac-green::before{ background: linear-gradient(180deg, #3FB8A8, #1A6B49); }
.elva-pg .ac-head{ display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--cream-2); }
.elva-pg .ac-ic{ width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.elva-pg .ac-ic svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.elva-pg .ac-htitle{ font-family: var(--font-display); font-weight: 600; font-size: 13.5px; color: var(--ink-0); }
.elva-pg .ac-meta{ margin-left: auto; font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); letter-spacing: .02em; white-space: nowrap; }
.elva-pg .ac-btns{ margin-left: auto; display: flex; gap: 6px; }
.elva-pg .ac-iconbtn{ width: 26px; height: 26px; border-radius: 7px; border: 1px solid var(--cream-2); background: var(--cream-0); display: grid; place-items: center; }
.elva-pg .ac-iconbtn svg{ width: 13px; height: 13px; stroke: var(--ink-3); fill: none; stroke-width: 1.8; }
.elva-pg .ac-patient{ display: flex; align-items: center; gap: 11px; padding: 12px 14px; border-bottom: 1px solid var(--cream-2); }
.elva-pg .ac-av{ width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--grad-elva); color: #fff; font-weight: 700; font-size: 12.5px; letter-spacing: .02em; font-family: var(--font-body); }
.elva-pg .ac-pname{ font-weight: 600; font-size: 14px; color: var(--ink-0); }
.elva-pg .ac-pchart{ font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); margin-top: 2px; }
.elva-pg .ac-frow{ display: flex; gap: 11px; padding: 9px 14px; }
.elva-pg .ac-frow + .ac-frow{ border-top: 1px solid var(--cream-2); }
.elva-pg .ac-frow .fi{ width: 15px; height: 15px; stroke: var(--ink-4); fill: none; stroke-width: 1.8; flex: none; margin-top: 3px; }
.elva-pg .ac-fc{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.elva-pg .ac-fl{ font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--ink-3); }
.elva-pg .ac-fv{ font-size: 13px; color: var(--ink-0); font-weight: 500; }
.elva-pg .ac-fv.mono{ font-family: var(--font-mono); font-size: 12.5px; }
.elva-pg .ac-sec{ padding: 12px 14px; border-top: 1px solid var(--cream-2); }
.elva-pg .ac-sl{ font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px; }
.elva-pg .ac-pills{ display: flex; flex-wrap: wrap; gap: 7px; }
.elva-pg .ac-pill{ font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 999px; }
.elva-pg .ac-pill.alert{ background: var(--gold-tint); color: #b07d1f; }
.elva-pg .ac-pill.cond{ background: var(--info-tint); color: #2c79b0; }
.elva-pg .ac-subnote{ font-size: 12px; color: var(--ink-2); margin-top: 9px; }
.elva-pg .ac-trow{ display: flex; align-items: center; gap: 12px; padding: 11px 14px; }
.elva-pg .ac-trow + .ac-trow{ border-top: 1px solid var(--cream-2); }
.elva-pg .ac-tc{ line-height: 1.3; min-width: 0; }
.elva-pg .ac-tn{ font-weight: 600; font-size: 13px; color: var(--ink-0); }
.elva-pg .ac-ts{ font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); margin-top: 2px; }
.elva-pg .ac-tpill{ margin-left: auto; font-family: var(--font-mono); font-size: 11px; font-weight: 600; color: #b07d1f; background: var(--gold-tint); border-radius: 999px; padding: 4px 10px; flex: none; }
.elva-pg .ac-tpill.teal{ color: #1e9b7e; background: rgba(63,184,168,.14); }
.elva-pg .ac-stat{ padding: 14px 14px 4px; display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.elva-pg .ac-big{ font-family: var(--font-display); font-weight: 600; font-size: 29px; letter-spacing: -.03em; color: var(--ink-0); line-height: 1; }
.elva-pg .ac-delta{ display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-mono); font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 999px; }
.elva-pg .ac-delta svg{ width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.elva-pg .ac-delta.up{ background: var(--success-tint); color: var(--success); }
.elva-pg .ac-cmp{ font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); }
.elva-pg .ac-caption{ padding: 2px 14px 6px; font-size: 12px; color: var(--ink-2); }
.elva-pg .ac-chart{ padding: 8px 14px 14px; }
.elva-pg .ac-plot{ display: flex; gap: 10px; height: 140px; }
.elva-pg .ac-yax{ display: flex; flex-direction: column; justify-content: space-between; text-align: right; font-family: var(--font-mono); font-size: 9px; color: var(--ink-4); flex: none; padding: 1px 0; }
.elva-pg .ac-area{ position: relative; flex: 1; }
.elva-pg .ac-grids{ position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; }
.elva-pg .ac-grids span{ display: block; border-top: 1px dashed var(--cream-shadow); }
.elva-pg .ac-bars{ position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; gap: 16px; padding: 0 8px; }
.elva-pg .ac-bars .bar{ width: 100%; max-width: 116px; border-radius: 7px 7px 0 0; height: 0; transition: height 1s var(--ease-out); }
.elva-pg .cm.show .ac-bars .bar{ height: var(--h); }
.elva-pg .bar.b-blue{ background: linear-gradient(180deg, #6FB7E8, #5BA3DE); }
.elva-pg .bar.b-purple{ background: linear-gradient(180deg, #8A93E0, #6C76D6); }
.elva-pg .bar.b-teal{ background: linear-gradient(180deg, #5BC9B6, #3FB8A8); }
.elva-pg .ac-legend{ display: flex; justify-content: center; gap: 18px; margin-top: 11px; font-size: 11px; color: var(--ink-2); }
.elva-pg .ac-legend span{ display: inline-flex; align-items: center; gap: 6px; }
.elva-pg .ac-legend i{ width: 9px; height: 9px; border-radius: 3px; flex: none; }
.elva-pg .ac-legend i.d-blue{ background: #5BA3DE; }
.elva-pg .ac-legend i.d-purple{ background: #6C76D6; }
.elva-pg .ac-foot{ display: flex; justify-content: flex-end; padding: 8px 14px; border-top: 1px solid var(--cream-2); background: var(--cream-0); font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-3); letter-spacing: .02em; }
@media (prefers-reduced-motion: reduce){
.elva-pg .ac-bars .bar{ transition: none; }
}
.elva-pg .cm-typing{ display: flex; gap: 10px; align-self: flex-start; max-width: 86%; }
.elva-pg .cm-typing .cm-av{ opacity: 1; }
.elva-pg .cm-typing .dots{ display: flex; align-items: center; gap: 5px; padding: 15px 16px; background: var(--cream-0); border: 1px solid var(--cream-2); border-radius: 16px; border-bottom-left-radius: 5px; }
.elva-pg .cm-typing .dots i{ width: 7px; height: 7px; border-radius: 50%; background: var(--ink-4); animation: cdot 1.3s ease-in-out infinite; }
.elva-pg .cm-typing .dots i:nth-child(2){ animation-delay: .18s; }
.elva-pg .cm-typing .dots i:nth-child(3){ animation-delay: .36s; }
@keyframes cdot{ 0%,60%,100%{ transform: translateY(0); opacity:.45; } 30%{ transform: translateY(-5px); opacity:1; } }
.elva-pg .cm-typing[hidden]{ display: none; }
.elva-pg .cs-foot{ display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--cream-2); background: var(--chat-paper); }
.elva-pg .cs-foot .fbar{ flex: 1; font-size: 12.5px; color: var(--ink-4); }
.elva-pg .cs-foot .fadd{ display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: var(--ink-3); font-family: var(--font-mono); }
.elva-pg .cs-foot .fadd svg{ width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.elva-pg .cs-foot .fsend{ width: 30px; height: 30px; border-radius: 50%; background: var(--bubble-user); display: grid; place-items: center; flex: none; }
.elva-pg .cs-foot .fsend svg{ width: 14px; height: 14px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .cs-badge{ font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; margin-left: 4px; }
.elva-pg .cs-badge.simple{ background: var(--green-soft); color: var(--green-deep); }
.elva-pg .cs-badge.complex{ background: var(--ai-tint); color: #7a48c4; }
.elva-pg .honesty{ display: flex; gap: 12px; align-items: flex-start; margin-top: 26px; padding: 16px 20px; background: var(--sage-3); border: 1px solid rgba(155,92,255,.16); border-radius: var(--r-lg); }
.elva-pg .honesty svg{ width: 18px; height: 18px; stroke: #7a48c4; fill: none; stroke-width: 1.8; flex: none; margin-top: 1px; }
.elva-pg .honesty p{ font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
.elva-pg .honesty b{ color: var(--ink-0); font-weight: 600; }
.elva-pg .ws{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-xl); box-shadow: var(--sh-3); overflow: hidden; position: relative; }
.elva-pg .ws::after{ content:''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-display); z-index: 5; }
.elva-pg .ws-chrome{ display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--cream-2); }
.elva-pg .ws-dots{ display: flex; gap: 6px; }
.elva-pg .ws-dots i{ width: 10px; height: 10px; border-radius: 50%; display: block; }
.elva-pg .ws-dots i:nth-child(1){ background:#E5897E; }
.elva-pg .ws-dots i:nth-child(2){ background:#E8C66B; }
.elva-pg .ws-dots i:nth-child(3){ background:#8FC8A0; }
.elva-pg .ws-url{ margin-left: 8px; font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); }
.elva-pg .ws-url b{ color: var(--ink-1); font-weight: 600; }
.elva-pg .ws-body{ display: grid; grid-template-columns: 252px 1fr; min-height: 460px; }
.elva-pg .ws-side{ background: var(--cream-0); border-right: 1px solid var(--cream-2); padding: 16px 14px; display: flex; flex-direction: column; gap: 14px; }
.elva-pg .ws-newbtn{ display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 600; color: #fff; background: var(--bubble-user); border-radius: 11px; padding: 11px 14px; }
.elva-pg .ws-newbtn svg{ width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .ws-search{ display: flex; align-items: center; gap: 9px; background: #fff; border: 1px solid var(--cream-2); border-radius: 11px; padding: 9px 12px; font-size: 12.5px; color: var(--ink-4); }
.elva-pg .ws-search svg{ width: 14px; height: 14px; stroke: var(--ink-3); fill: none; stroke-width: 1.9; }
.elva-pg .ws-grp{ font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-4); padding: 4px 6px; margin-top: 4px; display: flex; align-items: center; gap: 7px; }
.elva-pg .ws-grp svg{ width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.elva-pg .ws-conv{ display: flex; flex-direction: column; gap: 2px; }
.elva-pg .ws-item{ display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ink-1); padding: 9px 10px; border-radius: 9px; cursor: default; }
.elva-pg .ws-item:hover{ background: #fff; }
.elva-pg .ws-item.active{ background: #fff; box-shadow: var(--sh-1); font-weight: 600; color: var(--ink-0); }
.elva-pg .ws-item .wd{ width: 6px; height: 6px; border-radius: 50%; background: var(--ink-4); flex: none; }
.elva-pg .ws-item.active .wd{ background: var(--elva-blue); }
.elva-pg .ws-item .pin{ margin-left: auto; width: 12px; height: 12px; stroke: var(--gold); fill: var(--gold); flex: none; }
.elva-pg .ws-loc{ margin-top: auto; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--cream-2); border-radius: 12px; padding: 11px 13px; }
.elva-pg .ws-loc .lic{ width: 30px; height: 30px; border-radius: 9px; background: var(--sage-3); color: #7a48c4; display: grid; place-items: center; flex: none; }
.elva-pg .ws-loc .lic svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.elva-pg .ws-loc .ltxt{ line-height: 1.25; }
.elva-pg .ws-loc .ltxt .ln{ font-size: 13px; font-weight: 600; color: var(--ink-0); }
.elva-pg .ws-loc .ltxt .ls{ font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-3); }
.elva-pg .ws-loc .lchev{ margin-left: auto; width: 14px; height: 14px; stroke: var(--ink-4); fill: none; stroke-width: 2; }
.elva-pg .ws-main{ padding: 26px 30px; display: flex; flex-direction: column; }
.elva-pg .ws-welcome{ display: flex; align-items: center; gap: 13px; }
.elva-pg .ws-welcome .wic{ width: 44px; height: 44px; border-radius: 13px; background: var(--grad-elva); display: grid; place-items: center; box-shadow: 0 12px 26px -14px rgba(91,141,239,.8); }
.elva-pg .ws-welcome .wic svg{ width: 24px; height: 24px; stroke: #fff; fill: none; stroke-width: 1.8; }
.elva-pg .ws-welcome h3{ font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.elva-pg .ws-welcome p{ font-size: 13.5px; color: var(--ink-2); margin-top: 3px; }
.elva-pg .ws-cards{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 26px; }
.elva-pg .ws-card{ text-align: left; background: var(--cream-0); border: 1px solid var(--cream-2); border-radius: 14px; padding: 15px 16px; display: flex; gap: 12px; align-items: flex-start; }
.elva-pg .ws-card .cic{ width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; flex: none; }
.elva-pg .ws-card .cic svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.elva-pg .ws-card .ctxt{ font-size: 13px; line-height: 1.4; color: var(--ink-1); font-weight: 500; }
.elva-pg .ws-card .csub{ font-size: 11.5px; color: var(--ink-3); margin-top: 4px; font-weight: 400; }
.elva-pg .ws-inputbar{ margin-top: auto; display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--cream-2); border-radius: 16px; padding: 14px 16px; box-shadow: var(--sh-1); }
.elva-pg .ws-inputbar .wph{ flex: 1; font-size: 13.5px; color: var(--ink-4); }
.elva-pg .ws-inputbar .wsend{ width: 34px; height: 34px; border-radius: 50%; background: var(--bubble-user); display: grid; place-items: center; flex: none; }
.elva-pg .ws-inputbar .wsend svg{ width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .shot-slot{ position: relative; border: 1px dashed var(--sage-2); border-radius: var(--r-lg); background: repeating-linear-gradient(135deg, var(--cream-1) 0 14px, var(--surface-mute) 14px 28px); display: grid; place-items: center; min-height: 220px; padding: 28px; text-align: center; }
.elva-pg .shot-slot .sl-tag{ font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); letter-spacing: .04em; line-height: 1.6; max-width: 40ch; }
.elva-pg .shot-slot .sl-tag b{ color: var(--ink-1); font-weight: 600; display: block; margin-bottom: 4px; }
@media (prefers-reduced-motion: reduce){
.elva-pg [data-reveal]{ opacity: 1; transform: none; transition: none; }
.elva-pg .ec-hero-glow,.elva-pg .live-dot::after{ animation: none; }
.elva-pg .cm{ opacity: 1; transform: none; }
.elva-pg .cm-typing{ display: none !important; }
}
.elva-pg .scen .ec-section-head{ max-width: 760px; }
.elva-pg .scen-hint{ display: inline-flex; align-items: center; gap: 9px; margin: 48px 0 16px; font-family: var(--font-mono); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.elva-pg .scen-hint .sh-dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--green-deep); box-shadow: 0 0 0 4px rgba(26,107,73,.14); animation: shPulse 2.4s ease-in-out infinite; }
@keyframes shPulse{ 0%,100% { box-shadow: 0 0 0 3px rgba(26,107,73,.16); } 50% { box-shadow: 0 0 0 6px rgba(26,107,73,.05); } }
@media (prefers-reduced-motion: reduce){
.elva-pg .scen-hint .sh-dot{ animation: none; }
}
.elva-pg .scen-tabs{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0 0 30px; }
.elva-pg .scen-tab{ position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; padding: 20px 22px; background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-lg); cursor: pointer; box-shadow: var(--sh-1); transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-med), border-color var(--dur-fast); }
.elva-pg .scen-tab:hover{ transform: translateY(-3px); box-shadow: var(--sh-2); border-color: var(--ai-g2); }
.elva-pg .scen-tab .st-ic{ width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex: none; }
.elva-pg .scen-tab .st-ic svg{ width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.9; }
.elva-pg .scen-tab .st-t{ font-family: var(--font-display); font-weight: 600; font-size: 17px; color: var(--ink-1); letter-spacing: -0.02em; }
.elva-pg .scen-tab .st-d{ font-size: 13.5px; line-height: 1.5; color: var(--ink-3); text-wrap: pretty; }
.elva-pg .scen-tab.active{ border: 1.5px solid transparent; box-shadow: var(--sh-3); background: linear-gradient(#fff, #fff) padding-box, var(--grad-display) border-box; }
.elva-pg .scen-tab.active .st-t{ color: var(--ink-0); }
.elva-pg .scen-tab.active .st-d{ color: var(--ink-2); }
.elva-pg .scen-tab.active::after{ content: ''; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%) rotate(45deg); width: 14px; height: 14px; background: linear-gradient(#fff, #fff) padding-box, var(--grad-display) border-box; border: 1.5px solid transparent; z-index: 2; }
.elva-pg .scen-panel{ display: none; }
.elva-pg .scen-panel.active{ display: block; animation: scenIn .5s var(--ease-out); }
@keyframes scenIn{ from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.elva-pg .ask-band{ overflow: hidden; }
.elva-pg .ask-head{ text-align: center; }
.elva-pg .ask-eyebrow{ justify-content: center; color: var(--ink-3); }
.elva-pg .ask-eyebrow .adot{ width: 8px; height: 8px; border-radius: 50%; background: var(--green-deep); box-shadow: 0 0 0 4px rgba(26,107,73,.14); }
.elva-pg .ask-head h2{ font-size: clamp(30px, 4vw, 48px); margin-top: 16px; }
.elva-pg .ask-marquee{ margin-top: 48px; display: flex; flex-direction: column; gap: 16px;
  -webkit-mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.elva-pg .ask-row{ overflow: hidden; }
.elva-pg .ask-track{ display: flex; gap: 14px; width: max-content; animation: askScroll 60s linear infinite; }
.elva-pg .ask-track.rev{ animation-direction: reverse; }
.elva-pg .ask-row:hover .ask-track{ animation-play-state: paused; }
@keyframes askScroll{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
.elva-pg .ask-track{ animation: none; }
}
.elva-pg .ask-chip{ display: inline-flex; align-items: center; gap: 10px; flex: none; font-size: 15px; font-weight: 500; color: var(--ink-1); background: #fff; border: 1px solid var(--cream-2); border-radius: 14px; padding: 13px 18px; box-shadow: var(--sh-1); white-space: nowrap; }
.elva-pg .ask-chip svg{ width: 16px; height: 16px; stroke: var(--elva-blue); fill: none; stroke-width: 1.9; flex: none; }
.elva-pg .scen-stage{ max-width: 1180px; margin: 0 auto; }
.elva-pg .browser{ border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--cream-2); box-shadow: 0 44px 96px -46px rgba(22,30,60,.42), 0 10px 28px -18px rgba(22,30,60,.22); }
.elva-pg .browser-top{ height: 4px; background: var(--grad-display); }
.elva-pg .browser-bar{ display: flex; align-items: center; gap: 14px; padding: 11px 16px; background: #fff; border-bottom: 1px solid #e6ebf3; }
.elva-pg .bw-dots{ display: inline-flex; gap: 7px; }
.elva-pg .bw-dots i{ width: 11px; height: 11px; border-radius: 50%; display: block; }
.elva-pg .bw-dots i.r{ background: #ec6a5e; }
.elva-pg .bw-dots i.y{ background: #f4bf4f; }
.elva-pg .bw-dots i.g{ background: #61c554; }
.elva-pg .bw-url{ font-family: var(--font-mono); font-size: 13px; color: #8a97ad; letter-spacing: -.01em; }
.elva-pg .bw-url b{ color: #2a3550; font-weight: 700; }
.elva-pg .chat-sim.real{ --ea-bg:#e8eef8; --ea-card:#ffffff; --ea-line:#e3e9f4; --ea-navy:#24365c; --ea-slate:#5f6f8d; --ea-blue:#3a63b8;
  border: none; border-radius: 0; box-shadow: none; overflow: hidden; display: flex; flex-direction: row; height: 624px; background: var(--ea-card); }
.elva-pg .chat-sim.real::after{ display: none; }
.elva-pg .ea-main{ flex: 1; min-width: 0; display: flex; flex-direction: column; }
.elva-pg .ea-side{ width: 256px; flex: none; display: flex; flex-direction: column; background: #fff; border-right: 1px solid var(--ea-line); }
.elva-pg .ea-side-head{ display: flex; align-items: center; padding: 14px 14px 12px; }
.elva-pg .ea-collapse{ margin-left: auto; width: 28px; height: 28px; border-radius: 7px; display: grid; place-items: center; color: var(--ea-slate); }
.elva-pg .ea-collapse svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.elva-pg .ea-newbtn{ margin: 0 12px 10px; display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 600; color: var(--ea-navy); background: #fff; border: 1px solid var(--ea-line); border-radius: 11px; padding: 11px 13px; box-shadow: 0 1px 2px rgba(30,50,90,.04); cursor: pointer; }
.elva-pg .ea-newbtn svg{ width: 16px; height: 16px; stroke: var(--ea-navy); fill: none; stroke-width: 2; }
.elva-pg .ea-kbd{ margin-left: auto; font-family: var(--font-mono); font-size: 10px; color: var(--ea-slate); background: #eef2fa; border: 1px solid var(--ea-line); border-radius: 5px; padding: 1px 5px; }
.elva-pg .ea-search{ margin: 0 12px 12px; display: flex; align-items: center; gap: 9px; font-size: 13px; color: #9aa7be; background: #f5f8fd; border: 1px solid var(--ea-line); border-radius: 10px; padding: 10px 12px; }
.elva-pg .ea-search svg{ width: 15px; height: 15px; stroke: #9aa7be; fill: none; stroke-width: 1.9; }
.elva-pg .ea-sidescroll{ flex: 1; overflow-y: auto; padding: 2px 8px 8px; }
.elva-pg .ea-sidescroll::-webkit-scrollbar{ width: 8px; }
.elva-pg .ea-sidescroll::-webkit-scrollbar-thumb{ background: rgba(70,100,160,.16); border-radius: 8px; border: 2px solid #fff; }
.elva-pg .ea-grp{ display: flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ea-slate); padding: 12px 8px 8px; }
.elva-pg .ea-grp svg{ width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.elva-pg .ea-conv{ display: flex; flex-direction: column; gap: 1px; }
.elva-pg .ea-item{ display: flex; align-items: flex-start; gap: 8px; padding: 8px 9px; border-radius: 9px; cursor: pointer; }
.elva-pg .ea-item:hover{ background: #f3f6fc; }
.elva-pg .ea-item.active{ background: #e9f0fb; }
.elva-pg .ea-it{ min-width: 0; flex: 1; }
.elva-pg .ea-in{ font-size: 13px; font-weight: 600; color: var(--ea-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.elva-pg .ea-ip{ font-size: 11.5px; color: var(--ea-slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.elva-pg .ea-time{ font-family: var(--font-mono); font-size: 10px; color: #9aa7be; flex: none; margin-top: 1px; }
.elva-pg .ea-loc{ display: flex; align-items: center; gap: 10px; margin: 8px 10px 12px; padding: 10px; border: 1px solid var(--ea-line); border-radius: 12px; background: #fff; }
.elva-pg .ea-loc-av{ width: 30px; height: 30px; border-radius: 8px; background: linear-gradient(150deg, #f08a5d, #e0644b); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; flex: none; }
.elva-pg .ea-loc-tx{ display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.elva-pg .ea-loc-n{ font-size: 13px; font-weight: 600; color: var(--ea-navy); }
.elva-pg .ea-loc-s{ font-family: var(--font-mono); font-size: 10px; color: var(--ea-slate); margin-top: 2px; }
.elva-pg .ea-loc-chev{ width: 16px; height: 16px; stroke: var(--ea-slate); fill: none; stroke-width: 1.8; margin-left: auto; flex: none; }
.elva-pg .chat-sim.real .cs-chrome{ position: relative; display: flex; align-items: center; gap: 12px; padding: 13px 18px; border-bottom: 1px solid var(--ea-line); background: #fff; }
.elva-pg .ea-side-head .ea-brand{ font-size: 17px; }
.elva-pg .ea-brand{ display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ea-navy); letter-spacing: -.02em; z-index: 1; }
.elva-pg .ea-logo{ width: 26px; height: 26px; border-radius: 8px; background: var(--grad-elva); display: grid; place-items: center; }
.elva-pg .ea-logo svg{ width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 2; }
.elva-pg .ea-chatpill{ font-family: var(--font-mono); font-size: 10px; font-weight: 600; color: var(--ea-slate); background: #eef2fa; border: 1px solid var(--ea-line); border-radius: 6px; padding: 2px 7px; letter-spacing: .02em; }
.elva-pg .ea-title{ position: absolute; left: 50%; transform: translateX(-50%); font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ea-navy); }
.elva-pg .ea-tools{ margin-left: auto; display: inline-flex; align-items: center; gap: 8px; z-index: 1; }
.elva-pg .ea-tbtn,.elva-pg .chat-sim.real .cs-replay{ width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ea-line); background: #fff; display: grid; place-items: center; cursor: pointer; margin: 0; }
.elva-pg .ea-tbtn svg,.elva-pg .chat-sim.real .cs-replay svg{ width: 15px; height: 15px; stroke: var(--ea-slate); fill: none; stroke-width: 1.9; }
.elva-pg .chat-sim.real .cs-replay:hover{ background: #eef2fa; color: var(--ea-navy); }
.elva-pg .ea-scroll{ flex: 1; overflow-y: auto; background: var(--ea-bg);
  background-image: linear-gradient(rgba(58,99,184,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(58,99,184,.06) 1px, transparent 1px);
  background-size: 38px 38px; }
.elva-pg .ea-scroll::-webkit-scrollbar{ width: 9px; }
.elva-pg .ea-scroll::-webkit-scrollbar-thumb{ background: rgba(70,100,160,.22); border-radius: 9px; border: 2px solid var(--ea-bg); }
.elva-pg .chat-sim.real .cs-thread{ height: auto !important; max-width: 720px; margin: 0 auto; padding: 24px 28px 28px; gap: 4px; overflow: visible; }
.elva-pg .chat-sim.real .cm{ max-width: 100%; transition: opacity .42s var(--ease-out), transform .42s var(--ease-out); }
.elva-pg .chat-sim.real .cm.user{ align-self: flex-end; flex-direction: row; max-width: 80%; }
.elva-pg .chat-sim.real .cm.user .cm-bubble{ background: #fff; border: 1px solid var(--ea-line); color: var(--ea-navy); border-radius: 14px; border-bottom-right-radius: 5px; box-shadow: 0 1px 2px rgba(30,50,90,.05); }
.elva-pg .chat-sim.real .cm.elva{ max-width: 100%; }
.elva-pg .chat-sim.real .cm.elva .cm-av{ width: 20px; height: 20px; border-radius: 6px; background: none; box-shadow: none; margin-top: 1px; }
.elva-pg .chat-sim.real .cm.elva .cm-av svg{ width: 18px; height: 18px; stroke: #d98a3a; fill: none; }
.elva-pg .chat-sim.real .cm.elva .cm-bubble{ background: none; border: none; padding: 2px 0 0; color: var(--ea-slate); font-size: 14px; line-height: 1.5; }
.elva-pg .chat-sim.real .cm.elva .cm-bubble b{ color: var(--ea-navy); }
.elva-pg .chat-sim.real .cm.user .cm-bubble b{ color: var(--ea-navy); }
.elva-pg .chat-sim.real .cm-typing .cm-av{ background: none; box-shadow: none; width: 20px; height: 20px; }
.elva-pg .chat-sim.real .cm-typing .cm-av svg{ stroke: #d98a3a; }
.elva-pg .chat-sim.real .cm-typing .dots i{ background: #9fb0cd; }
.elva-pg .chat-sim.real .cm.cm-rich{ max-width: 100%; }
.elva-pg .cm-time{ display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10.5px; color: var(--ea-slate); margin: 1px 0 9px; }
.elva-pg .cm-time.user{ align-self: flex-end; }
.elva-pg .cm-time.elva{ align-self: flex-start; padding-left: 28px; }
.elva-pg .cm-time .aitag{ font-weight: 700; letter-spacing: .06em; color: var(--ea-navy); background: #eef2fa; border: 1px solid var(--ea-line); border-radius: 5px; padding: 1px 5px; }
.elva-pg .chat-sim.real .ans-card{ background: #fff; border: 1px solid var(--ea-line); border-radius: 14px; box-shadow: 0 10px 26px -18px rgba(30,50,90,.3); margin-top: 12px; }
.elva-pg .chat-sim.real .ans-card::before{ display: none; }
.elva-pg .chat-sim.real .ac-head{ border-bottom: 1px solid var(--ea-line); padding: 13px 15px; }
.elva-pg .chat-sim.real .ac-ic{ width: 30px; height: 30px; border-radius: 9px; background: #eef2fa; color: var(--ea-blue); }
.elva-pg .chat-sim.real .ac-htitle{ color: var(--ea-navy); font-weight: 600; font-size: 14px; }
.elva-pg .chat-sim.real .ac-meta{ color: var(--ea-slate); }
.elva-pg .chat-sim.real .ac-iconbtn{ border: 1px solid var(--ea-line); background: #f5f8fd; }
.elva-pg .chat-sim.real .ac-iconbtn svg{ stroke: var(--ea-slate); }
.elva-pg .chat-sim.real .ac-big{ color: var(--ea-navy); }
.elva-pg .chat-sim.real .ac-cmp{ color: var(--ea-slate); }
.elva-pg .chat-sim.real .ac-caption{ color: var(--ea-slate); }
.elva-pg .chat-sim.real .ac-foot{ color: var(--ea-slate); font-family: var(--font-mono); }
.elva-pg .chat-sim.real .ac-pname{ color: var(--ea-navy); }
.elva-pg .chat-sim.real .ac-yax span,.elva-pg .chat-sim.real .ac-xax span{ color: var(--ea-slate); }
.elva-pg .chat-sim.real .bar.b-blue{ background: linear-gradient(180deg, #4d77bd, #39619f); }
.elva-pg .chat-sim.real .bar.b-soft{ background: #c2cfe8; }
.elva-pg .b-soft{ background: #c2cfe8; }
.elva-pg .d-soft{ background: #c2cfe8; }
.elva-pg .chat-sim.real .d-blue{ background: #39619f; }
.elva-pg .chat-sim.real .cs-foot{ display: block; padding: 14px 16px 16px; border-top: 1px solid var(--ea-line); background: #fff; }
.elva-pg .ea-input{ background: #fff; border: 1px solid var(--ea-line); border-radius: 13px; padding: 13px 15px; box-shadow: inset 0 1px 2px rgba(30,50,90,.04); }
.elva-pg .ea-ph{ font-size: 14px; color: #9aa7be; }
.elva-pg .ea-actions{ display: flex; align-items: center; gap: 9px; margin-top: 11px; }
.elva-pg .ea-act{ display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 550; color: var(--ea-slate); background: #fff; border: 1px solid var(--ea-line); border-radius: 999px; padding: 8px 13px; }
.elva-pg .ea-act svg{ width: 14px; height: 14px; stroke: var(--ea-slate); fill: none; stroke-width: 1.9; }
.elva-pg .ea-send{ margin-left: auto; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: #fff; background: var(--ea-navy); border-radius: 999px; padding: 9px 16px; }
.elva-pg .ea-send svg{ width: 15px; height: 15px; stroke: #fff; fill: none; stroke-width: 1.9; }
.elva-pg .chat-sim.real .cs-context{ max-width: 720px; margin: 0 auto; padding: 22px 28px 0; border: none; background: none; display: flex; justify-content: flex-end; }
.elva-pg .chat-sim.real .ctx-pill{ display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: #2f7d5b; background: #e9f6ef; border: 1px solid rgba(38,130,90,.25); border-radius: 999px; padding: 7px 12px; }
.elva-pg .chat-sim.real .ctx-pill .av{ width: 20px; height: 20px; border-radius: 50%; background: #2f7d5b; color: #fff; font-size: 9px; font-weight: 700; display: grid; place-items: center; }
.elva-pg .chat-sim.real .ctx-chart{ color: #5b8c74; font-weight: 500; font-family: var(--font-mono); font-size: 11px; }
@media (max-width: 900px){
.elva-pg .scen-tabs{ grid-template-columns: 1fr; }
.elva-pg .scen-tab.active::after{ display: none; }
.elva-pg .ea-side{ display: none; }
.elva-pg .chat-sim.real{ height: 560px; }
.elva-pg .chat-sim.real .cs-thread{ padding: 20px 16px; }
.elva-pg .ea-title{ font-size: 14px; }
.elva-pg .ea-act{ padding: 8px 11px; }
.elva-pg .ask-chip{ font-size: 13.5px; padding: 11px 15px; }
}
@media (max-width: 1040px){
.elva-pg .hero-grid{ grid-template-columns: 1fr; gap: 44px; }
.elva-pg .chat-app{ max-width: 420px; }
.elva-pg .feature{ grid-template-columns: 1fr; gap: 40px; }
.elva-pg .feature.alt .feat-text{ order: 0; }
}
@media (max-width: 920px){
.elva-pg .pain-grid,.elva-pg .cap-grid,.elva-pg .mini-row,.elva-pg .trust-grid{ grid-template-columns: 1fr; }
.elva-pg .foot-brand{ grid-column: 1 / -1; }
.elva-pg .ec-section{ padding: 80px 0; }
.elva-pg .ws-body{ grid-template-columns: 1fr; }
.elva-pg .ws-side{ display: none; }
}
@media (max-width: 560px){
.elva-pg .wrap,.elva-pg .wrap-wide{ padding: 0 20px; }
.elva-pg .cta-card{ padding: 56px 26px; }
.elva-pg .ca-prompts{ grid-template-columns: 1fr; }
.elva-pg .ws-cards{ grid-template-columns: 1fr; }
.elva-pg .cm{ max-width: 95%; }
}
.elva-pg [data-reveal]{opacity:1;transform:none;}
.elva-pg .cm{opacity:1;transform:none;}
.elva-pg .cm-typing{display:none;}

/* ===== components ===== */
.elva-pg .cm{ opacity:1; transform:none; }
.elva-pg .cs-thread.ec-anim .cm:not(.show){ display:none; }
.elva-pg .cs-thread.ec-anim .cm.show{ display:flex; animation:ec-cm-in .4s var(--ease-out) both; }
@keyframes ec-cm-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.elva-pg .chat-sim.real .cs-thread{ min-height:300px; }
.elva-pg .cs-thread .cm-typing.ec-on{ display:flex !important; }
.elva-pg .ea-ph.ec-omni-typing{ color:var(--ink-0); }
.elva-pg .ea-ph.ec-omni-typing::after{
  content:'\258F'; margin-left:1px; color:var(--ink-3);
  animation:ec-caret-blink 1s steps(1) infinite;
}
@keyframes ec-caret-blink{ 50%{ opacity:0; } }
.elva-pg .chat-sim.real .cm.elva .cm-bubble{
  background:#F6F8FB;
  border:1px solid var(--ea-line);
  border-radius:14px; border-bottom-left-radius:5px;
  padding:12px 15px;
  box-shadow:0 1px 2px rgba(30,50,90,.04);
}
.elva-pg .cs-thread{ position:relative; }
.elva-pg .cs-empty{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:flex-start; gap:13px; text-align:center;
  padding-top:54px; pointer-events:none; transition:opacity .45s var(--ease-out);
}
.elva-pg .cs-empty.ec-gone{ opacity:0; }
.elva-pg .cs-empty .ce-orb{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center;
  background:var(--grad-elva); box-shadow:0 12px 26px -12px rgba(91,92,255,.55);
  animation:ce-breathe 2.4s ease-in-out infinite;
}
.elva-pg .cs-empty .ce-orb svg{ width:27px; height:27px; stroke:#fff; fill:none; stroke-width:1.8; }
.elva-pg .cs-empty .ce-txt{ font-size:13.5px; color:var(--ea-slate); font-weight:500; }
@keyframes ce-breathe{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.07);} }
.elva-pg .ec-ipad{
  position:relative; margin:0 auto;
  background:linear-gradient(152deg, #e6e8ed 0%, #cccfd6 46%, #b9bdc6 100%);
  border-radius:30px; padding:15px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    inset 0 0 0 1px rgba(0,0,0,.05),
    0 50px 90px -42px rgba(22,30,60,.45),
    0 14px 34px -20px rgba(22,30,60,.28);
}
.elva-pg .ec-ipad::before{          
  content:''; position:absolute; top:6.5px; left:50%; transform:translateX(-50%);
  width:7px; height:7px; border-radius:50%;
  background:radial-gradient(circle at 40% 35%, #5b5f68, #2f323a);
}
.elva-pg .ec-ipad-screen{
  position:relative; border-radius:15px; overflow:hidden;
  background:#0b0c10;
  box-shadow:0 0 0 2px rgba(24,27,34,.7);   
}
.elva-pg .ec-ipad-screen .browser{ border:0; border-radius:0; box-shadow:none; background:#fff; }
@media (max-width:560px){
.elva-pg .ec-ipad{ padding:10px; border-radius:22px; }
.elva-pg .ec-ipad-screen{ border-radius:12px; }
}
.elva-pg .ec-video-frame{
  max-width:900px; margin:44px auto 0; border-radius:20px; overflow:hidden;
  box-shadow:0 50px 90px -42px rgba(22,30,60,.4), 0 14px 34px -20px rgba(22,30,60,.24);
}
.elva-pg .ec-video-frame .elva-embed{ border-radius:20px; }
/* page-specific design tokens — pipeline strips source :root, so these ship raw on .elva-pg */
.elva-pg{ --chat-paper:#FBFBFD; --bubble-user:#1D1D1F; --sage-2:#C7C7CC; --green-deep:#1A6B49; --green-soft:#EAF3EE; --green-line:rgba(26,107,73,.16); --font-serif:'Newsreader',Georgia,'Times New Roman',serif; --grad-display:linear-gradient(96deg,#9B5CFF 0%,#5B8DEF 34%,#3FB8A8 64%,#C0892E 100%); --grad-elva:linear-gradient(150deg,#9B5CFF 0%,#5B8DEF 52%,#3FB8A8 100%); --ai-1:#FFB7A8; --ai-2:#FFA9C9; --ai-g1:#C9B6FF; --ai-g2:#AFC8FF; --dur-fast:.12s; --dur-med:.4s; --gold-tint:rgba(192,137,46,.14); --info-tint:rgba(91,141,239,.12); --success-tint:rgba(47,138,91,.12); --sh-4:0 40px 90px -40px rgba(20,20,30,.42),0 4px 12px rgba(20,20,30,.07); }

/* sticky-safe horizontal clipping (overrides scoped body overflow-x:hidden) */
.elva-pg{ overflow-x: clip; }
/* image-slot override: when a real image is assigned in WP admin, it fills the slot */
.elva-pg .img-slot{ position:relative; }
.elva-pg .img-slot.has-img{ background:none; border-style:solid; }
.elva-pg .img-slot-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block; }

/* ===== readability pass: secondary text one contrast step darker ===== */
.elva-pg{ --ink-2:#5A5A5F; --ink-3:#6E6E73; --ink-4:#98989E; }
