/* Elva page template — scoped marketing styles (legal). 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{ background: #FBFBFD; }
.elva-pg .lg-doc{
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 32px 112px;
}
.elva-pg .lg-head{
  margin: 0 0 44px;
  padding-bottom: 30px;
  border-bottom: 1px solid #E6E8EF;
}
.elva-pg .lg-title{
  margin: 0;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #11131A;
}
.elva-pg .lg-grid{
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 76px;
  align-items: start;
}
.elva-pg .lg-rail{
  position: sticky;
  top: 96px;
}
.elva-pg .lg-toc-label{
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  color: #11131A;
}
.elva-pg .lg-toc ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.elva-pg .lg-toc li{
  margin: 0 0 16px;
}
.elva-pg .lg-toc a{
  display: block;
  color: #687085;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.5;
  transition: color 0.15s ease;
}
.elva-pg .lg-toc a:hover{ color: #11131A; }
.elva-pg .lg-toc a.is-active{
  color: #137A66;
  font-weight: 600;
}
.elva-pg .lg-body{ color: #3A4150; }
.elva-pg .lg-updated{
  margin: 0 0 26px;
  font-size:16px;
  color: #687085;
}
.elva-pg .lg-body > p{
  margin: 0 0 20px;
  font-size: 18px;
  line-height: 1.7;
  color: #3A4150;
}
.elva-pg .lg-body section{ margin: 0; }
.elva-pg .lg-body h2{
  margin: 56px 0 22px;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #11131A;
  scroll-margin-top: 100px;
}
.elva-pg .lg-body h3{
  margin: 30px 0 10px;
  font-weight: 650;
  font-size: 20px;
  line-height: 1.4;
  color: #1C1F2A;
}
.elva-pg .lg-body section p{
  margin: 16px 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A4150;
}
.elva-pg .lg-body ul{
  margin: 16px 0;
  padding-left: 22px;
}
.elva-pg .lg-body li{
  margin: 10px 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A4150;
}
.elva-pg .lg-body strong{ color: #11131A; font-weight: 700; }
.elva-pg .lg-body a{
  color: #3A2FA6;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.elva-pg .lg-body a:hover{ color: #2A2185; }
.elva-pg .lg-body > section:first-of-type h2{ margin-top: 8px; }
@media (max-width: 900px){
.elva-pg .lg-doc{ padding: 64px 22px 84px; }
.elva-pg .lg-title{ font-size: 36px; }
.elva-pg .lg-grid{ grid-template-columns: 1fr; gap: 8px; }
.elva-pg .lg-rail{
    position: static;
    margin-bottom: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid #E6E8EF;
  }
.elva-pg .lg-toc ul{ columns: 2; column-gap: 28px; }
.elva-pg .lg-toc li{ break-inside: avoid; }
.elva-pg .lg-body h2{ font-size: 28px; }
}
@media (max-width: 540px){
.elva-pg .lg-toc ul{ columns: 1; }
}

/* ===== components ===== */

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