/* Elva page template — scoped marketing styles (careers). 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{overflow-x: hidden;}
@media (max-width: 767px){
.elva-pg{padding-bottom: 72px;}
}
.elva-pg .cr-wrap{max-width: 720px;  margin: 0 auto; padding: 0 24px;}
.elva-pg .cr-wrap-wide{max-width: 1080px; margin: 0 auto; padding: 0 32px;}
@media (max-width: 600px){
.elva-pg .cr-wrap{padding: 0 20px;}
.elva-pg .cr-wrap-wide{padding: 0 20px;}
}
.elva-pg .cr-hero{padding: 72px 0 64px;
  background: linear-gradient(180deg, var(--role-tint) 0%, transparent 60%);}
.elva-pg .cr-hero-grid{display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center;}
@media (min-width: 800px){
.elva-pg .cr-hero-grid{grid-template-columns: 1.05fr 1fr; gap: 56px;}
}
.elva-pg .cr-eyebrow{font-family: var(--font-mono); font-size:12px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--role-accent); font-weight: 500;
  display: flex; align-items: center; gap: 10px;}
.elva-pg .cr-eyebrow::before{content:''; width:18px; height:1.5px; background: var(--role-accent); flex: none;}
.elva-pg .cr-hero-h{font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-style: italic; font-weight: 400;
  font-size: clamp(34px, 5.2vw, 60px);
  line-height: 1.12; letter-spacing: -.01em;
  color: var(--ink-0); margin: 20px 0 0;
  text-wrap: pretty; max-width: 18ch;}
.elva-pg .cr-hero-sub{font-family: var(--font-display); font-size: clamp(16px, 2.1vw, 18.5px);
  font-weight: 400; color: var(--ink-2); line-height: 1.6;
  margin-top: 18px; max-width: 50ch; text-wrap: pretty;}
.elva-pg .cr-chips{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px;}
.elva-pg .cr-chip{font-family: var(--font-mono); font-size:12px; letter-spacing: .06em; font-weight: 500;
  color: var(--ink-1); background: #fff;
  border: 1px solid var(--cream-2); padding: 5px 11px; border-radius: 999px;}
.elva-pg .cr-hero-cta{display: flex; align-items: center; gap: 14px; margin-top: 28px; flex-wrap: wrap;}
.elva-pg .cr-hero-email-hint{display: inline-flex; align-items: center; gap: 7px;
  font-size:15px; font-weight: 500; color: var(--ink-3);
  transition: color .14s;}
.elva-pg .cr-hero-email-hint:hover{color: var(--ink-1);}
.elva-pg .cr-hero-email-hint svg{flex: none;}
.elva-pg .cr-btn{display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-body); font-size:16px; font-weight: 600;
  padding: 13px 24px; border-radius: 999px; border: none; cursor: pointer;
  transition: transform .12s, box-shadow .15s; white-space: nowrap;}
.elva-pg .cr-btn svg{width: 15px; height: 15px; flex: none;}
.elva-pg .cr-btn-primary{color: #fff; background: var(--role-accent);
  box-shadow: 0 6px 18px -6px var(--role-shadow);}
.elva-pg .cr-btn-primary:hover{transform: translateY(-1.5px); box-shadow: 0 10px 24px -8px var(--role-shadow);}
.elva-pg .cr-btn-light{color: var(--ink-0); background: #fff;
  box-shadow: 0 2px 8px rgba(20,20,30,.08);}
.elva-pg .cr-btn-light:hover{transform: translateY(-1px);}
.elva-pg .cr-motif{display: flex; align-items: center; justify-content: center;}
.elva-pg .cr-motif svg{width: 100%; max-width: 100%; height: auto;}
@media (max-width: 799px){
.elva-pg .cr-motif{order: -1;}
.elva-pg .cr-motif svg{max-width: 320px;}
}
.elva-pg .cr-section{padding: 72px 0; border-top: 1px solid var(--cream-2);}
@media (max-width: 600px){
.elva-pg .cr-section{padding: 52px 0;}
}
.elva-pg .cr-sec-label{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; margin-bottom: 28px;}
.elva-pg .cr-sec-label::after{content:''; flex:1; max-width:36px; height:1px; background: var(--cream-shadow);}
.elva-pg .cr-sec-body{font-size: 18px; line-height: 1.72; color: var(--ink-1);
  text-wrap: pretty; max-width: 60ch;}
@media (max-width: 600px){
.elva-pg .cr-sec-body{font-size: 17px;}
}
.elva-pg .cr-list{list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px;}
.elva-pg .cr-list-item{display: flex; gap: 16px; align-items: flex-start;
  font-size: 17px; line-height: 1.6; color: var(--ink-1);}
.elva-pg .cr-list-item::before{content: '—'; font-family: var(--font-mono); font-size:13px;
  color: var(--role-accent); font-weight: 500; flex: none; margin-top: 3px;}
.elva-pg .cr-nonneg-grid{display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 28px;}
@media (min-width: 560px){
.elva-pg .cr-nonneg-grid{grid-template-columns: repeat(3, 1fr);}
}
.elva-pg .cr-nonneg-card{background: var(--ink-0); color: #fff;
  padding: 24px 20px; border-radius: var(--r-xl);
  display: flex; flex-direction: column; gap: 10px;}
.elva-pg .cr-nonneg-num{font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em;
  color: var(--role-accent); display: block;}
.elva-pg .cr-nonneg-text{font-size:16px; font-weight: 550; line-height:1.5;}
.elva-pg .cr-why{padding: 88px 0;
  background: var(--role-tint);
  border-top: 1px solid var(--cream-2);
  border-bottom: 1px solid var(--cream-2);}
@media (max-width: 600px){
.elva-pg .cr-why{padding: 60px 0;}
}
.elva-pg .cr-why-quote{font-family: 'Newsreader', Georgia, 'Times New Roman', serif;
  font-style: italic; font-weight: 400;
  font-size: clamp(22px, 3.8vw, 40px);
  line-height: 1.3; color: var(--ink-0);
  margin: 0 0 36px; text-wrap: pretty;}
.elva-pg .cr-apply-card{background: var(--ink-0); color: #fff;
  padding: 56px 48px; border-radius: 24px;
  position: relative; overflow: hidden;}
@media (max-width: 600px){
.elva-pg .cr-apply-card{padding: 36px 24px; border-radius: var(--r-xl);}
}
.elva-pg .cr-apply-card::before{content: ''; position: absolute; top: -80px; right: -60px;
  width: 320px; height: 320px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, var(--role-shadow), transparent);
  opacity: .5;}
.elva-pg .cr-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 .cr-apply-h{font-family: var(--font-display); font-size: clamp(22px, 3.2vw, 34px);
  font-weight: 600; letter-spacing: -.03em; color: #fff;
  margin: 14px 0 0; line-height: 1.1;}
.elva-pg .cr-apply-body{font-size: 16.5px; line-height: 1.66; color: rgba(255,255,255,.7);
  margin-top: 16px; max-width: 52ch; text-wrap: pretty;}
.elva-pg .cr-apply-email{display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-display); font-size: 19px; font-weight: 600;
  color: #fff; margin-top: 24px; position: relative;
  transition: color .14s;}
.elva-pg .cr-apply-email:hover{color: var(--role-accent);}
.elva-pg .cr-apply-email svg{flex: none;}
.elva-pg .cr-apply-cta-row{display: flex; align-items: center; gap: 14px; margin-top: 28px; flex-wrap: wrap;}
.elva-pg .cr-apply-note{font-size:13.5px; color: rgba(255,255,255,.4);}
.elva-pg .cr-sticky-bar{position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
  background: var(--ink-0);
  padding: 10px 20px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  transform: translateY(100%); transition: transform .3s var(--ease-out);}
.elva-pg .cr-sticky-bar.is-visible{transform: translateY(0);}
@media (min-width: 768px){
.elva-pg .cr-sticky-bar{display: none !important;}
}
.elva-pg .cr-sticky-role{font-size:13.5px; color: rgba(255,255,255,.55); font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1;}
.elva-pg .cr-sticky-role strong{color: #fff; font-weight: 600;}
.elva-pg .cr-sticky-apply{font-size:15px; font-weight: 600; color: var(--ink-0);
  background: #fff; padding: 9px 18px; border-radius: 999px; white-space: nowrap; flex: none;}

/* ===== components ===== */
.elva-pg .cr-motif-img{
  width:100%; max-width:100%; height:auto; display:block;
  border-radius:var(--r-xl); border:1px solid var(--cream-2);
  box-shadow:var(--sh-4); object-fit:cover;
}
@media (max-width:799px){
.elva-pg .cr-motif-img{ max-width:360px; }
}
.elva-pg .cr-ico{ width:15px; height:15px; flex:none; }
.elva-pg .cr-apply-email .cr-ico{ width:20px; height:20px; }
.elva-pg .cr-hero-email-hint .cr-ico{ width:14px; height:14px; }
/* 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; }
