/* Elva page template — scoped marketing styles (chairside). 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 .cs-page{
  
  --cream-0: #F5F5F7;
  --cream-1: #FFFFFF;
  --cream-2: #E7E7EC;
  --cream-shadow: #D6D6DC;
  --surface-mute: #EFEFF2;

  
  --sage-0: #1D1D1F;
  --sage-1: #3A3A3C;
  --sage-2: #C7C7CC;
  --sage-3: #F0EFFB;

  
  --ink-0: #1D1D1F;
  --ink-1: #2D2D2F;
  --ink-2: #6E6E73;
  --ink-3: #8A8A8F;
  --ink-4: #B0B0B6;

  
  --success: #2E7D54;
  --success-tint: rgba(47, 138, 91, 0.12);
  --gold: #C0892E;
  --gold-tint: rgba(192, 137, 46, 0.14);
  --terracotta: #C75A3F;
  --terracotta-tint: rgba(199, 90, 63, 0.14);
  --info: #5B8DEF;
  --info-tint: rgba(91, 141, 239, 0.12);
  --star: #E8A93C;

  
  --ai-1: #FFB7A8;
  --ai-2: #FFA9C9;
  --ai-3: #9B5CFF;
  --ai-4: #5B8DEF;
  --ai-5: #3FB8A8;
  --ai-g1: #C9B6FF;
  --ai-g2: #AFC8FF;
  --ai-tint: rgba(155, 92, 255, 0.12);
  --glow-strength: 0.4;

  --grad-spectrum: linear-gradient(100deg, var(--ai-3), var(--ai-4) 46%, var(--ai-5) 86%);
  --grad-ink: linear-gradient(160deg, var(--sage-1), var(--sage-0));

  
  --font-display: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter Tight', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --tracking-tight: -0.035em;
  --tracking-eyebrow: 0.14em;

  
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;

  
  --r-sm: 6px; --r-md: 10px; --r-lg: 14px; --r-xl: 18px; --r-2xl: 26px; --r-pill: 999px;

  
  --sh-1: 0 1px 3px rgba(20, 20, 30, 0.04);
  --sh-2: 0 18px 44px -28px rgba(20, 20, 30, 0.28), 0 1px 3px rgba(20, 20, 30, 0.04);
  --sh-3: 0 24px 60px -24px rgba(20, 20, 30, 0.34), 0 2px 6px rgba(20, 20, 30, 0.06);
  --sh-4: 0 40px 90px -40px rgba(20, 20, 30, 0.42), 0 4px 12px rgba(20, 20, 30, 0.07);
  --sh-btn: 0 10px 22px -12px rgba(20, 20, 30, 0.6);

  
  --ease-out: cubic-bezier(0.22, 0.8, 0.36, 1);
  --dur-fast: 0.12s;
  --dur-med: 0.4s;
}
.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{ background: var(--cs-cream); color: var(--ink-1); -webkit-font-smoothing: antialiased; }
.elva-pg .cs-wrap{ max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.elva-pg .cs-narrow{ max-width: 920px;  margin: 0 auto; padding: 0 40px; }
@media (max-width: 640px){
.elva-pg .cs-wrap,.elva-pg .cs-narrow{ padding: 0 22px; }
}
.elva-pg .cs-serif{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.elva-pg .cs-italic{ font-style: italic; }
.elva-pg .cs-teal{ color: var(--cs-teal-deep); }
.elva-pg .cs-eyebrow{ font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--cs-teal-deep); font-weight: 500; display: inline-flex; align-items: center; gap: 10px; }
.elva-pg .cs-eyebrow::before{ content:''; width: 18px; height: 1.5px; background: var(--cs-teal); flex: none; }
.elva-pg .cs-eyebrow--center{ justify-content: center; }
.elva-pg .cs-btn{ display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-body);
  font-size: 15px; font-weight: 600; padding: 14px 26px; border-radius: 999px; border: 0; cursor: pointer;
  white-space: nowrap; transition: transform .14s, box-shadow .15s, background .15s; }
.elva-pg .cs-btn svg{ width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; flex: none; }
.elva-pg .cs-btn--primary{ color: #fff; background: var(--cs-ink); box-shadow: 0 12px 26px -12px rgba(20,20,30,.55); }
.elva-pg .cs-btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(20,20,30,.6); }
.elva-pg .cs-btn--teal{ color: #fff; background: var(--cs-teal-deep); box-shadow: 0 12px 26px -12px rgba(46,140,128,.6); }
.elva-pg .cs-btn--teal:hover{ transform: translateY(-2px); }
.elva-pg .cs-btn--ghost{ color: var(--cs-ink); background: transparent; border: 1px solid var(--cream-shadow); }
.elva-pg .cs-btn--ghost:hover{ border-color: var(--ink-3); background: rgba(255,255,255,.6); }
@media (max-width: 640px){

}
.elva-pg .cs-brand{ display: inline-flex; align-items: center; gap: 10px; flex: none; }
.elva-pg .cs-mark{ width: 28px; height: 28px; border-radius: 50%; flex: none; position: relative;
  background: conic-gradient(from 210deg, var(--ai-1), var(--ai-2), var(--ai-3), var(--ai-4), var(--ai-5), var(--ai-1));
  box-shadow: 0 4px 12px -3px rgba(155,92,255,.5), inset 0 0 0 1px rgba(255,255,255,.4); }
.elva-pg .cs-mark::after{ content:''; position: absolute; inset: 7px; border-radius: 50%; background: rgba(255,255,255,.92);
  box-shadow: inset 0 0 0 2px rgba(155,92,255,.28); }
.elva-pg .cs-brand-word{ font-family: var(--font-display); font-weight: 600; font-size: 19px; letter-spacing: -.04em;
  color: var(--ink-0); display: inline-flex; gap: 5px; }
.elva-pg .cs-brand-ai{ color: var(--ai-4); }
.elva-pg .cs-brand-sep{ width: 1px; height: 18px; background: var(--cream-shadow); }
.elva-pg .cs-brand-tag{ font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 17px; color: var(--cs-teal-deep); }
@media (max-width: 860px){

}
.elva-pg .cs-hero{ position: relative; overflow: hidden; padding: 86px 0 76px; }
.elva-pg .cs-hero::before{ content:''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(620px 340px at 16% -8%, rgba(63,184,168,.16), transparent 70%),
    radial-gradient(560px 320px at 92% 8%, rgba(201,182,255,.16), transparent 72%); }
.elva-pg .cs-hero-grid{ position: relative; display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 56px; align-items: center; }
@media (max-width: 940px){
.elva-pg .cs-hero-grid{ grid-template-columns: 1fr; gap: 44px; }
}
.elva-pg .cs-hero-h1{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(46px, 7vw, 86px);
  line-height: 1.02; letter-spacing: -.015em; color: var(--cs-ink); margin: 22px 0 0; text-wrap: balance; }
.elva-pg .cs-hero-h1 em{ font-style: italic; color: var(--cs-teal-deep); }
.elva-pg .cs-hero-sub{ font-size: 18px; line-height: 1.62; color: var(--ink-2); margin: 24px 0 0; max-width: 52ch; text-wrap: pretty; }
.elva-pg .cs-hero-cta{ display: flex; align-items: center; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.elva-pg .cs-hero-note{ margin-top: 20px; font-size: 13px; color: var(--ink-3); display: flex; align-items: center; gap: 8px; }
.elva-pg .cs-hero-note svg{ width: 15px; height: 15px; stroke: var(--cs-teal-deep); fill: none; stroke-width: 1.8; }
.elva-pg .cs-ipad{ position: relative; width: 100%; background: #1A1A1C; border-radius: 30px; padding: 14px;
  box-shadow: 0 50px 100px -40px rgba(20,20,30,.5), 0 12px 30px -16px rgba(20,20,30,.3), inset 0 0 0 1.5px rgba(255,255,255,.06); }
.elva-pg .cs-ipad--landscape{ aspect-ratio: 4 / 3; }
.elva-pg .cs-ipad--portrait{ aspect-ratio: 3 / 4; max-width: 380px; }
.elva-pg .cs-ipad-screen{ position: relative; width: 100%; height: 100%; border-radius: 18px; overflow: hidden;
  background: var(--cs-cream); box-shadow: inset 0 0 0 1px rgba(0,0,0,.3); }
.elva-pg .cs-ipad-cam{ position: absolute; top: 50%; left: 6px; transform: translateY(-50%); width: 5px; height: 5px;
  border-radius: 50%; background: #333; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); z-index: 3; }
.elva-pg .cs-ipad-screen image-slot{ position: absolute; inset: 0; width: 100%; height: 100%; }
.elva-pg .cs-screen-stack{ position: absolute; inset: 0; }
.elva-pg .cs-screen-layer{ position: absolute; inset: 0; opacity: 0; visibility: hidden;
  transition: opacity .4s var(--ease-out); }
.elva-pg .cs-screen-layer.is-active{ opacity: 1; visibility: visible; }
@media (prefers-reduced-motion: reduce){
.elva-pg .cs-screen-layer{ transition: none; }
}
.elva-pg .cs-section{ padding: 92px 0; }
.elva-pg .cs-section--tight{ padding: 72px 0; }
.elva-pg .cs-section--dark{ background: var(--cs-ink); color: #fff; }
.elva-pg .cs-section--cream{ background: #fff; border-top: 1px solid var(--cream-2); border-bottom: 1px solid var(--cream-2); }
@media (max-width: 640px){
.elva-pg .cs-section{ padding: 64px 0; }
}
.elva-pg .cs-sec-head{ max-width: 720px; }
.elva-pg .cs-sec-head--center{ margin: 0 auto; text-align: center; }
.elva-pg .cs-sec-h{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(30px, 4.6vw, 50px);
  line-height: 1.08; letter-spacing: -.01em; color: var(--cs-ink); margin: 20px 0 0; text-wrap: balance; }
.elva-pg .cs-section--dark .cs-sec-h{ color: #fff; }
.elva-pg .cs-sec-h em{ font-style: italic; color: var(--cs-teal-deep); }
.elva-pg .cs-section--dark .cs-sec-h em{ color: var(--ai-5); }
.elva-pg .cs-sec-sub{ font-size: 18px; line-height: 1.62; color: var(--ink-2); margin: 18px 0 0; max-width: 60ch; text-wrap: pretty; }
.elva-pg .cs-section--dark .cs-sec-sub{ color: rgba(255,255,255,.72); }
.elva-pg .cs-problem-lead{ display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
@media (max-width: 860px){
.elva-pg .cs-problem-lead{ grid-template-columns: 1fr; gap: 24px; }
}
.elva-pg .cs-problem-body{ font-size: 18px; line-height: 1.7; color: var(--ink-2); text-wrap: pretty; }
.elva-pg .cs-problem-body strong{ color: var(--cs-ink); font-weight: 600; }
.elva-pg .cs-pain-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
@media (max-width: 860px){
.elva-pg .cs-pain-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
.elva-pg .cs-pain-grid{ grid-template-columns: 1fr; }
}
.elva-pg .cs-pain{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-xl); padding: 24px;
  box-shadow: var(--sh-1); transition: transform .2s var(--ease-out), box-shadow .2s; }
.elva-pg .cs-pain:hover{ transform: translateY(-3px); box-shadow: var(--sh-2); }
.elva-pg .cs-pain-num{ font-family: var(--font-mono); font-size: 11px; color: var(--cs-teal-deep); letter-spacing: .1em; font-weight: 500; }
.elva-pg .cs-pain-h{ font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: -.02em;
  color: var(--cs-ink); margin: 12px 0 0; line-height: 1.25; }
.elva-pg .cs-pain-p{ font-size: 14px; line-height: 1.55; color: var(--ink-2); margin: 9px 0 0; text-wrap: pretty; }
.elva-pg .cs-slider{ display: grid; grid-template-columns: 360px 1fr; gap: 48px; align-items: start; margin-top: 52px; }
@media (max-width: 940px){
.elva-pg .cs-slider{ grid-template-columns: 1fr; gap: 28px; }
}
.elva-pg .cs-flow-rail{ display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 940px){
.elva-pg .cs-flow-rail{ flex-direction: row; gap: 10px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.elva-pg .cs-flow-item{ flex: 0 0 auto; scroll-snap-align: start; }
}
.elva-pg .cs-flow-item{ display: flex; align-items: flex-start; gap: 14px; text-align: left; width: 100%;
  background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-lg); padding: 15px 16px; cursor: pointer;
  transition: border-color .18s, box-shadow .18s, transform .18s; position: relative; }
.elva-pg .cs-flow-item:hover{ border-color: var(--cs-teal-line); transform: translateX(2px); }
.elva-pg .cs-flow-item.is-active{ border-color: var(--cs-teal); box-shadow: 0 0 0 1px var(--cs-teal), 0 14px 30px -18px rgba(46,140,128,.5); }
.elva-pg .cs-flow-item.is-active::before{ content:''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
  border-radius: 3px; background: var(--cs-teal); }
@media (max-width: 940px){
.elva-pg .cs-flow-item{ width: 230px; }
.elva-pg .cs-flow-item.is-active::before{ display: none; }
}
.elva-pg .cs-flow-num{ font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 22px; color: var(--cs-teal-deep);
  line-height: 1; flex: none; width: 26px; }
.elva-pg .cs-flow-tx{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.elva-pg .cs-flow-eyebrow{ font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.elva-pg .cs-flow-label{ font-family: var(--font-display); font-size: 15.5px; font-weight: 600; letter-spacing: -.015em;
  color: var(--cs-ink); line-height: 1.25; }
.elva-pg .cs-flow-stage{ position: relative; }
.elva-pg .cs-flow-caption{ display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; min-height: 48px; }
.elva-pg .cs-flow-caption-bar{ width: 3px; align-self: stretch; background: var(--cs-teal); border-radius: 3px; flex: none; }
.elva-pg .cs-flow-caption-tx{ font-size: 15.5px; line-height: 1.55; color: var(--ink-2); text-wrap: pretty; }
.elva-pg .cs-flow-caption-tx b{ color: var(--cs-ink); font-weight: 600; }
.elva-pg .cs-flow-proto{ display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 13.5px;
  font-weight: 600; color: var(--cs-teal-deep); }
.elva-pg .cs-flow-proto svg{ width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform .2s; }
.elva-pg .cs-flow-proto:hover svg{ transform: translate(2px, -2px); }
.elva-pg .cs-tour{ display: flex; justify-content: center; margin-top: 44px; }
.elva-pg .cs-does-block{ display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 44px 0; }
.elva-pg .cs-does-block:nth-child(even) .cs-does-media{ order: -1; }
@media (max-width: 860px){
.elva-pg .cs-does-block{ grid-template-columns: 1fr; gap: 28px; padding: 28px 0; }
.elva-pg .cs-does-block:nth-child(even) .cs-does-media{ order: 0; }
}
.elva-pg .cs-does-kicker{ font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--cs-teal-deep); }
.elva-pg .cs-does-h{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.1;
  letter-spacing: -.01em; color: var(--cs-ink); margin: 14px 0 0; text-wrap: balance; }
.elva-pg .cs-does-p{ font-size: 17px; line-height: 1.62; color: var(--ink-2); margin: 16px 0 0; text-wrap: pretty; }
.elva-pg .cs-does-lift{ display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; font-family: Georgia, 'Times New Roman', serif;
  font-style: italic; font-size: 19px; color: var(--cs-ink); }
.elva-pg .cs-does-lift::before{ content:''; width: 22px; height: 2px; background: var(--cs-teal); flex: none; }
.elva-pg .cs-does-warn{ margin-top: 18px; font-size: 13px; line-height: 1.5; color: var(--ink-3); display: flex; gap: 8px;
  padding: 12px 14px; background: var(--cs-teal-tint); border-radius: var(--r-md); }
.elva-pg .cs-does-warn svg{ width: 16px; height: 16px; stroke: var(--cs-teal-deep); fill: none; stroke-width: 1.8; flex: none; margin-top: 1px; }
.elva-pg .cs-does-media .cs-ipad--portrait{ margin: 0 auto; }
.elva-pg .cs-diff-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; }
@media (max-width: 980px){
.elva-pg .cs-diff-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
.elva-pg .cs-diff-grid{ grid-template-columns: 1fr; }
}
.elva-pg .cs-diff-card{ background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-2xl);
  padding: 30px; position: relative; overflow: hidden; }
.elva-pg .cs-diff-card-tag{ font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ai-5); }
.elva-pg .cs-diff-card-h{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 22px; line-height: 1.14; color: #fff; margin: 14px 0 0; }
.elva-pg .cs-diff-card-h em{ font-style: italic; color: var(--ai-5); }
.elva-pg .cs-diff-card-p{ font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.74); margin: 12px 0 0; text-wrap: pretty; }
.elva-pg .cs-card-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
@media (max-width: 860px){
.elva-pg .cs-card-grid{ grid-template-columns: 1fr; }
}
.elva-pg .cs-tcard{ background: #fff; border: 1px solid var(--cream-2); border-radius: var(--r-2xl); padding: 30px;
  box-shadow: var(--sh-1); }
.elva-pg .cs-tcard-ic{ width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: var(--cs-teal-deep);
  background: var(--cs-teal-tint); box-shadow: inset 0 0 0 1px var(--cs-teal-line); }
.elva-pg .cs-tcard-ic svg{ width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; }
.elva-pg .cs-tcard-not{ font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-3); margin: 20px 0 0; }
.elva-pg .cs-tcard-h{ font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 23px; line-height: 1.15; color: var(--cs-ink); margin: 8px 0 0; }
.elva-pg .cs-tcard-p{ font-size: 15px; line-height: 1.6; color: var(--ink-2); margin: 12px 0 0; text-wrap: pretty; }
.elva-pg .cs-section--dark .cs-tcard{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); box-shadow: none; }
.elva-pg .cs-section--dark .cs-tcard-h{ color: #fff; }
.elva-pg .cs-section--dark .cs-tcard-p{ color: rgba(255,255,255,.72); }
.elva-pg .cs-section--dark .cs-tcard-ic{ background: rgba(63,184,168,.16); color: var(--ai-5); box-shadow: inset 0 0 0 1px rgba(63,184,168,.3); }
.elva-pg .cs-final{ position: relative; overflow: hidden; border-radius: 32px; background: var(--cs-ink); color: #fff;
  padding: 72px 64px; text-align: center; }
.elva-pg .cs-final::before{ content:''; position: absolute; top: -160px; left: 50%; transform: translateX(-50%); width: 640px; height: 420px;
  background: radial-gradient(closest-side, rgba(63,184,168,.4), transparent); pointer-events: none; }
.elva-pg .cs-final::after{ content:''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(100deg, var(--ai-5), var(--ai-4) 60%, var(--ai-3)); opacity: .8; }
@media (max-width: 640px){
.elva-pg .cs-final{ padding: 48px 26px; border-radius: 24px; }
}
.elva-pg .cs-final-h{ position: relative; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(30px, 4.6vw, 50px);
  line-height: 1.06; color: #fff; margin: 18px 0 0; text-wrap: balance; }
.elva-pg .cs-final-h em{ font-style: italic; color: var(--ai-5); }
.elva-pg .cs-final-p{ position: relative; font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.76); margin: 18px auto 0;
  max-width: 52ch; text-wrap: pretty; }
.elva-pg .cs-final-cta{ position: relative; display: flex; justify-content: center; margin-top: 32px; }
.elva-pg .cs-final .cs-btn--primary{ background: #fff; color: var(--cs-ink); }
@media (max-width: 640px){

}
@media (prefers-reduced-motion: no-preference){
.elva-pg .cs-reveal{ opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.elva-pg .cs-reveal.is-in{ opacity: 1; transform: none; }
}

/* ===== components ===== */
.elva-pg .cs-page{
  --cs-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --cs-serif: Georgia, 'Times New Roman', serif;
  --cs-mono: 'SF Mono', 'Fira Code', monospace;
}
/* page-specific design tokens */
.elva-pg{ --cs-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; --cs-serif:Georgia,'Times New Roman',serif; --cs-mono:'SF Mono','Fira Code',monospace; --cs-cream:#F5F5F7; --cs-ink:#1D1D1F; --cs-teal:#3FB8A8; --cs-teal-deep:#2E8C80; --cs-teal-line:rgba(63,184,168,0.28); --cs-teal-tint:rgba(63,184,168,0.12); }

/* 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; }
