.elementor-kit-8{--e-global-color-primary:#1E4F9C;--e-global-color-secondary:#B32E70;--e-global-color-text:#3D4A63;--e-global-color-accent:#F9C75B;--e-global-color-ivnavydk:#16386F;--e-global-color-ivnavylt:#3E6DB5;--e-global-color-ivmagenta:#F0509C;--e-global-color-ivmaghover:#9C2861;--e-global-color-ivsunlt:#FDE7B4;--e-global-color-ivsundk:#E3A93A;--e-global-color-ivpink:#F5A3B5;--e-global-color-ivpinktint:#FBDDE4;--e-global-color-ivsky:#ACDCEA;--e-global-color-ivskytint:#DFF1F8;--e-global-color-ivmint:#D8EFE0;--e-global-color-ivcream:#FFF8EB;--e-global-color-ivice:#F0F8FB;--e-global-color-ivink:#24334F;--e-global-color-ivmuted:#5A6579;--e-global-color-ivline:#E7E2D6;--e-global-color-ivwhite:#FFFFFF;--e-global-typography-primary-font-family:"Fredoka";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:13px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:3px;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Fredoka";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-ivscript-font-family:"Lobster Two";--e-global-typography-ivscript-font-weight:700;--e-global-typography-ivcardh-font-family:"Fredoka";--e-global-typography-ivcardh-font-size:22px;--e-global-typography-ivcardh-font-weight:500;--e-global-typography-ivcardh-line-height:1.2em;--e-global-typography-ivcardh-letter-spacing:-0.8px;color:#3D4A63;font-family:"Plus Jakarta Sans", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;letter-spacing:-0.1px;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#1E4F9C;}.elementor-kit-8 a:hover{color:#B32E70;}.elementor-kit-8 h1{color:#1E4F9C;font-family:"Fredoka", Sans-serif;font-weight:500;}.elementor-kit-8 h2{color:#1E4F9C;font-family:"Fredoka", Sans-serif;font-weight:500;}.elementor-kit-8 h3{color:#24334F;font-family:"Fredoka", Sans-serif;font-weight:500;}.elementor-kit-8 h4{font-family:"Fredoka", Sans-serif;font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   InvigorCare brand layer  ·  Design System v1.2
   Only what Elementor controls cannot express natively lives here:
   pattern fills, section edge shapes, organic image masks,
   decorative SVG stickers, the marquee, and the reveal animation.
   Everything else (colour, spacing, radius, shadow, hover) is set on
   the widget/container itself so it stays editable in the UI.
   ============================================================ */

:root{
  --iv-navy:#1E4F9C;      --iv-navy-light:#3E6DB5;  --iv-navy-dark:#16386F;
  --iv-magenta:#F0509C;   --iv-magenta-ink:#B32E70; --iv-magenta-hover:#9C2861;
  --iv-sun:#F9C75B;       --iv-sun-light:#FDE7B4;   --iv-sun-dark:#E3A93A;
  --iv-pink:#F5A3B5;      --iv-pink-tint:#FBDDE4;
  --iv-sky:#ACDCEA;       --iv-sky-tint:#DFF1F8;
  --iv-mint:#D8EFE0;      --iv-cream:#FFF8EB;       --iv-ice:#F0F8FB;
  --iv-ink:#24334F;       --iv-body:#3D4A63;        --iv-muted:#5A6579;  --iv-line:#E7E2D6;
  --iv-sh-sm:0 1px 3px rgba(30,79,156,.07);
  --iv-sh-md:0 6px 18px rgba(30,79,156,.10);
  --iv-sh-lg:0 14px 40px rgba(30,79,156,.14);
  --iv-glow:0 8px 28px rgba(179,46,112,.28);
  --iv-blob:58% 42% 44% 56% / 52% 46% 54% 48%;
  --iv-blob2:44% 56% 58% 42% / 46% 52% 48% 54%;
  --iv-ease:cubic-bezier(0,0,.2,1);
  --iv-a:/wp-content/uploads/invigor;
}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{height:auto}

/* ---------- 1 · patterns ---------- */
.iv-dots{background-image:radial-gradient(circle,rgba(30,79,156,.10) 2.5px,transparent 2.6px);background-size:26px 26px}
.iv-dots-light{background-image:radial-gradient(circle,rgba(255,255,255,.45) 2.5px,transparent 2.6px);background-size:26px 26px}
.iv-stripes{background-image:repeating-linear-gradient(45deg,rgba(240,80,156,.07) 0 12px,transparent 12px 24px)}
.iv-dots,.iv-dots-light,.iv-stripes{background-repeat:repeat}

/* ---------- 2 · section edge shapes ----------
   The upright shape sits at the BOTTOM of a section and is filled with the
   colour of the section BELOW it, so the two always meet flush.
   Usage: add .iv-edge + a shape class, then set --edge-fill on the container. */
.iv-edge{position:relative}
.iv-edge > .e-con-inner,.iv-edge > .elementor-widget-wrap{position:relative;z-index:2}
.iv-edge::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;pointer-events:none;z-index:6;
  height:var(--edge-h,34px);background:var(--edge-fill,#fff);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:101% 101%;mask-size:101% 101%;
  -webkit-mask-position:bottom center;mask-position:bottom center}

.iv-edge--scallop{--edge-h:clamp(26px,2.6vw,36px)}
.iv-edge--scallop::after{-webkit-mask-image:url(/wp-content/uploads/invigor/edge-scallop.svg);mask-image:url(/wp-content/uploads/invigor/edge-scallop.svg)}

.iv-edge--wave{--edge-h:clamp(44px,5.4vw,84px)}
.iv-edge--wave::after{-webkit-mask-image:url(/wp-content/uploads/invigor/edge-wave.svg);mask-image:url(/wp-content/uploads/invigor/edge-wave.svg)}


.iv-edge--cloud{--edge-h:clamp(38px,4.4vw,66px)}
.iv-edge--cloud::after{-webkit-mask-image:url(/wp-content/uploads/invigor/edge-cloud.svg);mask-image:url(/wp-content/uploads/invigor/edge-cloud.svg)}

/* fills, named after the section that follows */
.iv-fill-white{--edge-fill:#fff}
.iv-fill-cream{--edge-fill:var(--iv-cream)}
.iv-fill-ice{--edge-fill:var(--iv-ice)}
.iv-fill-sun{--edge-fill:var(--iv-sun)}
.iv-fill-sun-light{--edge-fill:var(--iv-sun-light)}
.iv-fill-sky-tint{--edge-fill:var(--iv-sky-tint)}
.iv-fill-pink-tint{--edge-fill:var(--iv-pink-tint)}
.iv-fill-navy{--edge-fill:var(--iv-navy)}
.iv-fill-navy-grad::after{background:linear-gradient(135deg,var(--iv-navy) 0%,var(--iv-navy-light) 100%)}

/* ---------- 3 · organic image masks ---------- */
.iv-mask img{width:100%;object-fit:cover;display:block}
.iv-blob  img{border-radius:var(--iv-blob)}
.iv-blob2 img{border-radius:var(--iv-blob2)}
.iv-circle img{border-radius:50%;aspect-ratio:1/1}
.iv-arch  img{border-radius:999px 999px 30px 30px}
.iv-round img{border-radius:36px}

/* dashed ring that traces the mask */
.iv-ring{position:relative}
.iv-ring::before,.iv-ring > .elementor-widget-container::before{
  content:"";position:absolute;inset:-15px;border:4px dashed var(--iv-sun-dark);
  border-radius:46px;z-index:1;pointer-events:none}
.iv-ring.iv-blob::before,.iv-ring.iv-blob > .elementor-widget-container::before{border-radius:var(--iv-blob)}
.iv-ring.iv-blob2::before,.iv-ring.iv-blob2 > .elementor-widget-container::before{border-radius:var(--iv-blob2)}
.iv-ring.iv-circle::before,.iv-ring.iv-circle > .elementor-widget-container::before{border-radius:50%}
.iv-ring.iv-arch::before,.iv-ring.iv-arch > .elementor-widget-container::before{border-radius:999px 999px 44px 44px}
.iv-ring--pink::before,.iv-ring--pink > .elementor-widget-container::before{border-color:var(--iv-magenta)}
.iv-ring--thin::before,.iv-ring--thin > .elementor-widget-container::before{inset:-13px;border-width:3px}

/* ---------- 4 · decorative stickers ----------
   Purely ornamental, so they are pseudo-elements on the section rather than
   widgets in the tree. Hidden on mobile, exactly as the reference does. */
.iv-sticker{position:relative;--stk-top:auto;--stk-right:auto;--stk-bottom:auto;--stk-left:auto}
.iv-sticker::after{
  content:"";position:absolute;pointer-events:none;z-index:5;
  width:var(--stk-w,30px);aspect-ratio:1/1;
  top:var(--stk-top,auto);right:var(--stk-right,auto);
  bottom:var(--stk-bottom,auto);left:var(--stk-left,auto);
  background:var(--stk-color,var(--iv-sun));
  -webkit-mask:url(/wp-content/uploads/invigor/star.svg) center/contain no-repeat;
  mask:url(/wp-content/uploads/invigor/star.svg) center/contain no-repeat;
  animation:iv-twinkle 4.6s ease-in-out infinite}
.iv-sticker--confetti::after{
  background:none;aspect-ratio:100/60;animation:iv-floaty 7.5s ease-in-out infinite;
  -webkit-mask:none;mask:none;
  background-image:url(/wp-content/uploads/invigor/confetti.svg);background-size:contain;background-repeat:no-repeat}
.iv-sticker--confetti-warm::after{background-image:url(/wp-content/uploads/invigor/confetti-warm.svg)}
.iv-sticker--delay::after{animation-delay:1.5s}

/* illustrated characters */
.iv-kid{position:relative;--kid-top:auto;--kid-right:auto;--kid-bottom:0;--kid-left:auto}
.iv-kid::before{
  content:"";position:absolute;pointer-events:none;z-index:4;
  width:var(--kid-w,140px);aspect-ratio:150/210;
  top:var(--kid-top,auto);right:var(--kid-right,auto);
  bottom:var(--kid-bottom,0);left:var(--kid-left,auto);
  background-position:bottom center;background-size:contain;background-repeat:no-repeat;
  animation:iv-floaty 7.5s ease-in-out infinite}
.iv-kid--wave::before{background-image:url(/wp-content/uploads/invigor/kid-wave.svg)}
.iv-kid--bag::before{background-image:url(/wp-content/uploads/invigor/kid-bag.svg)}
.iv-kid--phones::before{background-image:url(/wp-content/uploads/invigor/kid-phones.svg)}
.iv-kid--sit::before{background-image:url(/wp-content/uploads/invigor/kid-sit.svg);aspect-ratio:1/1}

/* hand-drawn arrows linking the three service cards */
.iv-arrows{position:relative}
.iv-arrows::before,.iv-arrows::after{
  content:"";position:absolute;top:42%;width:78px;aspect-ratio:90/40;z-index:5;pointer-events:none;
  background-size:contain;background-repeat:no-repeat}
.iv-arrows::before{left:31.5%;background-image:url(/wp-content/uploads/invigor/arrow-pink.svg)}
.iv-arrows::after{left:64.5%;background-image:url(/wp-content/uploads/invigor/arrow-sky.svg)}

@keyframes iv-twinkle{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.18);opacity:1}}
@keyframes iv-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes iv-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- 5 · type accents ---------- */
.iv-hl b,.iv-hl strong,b.iv-hl,strong.iv-hl,.iv-hl-target{background:linear-gradient(var(--iv-sun),var(--iv-sun));background-size:100% .5em;background-position:0 72%;background-repeat:no-repeat;padding:0 3px;font-weight:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.iv-squiggle{position:relative;display:inline-block}
.iv-squiggle::after{
  content:"";position:absolute;left:0;right:0;bottom:-10px;height:13px;
  background:url(/wp-content/uploads/invigor/squiggle.svg) center/100% 100% no-repeat}

/* ---------- 6 · buttons ----------
   Shared shape + motion. Colour is left to the widget so it stays editable. */
.iv-btn .elementor-button{
  border-radius:999px;letter-spacing:1px;
  transition:background .15s var(--iv-ease),color .15s var(--iv-ease),
             box-shadow .15s var(--iv-ease),transform .15s var(--iv-ease)}
.iv-btn .elementor-button:hover{transform:translateY(-2px)}
.iv-btn .elementor-button:active{transform:translateY(1px) scale(.99)}
.iv-btn--primary .elementor-button:hover{box-shadow:var(--iv-glow)}
.iv-btn--sun .elementor-button:hover{box-shadow:var(--iv-sh-md)}
.iv-btn--ghost .elementor-button{
  background:none;padding:0 0 3px;border-bottom:3px solid var(--iv-sun);border-radius:0;
  transition:border-color .2s var(--iv-ease)}
.iv-btn--ghost .elementor-button:hover{background:none;transform:none;border-color:var(--iv-magenta-ink)}
.iv-btn--ghost .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.iv-btn--ghost .elementor-button-icon{transition:transform .2s var(--iv-ease)}

/* ---------- 7 · cards that tilt (home services) ---------- */
.iv-tilt-a{transform:rotate(-1.4deg)}
.iv-tilt-b{transform:rotate(.9deg)}
.iv-tilt-c{transform:rotate(-.8deg)}
.iv-tilt-a,.iv-tilt-b,.iv-tilt-c{transition:transform .3s var(--iv-ease),box-shadow .3s var(--iv-ease)}
.iv-tilt-a:hover,.iv-tilt-b:hover,.iv-tilt-c:hover{transform:translateY(-8px) rotate(0);box-shadow:var(--iv-sh-lg)}
.iv-chip-rot-a{transform:rotate(-3deg)}
.iv-chip-rot-b{transform:rotate(2deg)}
.iv-chip-rot-c{transform:rotate(-1.5deg)}

/* the round icon badge that overlaps the service photo */
.iv-badge{position:absolute !important;right:14px;bottom:-28px;z-index:3}

/* ---------- 8 · marquee ---------- */
.iv-marquee{overflow:hidden}
.iv-marquee .e-con-inner{max-width:none !important}
.iv-marquee-track{width:max-content !important;flex-wrap:nowrap !important;animation:iv-slide 26s linear infinite}
.iv-marquee-track .elementor-widget{white-space:nowrap}

/* ---------- 9 · rainbow rule ---------- */
.iv-rainbow{height:10px;display:flex;background:linear-gradient(90deg,
  #F9C75B 0 20%,#F5A3B5 20% 40%,#ACDCEA 40% 60%,#D8EFE0 60% 80%,#F0954B 80% 100%)}

/* ---------- 10 · quote mark ---------- */
.iv-qmark .elementor-icon{font-family:Georgia,serif}

/* ---------- 11 · masonry gallery (our homes) ---------- */
.iv-masonry .e-con-inner,.iv-masonry.e-con > .e-con-inner{display:block}
.iv-masonry .elementor-widget-image{break-inside:avoid;margin-bottom:20px;display:block}
.iv-masonry-cols{display:block !important;columns:3;column-gap:20px}
.iv-masonry-cols > .elementor-element{display:block;width:100%}
.iv-masonry-cols .elementor-widget{break-inside:avoid;margin-bottom:20px}
.iv-masonry-cols img{border-radius:28px;box-shadow:var(--iv-sh-sm);
  transition:transform .5s var(--iv-ease),box-shadow .3s var(--iv-ease)}
.iv-masonry-cols .elementor-widget-image:hover img{transform:scale(1.03);box-shadow:var(--iv-sh-md)}

/* ---------- 12 · sub-page hero overlay ---------- */
.iv-hero-overlay::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(22,56,111,.74) 0%,rgba(22,56,111,.2) 30%,rgba(22,56,111,.08) 50%),
    linear-gradient(94deg,rgba(22,56,111,.92) 0%,rgba(22,56,111,.78) 42%,rgba(22,56,111,.42) 70%,rgba(22,56,111,.14) 100%)}
.iv-hero-overlay{position:relative}
.iv-hero-overlay > .e-con-inner{position:relative;z-index:3}

/* the white fact strip that overlaps the hero */
.iv-overlap{position:relative;z-index:7;margin-top:clamp(-68px,-6vw,-52px)}

/* ---------- 13 · divided fact strip ---------- */
.iv-divided > .e-con-inner > .e-con:not(:last-child),
.iv-divided > .e-con:not(:last-child){border-right:1px solid var(--iv-line)}

/* ---------- 14 · form panel (contact) ---------- */
.iv-form .elementor-field-group > label{
  font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;font-weight:600;color:var(--iv-ink);margin-bottom:7px}
.iv-form .elementor-field-textual{
  background:#fff;border:1px solid var(--iv-line);border-radius:10px;padding:13px 16px;
  font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;color:var(--iv-ink);
  transition:border-color .15s var(--iv-ease),box-shadow .15s var(--iv-ease)}
.iv-form .elementor-field-textual:focus{
  outline:0;border-color:var(--iv-navy);box-shadow:0 0 0 3px rgba(30,79,156,.18)}
.iv-form textarea.elementor-field-textual{min-height:132px;resize:vertical}
.iv-form .elementor-field-type-radio .elementor-field-subgroup label{
  display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--iv-line);
  border-radius:999px;padding:12px 20px;font-size:15.5px;font-weight:600;color:var(--iv-ink);
  cursor:pointer;min-height:44px;margin-right:10px}
.iv-form .elementor-field-type-radio input{accent-color:var(--iv-navy);width:19px;height:19px}
.iv-form .elementor-button{border-radius:999px;letter-spacing:1px}

/* ---------- 15 · sticky aside ---------- */
.iv-sticky{position:sticky;top:104px}

/* ---------- 16 · reveal on scroll ---------- */
.iv-reveal{opacity:0;transform:translateY(24px);
  transition:opacity .5s var(--iv-ease),transform .5s var(--iv-ease)}
.iv-reveal.is-in{opacity:1;transform:none}
.iv-d1{transition-delay:.08s}.iv-d2{transition-delay:.16s}.iv-d3{transition-delay:.24s}

/* ---------- 17 · accessibility ---------- */
:focus-visible{outline:3px solid var(--iv-navy);outline-offset:3px;border-radius:4px}
.iv-on-dark :focus-visible,.iv-on-navy :focus-visible{outline-color:#fff}
.iv-skip{position:absolute;left:-999px;top:0;z-index:99;background:var(--iv-navy);color:#fff;
  padding:12px 20px;border-radius:0 0 12px 0;font-weight:600;text-decoration:none}
.iv-skip:focus{left:0}

/* ---------- 18 · responsive ---------- */
@media(max-width:1024px){
  .iv-arrows::before,.iv-arrows::after{display:none}
  .iv-kid::before{display:none}
  .iv-masonry-cols{columns:2}
  .iv-sticky{position:static}
  .iv-tilt-a,.iv-tilt-b,.iv-tilt-c{transform:none}
  .iv-divided > .e-con-inner > .e-con:not(:last-child),
  .iv-divided > .e-con:not(:last-child){border-right:0;border-bottom:1px solid var(--iv-line)}
}
@media(max-width:767px){
  .iv-sticker::after{display:none}
  .iv-masonry-cols{columns:1}
  .iv-overlap{margin-top:-44px}
  .iv-squiggle::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .iv-reveal{opacity:1;transform:none;transition:none}
  *{animation:none !important}
  .iv-marquee-track{animation:none !important}
}

/* ============================================================
   19 · decoration placements
   One named class per sticker/character position, so the page
   tree stays free of purely ornamental widgets.
   ============================================================ */

/* home · hero */
.iv-p-hero-kid{--kid-w:152px;--kid-left:-96px;--kid-bottom:-30px}
.iv-p-hero-star{--stk-w:34px;--stk-top:4%;--stk-right:-22px;--stk-color:var(--iv-navy)}
.iv-p-hero-confetti{--stk-w:86px;--stk-top:-14px;--stk-left:6%}

/* home · intro cluster */
.iv-p-intro-star{--stk-w:30px;--stk-top:-16px;--stk-left:6%;--stk-color:var(--iv-sun-dark)}

/* home · trust band */
.iv-p-trust-star{--stk-w:32px;--stk-top:34px;--stk-left:5%;--stk-color:#fff}
.iv-p-trust-kid{--kid-w:150px;--kid-right:0;--kid-bottom:-8px}

/* home · pillars */
.iv-p-pillars-star{--stk-w:26px;--stk-top:16%;--stk-left:16%;--stk-color:var(--iv-sun)}
.iv-p-pillars-kid-l{--kid-w:134px;--kid-left:3%;--kid-bottom:6px}
.iv-p-pillars-kid-r{--kid-w:128px;--kid-right:3%;--kid-bottom:6px}

/* home · young people's voice */
.iv-p-voice-star{--stk-w:28px;--stk-top:9%;--stk-right:5%;--stk-color:#fff}

/* home · testimonial */
.iv-p-quote-confetti{--stk-w:82px;--stk-bottom:14%;--stk-left:7%}

/* home · referral CTA */
.iv-p-refer-star{--stk-w:32px;--stk-top:20%;--stk-right:8%;--stk-color:var(--iv-sun)}
.iv-p-refer-kid{--kid-w:150px;--kid-left:5%;--kid-bottom:0}

/* sub-page · hero */
.iv-p-sub-star{--stk-w:38px;--stk-top:26%;--stk-right:9%;--stk-color:var(--iv-sun)}
.iv-p-sub-star-2{--stk-w:22px;--stk-bottom:26%;--stk-right:17%;--stk-color:#fff}

/* sub-page · body sections */
.iv-p-sec-star-tr{--stk-w:26px;--stk-top:8%;--stk-right:5%;--stk-color:var(--iv-sun-dark)}
.iv-p-sec-star-tl{--stk-w:26px;--stk-top:8%;--stk-left:4%;--stk-color:var(--iv-sun-dark)}
.iv-p-sec-star-white-tr{--stk-w:26px;--stk-top:8%;--stk-right:6%;--stk-color:#fff}
.iv-p-sec-star-navy-tl{--stk-w:28px;--stk-top:14%;--stk-left:4%;--stk-color:var(--iv-sun)}
.iv-p-sec-star-pink-tr{--stk-w:26px;--stk-top:8%;--stk-right:5%;--stk-color:var(--iv-pink)}
.iv-p-cta-star-l{--stk-w:30px;--stk-top:22%;--stk-left:9%;--stk-color:var(--iv-sun)}
.iv-p-cta-star-dk{--stk-w:26px;--stk-top:22%;--stk-right:8%;--stk-color:var(--iv-sun-dark)}
.iv-p-cta-confetti{--stk-w:78px;--stk-bottom:18%;--stk-right:8%}

/* ============================================================
   20 · image aspect ratios and shadows
   ============================================================ */
.iv-ar-1    img{aspect-ratio:1/1}
.iv-ar-43   img{aspect-ratio:4/3}
.iv-ar-34   img{aspect-ratio:3/4}
.iv-ar-45   img{aspect-ratio:4/5}
.iv-ar-1611 img{aspect-ratio:16/11}
.iv-ar-434  img{aspect-ratio:4/3.4}
.iv-ar-432  img{aspect-ratio:4/3.2}
.iv-ar-446  img{aspect-ratio:4/4.6}
.iv-ar-444  img{aspect-ratio:4/4.4}
.iv-sh-sm img{box-shadow:var(--iv-sh-sm)}
.iv-sh-md img{box-shadow:var(--iv-sh-md)}
.iv-sh-lg img{box-shadow:var(--iv-sh-lg)}
.iv-r26 img{border-radius:26px}

/* ============================================================
   21 · component details Elementor cannot express on its own
   ============================================================ */

/* home · intro photo cluster */
.iv-cluster{position:relative;padding-bottom:54px}
.iv-cluster-small{position:absolute !important;right:-6px;bottom:0;width:48%;z-index:4}
.iv-cluster-small img{border:7px solid var(--iv-cream);box-shadow:var(--iv-sh-md)}

/* home · service card photo well */
.iv-svc-ph{position:relative}
.iv-svc-ph .iv-badge{right:14px;bottom:-28px}
.iv-more .elementor-button{border-bottom:0;padding-bottom:0}

/* home · marquee item, star separator baked in */
.iv-mq-item .elementor-heading-title::after{
  content:"";display:inline-block;width:20px;height:20px;margin-left:22px;vertical-align:-3px;
  background:var(--iv-sun);
  -webkit-mask:url(/wp-content/uploads/invigor/star.svg) center/contain no-repeat;
  mask:url(/wp-content/uploads/invigor/star.svg) center/contain no-repeat}

/* home · young people's list, white circle behind each icon */
.iv-voice-list .elementor-icon-list-icon{
  width:32px;height:32px;border-radius:999px;background:#fff;flex-shrink:0;
  display:inline-flex !important;align-items:center;justify-content:center;
  box-shadow:var(--iv-sh-sm)}
.iv-voice-list .elementor-icon-list-item{align-items:flex-start}

/* home · testimonial */
.iv-qmark .elementor-icon{position:relative;font-family:Georgia,"Times New Roman",serif}
.iv-qmark .elementor-icon::after{
  content:"";position:absolute;inset:-12px;border:4px dashed var(--iv-pink);border-radius:999px}
.iv-quote-ph > *,.iv-quote-ph .elementor-widget-container > *{
  border:3px dashed var(--iv-magenta);border-radius:20px;padding:18px 26px;display:inline-block;
  background:rgba(255,255,255,.55)}

/* pill chips built from a single icon-box widget */
.iv-chip .elementor-icon-box-wrapper{display:flex;align-items:center;gap:0}
.iv-chip .elementor-icon-box-content{display:flex;align-items:center}
.iv-chip .elementor-icon-box-title{margin:0}
.iv-chip .elementor-icon-box-description{display:none}

/* eyebrow label sits on one line with its icon */
.iv-eyebrow .elementor-icon-box-wrapper{display:flex;align-items:center;gap:0}
.iv-eyebrow .elementor-icon-box-title{margin:0}
.iv-eyebrow .elementor-icon-box-description{display:none}
.iv-eyebrow--center .elementor-icon-box-wrapper{justify-content:center}

/* sub-page · fact strip cell */
.iv-fact-cell{border-right:1px solid var(--iv-line)}
.iv-fact-cell:last-child{border-right:0}
@media(max-width:1024px){
  .iv-fact-cell{border-right:0;border-bottom:1px solid var(--iv-line)}
  .iv-fact-cell:last-child{border-bottom:0}
}

/* sub-page · outcome rows */
.iv-outcome-row{border-top:1px solid var(--iv-line)}
.iv-outcome-row:last-child{border-bottom:1px solid var(--iv-line)}

/* careers · role rows hover */
.iv-role-row{transition:transform .25s var(--iv-ease),box-shadow .25s var(--iv-ease)}
.iv-role-row:hover{transform:translateX(5px);box-shadow:var(--iv-sh-md)}

/* generic lift-on-hover card */
.iv-lift{transition:transform .3s var(--iv-ease),box-shadow .3s var(--iv-ease)}
.iv-lift:hover{transform:translateY(-5px);box-shadow:var(--iv-sh-md)}
.iv-lift-lg:hover{transform:translateY(-6px);box-shadow:var(--iv-sh-md)}
.iv-nudge{transition:transform .25s var(--iv-ease)}
.iv-nudge:hover{transform:translateX(5px)}

/* contact · dashed placeholder token */
.iv-token > *,.iv-token .elementor-widget-container > *{
  display:inline-block;background:var(--iv-cream);border:2px dashed var(--iv-sun-dark);
  border-radius:999px;padding:9px 16px;font-family:Fredoka,sans-serif;font-weight:500;
  font-size:16px;color:var(--iv-navy)}

/* contact · map placeholder */
.iv-map-ph{border:2px dashed var(--iv-sky)}

/* our homes · filter pills */
.iv-filter .elementor-button{
  background:var(--iv-ice);color:var(--iv-navy);border-radius:999px;padding:10px 22px;
  font-family:Fredoka,sans-serif;font-weight:500;font-size:15.5px;letter-spacing:-.4px}
.iv-filter .elementor-button:hover{background:var(--iv-sun-light)}
.iv-filter--on .elementor-button{background:var(--iv-magenta-ink);color:#fff}

/* ============================================================
   22 · hero wash
   Elementor writes gradients into background-image, which would
   overwrite the dot pattern, so the hero paints both in one rule
   and keeps the reference's three-stop ramp.
   ============================================================ */
.iv-hero-bg{
  background-image:
    radial-gradient(circle,rgba(30,79,156,.10) 2.5px,transparent 2.6px),
    linear-gradient(168deg,#FFF4D9 0%,#FDE7B4 48%,#FACF7C 100%) !important;
  background-size:26px 26px,cover !important;
  background-repeat:repeat,no-repeat !important}

/* the hero photo well, so the waving character hangs off the photo
   rather than off the whole column */
.iv-hero-shot{max-width:min(430px,100%);margin-left:auto}
@media(max-width:1024px){.iv-hero-shot{margin:14px auto 0;max-width:min(380px,100%)}}

/* ============================================================
   23 · reduced motion also covers Elementor's entrance animations
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  .elementor-invisible{opacity:1 !important;animation:none !important;visibility:visible !important}
}

/* ============================================================
   24 · header, mega menu, footer
   ============================================================ */
.iv-topbar .iv-topbar-tel{background:none !important;box-shadow:none !important;padding:0 !important}
/* backdrop-filter creates a stacking context, which would otherwise trap the
   mega-menu dropdown underneath later page content — so the bar carries its own
   z-index and the dropdown paints above the page. */
.iv-navbar{position:relative;z-index:100;backdrop-filter:blur(10px);transition:box-shadow .3s var(--iv-ease)}
.iv-topbar{position:relative;z-index:101}
.iv-navbar.elementor-sticky--effects{box-shadow:var(--iv-sh-sm)}
.iv-logo img{mix-blend-mode:multiply}

.iv-mega .e-n-menu-title{white-space:nowrap}
.iv-mega-panel{border-top:3px solid var(--iv-sun)}
.iv-blurb{transition:background .2s var(--iv-ease),transform .2s var(--iv-ease)}
.iv-blurb:hover{background:var(--iv-cream);transform:translateY(-2px)}
.iv-mega-video .elementor-wrapper{border-radius:26px;overflow:hidden}

.iv-footer-logo img{background:#fff;border-radius:14px;padding:10px 14px}
.iv-rainbow{min-height:10px}

/* the referral popup */
.iv-popup .elementor-field-group{margin-bottom:0}

/* ============================================================
   25 · QA fixes
   ============================================================ */

/* star bullets as yellow discs, matching the reference lists */
.iv-starlist .elementor-icon-list-icon{
  width:36px;height:36px;border-radius:999px;background:var(--iv-sun);flex-shrink:0;
  display:inline-flex !important;align-items:center;justify-content:center}
.iv-starlist .elementor-icon-list-item{align-items:flex-start}

/* breadcrumbs and legal links sit on dark grounds */
.iv-crumbs a{color:rgba(255,255,255,.82);text-decoration:none}
.iv-crumbs a:hover{color:#fff}
.iv-on-navy a,.iv-on-dark a{color:var(--iv-sun)}
.iv-on-navy a:hover,.iv-on-dark a:hover{color:#fff}

/* the rainbow rule runs edge to edge */
.iv-rainbow{padding:0 !important;min-height:10px}
.iv-rainbow > .e-con-inner{padding:0 !important;margin:0 !important;max-width:none !important}

/* the gallery filter row */
.iv-filter-row{margin-bottom:34px}

/* home profile cards keep their photo filling the cell */
.iv-home-photo{align-self:stretch}
.iv-home-img,.iv-home-img img{height:100%;min-height:200px;object-fit:cover}

/* pillars characters sit lower so they clear the copy */
.iv-p-pillars-kid-l{--kid-w:112px;--kid-left:2%;--kid-bottom:0}
.iv-p-pillars-kid-r{--kid-w:108px;--kid-right:2%;--kid-bottom:0}

/* ============================================================
   26 · nothing may exceed the viewport on small screens
   ============================================================ */
@media(max-width:767px){
  .e-con,.e-con-inner,.e-con > .elementor-element{max-width:100% !important}
  .elementor-element{min-width:0}
  .elementor-widget-image img{max-width:100%;height:auto}
  .iv-masonry-cols{columns:1}
}
@media(max-width:1024px){
  .e-con-inner{max-width:100% !important}
}

/* ============================================================
   27 - news, single post and archive
   Post body and card markup is generated by WordPress and by the
   Elementor theme widgets, so it cannot be styled widget by widget.
   Everything here targets that generated markup only.
   ============================================================ */

/* ---------- 27a - the article body ---------- */
.iv-prose{max-width:720px}
.iv-prose p{font-family:"Plus Jakarta Sans",sans-serif;font-size:17.5px;line-height:1.78;color:var(--iv-body);margin:0 0 26px}
.iv-prose h2{font-family:Fredoka,sans-serif;font-weight:500;font-size:30px;line-height:1.16;letter-spacing:-1px;color:var(--iv-navy);margin:52px 0 16px}
.iv-prose h3{font-family:Fredoka,sans-serif;font-weight:500;font-size:22px;line-height:1.22;letter-spacing:-.6px;color:var(--iv-ink);margin:38px 0 12px}
.iv-prose > *:first-child{margin-top:0}
.iv-prose > p:first-of-type{font-size:20px;line-height:1.62;color:var(--iv-ink)}
.iv-prose a{color:var(--iv-magenta-ink);text-decoration:none;box-shadow:inset 0 -2px 0 var(--iv-sun);transition:box-shadow .15s var(--iv-ease)}
.iv-prose a:hover{box-shadow:inset 0 -22px 0 var(--iv-sun-light)}
.iv-prose strong{color:var(--iv-ink);font-weight:600}
.iv-prose ul,.iv-prose ol{margin:0 0 26px;padding:0;list-style:none;counter-reset:iv-num}
.iv-prose li{position:relative;padding-left:36px;margin-bottom:13px;font-family:"Plus Jakarta Sans",sans-serif;font-size:17.5px;line-height:1.7;color:var(--iv-body)}
.iv-prose ul li::before{content:"";position:absolute;left:0;top:.52em;width:13px;height:13px;border-radius:999px;background:var(--iv-sun)}
.iv-prose ol li{counter-increment:iv-num}
.iv-prose ol li::before{content:counter(iv-num);position:absolute;left:0;top:.08em;width:25px;height:25px;border-radius:999px;background:var(--iv-sky-tint);color:var(--iv-navy);font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}
.iv-prose blockquote{margin:38px 0;padding:26px 30px 26px 34px;background:var(--iv-cream);border-left:5px solid var(--iv-sun);border-radius:0 20px 20px 0}
.iv-prose blockquote p{font-family:Fredoka,sans-serif;font-weight:500;font-size:21px;line-height:1.42;letter-spacing:-.5px;color:var(--iv-navy);margin:0}
.iv-prose blockquote cite{display:block;margin-top:12px;font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;font-style:normal;color:var(--iv-muted)}
.iv-prose img{border-radius:26px;box-shadow:var(--iv-sh-sm)}
.iv-prose hr{border:0;border-top:1px solid var(--iv-line);margin:44px 0}
@media(max-width:767px){
  .iv-prose p,.iv-prose li{font-size:16.5px}
  .iv-prose > p:first-of-type{font-size:18.5px}
  .iv-prose h2{font-size:26px;margin-top:40px}
  .iv-prose blockquote{padding:22px 22px 22px 26px}
}
/* ---------- 27b - single post meta line ---------- */
.iv-postmeta .elementor-post-info__item{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;font-weight:600;color:var(--iv-muted)}
.iv-postmeta .elementor-post-info__terms-list-item{color:var(--iv-magenta-ink);text-decoration:none}
.iv-postmeta .elementor-post-info__terms-list-item:hover{color:var(--iv-navy)}
.iv-postmeta .elementor-icon-list-icon i{color:var(--iv-sun-dark)}

/* the category pill above the article title */
.iv-cat-pill .elementor-post-info__item{display:inline-flex;align-items:center;background:var(--iv-magenta-ink);border-radius:999px;padding:8px 17px}
.iv-cat-pill .elementor-post-info__terms-list,.iv-cat-pill .elementor-post-info__terms-list-item{color:#fff;font-family:"Plus Jakarta Sans",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none}
.iv-cat-pill .elementor-post-info__terms-list-item:hover{color:var(--iv-sun)}
.iv-cat-pill .elementor-icon-list-icon{display:none}

/* ---------- 27c - sticky article aside ---------- */
.iv-aside{position:sticky;top:112px}
@media(max-width:1024px){.iv-aside{position:static}}
.iv-share .elementor-share-btn{border-radius:999px;transition:transform .15s var(--iv-ease),box-shadow .15s var(--iv-ease)}
.iv-share .elementor-share-btn:hover{transform:translateY(-2px);box-shadow:var(--iv-sh-sm)}

/* ---------- 27d - previous and next article ---------- */
.iv-postnav .post-navigation__arrow-wrapper{color:var(--iv-magenta-ink)}
.iv-postnav .post-navigation__prev--label,.iv-postnav .post-navigation__next--label{font-family:"Plus Jakarta Sans",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--iv-muted)}
.iv-postnav .post-navigation__prev--title,.iv-postnav .post-navigation__next--title{font-family:Fredoka,sans-serif;font-weight:500;font-size:19px;line-height:1.25;letter-spacing:-.6px;color:var(--iv-navy)}
.iv-postnav a:hover .post-navigation__prev--title,.iv-postnav a:hover .post-navigation__next--title{color:var(--iv-magenta-ink)}
.iv-postnav .elementor-post-navigation__separator{background:var(--iv-line)}
/* ---------- 27e - post cards, archive and related ----------
   The cards skin puts the real card on .elementor-post__card and ships its
   own rules at three-class specificity, so these overrides are scoped
   through .elementor-posts.elementor-grid to win the cascade. */
.iv-cards .elementor-posts .elementor-post__card{border:1px solid var(--iv-line);box-shadow:none;transition:transform .3s var(--iv-ease),box-shadow .3s var(--iv-ease)}
.iv-cards .elementor-posts .elementor-post:hover .elementor-post__card{transform:translateY(-6px);box-shadow:var(--iv-sh-lg)}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__text{margin-top:26px;padding:0 28px}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__title{font-family:Fredoka,sans-serif;font-weight:500;font-size:23px;line-height:1.2;letter-spacing:-.8px;margin:0 0 12px}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__title a{color:var(--iv-navy);transition:color .15s var(--iv-ease)}
.iv-cards .elementor-posts.elementor-grid .elementor-post:hover .elementor-post__title a{color:var(--iv-magenta-ink)}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__excerpt{margin-bottom:18px}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__excerpt p{font-family:"Plus Jakarta Sans",sans-serif;font-size:15.5px;line-height:1.68;color:var(--iv-body);margin:0}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__read-more{font-family:Fredoka,sans-serif;font-weight:600;font-size:15px;letter-spacing:.4px;text-transform:none;color:var(--iv-magenta-ink);padding-bottom:3px;margin-bottom:26px;border-bottom:3px solid var(--iv-sun);transition:border-color .2s var(--iv-ease)}
.iv-cards .elementor-posts.elementor-grid .elementor-post:hover .elementor-post__read-more{border-color:var(--iv-magenta-ink)}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__meta-data{font-family:"Plus Jakarta Sans",sans-serif;font-size:13px;font-weight:600;color:var(--iv-muted);border-top:1px solid var(--iv-line);padding:14px 28px}
.iv-cards .elementor-posts.elementor-grid .elementor-post__card .elementor-post__badge{font-family:"Plus Jakarta Sans",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;padding:7px 15px;margin:18px}
.iv-cards .elementor-post__thumbnail img{transition:transform .55s var(--iv-ease),filter .3s}
.iv-cards .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.07) translate(-50%,-50%)}

/* the newest post on the archive runs the full width as the lead story.
   The cards skin lays the card out as thumbnail, badge, text, meta, so each
   part is placed explicitly rather than left to grid auto-flow. */
.iv-cards--lead .elementor-posts.elementor-grid > article:first-child{grid-column:1 / -1}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__card{display:grid;grid-template-columns:1.02fr 1fr;grid-template-rows:1fr auto}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__thumbnail__link{grid-column:1;grid-row:1 / span 2;height:100%;min-height:352px;padding-bottom:0 !important}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__thumbnail{position:absolute;inset:0;height:100%}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:none}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child:hover .elementor-post__thumbnail img{transform:scale(1.05)}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__text{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;margin-top:0;padding:46px 46px 0}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__title{font-size:31px;letter-spacing:-1.2px;margin-bottom:14px}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__excerpt p{font-size:17px}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__read-more{margin-bottom:0}
.iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__meta-data{grid-column:2;grid-row:2;border-top:0;padding:0 46px 42px;margin:16px 0 0}
@media(max-width:1024px){
  .iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__card{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__thumbnail__link{grid-column:1;grid-row:1;min-height:250px}
  .iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__text{grid-column:1;grid-row:2;padding:28px 28px 0}
  .iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__title{font-size:26px}
  .iv-cards.iv-cards--lead .elementor-posts.elementor-grid > article:first-child .elementor-post__meta-data{grid-column:1;grid-row:3;padding:0 28px 28px}
}
/* ---------- 27f - category chips ---------- */
.iv-chips{display:flex;flex-wrap:wrap;gap:10px}
.iv-chips a{display:inline-block;background:var(--iv-ice);color:var(--iv-navy);border-radius:999px;padding:10px 21px;font-family:Fredoka,sans-serif;font-weight:500;font-size:15.5px;letter-spacing:-.4px;text-decoration:none;transition:background .15s var(--iv-ease),color .15s var(--iv-ease),transform .15s var(--iv-ease)}
.iv-chips a:hover{background:var(--iv-sun-light);transform:translateY(-2px)}
.iv-chips a.is-current{background:var(--iv-magenta-ink);color:#fff}

/* ---------- 27g - archive pagination ---------- */
.iv-pager .elementor-pagination{display:flex;justify-content:center;gap:9px;margin-top:44px}
.iv-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--iv-line);font-family:Fredoka,sans-serif;font-weight:500;font-size:16px;color:var(--iv-navy);text-decoration:none;transition:background .15s var(--iv-ease),color .15s var(--iv-ease)}
.iv-pager .page-numbers:hover{background:var(--iv-sun-light)}
.iv-pager .page-numbers.current{background:var(--iv-navy);border-color:var(--iv-navy);color:#fff}

/* nothing published yet */
.iv-cards .elementor-posts-nothing-found{background:var(--iv-cream);border:2px dashed var(--iv-sun-dark);border-radius:28px;padding:54px 30px;text-align:center;font-family:Fredoka,sans-serif;font-weight:500;font-size:20px;letter-spacing:-.6px;color:var(--iv-navy)}
/* ---------- 27h - reading time chip in the article meta line ---------- */
.iv-metaitem .iv-readtime{display:inline-flex;align-items:center;font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;font-weight:600;color:var(--iv-muted)}
.iv-metaitem .iv-readtime::before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--iv-sun-dark);margin-right:12px}

/* ---------- 27i - cascade fixes ----------
   Elementor ships the post-info text colour and the icon-list icon display
   from stylesheets that load after the kit, so these need one extra class. */
.iv-cat-pill.elementor-widget .elementor-icon-list-icon{display:none}
.iv-cat-pill.elementor-widget .elementor-icon-list-text,
.iv-cat-pill.elementor-widget .elementor-post-info__terms-list,
.iv-cat-pill.elementor-widget .elementor-post-info__terms-list-item{color:#fff}
.iv-cat-pill.elementor-widget .elementor-post-info__terms-list-item:hover{color:var(--iv-sun)}
.iv-cat-pill.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text{padding-inline-start:0}

/* ---------- 28 - careers role accordion ---------- */
.iv-roles .e-n-accordion-item-title-text{display:flex;align-items:center;gap:15px}
.iv-roles .iv-rb{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--iv-sun-light);color:var(--iv-navy);transition:background .22s var(--iv-ease),color .22s var(--iv-ease)}
.iv-roles .iv-rb::before{content:"";width:21px;height:21px;background:currentColor;-webkit-mask:var(--iv-ico) center/contain no-repeat;mask:var(--iv-ico) center/contain no-repeat}
.iv-roles .e-n-accordion-item[open] .iv-rb{background:var(--iv-navy);color:var(--iv-sun)}
.iv-roles .iv-rb--lead{--iv-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.7 4.7 5.6v5.8c0 4.4 3 8 7.3 9.8 4.3-1.8 7.3-5.4 7.3-9.8V5.6Z'/%3E%3Cpath d='m8.8 11.9 2.3 2.3 4.2-4.5'/%3E%3C/svg%3E")}
.iv-roles .iv-rb--deputy{--iv-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.8' y='4.5' width='14.4' height='16' rx='3'/%3E%3Crect x='9' y='2.3' width='6' height='4.2' rx='1.6'/%3E%3Cpath d='m8.9 13.5 2.2 2.2 4-4.3'/%3E%3C/svg%3E")}
.iv-roles .iv-rb--team{--iv-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9.2' cy='8.2' r='3.3'/%3E%3Cpath d='M3.5 19.4c0-3.2 2.6-5.5 5.7-5.5s5.7 2.3 5.7 5.5'/%3E%3Cpath d='M16.2 5.5a3.3 3.3 0 0 1 0 6.1'/%3E%3Cpath d='M17.1 14.3c2.1.6 3.5 2.4 3.5 5.1'/%3E%3C/svg%3E")}
.iv-roles .iv-rb--senior{--iv-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8.4' r='3.3'/%3E%3Cpath d='M3.5 19.6c0-3.2 2.5-5.5 5.5-5.5 1.2 0 2.3.3 3.2.9'/%3E%3Cpath d='M17.6 20.2v-7.6'/%3E%3Cpath d='m14.4 15.6 3.2-3.2 3.2 3.2'/%3E%3C/svg%3E")}
.iv-roles .iv-rb--care{--iv-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.4S3.7 15.6 3.7 9.7A4.6 4.6 0 0 1 12 7.1a4.6 4.6 0 0 1 8.3 2.6c0 5.9-8.3 10.7-8.3 10.7Z'/%3E%3C/svg%3E")}
.iv-roles .e-n-accordion-item{box-shadow:var(--iv-sh-sm);transition:box-shadow .25s var(--iv-ease)}
.iv-roles .e-n-accordion-item:hover,.iv-roles .e-n-accordion-item[open]{box-shadow:var(--iv-sh-md)}
.iv-roles .e-n-accordion-item-title{cursor:pointer}
.iv-roles .e-n-accordion-item[open] > .e-n-accordion-item-title{border-bottom-left-radius:0;border-bottom-right-radius:0}
.iv-roles .e-n-accordion-item[open] > .e-con{border-top:0;border-top-left-radius:0;border-top-right-radius:0}
.iv-roles .e-n-accordion-item-title-icon{transition:transform .25s var(--iv-ease)}
.iv-roles .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon{transform:translateY(2px)}
.iv-roles .e-n-accordion-item[open] .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon{transform:translateY(-2px)}
@media(max-width:767px){
  .iv-roles .e-n-accordion-item-title-text{gap:12px}
  .iv-roles .iv-rb{width:38px;height:38px}
  .iv-roles .iv-rb::before{width:18px;height:18px}
}/* End custom CSS */