/* ============================================================
   ELVA — Insurance Sub-Page template (Eligibility Verification et al.)
   Scoped under .elva-ins-sub. Relies on global tokens already defined
   in elva.css (--cream-0, --ai-*, --font-display, --sh-*, etc.)
   ============================================================ */

.elva-ins-sub{ background:var(--cream-0); overflow-x:hidden; }
.elva-ins-sub .elva-spectrum{
  background:var(--grad-spectrum);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.elva-ins-sub .elva-live{ position:relative; display:inline-flex; width:8px; height:8px; flex:none; }
.elva-ins-sub .elva-live::before{ content:''; position:absolute; inset:0; border-radius:999px; background:var(--ai-3); box-shadow:0 0 8px var(--ai-3); }
.elva-ins-sub .elva-live::after{ content:''; position:absolute; inset:-2px; border-radius:999px; border:1.5px solid var(--ai-3); animation:elva-ins-pulse 2.4s cubic-bezier(0.4,0,0.2,1) infinite; }
@keyframes elva-ins-pulse{ 0%{ opacity:1; transform:scale(1); } 100%{ opacity:0; transform:scale(2.8); } }
.elva-ins-sub .wrap-wide{ max-width:1320px; margin:0 auto; padding:0 32px; }
.elva-ins-sub .wrap-mid{ max-width:960px; margin:0 auto; padding:0 32px; }
.elva-ins-sub h1, .elva-ins-sub h2, .elva-ins-sub h3, .elva-ins-sub h4{
  font-family:var(--font-display); letter-spacing:var(--tracking-tight,-0.035em);
  color:var(--ink-0); margin:0; line-height:1.1; font-weight:600;
}
.elva-ins-sub p{ margin:0; }
.elva-ins-sub a{ color:inherit; text-decoration:none; }
.elva-ins-sub .eyebrow{
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:var(--tracking-eyebrow,0.14em); text-transform:uppercase;
  color:var(--ink-3); display:inline-flex; align-items:center; gap:12px;
}
.elva-ins-sub .btn{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  font-weight:550; font-size:15px; letter-spacing:-.01em;
  padding:13px 22px; border-radius:999px; border:1px solid transparent;
  transition:transform .12s var(--ease-out,cubic-bezier(.22,.8,.36,1)), box-shadow .4s, background .12s;
  white-space:nowrap;
}
.elva-ins-sub .btn .ico{ width:17px; height:17px; }
.elva-ins-sub .btn-primary{ background:var(--sage-0,#1D1D1F); color:#fff; box-shadow:var(--sh-btn,0 10px 22px -12px rgba(20,20,30,.6)); }
.elva-ins-sub .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 16px 30px -14px rgba(20,20,30,.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; }
.elva-ins-sub .ico{ width:20px; height:20px; flex:none; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* breadcrumb */
.elva-ins-sub .crumb{ padding:26px 0 0; margin-bottom:34px; display:flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--ink-3); }
.elva-ins-sub .crumb a:hover{ color:var(--ink-1); }
.elva-ins-sub .crumb svg{ width:12px; height:12px; stroke:var(--ink-4); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.elva-ins-sub .crumb .here{ color:var(--ink-1); }

/* hero */
.elva-ins-sub .hero{ position:relative; padding:44px 0 0; overflow:hidden; }
.elva-ins-sub .hero-glow{ position:absolute; top:-380px; right:-220px; width:960px; height:780px; border-radius:50%; pointer-events:none; background:conic-gradient(from 150deg at 50% 50%,var(--ai-4),var(--ai-3),var(--ai-2),var(--ai-g1),var(--ai-5),var(--ai-4)); filter:blur(140px); opacity:.34; }
.elva-ins-sub .hero-glow.b{ top:auto; bottom:-460px; right:auto; left:-260px; width:720px; height:620px; background:conic-gradient(from 20deg at 50% 50%,var(--ai-5),var(--ai-g2),var(--ai-3),var(--ai-1),var(--ai-5)); opacity:.22; }
.elva-ins-sub .hero-inner{ position:relative; max-width:900px; }
.elva-ins-sub .hero h1{ font-size:clamp(38px,4.6vw,60px); margin:20px 0 0; max-width:24ch; }
.elva-ins-sub .hero h1 em{ font-style:normal; background:var(--grad-spectrum); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.elva-ins-sub .hero-lead{ margin-top:24px; font-size:18px; line-height:1.58; color:var(--ink-2); max-width:56ch; }
.elva-ins-sub .pains{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:32px; max-width:1000px; }
.elva-ins-sub .pain{ display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12.5px; line-height:1.4; color:var(--ink-2); background:#fff; border:1px solid var(--cream-2); border-radius:999px; padding:11px 18px; box-shadow:var(--sh-1); }
.elva-ins-sub .pain::before{ content:''; width:5px; height:5px; flex:none; border-radius:50%; background:var(--ai-4); opacity:.55; }
.elva-ins-sub .pain:nth-child(2)::before{ background:var(--ai-3); }
.elva-ins-sub .pain:nth-child(3)::before{ background:var(--ai-5); }
.elva-ins-sub .pain:nth-child(4)::before{ background:var(--ai-g1); }
.elva-ins-sub .pain:nth-child(5)::before{ background:#E06E5A; }
.elva-ins-sub .pain:nth-child(6)::before{ background:var(--ai-1); }
.elva-ins-sub .hero-actions{ display:flex; align-items:center; gap:16px; margin-top:34px; flex-wrap:wrap; }
.elva-ins-sub .jump{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:550; color:var(--ink-1); }
.elva-ins-sub .jump:hover{ color:var(--ink-0); }
.elva-ins-sub .jump svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* screenshot slot: styled placeholder when empty, real image when uploaded */
.elva-ins-sub .shot{ margin-top:56px; }
.elva-ins-sub .shot-slot{
  position:relative; overflow:hidden; border:1.5px dashed rgba(91,141,239,.42); border-radius:26px;
  min-height:340px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; gap:28px;
  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));
}
.elva-ins-sub .shot-slot::after{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad-spectrum); }
.elva-ins-sub .shot-slot.violet{ border-color:rgba(155,92,255,.42); background:repeating-linear-gradient(-45deg,rgba(255,255,255,.4) 0 13px,transparent 13px 26px),linear-gradient(135deg,rgba(155,92,255,.16),rgba(255,169,201,.12) 60%,rgba(175,200,255,.14)); }
.elva-ins-sub .shot-slot.violet .badge{ background:var(--ai-3); box-shadow:0 14px 30px -14px rgba(155,92,255,.7); }
.elva-ins-sub .shot-slot.violet .lbl{ color:#7A3FE0; }
.elva-ins-sub .shot-slot.teal{ min-height:100%; border-color:rgba(63,184,168,.45); background:repeating-linear-gradient(-45deg,rgba(255,255,255,.4) 0 13px,transparent 13px 26px),linear-gradient(160deg,rgba(63,184,168,.18),rgba(175,200,255,.13) 70%,rgba(155,92,255,.12)); }
.elva-ins-sub .shot-slot.teal .badge{ background:var(--ai-5); box-shadow:0 14px 30px -14px rgba(63,184,168,.75); }
.elva-ins-sub .shot-slot.teal .lbl{ color:#16786B; }
.elva-ins-sub .shot-slot .badge{ width:48px; height:48px; border-radius:14px; background:var(--ai-4); color:#fff; display:grid; place-items:center; box-shadow:0 14px 30px -14px rgba(91,141,239,.8); flex:none; }
.elva-ins-sub .shot-slot .badge svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.elva-ins-sub .shot-slot .lbl{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ai-4); }
.elva-ins-sub .shot-slot .note{ font-family:var(--font-mono); font-size:12px; line-height:1.65; color:var(--ink-3); max-width:78ch; margin-top:10px; }
/* filled state: real uploaded screenshot replaces the placeholder look */
.elva-ins-sub .shot-slot.has-img{ border-style:solid; padding:0; min-height:0; background:#fff; }
.elva-ins-sub .shot-slot.has-img img{ display:block; width:100%; height:auto; border-radius:24px; }

/* sections */
.elva-ins-sub .sec{ padding:104px 0 0; }
.elva-ins-sub .sec-head{ max-width:860px; }
.elva-ins-sub .sec-head h2{ font-size:clamp(27px,3.1vw,42px); }
.elva-ins-sub .prose{ max-width:820px; margin-top:24px; display:grid; gap:18px; }
.elva-ins-sub .prose p{ font-size:16.5px; line-height:1.64; color:var(--ink-2); }
.elva-ins-sub .prose p strong{ color:var(--ink-0); font-weight:600; }
.elva-ins-sub .src{ font-family:var(--font-mono); font-size:11.5px; line-height:1.6; color:var(--ink-3); }
.elva-ins-sub .updeck{ margin-top:28px; }
.elva-ins-sub .uplink{ display:inline-flex; align-items:center; gap:9px; font-size:14.5px; font-weight:550; color:#3D6FD6; background:rgba(91,141,239,.13); border-radius:999px; padding:10px 18px; transition:transform .12s var(--ease-out,cubic-bezier(.22,.8,.36,1)); }
.elva-ins-sub .uplink:hover{ transform:translateY(-1px); color:#3D6FD6; }
.elva-ins-sub .uplink svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* how it works */
.elva-ins-sub .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:44px; }
.elva-ins-sub .step{ position:relative; overflow:hidden; background:#fff; border:1px solid var(--cream-2); border-radius:18px; padding:28px 24px 26px; box-shadow:var(--sh-1); display:flex; flex-direction:column; gap:12px; }
.elva-ins-sub .step::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--step-c); }
.elva-ins-sub .step .sn{ width:34px; height:34px; border-radius:10px; background:color-mix(in srgb,var(--step-c) 16%,transparent); color:var(--step-c); display:grid; place-items:center; font-family:var(--font-mono); font-size:12.5px; font-weight:600; }
.elva-ins-sub .step:nth-child(1){ --step-c:#7A3FE0; } .elva-ins-sub .step:nth-child(2){ --step-c:#3D6FD6; }
.elva-ins-sub .step:nth-child(3){ --step-c:#16786B; } .elva-ins-sub .step:nth-child(4){ --step-c:#C75A3F; }
.elva-ins-sub .step h3{ font-size:17px; }
.elva-ins-sub .step p{ font-size:13.5px; line-height:1.58; color:var(--ink-2); }

/* evidence callout */
.elva-ins-sub .evidence{ position:relative; margin-top:34px; border-radius:18px; padding:30px 34px; background:linear-gradient(120deg,rgba(155,92,255,.09),rgba(91,141,239,.08) 55%,rgba(63,184,168,.09)); border:1px solid rgba(155,92,255,.18); display:grid; gap:14px; max-width:900px; }
.elva-ins-sub .evidence::before{ content:''; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:3px; background:var(--grad-spectrum); }
.elva-ins-sub .evidence p{ font-size:16.5px; line-height:1.68; color:var(--ink-1); margin:0; }
.elva-ins-sub .evidence b{ font-family:var(--font-display); font-weight:600; font-size:1.28em; letter-spacing:-.03em; background:var(--grad-spectrum); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.elva-ins-sub .evidence .src{ color:var(--ink-3); }

/* fine print cards */
.elva-ins-sub .fp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:40px; }
.elva-ins-sub .fp{ position:relative; overflow:hidden; background:#fff; border:1px solid var(--cream-2); border-radius:18px; padding:32px 30px 26px; box-shadow:var(--sh-2); display:flex; flex-direction:column; gap:20px; }
.elva-ins-sub .fp::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#E06E5A,#9B5CFF 55%,#3FB8A8); }
.elva-ins-sub .fp h3{ font-size:clamp(19px,2vw,23px); }
.elva-ins-sub .fp-row{ display:grid; gap:8px; padding-top:18px; border-top:1px solid var(--cream-2); }
.elva-ins-sub .fp-row p{ font-size:14.5px; line-height:1.6; color:var(--ink-2); }
.elva-ins-sub .fp-k{ font-family:var(--font-mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase; padding:5px 10px; border-radius:999px; width:fit-content; }
.elva-ins-sub .fp-k.risk{ background:rgba(224,110,90,.14); color:#B44A34; }
.elva-ins-sub .fp-k.does{ background:rgba(63,184,168,.16); color:#1E7F72; }

/* split */
.elva-ins-sub .split{ display:grid; grid-template-columns:1.04fr .96fr; gap:52px; align-items:stretch; margin-top:8px; }
.elva-ins-sub .split .prose{ max-width:none; }

/* CTA band / box */
.elva-ins-sub .band{ margin-top:96px; }
.elva-ins-sub .cta-box{ position:relative; overflow:hidden; border-radius:26px; background:var(--sage-0,#1D1D1F); padding:52px 56px; box-shadow:var(--sh-4); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.elva-ins-sub .cta-box::before{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(520px 300px at 6% -30%,rgba(155,92,255,.3),transparent 62%),radial-gradient(480px 280px at 100% 130%,rgba(63,184,168,.2),transparent 60%); }
.elva-ins-sub .cta-box > *{ position:relative; }
.elva-ins-sub .cta-copy{ max-width:60ch; display:grid; gap:14px; }
.elva-ins-sub .cta-copy h2{ color:#fff; font-size:clamp(24px,2.6vw,34px); max-width:24ch; }
.elva-ins-sub .cta-copy p{ font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.72); }
.elva-ins-sub .cta-btns{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.elva-ins-sub .cta-box.solo{ justify-content:center; text-align:center; }
.elva-ins-sub .cta-box.solo .cta-copy{ max-width:none; justify-items:center; }
.elva-ins-sub .cta-box.solo .cta-copy h2{ max-width:30ch; }
.elva-ins-sub .cta-box.solo .cta-copy p{ max-width:64ch; }

/* PMS */
.elva-ins-sub .pms{ position:relative; margin-top:104px; padding:92px 0; background:linear-gradient(180deg,rgba(91,141,239,.09),rgba(155,92,255,.07) 55%,rgba(63,184,168,.06)); border-bottom:1px solid var(--cream-2); }
.elva-ins-sub .pms::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad-spectrum); }
.elva-ins-sub .pms h2{ font-size:clamp(26px,2.9vw,38px); max-width:24ch; }
.elva-ins-sub .pms .prose{ margin-top:20px; }
.elva-ins-sub .pms-grid{ display:grid; grid-template-columns:1fr .95fr; gap:56px; align-items:center; }
.elva-ins-sub .pms-grid .prose{ max-width:none; }
.elva-ins-sub .pms-head{ max-width:640px; }
.elva-ins-sub .pms-rig{ background:#fff; border:1px solid var(--cream-2); border-radius:26px; box-shadow:var(--sh-3); padding:30px 32px; display:grid; gap:20px; }
.elva-ins-sub .node{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.elva-ins-sub .node-mark{ display:flex; align-items:center; gap:11px; font-family:var(--font-display); font-weight:600; font-size:22px; letter-spacing:-.04em; color:var(--ink-0); }
.elva-ins-sub .brand-mark{ width:34px; height:34px; border-radius:10px; background:var(--grad-spectrum); display:grid; place-items:center; box-shadow:0 4px 12px -4px rgba(155,92,255,.5); }
.elva-ins-sub .brand-mark::after{ content:''; width:13px; height:13px; border-radius:4px; background:rgba(255,255,255,.92); }
.elva-ins-sub .node-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-3); }
.elva-ins-sub .sync{ display:flex; align-items:center; gap:16px; }
.elva-ins-sub .sync-lbl{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#3D6FD6; background:rgba(91,141,239,.13); border-radius:999px; padding:7px 13px; white-space:nowrap; }
.elva-ins-sub .sync-rails{ flex:1; display:grid; gap:9px; min-width:60px; }
.elva-ins-sub .sync-rail{ position:relative; height:2px; border-radius:2px; overflow:hidden; background:linear-gradient(90deg,rgba(155,92,255,.28),rgba(63,184,168,.3)); }
.elva-ins-sub .sync-rail::after{ content:''; position:absolute; inset:0 auto 0 0; width:38%; background:linear-gradient(90deg,transparent,var(--ai-3),transparent); animation:elva-ins-sync-f 2.8s linear infinite; }
.elva-ins-sub .sync-rail.back::after{ background:linear-gradient(90deg,transparent,var(--ai-5),transparent); animation:elva-ins-sync-b 2.8s linear infinite; }
@keyframes elva-ins-sync-f{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(300%); } }
@keyframes elva-ins-sync-b{ 0%{ transform:translateX(300%); } 100%{ transform:translateX(-100%); } }
@media (prefers-reduced-motion:reduce){ .elva-ins-sub .sync-rail::after{ animation:none; opacity:.5; } }
.elva-ins-sub .pms-plates{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.elva-ins-sub .pms-plate{ position:relative; overflow:hidden; border:1px solid var(--cream-2); border-radius:14px; background:var(--surface-mute,#EFEFF2); padding:20px 18px 16px; display:grid; gap:13px; align-content:space-between; min-height:118px; }
.elva-ins-sub .pms-plate::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--pl-c); }
.elva-ins-sub .pms-plate.a{ --pl-c:#3FB8A8; } .elva-ins-sub .pms-plate.b{ --pl-c:#5B8DEF; }
.elva-ins-sub .pms-logo{ height:25px; width:auto; max-width:100%; object-fit:contain; object-position:left center; display:block; }
.elva-ins-sub .pms-badge{ display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9.5px; line-height:1.35; letter-spacing:.1em; text-transform:uppercase; color:#16786B; }
.elva-ins-sub .pms-badge.blue{ color:#3D6FD6; }
.elva-ins-sub .pms-badge svg{ width:13px; height:13px; flex:none; stroke:currentColor; fill:none; stroke-width:2; }
.elva-ins-sub .pms-sys{ grid-column:1/-1; border-top:1px solid var(--cream-2); padding-top:20px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.elva-ins-sub .pms-sys-lbl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-right:4px; }
.elva-ins-sub .pms-sys .chip{ display:inline-flex; align-items:center; gap:9px; font-size:13.5px; font-weight:550; color:var(--ink-1); background:#fff; border:1px solid var(--cream-2); border-radius:999px; padding:8px 15px; box-shadow:var(--sh-1); }
.elva-ins-sub .pms-sys .chip::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--ai-3); }
.elva-ins-sub .pms-sys .chip:nth-of-type(2)::before{ background:var(--ai-5); }
.elva-ins-sub .pms-sys a.more{ font-size:13.5px; font-weight:600; color:#3D6FD6; padding:8px 4px; }
.elva-ins-sub .pms-sys a.more:hover{ color:var(--ai-3); }

/* suite grid (shared, site-wide sibling links) */
.elva-ins-sub .suite-lead{ margin-top:18px; font-size:16.5px; line-height:1.6; color:var(--ink-2); }
.elva-ins-sub .suite-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:36px; }
.elva-ins-sub .sc{ position:relative; overflow:hidden; display:grid; gap:6px; background:#fff; border:1px solid var(--cream-2); border-radius:14px; padding:20px 22px 20px 26px; box-shadow:var(--sh-1); transition:transform .12s var(--ease-out,cubic-bezier(.22,.8,.36,1)), box-shadow .4s; color:var(--ink-2); }
.elva-ins-sub .sc::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--sc-c,var(--ai-4)); opacity:.75; transition:opacity .12s; }
.elva-ins-sub .sc:nth-child(1){ --sc-c:#9B5CFF; } .elva-ins-sub .sc:nth-child(2){ --sc-c:#5B8DEF; }
.elva-ins-sub .sc:nth-child(3){ --sc-c:#E06E5A; } .elva-ins-sub .sc:nth-child(4){ --sc-c:#3FB8A8; }
.elva-ins-sub .sc:nth-child(5){ --sc-c:#C9B6FF; } .elva-ins-sub .sc:nth-child(6){ --sc-c:#FFA9C9; }
.elva-ins-sub .sc:nth-child(7){ --sc-c:#AFC8FF; } .elva-ins-sub .sc:nth-child(8){ --sc-c:#C0892E; }
.elva-ins-sub .sc:hover{ transform:translateY(-2px); box-shadow:var(--sh-2); color:var(--ink-2); }
.elva-ins-sub .sc:hover::before{ opacity:1; }
.elva-ins-sub .sc b{ font-family:var(--font-display); font-size:16.5px; font-weight:600; letter-spacing:-.02em; color:var(--ink-0); }
.elva-ins-sub .sc span{ font-size:13.5px; line-height:1.55; color:var(--ink-2); }

/* FAQ */
.elva-ins-sub .faq{ padding:100px 0 0; }
.elva-ins-sub .faq h2{ font-size:clamp(26px,2.8vw,36px); }
.elva-ins-sub .faq-list{ margin-top:34px; border-top:1px solid var(--cream-2); }
.elva-ins-sub .faq-item{ border-bottom:1px solid var(--cream-2); }
.elva-ins-sub .faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:18px; padding:24px 0; font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:-.02em; color:var(--ink-0); line-height:1.35; }
.elva-ins-sub .faq-item summary::-webkit-details-marker{ display:none; }
.elva-ins-sub .faq-item summary .pm{ width:22px; height:22px; flex:none; margin-left:auto; position:relative; }
.elva-ins-sub .faq-item summary .pm::before, .elva-ins-sub .faq-item summary .pm::after{ content:''; position:absolute; left:3px; top:10px; width:16px; height:1.6px; background:var(--ink-2); transition:transform .4s var(--ease-out,cubic-bezier(.22,.8,.36,1)); }
.elva-ins-sub .faq-item summary .pm::after{ transform:rotate(90deg); }
.elva-ins-sub .faq-item[open] summary .pm::after{ transform:rotate(0); }
.elva-ins-sub .faq-item .ans{ padding:0 60px 26px 0; font-size:15.5px; line-height:1.65; color:var(--ink-2); }

/* closing cta */
.elva-ins-sub .close{ padding:96px 0 120px; text-align:center; position:relative; overflow:clip; }
.elva-ins-sub .close::before{ content:''; position:absolute; bottom:-320px; left:50%; transform:translateX(-50%); width:720px; height:520px; border-radius:50%; pointer-events:none; 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(120px); opacity:.2; }
.elva-ins-sub .close .btn{ position:relative; }

/* reveal (matches theme-wide scroll-reveal convention) */
.elva-ins-sub [data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-out,cubic-bezier(.22,.8,.36,1)), transform .7s var(--ease-out,cubic-bezier(.22,.8,.36,1)); }
.elva-ins-sub [data-reveal].in{ opacity:1; transform:none; }
.elva-ins-sub [data-reveal][data-delay="1"]{ transition-delay:.08s; }
.elva-ins-sub [data-reveal][data-delay="2"]{ transition-delay:.16s; }
.elva-ins-sub [data-reveal][data-delay="3"]{ transition-delay:.24s; }
@media (prefers-reduced-motion:reduce){ .elva-ins-sub [data-reveal]{ opacity:1; transform:none; transition:none; } }

@media (max-width:1080px){
  .elva-ins-sub .steps{ grid-template-columns:1fr 1fr; }
  .elva-ins-sub .pains{ grid-template-columns:1fr 1fr; }
  .elva-ins-sub .split{ grid-template-columns:1fr; gap:36px; }
  .elva-ins-sub .shot-slot.teal{ min-height:320px; }
}
@media (max-width:980px){
  .elva-ins-sub .pms-rig{ padding:26px; }
  .elva-ins-sub .pms-grid{ grid-template-columns:1fr; gap:34px; }
  .elva-ins-sub .sync-rails{ max-width:none; }
}
@media (max-width:640px){
  .elva-ins-sub .wrap-wide, .elva-ins-sub .wrap-mid{ padding:0 20px; }
  .elva-ins-sub .steps{ grid-template-columns:1fr; }
  .elva-ins-sub .fp-grid, .elva-ins-sub .suite-grid{ grid-template-columns:1fr; }
  .elva-ins-sub .sec{ padding-top:72px; }
  .elva-ins-sub .band{ margin-top:72px; }
  .elva-ins-sub .cta-box{ padding:34px 26px; }
  .elva-ins-sub .pains{ grid-template-columns:1fr; }
  .elva-ins-sub .cta-btns{ flex-direction:column; align-items:stretch; width:100%; }
  .elva-ins-sub .cta-btns .btn{ justify-content:center; }
  .elva-ins-sub .pms{ margin-top:72px; padding:64px 0; }
  .elva-ins-sub .faq{ padding-top:72px; }
  .elva-ins-sub .faq-item .ans{ padding-right:0; }
  .elva-ins-sub .close{ padding:72px 0 96px; }
  .elva-ins-sub .hero-actions{ flex-direction:column; align-items:stretch; }
  .elva-ins-sub .hero-actions .btn{ justify-content:center; }
}
