/* ============================================================
   ELVA — Insurance 2 (alternate pillar/hub page)
   Loads ON TOP of elva-pages-insurance-sub.css (same .elva-ins-sub
   wrapper) — btn/ico/eyebrow/elva-live/faq/close/cta-box/pms*/updeck
   are already defined there and reused as-is. This file only adds
   what's unique to this page: the hero dashboard mockup, the pressure
   stat cards, the leak-points list, the four capability blocks, the
   dark Document Center band, the RCM Brain ask cards, and the
   calculator teaser band.
   ============================================================ */

/* ---- hero: 2-col with a dashboard mockup frame ---- */
.elva-ins-sub .hero{ padding:96px 0 0; }
.elva-ins-sub .hero-grid{ display:grid; grid-template-columns:1fr 1.06fr; gap:64px; align-items:center; }
.elva-ins-sub .hero h1{ font-size:clamp(40px,4.8vw,64px); margin:22px 0 0; max-width:17ch; }
.elva-ins-sub .hero-body{ margin-top:24px; display:flex; flex-direction:column; gap:18px; }
.elva-ins-sub .hero-body p{ font-size:18px; line-height:1.58; color:var(--ink-2); max-width:48ch; }
.elva-ins-sub .hero-actions{ display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.elva-ins-sub .hero-side{ position:relative; padding-top:8px; }

/* dashboard-mockup frame (used in hero + capabilities screenshot) */
.elva-ins-sub .frame{ position:relative; background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-xl); box-shadow:var(--sh-4); overflow:hidden; }
.elva-ins-sub .frame-bar{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--cream-2); background:var(--cream-0); }
.elva-ins-sub .frame-bar .tl{ display:flex; gap:6px; }
.elva-ins-sub .frame-bar .tl i{ width:10px; height:10px; border-radius:50%; background:var(--cream-shadow,#D6D6DC); display:block; }
.elva-ins-sub .frame-bar .ttl{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-3); margin-left:6px; }
.elva-ins-sub .frame-bar .live{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.elva-ins-sub .frame img{ display:block; width:100%; height:auto; }
/* placeholder state (no image uploaded yet) inside the frame */
.elva-ins-sub .frame .shot-ph{
  position:relative; overflow:hidden; min-height:300px;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.4) 0 13px,transparent 13px 26px),
             linear-gradient(135deg,rgba(91,141,239,.14),rgba(155,92,255,.13) 52%,rgba(63,184,168,.14));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ai-4);
}

/* ---- revenue-cycle spine animation (ported from the original Insurance
   pillar template, same position: end of the hero) ---- */
.elva-ins-sub .ins-cycle{ margin-top:66px; }
.elva-ins-sub .ins-cycle-track{ position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.elva-ins-sub .ins-cycle-track::before{ content:''; position:absolute; top:16px; left:3%; right:3%; height:4px; border-radius:4px;
  background:linear-gradient(90deg, var(--cream-shadow,#D6D6DC), var(--cream-2)); }
.elva-ins-sub .ins-cycle-track::after{ content:''; position:absolute; top:16px; left:3%; width:var(--trace, 0); height:4px; border-radius:4px;
  background:linear-gradient(90deg, #3FB8A8, #5B8DEF, #9B5CFF, #FFA9C9, #FFB7A8);
  background-size:220% 100%; animation:ins2-beam 5.5s linear infinite;
  box-shadow:0 0 16px rgba(91,141,239,.45), 0 0 30px rgba(155,92,255,.25); }
@keyframes ins2-beam{ 0%{ background-position:0% 50%; } 100%{ background-position:220% 50%; } }
.elva-ins-sub .ins-node{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; flex:1; z-index:1; }
.elva-ins-sub .ins-node .pt{ position:relative; width:36px; height:36px; display:grid; place-items:center;
  clip-path:polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  background:#fff; box-shadow:0 2px 8px -2px rgba(20,20,30,.16);
  transition:transform .55s var(--ease-out), background .55s var(--ease-out), box-shadow .55s var(--ease-out); }
.elva-ins-sub .ins-node .pt::before{ content:''; position:absolute; inset:-2px; z-index:-1;
  clip-path:polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  background:var(--cream-shadow,#D6D6DC); transition:background .55s var(--ease-out); }
.elva-ins-sub .ins-node .pt::after{ content:''; width:13px; height:13px;
  clip-path:polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  background:var(--cream-shadow,#D6D6DC); transition:background .55s var(--ease-out), transform .55s var(--ease-out); }
.elva-ins-sub .ins-node:nth-child(1){ --nc:#3FB8A8; --ng:rgba(63,184,168,.5); }
.elva-ins-sub .ins-node:nth-child(2){ --nc:#5B8DEF; --ng:rgba(91,141,239,.5); }
.elva-ins-sub .ins-node:nth-child(3){ --nc:#9B5CFF; --ng:rgba(155,92,255,.5); }
.elva-ins-sub .ins-node:nth-child(4){ --nc:#FFA9C9; --ng:rgba(255,169,201,.55); }
.elva-ins-sub .ins-node:nth-child(5){ --nc:#FFB7A8; --ng:rgba(255,183,168,.55); }
.elva-ins-sub .ins-node:nth-child(6){ --nc:#5B8DEF; --ng:rgba(91,141,239,.5); }
.elva-ins-sub .ins-node:nth-child(7){ --nc:#3FB8A8; --ng:rgba(63,184,168,.5); }
.elva-ins-sub .ins-node.act .pt{ background:#fff; transform:translateY(-3px) scale(1.06); box-shadow:0 8px 22px -6px var(--ng); }
.elva-ins-sub .ins-node.act .pt::before{ background:var(--nc); }
.elva-ins-sub .ins-node.act .pt::after{ background:var(--nc); transform:scale(1.15); }
.elva-ins-sub .ins-node .pt .ring{ position:absolute; inset:0; pointer-events:none; }
.elva-ins-sub .ins-node.act .pt .ring::after{ content:''; position:absolute; inset:0;
  clip-path:polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  border:2px solid var(--nc); animation:ins2-ripple 1.1s var(--ease-out) 1; }
@keyframes ins2-ripple{ 0%{ opacity:.7; transform:scale(1); } 100%{ opacity:0; transform:scale(2.2); } }
.elva-ins-sub .ins-node .nl{ font-family:var(--font-mono); font-size:12px; letter-spacing:.02em; color:var(--ink-2); text-align:center; line-height:1.5; transition:color .4s var(--ease-out); }
.elva-ins-sub .ins-node.act .nl{ color:var(--ink-0); font-weight:500; }
.elva-ins-sub .ins-cycle-cap{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:.04em; color:var(--ink-3); text-align:center; margin:24px auto 0; }
.elva-ins-sub .ins-cycle-cap b{ color:var(--ink-1); font-weight:500; }
@media (max-width:640px){
  .elva-ins-sub .ins-cycle-track{ overflow-x:auto; }
  .elva-ins-sub .ins-node .nl{ font-size:9px; }
}

/* ---- highlight band under the hero ---- */
.elva-ins-sub .define{ margin-top:80px; padding:44px 0; border-top:1px solid var(--cream-2); border-bottom:1px solid var(--cream-2); background:linear-gradient(180deg,rgba(155,92,255,.045),rgba(91,141,239,.035)); }
.elva-ins-sub .define p{ font-family:var(--font-display); font-size:clamp(20px,2.2vw,28px); line-height:1.34; letter-spacing:-.02em; color:var(--ink-1); margin:0; }
.elva-ins-sub .define p strong{ color:var(--ink-0); font-weight:600; }

/* ---- pressure: 2 stat cards + body ---- */
.elva-ins-sub .press{ padding:96px 0 0; }
.elva-ins-sub .press-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:40px; }
.elva-ins-sub .press-card{ background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-xl); padding:32px 34px; box-shadow:var(--sh-1); display:flex; flex-direction:column; gap:18px; justify-content:space-between; }
.elva-ins-sub .press-card .pc-t{ font-family:var(--font-display); font-size:clamp(19px,2vw,24px); line-height:1.38; letter-spacing:-.02em; color:var(--ink-1); margin:0; }
.elva-ins-sub .press-card .pc-t b{ color:var(--ink-0); font-weight:600; background:linear-gradient(180deg,transparent 62%,rgba(155,92,255,.22) 62%); }
.elva-ins-sub .press-card .pc-s{ font-family:var(--font-mono); font-size:11px; letter-spacing:.03em; color:var(--ink-3); line-height:1.5; margin:0; }
.elva-ins-sub .press-body{ max-width:820px; margin-top:36px; font-size:16.5px; line-height:1.64; color:var(--ink-2); }
.elva-ins-sub .sec-foot{ max-width:780px; font-size:15.5px; line-height:1.6; color:var(--ink-2); margin-top:34px; padding-left:18px; border-left:2px solid var(--ai-3); }

/* ---- leak points ---- */
.elva-ins-sub .leaks{ margin-top:44px; display:grid; gap:10px; }
.elva-ins-sub .leak{ display:grid; grid-template-columns:52px 200px 1fr; gap:20px; align-items:baseline; background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-lg); padding:22px 24px; box-shadow:var(--sh-1); }
.elva-ins-sub .leak .n{ font-family:var(--font-mono); font-size:11.5px; color:#C75A3F; letter-spacing:.06em; }
.elva-ins-sub .leak h3{ font-size:17px; margin:0; }
.elva-ins-sub .leak p{ font-size:14.5px; line-height:1.55; color:var(--ink-2); margin:0; }

/* ---- capabilities: 4 alternating blocks + shared screenshot ---- */
.elva-ins-sub .caps{ display:grid; gap:56px; margin-top:44px; }
.elva-ins-sub .cap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:start; }
.elva-ins-sub .cap-l{ display:flex; gap:18px; align-items:flex-start; }
.elva-ins-sub .cap-l .ci{ width:42px; height:42px; border-radius:12px; background:var(--acc-tint); color:var(--acc); display:grid; place-items:center; flex:none; }
.elva-ins-sub .cap-l .ci svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.elva-ins-sub .cap h2{ font-size:clamp(24px,2.5vw,32px); max-width:20ch; margin:0; }
.elva-ins-sub .cap-r p{ font-size:16px; line-height:1.64; color:var(--ink-2); margin:0; }
.elva-ins-sub .cap-r p+p{ margin-top:16px; }
.elva-ins-sub .cap-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.elva-ins-sub .cap-link{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:550; color:var(--acc); background:var(--acc-tint); border-radius:var(--r-pill); padding:9px 16px; transition:transform var(--dur-fast,.16s) var(--ease-out); }
.elva-ins-sub .cap-link:hover{ transform:translateY(-1px); color:var(--acc); }
.elva-ins-sub .cap-link svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.elva-ins-sub .cap-1{ --acc:#3D6FD6; --acc-tint:rgba(91,141,239,.13); }
.elva-ins-sub .cap-2{ --acc:#2E7D54; --acc-tint:rgba(47,138,91,.13); }
.elva-ins-sub .cap-3{ --acc:#C75A3F; --acc-tint:rgba(199,90,63,.12); }
.elva-ins-sub .cap-4{ --acc:#C0892E; --acc-tint:rgba(192,137,46,.15); }
.elva-ins-sub .cap-shot{ margin-top:48px; }

/* ---- document center: dark band ---- */
.elva-ins-sub .doc{ margin-top:112px; background:var(--sage-0,#1D1D1F); padding:104px 0; position:relative; overflow:clip; }
.elva-ins-sub .doc-glow{ position:absolute; top:-180px; left:-120px; width:640px; height:640px; border-radius:50%; background:conic-gradient(from 200deg at 50% 50%,var(--ai-3),var(--ai-4),var(--ai-5),var(--ai-3)); filter:blur(140px); opacity:.3; pointer-events:none; }
.elva-ins-sub .doc-inner{ position:relative; display:grid; grid-template-columns:.92fr 1.08fr; gap:60px; align-items:start; }
.elva-ins-sub .doc .eyebrow{ color:rgba(255,255,255,.55); }
.elva-ins-sub .doc h2{ color:#fff; font-size:clamp(27px,3vw,40px); margin-top:18px; max-width:22ch; }
.elva-ins-sub .doc-lead{ color:rgba(255,255,255,.66); font-size:16px; line-height:1.64; margin-top:20px; }
.elva-ins-sub .doc-cta{ margin-top:28px; }
.elva-ins-sub .doc-steps{ display:grid; gap:12px; }
.elva-ins-sub .doc-step{ display:flex; gap:16px; align-items:flex-start; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-lg); padding:20px 22px; }
.elva-ins-sub .doc-step .sn{ width:32px; height:32px; border-radius:9px; background:rgba(63,184,168,.18); color:#7FD8CB; display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.elva-ins-sub .doc-step h4{ color:#fff; font-size:15.5px; margin:0; }
.elva-ins-sub .doc-step p{ color:rgba(255,255,255,.62); font-size:13.5px; line-height:1.55; margin-top:6px; }
.elva-ins-sub .doc-notes{ margin-top:20px; display:grid; gap:11px; }
.elva-ins-sub .doc-note{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.62); }
.elva-ins-sub .doc-note svg{ width:15px; height:15px; stroke:#7FD8CB; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; flex:none; margin-top:3px; }

/* ---- ask (RCM Brain) ---- */
.elva-ins-sub .ask-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center; }
.elva-ins-sub .asks{ display:grid; gap:16px; }
.elva-ins-sub .askq{ background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-xl); padding:26px 28px; box-shadow:var(--sh-2); }
.elva-ins-sub .askq .qi{ width:36px; height:36px; border-radius:10px; background:var(--ai-tint); color:var(--ai-3); display:grid; place-items:center; }
.elva-ins-sub .askq .qi svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.elva-ins-sub .askq .qt{ margin-top:16px; font-family:var(--font-display); font-size:clamp(18px,1.8vw,22px); font-weight:600; letter-spacing:-.02em; line-height:1.35; color:var(--ink-0); }
.elva-ins-sub .qsrc{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; padding-top:16px; border-top:1px solid var(--cream-2); }
.elva-ins-sub .qsrc .pv{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; padding:6px 11px; border-radius:var(--r-pill); background:var(--cream-0); border:1px solid var(--cream-2); color:var(--ink-2); display:inline-flex; align-items:center; gap:7px; }
.elva-ins-sub .qsrc .pv::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--dot,var(--ai-3)); }
.elva-ins-sub .ask-copy p{ font-size:16px; line-height:1.64; color:var(--ink-2); margin:0; }
.elva-ins-sub .ask-copy p+p{ margin-top:16px; }
.elva-ins-sub .ask-cta{ margin-top:26px; }

/* ---- Chat with Elva (ported from the original Insurance pillar) ---- */
.elva-ins-sub .ins-chat-grid{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:56px; align-items:center; }
.elva-ins-sub .ins-chat-copy h2{ font-size:clamp(28px,3.3vw,42px); margin-top:18px; }
.elva-ins-sub .ins-chat-copy .body{ font-size:16px; line-height:1.62; color:var(--ink-2); margin-top:18px; }
.elva-ins-sub .ins-chat-copy .chat-quote{ font-size:15.5px; color:var(--ink-2); line-height:1.55; margin-top:18px; padding-left:16px; border-left:2px solid var(--ai-3); }
.elva-ins-sub .ins-chat-cta{ margin-top:26px; }
.elva-ins-sub .btn-ghost{ background:transparent; color:var(--ink-0); border-color:var(--cream-shadow,#D6D6DC); }
.elva-ins-sub .ins-chat-win{ background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-xl); box-shadow:var(--sh-3); overflow:hidden; }
.elva-ins-sub .ins-chat-bar{ display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--cream-2); background:var(--cream-0); }
.elva-ins-sub .ins-chat-bar .av{ width:26px; height:26px; border-radius:7px; background:#fff; border:1px solid var(--cream-2); display:grid; place-items:center; overflow:hidden; padding:2px; box-sizing:border-box; box-shadow:0 4px 10px -4px rgba(20,20,30,.18); }
.elva-ins-sub .ins-chat-bar .av img{ width:100%; height:100%; object-fit:contain; display:block; }
.elva-ins-sub .ins-chat-bar .nm{ font-weight:600; font-size:15px; color:var(--ink-0); letter-spacing:-0.02em; }
.elva-ins-sub .ins-chat-bar .st{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); margin-left:auto; display:inline-flex; align-items:center; gap:6px; }
.elva-ins-sub .ins-chat-body{ padding:22px; display:flex; flex-direction:column; gap:14px; background:linear-gradient(180deg,#fff,var(--cream-0)); }
.elva-ins-sub .ins-chat-q{ align-self:flex-end; max-width:80%; background:var(--sage-0,#1D1D1F); color:#fff; font-size:15px; line-height:1.5; padding:11px 15px; border-radius:14px 14px 4px 14px; }
.elva-ins-sub .ins-chat-a{ align-self:flex-start; max-width:88%; background:#fff; border:1px solid var(--cream-2); border-radius:14px 14px 14px 4px; padding:13px 16px; box-shadow:var(--sh-1); }
.elva-ins-sub .ins-chat-a .at{ font-size:15px; line-height:1.5; color:var(--ink-1); margin:0; }
.elva-ins-sub .ins-chat-a .at b{ color:var(--ink-0); font-weight:600; }
.elva-ins-sub .ins-chat-a .src{ display:flex; align-items:center; gap:7px; margin-top:11px; padding-top:10px; border-top:1px solid var(--cream-2); font-family:var(--font-mono); font-size:12px; letter-spacing:.03em; color:var(--ink-3); }
.elva-ins-sub .ins-chat-a .src svg{ width:12px; height:12px; stroke:#2E7D54; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.elva-ins-sub .ins-chat-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:0 22px 22px; }
.elva-ins-sub .ins-chat-chip{ font-size:13px; color:var(--ink-2); background:#fff; border:1px solid var(--cream-2); border-radius:var(--r-pill); padding:8px 13px; transition:border-color var(--dur-fast,.16s), color var(--dur-fast,.16s); }
.elva-ins-sub .ins-chat-chip:hover{ border-color:var(--ai-4); color:var(--ink-0); }

/* ---- calculator card: plain white card, generous padding, blue button
   with a visible glow (matches the desired reference design) ---- */
.elva-ins-sub .calcband{
  position:relative; overflow:hidden; border-radius:var(--r-xl);
  background:#fff; border:1px solid var(--cream-2);
  padding:64px 60px; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;
  box-shadow:0 30px 70px -45px rgba(20,20,40,.22);
}
.elva-ins-sub .calcband-copy{ max-width:56ch; }
.elva-ins-sub .calcband h2{ font-size:clamp(24px,2.6vw,32px); margin-top:12px; max-width:20ch; }
.elva-ins-sub .calcband p{ font-size:15.5px; line-height:1.6; color:var(--ink-2); margin-top:14px; }
.elva-ins-sub .calcband .eyebrow{ color:#0A63F5; }
.elva-ins-sub .btn-calc{ background:#2F5FE0; color:#fff; border:none; box-shadow:0 18px 40px -14px rgba(47,95,224,.65); flex:none; }
.elva-ins-sub .btn-calc:hover{ transform:translateY(-1px); box-shadow:0 22px 46px -14px rgba(47,95,224,.75); color:#fff; }
.elva-ins-sub .btn-vivid{ background:linear-gradient(100deg,#7B2BFF,#0A63F5 52%,#00C2A0); color:#fff; border:none; box-shadow:0 16px 32px -14px rgba(123,43,255,.55); }
.elva-ins-sub .btn-vivid:hover{ transform:translateY(-1px); box-shadow:0 20px 40px -14px rgba(123,43,255,.7); }
.elva-ins-sub .btn-light{ background:#fff; color:var(--ink-0); }
.elva-ins-sub .btn-light:hover{ transform:translateY(-1px); }
.elva-ins-sub .btn-outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.32); }
.elva-ins-sub .btn-outline-light:hover{ background:rgba(255,255,255,.12); color:#fff; }

/* ---- responsive ---- */
@media (max-width:1080px){
  .elva-ins-sub .hero-grid{ grid-template-columns:1fr; }
  .elva-ins-sub .press-grid, .elva-ins-sub .ask-grid, .elva-ins-sub .doc-inner{ grid-template-columns:1fr; }
  .elva-ins-sub .cap{ grid-template-columns:1fr; }
  .elva-ins-sub .leak{ grid-template-columns:40px 1fr; }
  .elva-ins-sub .leak h3{ grid-column:2; }
  .elva-ins-sub .leak p{ grid-column:2; }
}
@media (max-width:640px){
  .elva-ins-sub .press-card{ padding:24px 22px; }
  .elva-ins-sub .doc{ padding:72px 0; }
  .elva-ins-sub .calcband{ padding:36px 28px; }
  .elva-ins-sub .calcband-inner{ flex-direction:column; align-items:flex-start; }
  .elva-ins-sub .pms{ margin-top:72px; }
}
