.elementor-kit-5{--e-global-color-primary:#4A1D6E;--e-global-color-secondary:#7B4FB3;--e-global-color-text:#2A2333;--e-global-color-accent:#E8B84E;--e-global-color-01fec86:#33124F;--e-global-color-61b38ca:#E6DCF3;--e-global-color-ab0faa0:#F7F3FB;--e-global-color-3238f16:#5F566C;--e-global-color-8bc2aa7:#DDD2EA;--e-global-typography-primary-font-family:"Figtree";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:500;color:#2A2333;font-family:"Figtree", Sans-serif;font-size:18px;font-weight:400;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#4A1D6E;}.elementor-kit-5 a:hover{color:#7B4FB3;}.elementor-kit-5 h1{color:#4A1D6E;font-family:"Figtree", Sans-serif;font-size:36px;font-weight:800;}.elementor-kit-5 h2{color:#4A1D6E;font-family:"Figtree", Sans-serif;font-size:28px;font-weight:800;}.elementor-kit-5 h3{color:#2A2333;font-family:"Figtree", Sans-serif;font-size:19px;font-weight:700;}.elementor-kit-5 h4{color:#2A2333;font-family:"Figtree", Sans-serif;font-size:17px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}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 *//* =====================================================================
   INFINITE LIFE WORKS â€” GLOBAL CSS
   Paste ONCE into: Elementor > Site Settings > Custom CSS
   (Do not paste into individual pages.)

   How this file is organized:
     1. Brand tokens (colors, font, spacing). Change a value here and it
        updates everywhere.
     2. Elementor container cleanup (removes default padding/gaps around
        our HTML blocks).
     3. Base reset for anything inside an .ilw block.
     4. Shared components used on more than one page:
        layout, headings, buttons, photo placeholder, images, split
        layout, page header, placeholder highlight.

   Section-specific styles live inside each section's HTML block and are
   prefixed with that section's own class (for example .ilw-hero), so a
   lower section can never change a higher one.

   Every class starts with "ilw-" so nothing collides with Elementor,
   the Hello theme, or plugins.
   ===================================================================== */


/* ---------- 1. BRAND TOKENS ----------
   The first four read from Elementor's Global Colors when they exist,
   so updating Site Settings > Global Colors also updates these blocks.
   The value after the comma is the fallback. */
:root{
  --ilw-plum:      var(--e-global-color-primary,   #4A1D6E); /* main brand purple   */
  --ilw-violet:    var(--e-global-color-secondary, #7B4FB3); /* secondary purple    */
  --ilw-ink:       var(--e-global-color-text,      #2A2333); /* body text           */
  --ilw-gold:      var(--e-global-color-accent,    #E8B84E); /* "coming soon" label + focus rings */
  --ilw-plum-deep: #33124F;  /* dark bands: hero, page headers, form band */
  --ilw-lilac:     #E6DCF3;  /* light lilac buttons and strip            */
  --ilw-lilac-soft:#F7F3FB;  /* tinted section background                */
  --ilw-muted:     #5F566C;  /* secondary text                           */
  --ilw-line:      #DDD2EA;  /* borders and dividers                     */
  --ilw-white:     #FFFFFF;
  --ilw-on-dark-soft: #DACBEE; /* soft text on dark purple               */

  --ilw-font: "Figtree", "Segoe UI", Helvetica, Arial, sans-serif;

  --ilw-max: 1140px;          /* content width                           */
  --ilw-gutter: 28px;         /* side padding (18px on phones, below)    */
  --ilw-section-y: 84px;      /* top/bottom padding of each section      */
  --ilw-radius: 10px;         /* photos, cards                           */
  --ilw-btn-radius: 6px;      /* buttons                                 */
  --ilw-header-h: 76px;       /* used so anchor links land below the sticky header */
}
@media (max-width:1024px){ :root{ --ilw-section-y: 64px; } }
@media (max-width:767px){  :root{ --ilw-gutter: 18px; --ilw-section-y: 56px; } }


/* ---------- 2. ELEMENTOR CONTAINER CLEANUP ----------
   Any container that directly holds one of our HTML blocks loses its
   default padding and gap, so the block controls its own spacing.
   (You should still set those containers to Full Width / Padding 0;
   this is a safety net.) */
.e-con:has(> .elementor-widget-html .ilw),
.e-con:has(> .e-con-inner > .elementor-widget-html .ilw){
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px;
}
.elementor-widget-html:has(.ilw){ margin-bottom:0 !important; }


/* ---------- 3. BASE RESET (only inside .ilw blocks) ---------- */
.ilw, .ilw *, .ilw *::before, .ilw *::after{ box-sizing:border-box; }
/* :where() gives this rule zero specificity, so any section can set its
   own text color or size without fighting it. */
:where(.ilw){
  font-family:var(--ilw-font);
  font-size:18px;
  line-height:1.6;
  color:var(--ilw-ink);
  -webkit-font-smoothing:antialiased;
}
body .ilw p, body .ilw ul, body .ilw ol{ margin:0; }
body .ilw a{ color:inherit; }
body .ilw img{ max-width:100%; height:auto; display:block; }
.ilw [id]{ scroll-margin-top:calc(var(--ilw-header-h) + 16px); }

/* Visible keyboard focus everywhere */
.ilw a:focus-visible,
.ilw button:focus-visible,
.ilw summary:focus-visible,
.ilw input:focus-visible,
.ilw select:focus-visible,
.ilw textarea:focus-visible{
  outline:3px solid var(--ilw-gold);
  outline-offset:3px;
}


/* ---------- 4. SHARED COMPONENTS ---------- */

/* Layout */
.ilw .ilw-wrap{ max-width:var(--ilw-max); margin:0 auto; padding-inline:var(--ilw-gutter); }
.ilw.ilw-section{ padding-block:var(--ilw-section-y); background:var(--ilw-white); }
.ilw.ilw-section--tint{ background:var(--ilw-lilac-soft); }
.ilw.ilw-section--dark{ background:var(--ilw-plum-deep); color:var(--ilw-white); }

/* Headings and intro text (double class beats Elementor/theme heading styles) */
.ilw .ilw-h1{
  font-family:var(--ilw-font); font-weight:800; letter-spacing:-.025em; line-height:1.05;
  font-size:clamp(36px,4.6vw,56px); margin:0 0 14px; color:inherit; text-wrap:balance;
}
.ilw .ilw-h2{
  font-family:var(--ilw-font); font-weight:800; letter-spacing:-.02em; line-height:1.15;
  font-size:clamp(28px,3.2vw,40px); margin:0 0 14px; color:var(--ilw-plum); text-wrap:balance;
}
.ilw.ilw-section--dark .ilw-h2{ color:var(--ilw-white); }
.ilw .ilw-h3{
  font-family:var(--ilw-font); font-weight:700; line-height:1.3;
  font-size:20px; margin:0 0 8px; color:var(--ilw-ink); text-wrap:balance;
}
.ilw .ilw-lede{ font-size:19px; color:var(--ilw-muted); max-width:36em; margin:0 0 40px; }
.ilw.ilw-section--dark .ilw-lede{ color:var(--ilw-on-dark-soft); }

/* Buttons */
.ilw .ilw-btns{ display:flex; flex-wrap:wrap; gap:12px; }
body .ilw .ilw-btn{
  display:inline-block; font:700 17px/1 var(--ilw-font);
  padding:16px 24px; border-radius:var(--ilw-btn-radius);
  border:2px solid transparent; text-decoration:none; text-align:center; cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease;
}
body .ilw .ilw-btn--plum{ background:var(--ilw-plum); color:var(--ilw-white); }
body .ilw .ilw-btn--plum:hover{ background:var(--ilw-violet); color:var(--ilw-white); }
body .ilw .ilw-btn--lilac{ background:var(--ilw-lilac); color:var(--ilw-plum-deep); }
body .ilw .ilw-btn--lilac:hover{ background:var(--ilw-white); color:var(--ilw-plum-deep); }
body .ilw .ilw-btn--ghost{ background:transparent; border-color:rgba(255,255,255,.5); color:var(--ilw-white); }
body .ilw .ilw-btn--ghost:hover{ border-color:var(--ilw-white); color:var(--ilw-white); }

/* Simple bulleted list */
.ilw .ilw-list{ padding-left:1.1em; display:grid; gap:8px; }
.ilw .ilw-list li::marker{ color:var(--ilw-violet); }
.ilw .ilw-list b{ color:var(--ilw-ink); }
.ilw .ilw-list span{ color:var(--ilw-muted); }

/* Real photos (use once you have images) */
.ilw .ilw-img{ width:100%; height:100%; object-fit:cover; border-radius:var(--ilw-radius); }

/* Photo placeholder (delete each one when its real photo goes in) */
.ilw .ilw-photo{
  position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:6px;
  max-width:100%; padding:22px; border-radius:var(--ilw-radius);
  border:1px dashed var(--ilw-violet); color:#5B3A85; font-size:14px; line-height:1.45;
  background:repeating-linear-gradient(135deg,rgba(74,29,110,.06) 0 12px,transparent 12px 24px),#F1EAFA;
}
.ilw .ilw-photo b{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; }

/* Placeholder text highlight (anything still to be filled in) */
.ilw .ilw-ph{
  background:#F1EAFA; color:#5B3A85; border:1px dashed var(--ilw-violet);
  border-radius:3px; padding:0 .3em; font-size:.9em; font-weight:500;
}

/* Media + text split (Home "A real personâ€¦" and About "Mission") */
.ilw .ilw-split{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.ilw .ilw-split--flip{ grid-template-columns:1.1fr .9fr; }
.ilw .ilw-split > *{ min-width:0; }
.ilw .ilw-split p{ max-width:34em; margin:0 0 18px; }
@media (max-width:1024px){
  .ilw .ilw-split, .ilw .ilw-split--flip{ grid-template-columns:1fr; gap:32px; }
  .ilw .ilw-split--flip .ilw-split__media{ order:-1; }
}

/* Inner-page header band (About us, Get Started) */
.ilw.ilw-pagehead{ background:var(--ilw-plum-deep); color:var(--ilw-white); padding-block:60px 56px; }
.ilw-pagehead .ilw-crumb{ font-size:15px; color:var(--ilw-on-dark-soft); margin:0 0 14px; }
body .ilw-pagehead .ilw-crumb a{ color:var(--ilw-white); }
.ilw-pagehead .ilw-pagehead__intro{ max-width:36em; color:var(--ilw-on-dark-soft); font-size:19px; }

/* =====================================================================
   7. PAGE HEADER SPACING (all inner pages)
   More breathing room in the purple header band at the top of
   For Families, Services, For Case Managers, Careers, About, Contact
   and Privacy Policy. Bigger px numbers = more space.
   ===================================================================== */

/* Space above and below the whole purple band */
.ilw.ilw-pagehead{ padding-block:88px 84px; }
/* Space under "Home / Page name" */
.ilw.ilw-pagehead .ilw-crumb{ margin-bottom:24px; }
/* Space under the gold label (For Case Managers) */
.ilw.ilw-pagehead .ilw-badge{ margin-bottom:24px; }
/* Space under the headline */
.ilw.ilw-pagehead .ilw-h1{ margin-bottom:24px; line-height:1.1; }
/* Line spacing inside the intro paragraph */
.ilw.ilw-pagehead .ilw-pagehead__intro{ line-height:1.7; }
/* Space above the buttons */
.ilw.ilw-pagehead .ilw-pagehead__actions{ margin-top:40px; }

/* Phones: a bit less, so the buttons stay near the top of the screen */
@media (max-width:767px){
  .ilw.ilw-pagehead{ padding-block:60px 56px; }
  .ilw.ilw-pagehead .ilw-crumb,
  .ilw.ilw-pagehead .ilw-badge,
  .ilw.ilw-pagehead .ilw-h1{ margin-bottom:18px; }
  .ilw.ilw-pagehead .ilw-pagehead__actions{ margin-top:30px; }
}/* End custom CSS */