/* Elva page template — scoped marketing styles (careers-index). 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; }
@media (max-width: 767px){
.elva-pg{ padding-bottom: 0; }
}
.elva-pg .ci-wrap{ max-width: 760px;  margin: 0 auto; padding: 0 24px; }
.elva-pg .ci-wrap-wide{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 600px){
.elva-pg .ci-wrap{ padding: 0 20px; }
.elva-pg .ci-wrap-wide{ padding: 0 20px; }
}
.elva-pg .ci-nav{
  position: sticky; top: 0; z-index: 100;
  background: rgba(245,245,247,.88);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--cream-2);
}
.elva-pg .ci-nav-inner{
  display: flex; align-items: center; gap: 16px;
  height: 60px; padding: 0 32px;
  max-width: 1080px; margin: 0 auto;
}
@media (max-width: 600px){
.elva-pg .ci-nav-inner{ padding: 0 20px; }
}
.elva-pg .ci-brand{ display: flex; align-items: center; gap: 9px;
  font-family: var(--font-display); font-weight: 600; font-size: 19px;
  letter-spacing: -0.04em; color: var(--ink-0); }
.elva-pg .ci-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 .ci-brand-mark::after{ content:''; width:10px; height:10px; border-radius:3px;
  background: rgba(255,255,255,.92); }
.elva-pg .ci-brand-ai{ color: var(--ai-4); }
.elva-pg .ci-nav-spacer{ flex: 1; }
.elva-pg .ci-nav-apply{
  font-size: 13.5px; font-weight: 600; color: #fff;
  padding: 8px 18px; border-radius: 999px;
  background: var(--ink-0);
  box-shadow: 0 4px 14px -6px rgba(20,20,30,.5);
  transition: transform .12s, opacity .12s;
}
.elva-pg .ci-nav-apply:hover{ transform: translateY(-1px); opacity: .9; }
.elva-pg .ci-btn{
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-body); font-size: 15px; font-weight: 600;
  padding: 13px 24px; border-radius: 999px; border: none; cursor: pointer;
  transition: transform .12s, box-shadow .15s; white-space: nowrap;
}
.elva-pg .ci-btn svg{ width: 15px; height: 15px; flex: none; }
.elva-pg .ci-btn-dark{
  color: #fff; background: var(--ink-0);
  box-shadow: 0 8px 20px -8px rgba(20,20,30,.5);
}
.elva-pg .ci-btn-dark:hover{ transform: translateY(-1.5px); box-shadow: 0 12px 26px -10px rgba(20,20,30,.55); }
.elva-pg .ci-btn-light{
  color: var(--ink-0); background: #fff;
  box-shadow: 0 2px 8px rgba(20,20,30,.08);
}
.elva-pg .ci-btn-light:hover{ transform: translateY(-1px); }
.elva-pg .ci-hero{
  padding: 96px 0 76px;
  position: relative;
  border-bottom: 1px solid var(--cream-2);
}
.elva-pg .ci-hero::before{
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(680px 360px at 78% -10%, rgba(155,92,255,.10), transparent 70%),
    radial-gradient(560px 320px at 12% 120%, rgba(63,184,168,.08), transparent 70%);
}
.elva-pg .ci-hero-inner{ position: relative; }
.elva-pg .ci-eyebrow{
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--ink-3); font-weight: 500;
  display: flex; align-items: center; gap: 10px;
}
.elva-pg .ci-eyebrow::before{ content:''; width:18px; height:1.5px; background: var(--ai-3); flex: none; }
.elva-pg .ci-hero-h{
  font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-style: italic; font-weight: 400;
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1.08; letter-spacing: -.01em;
  color: var(--ink-0); margin: 22px 0 0;
  text-wrap: balance; max-width: 16ch;
}
.elva-pg .ci-hero-sub{
  font-family: var(--font-display); font-size: clamp(16.5px, 2.1vw, 19px);
  font-weight: 400; color: var(--ink-2); line-height: 1.6;
  margin-top: 22px; max-width: 56ch; text-wrap: pretty;
}
.elva-pg .ci-hero-cta{ display: flex; align-items: center; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
.elva-pg .ci-scroll-link{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; font-weight: 500;
  color: var(--ink-3); transition: color .14s;
}
.elva-pg .ci-scroll-link:hover{ color: var(--ink-1); }
.elva-pg .ci-sec-head{ margin-bottom: 40px; }
.elva-pg .ci-sec-eyebrow{
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--ink-4); font-weight: 500;
  display: flex; align-items: center; gap: 10px;
}
.elva-pg .ci-sec-eyebrow::after{ content:''; flex:1; max-width:40px; height:1px; background: var(--cream-shadow); }
.elva-pg .ci-sec-title{
  font-family: var(--font-display); font-size: clamp(26px, 3.4vw, 34px);
  font-weight: 600; letter-spacing: -.03em; color: var(--ink-0);
  margin: 18px 0 0; line-height: 1.12; text-wrap: balance;
}
.elva-pg .ci-sec-sub{
  font-size: 16px; color: var(--ink-2); line-height: 1.6;
  margin: 12px 0 0; max-width: 52ch; text-wrap: pretty;
}
.elva-pg .ci-positions{ padding: 80px 0; }
@media (max-width: 600px){
.elva-pg .ci-positions{ padding: 56px 0; }
}
.elva-pg .ci-grid{
  display: grid; grid-template-columns: 1fr; gap: 16px;
}
@media (min-width: 720px){
.elva-pg .ci-grid{ grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
.elva-pg .ci-card{
  --acc: var(--ink-0);
  position: relative; display: flex; flex-direction: column;
  background: var(--cream-1);
  border: 1px solid var(--cream-2);
  border-radius: var(--r-2xl);
  padding: 30px 30px 26px;
  overflow: hidden;
  box-shadow: var(--sh-1);
  transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s;
}
.elva-pg .ci-card::before{
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--acc);
  transform: scaleX(1); transform-origin: left;
}
.elva-pg .ci-card::after{
  content: ''; position: absolute; top: -60px; right: -60px;
  width: 200px; height: 200px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, var(--acc), transparent);
  opacity: 0; transition: opacity .25s var(--ease-out);
}
.elva-pg .ci-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--sh-3);
  border-color: color-mix(in srgb, var(--acc) 30%, var(--cream-2));
}
.elva-pg .ci-card:hover::after{ opacity: .07; }
.elva-pg .ci-card:focus-visible{ outline: 2px solid var(--acc); outline-offset: 3px; }
.elva-pg .ci-card-top{
  display: flex; align-items: center; gap: 10px; margin-bottom: 22px;
}
.elva-pg .ci-card-dot{
  width: 9px; height: 9px; border-radius: 50%; background: var(--acc); flex: none;
}
.elva-pg .ci-card-meta{
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em;
  color: var(--ink-3); text-transform: uppercase; font-weight: 500;
}
.elva-pg .ci-card-title{
  font-family: var(--font-display); font-size: 23px; font-weight: 600;
  letter-spacing: -.025em; color: var(--ink-0); line-height: 1.18;
  margin: 0; text-wrap: balance;
}
.elva-pg .ci-card-hook{
  font-size: 15.5px; line-height: 1.55; color: var(--ink-2);
  margin: 12px 0 0; text-wrap: pretty; flex: 1;
}
.elva-pg .ci-card-cta{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; color: var(--acc);
  margin-top: 26px;
}
.elva-pg .ci-card-cta svg{ width: 16px; height: 16px; flex: none; transition: transform .2s var(--ease-out); }
.elva-pg .ci-card:hover .ci-card-cta svg{ transform: translateX(4px); }
.elva-pg .ci-why{
  padding: 80px 0;
  background: var(--cream-1);
  border-top: 1px solid var(--cream-2);
  border-bottom: 1px solid var(--cream-2);
}
@media (max-width: 600px){
.elva-pg .ci-why{ padding: 56px 0; }
}
.elva-pg .ci-why-head{ max-width: 56ch; }
.elva-pg .ci-why-h{
  font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-style: italic; font-weight: 400;
  font-size: clamp(24px, 3.6vw, 38px);
  line-height: 1.18; color: var(--ink-0);
  margin: 18px 0 0; text-wrap: pretty;
}
.elva-pg .ci-why-body{
  font-size: 17px; line-height: 1.7; color: var(--ink-2);
  margin: 20px 0 0; max-width: 62ch; text-wrap: pretty;
}
.elva-pg .ci-why-points{
  display: grid; grid-template-columns: 1fr; gap: 0;
  margin-top: 48px; border-top: 1px solid var(--cream-2);
}
@media (min-width: 720px){
.elva-pg .ci-why-points{ grid-template-columns: repeat(3, 1fr); }
}
.elva-pg .ci-point{
  padding: 28px 0;
  border-bottom: 1px solid var(--cream-2);
}
@media (min-width: 720px){
.elva-pg .ci-point{ padding: 0 32px; border-bottom: none; border-left: 1px solid var(--cream-2); }
.elva-pg .ci-point:first-child{ padding-left: 0; border-left: none; }
}
.elva-pg .ci-point-num{
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em;
  color: var(--ai-3); font-weight: 500; display: block;
}
.elva-pg .ci-point-title{
  font-family: var(--font-display); font-size: 17px; font-weight: 600;
  letter-spacing: -.02em; color: var(--ink-0); margin: 14px 0 0;
}
.elva-pg .ci-point-line{
  font-size: 14.5px; line-height: 1.55; color: var(--ink-2);
  margin: 8px 0 0; text-wrap: pretty;
}
.elva-pg .ci-apply{ padding: 88px 0; }
@media (max-width: 600px){
.elva-pg .ci-apply{ padding: 60px 0; }
}
.elva-pg .ci-apply-card{
  background: var(--ink-0); color: #fff;
  padding: 60px 56px; border-radius: 28px;
  position: relative; overflow: hidden;
}
@media (max-width: 600px){
.elva-pg .ci-apply-card{ padding: 40px 26px; border-radius: var(--r-2xl); }
}
.elva-pg .ci-apply-card::before{
  content: ''; position: absolute; top: -120px; right: -100px;
  width: 420px; height: 420px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(155,92,255,.5), rgba(91,141,239,.18) 55%, transparent);
  opacity: .55;
}
.elva-pg .ci-apply-card::after{
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--grad-spectrum); opacity: .8;
}
.elva-pg .ci-apply-inner{ position: relative; max-width: 56ch; }
.elva-pg .ci-apply-label{
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .2em;
  text-transform: uppercase; color: rgba(255,255,255,.4); display: block;
}
.elva-pg .ci-apply-h{
  font-family: var(--font-display); font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 600; letter-spacing: -.03em; color: #fff;
  margin: 16px 0 0; line-height: 1.08; text-wrap: balance;
}
.elva-pg .ci-apply-body{
  font-size: 16.5px; line-height: 1.66; color: rgba(255,255,255,.7);
  margin-top: 18px; text-wrap: pretty;
}
.elva-pg .ci-apply-email{
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-display); font-size: 20px; font-weight: 600;
  color: #fff; margin-top: 26px; transition: color .14s;
}
.elva-pg .ci-apply-email:hover{ color: var(--ai-g1); }
.elva-pg .ci-apply-email svg{ flex: none; }
.elva-pg .ci-apply-cta-row{ display: flex; align-items: center; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.elva-pg .ci-footer{
  background: var(--cream-1); border-top: 1px solid var(--cream-2);
  padding: 36px 0 28px; position: relative;
}
.elva-pg .ci-footer::before{
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px; background: var(--grad-spectrum); opacity: .7;
}
.elva-pg .ci-footer-inner{
  max-width: 1080px; margin: 0 auto; padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 14px;
}
@media (max-width: 600px){
.elva-pg .ci-footer-inner{ padding: 0 20px; }
}
.elva-pg .ci-footer-brand{
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: 600; font-size: 17px;
  letter-spacing: -.04em; color: var(--ink-0);
}
.elva-pg .ci-footer-mark{ width: 22px; height: 22px; border-radius: 6px;
  background: var(--grad-spectrum); display: grid; place-items: center; }
.elva-pg .ci-footer-mark::after{ content:''; width:8px; height:8px; border-radius:2px;
  background: rgba(255,255,255,.92); }
.elva-pg .ci-footer-links{ display: flex; gap: 20px; }
.elva-pg .ci-footer-links a{ font-size: 12.5px; color: var(--ink-3); transition: color .14s; }
.elva-pg .ci-footer-links a:hover{ color: var(--ink-1); }
.elva-pg .ci-footer-copy{ font-size: 12px; color: var(--ink-4); }
@media (prefers-reduced-motion: no-preference){
.elva-pg .ci-reveal{ opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.elva-pg .ci-reveal.is-in{ opacity: 1; transform: none; }
}

/* ===== components ===== */
.elva-pg .ci-empty{
  max-width:680px; margin:6px auto 0; text-align:center;
  background:var(--cream-1,#fff);
  border:1px solid var(--cream-2,#E7E7EC);
  border-radius:24px; padding:50px 44px;
  box-shadow:0 30px 70px -44px rgba(20,20,30,.28);
}
.elva-pg .ci-empty-badge{
  display:inline-block; font-size:12px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--ink-3,#8A8A8F);
  background:var(--surface-mute,#EFEFF2); border:1px solid var(--cream-2,#E7E7EC);
  border-radius:999px; padding:6px 14px; margin-bottom:20px;
}
.elva-pg .ci-empty-h{
  font-size:27px; line-height:1.22; letter-spacing:-.01em;
  margin:0 0 12px; color:var(--ink-0,#1D1D1F);
}
.elva-pg .ci-empty-body{
  font-size:16px; line-height:1.62; color:var(--ink-2,#5A5A5F);
  margin:0 auto 28px; max-width:520px;
}
.elva-pg .ci-empty .ci-btn{ display:inline-flex; }
@media (max-width:560px){
.elva-pg .ci-empty{ padding:38px 24px; border-radius:20px; }
.elva-pg .ci-empty-h{ font-size:22px; }
}
/* page-specific design tokens — pipeline strips source :root */
.elva-pg{ --ai-g1:#C9B6FF; --acc:#5B8DEF; --font-serif:'Newsreader',Georgia,serif; }

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