.elementor-kit-49{--e-global-color-primary:#2B3DF1;--e-global-color-secondary:#1625CA;--e-global-color-text:#0F172A;--e-global-color-accent:#66F5E2;--e-global-color-jireh-blue-light:#60A5FA;--e-global-color-jireh-dark-navy:#080D2A;--e-global-color-jireh-neutral:#F8FAFC;--e-global-color-jireh-gray-light:#F6F6F6;--e-global-color-jireh-surface-blue:#EEF2FF;--e-global-color-jireh-border:#E2E8F0;--e-global-color-jireh-text-muted:#334155;--e-global-color-jireh-text-dark:#CBD5E1;--e-global-color-jireh-white:#FFFFFF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-jireh-h1-font-family:"Playfair Display";--e-global-typography-jireh-h1-font-size:60px;--e-global-typography-jireh-h1-font-weight:700;--e-global-typography-jireh-h1-line-height:1.08em;--e-global-typography-jireh-h1-letter-spacing:-0.03em;--e-global-typography-jireh-h2-font-family:"Playfair Display";--e-global-typography-jireh-h2-font-size:48px;--e-global-typography-jireh-h2-font-weight:700;--e-global-typography-jireh-h2-line-height:1.15em;--e-global-typography-jireh-h2-letter-spacing:-0.02em;--e-global-typography-jireh-h3-font-family:"Playfair Display";--e-global-typography-jireh-h3-font-size:40px;--e-global-typography-jireh-h3-font-weight:700;--e-global-typography-jireh-h3-line-height:1.15em;--e-global-typography-jireh-h3-letter-spacing:-0.01em;--e-global-typography-jireh-h4-font-family:"Playfair Display";--e-global-typography-jireh-h4-font-size:32px;--e-global-typography-jireh-h4-font-weight:700;--e-global-typography-jireh-h4-line-height:1.15em;--e-global-typography-jireh-h4-letter-spacing:-0.01em;--e-global-typography-jireh-h5-font-family:"Playfair Display";--e-global-typography-jireh-h5-font-size:26px;--e-global-typography-jireh-h5-font-weight:700;--e-global-typography-jireh-h5-line-height:1.3em;--e-global-typography-jireh-h6-font-family:"Playfair Display";--e-global-typography-jireh-h6-font-size:22px;--e-global-typography-jireh-h6-font-weight:700;--e-global-typography-jireh-h6-line-height:1.3em;--e-global-typography-jireh-h7-font-family:"Inter";--e-global-typography-jireh-h7-font-size:20px;--e-global-typography-jireh-h7-font-weight:600;--e-global-typography-jireh-h7-line-height:1.4em;--e-global-typography-jireh-body-large-font-family:"Inter";--e-global-typography-jireh-body-large-font-size:20px;--e-global-typography-jireh-body-large-font-weight:400;--e-global-typography-jireh-body-large-line-height:1.7em;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:1.75em;}.elementor-kit-49 e-page-transition{background-color:#FFBC7D;}.elementor-kit-49 a{color:#2B3DF1;}.elementor-kit-49 a:hover{color:#1625CA;}.elementor-kit-49 h1{font-family:"Playfair Display", Sans-serif;font-weight:700;}.elementor-kit-49 h2{font-family:"Playfair Display", Sans-serif;font-weight:700;}.elementor-kit-49 h3{font-family:"Playfair Display", Sans-serif;font-weight:700;}.elementor-kit-49 h4{font-family:"Playfair Display", Sans-serif;font-weight:700;}.elementor-kit-49 h5{font-family:"Inter", Sans-serif;font-weight:600;}.elementor-kit-49 h6{font-family:"Inter", Sans-serif;font-weight:600;}.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-kit-49{--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:14px;--e-global-typography-jireh-h1-font-size:50px;--e-global-typography-jireh-h2-font-size:40px;--e-global-typography-jireh-h3-font-size:32px;--e-global-typography-jireh-h4-font-size:26px;--e-global-typography-jireh-h5-font-size:22px;--e-global-typography-jireh-h6-font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-49{--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:14px;--e-global-typography-jireh-h1-font-size:36px;--e-global-typography-jireh-h2-font-size:30px;--e-global-typography-jireh-h3-font-size:26px;--e-global-typography-jireh-h4-font-size:22px;--e-global-typography-jireh-h5-font-size:20px;--e-global-typography-jireh-h6-font-size:20px;--e-global-typography-jireh-h7-font-size:20px;--e-global-typography-jireh-body-large-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   JIREH CPA CO. — Global Brand Stylesheet
   Purpose : CSS custom properties + Elementor font overrides
             + utility classes. No element-level color rules —
             Elementor Kit global settings own those.
   Version : 2.0.0
   ============================================================ */


/* ── CSS CUSTOM PROPERTIES ───────────────────────────────────
   Single source of truth for every brand value.
   ──────────────────────────────────────────────────────────── */
:root {

  /* —— Brand Colors —— */
  --jireh-blue-logo:    #2B3DF1;
  --jireh-blue-deep:    #1625CA;
  --jireh-blue-light:   #60A5FA;
  --jireh-mint:         #66F5E2;
  --jireh-neutral:      #F8FAFC;
  --jireh-gray-light:   #F6F6F6;
  --jireh-surface-blue: #EEF2FF;
  --jireh-border:       #E2E8F0;
  --jireh-body-copy:    #0F172A;
  --jireh-dark-navy:    #080D2A;
  --jireh-slate:        #475569;
  --jireh-white:        #FFFFFF;

  /* —— Accessible Text Tokens (all ≥ 10:1 contrast) —— */
  --jireh-text-muted:      #334155;  /* 10.3:1 on #fff / #F8FAFC  */
  --jireh-text-muted-dark: #CBD5E1;  /* 13.3:1 on #080D2A          */

  /* —— Gradients —— */
  --jireh-grad-brand:  linear-gradient(135deg, #2B3DF1 0%, #1625CA 100%);
  --jireh-grad-dark:   linear-gradient(135deg, #1625CA 0%, #080D2A 100%);
  --jireh-grad-navy:   linear-gradient(135deg, #080D2A 0%, #0F172A 100%);
  --jireh-grad-accent: linear-gradient(135deg, #1625CA 0%, #66F5E2 100%);

  /* —— Typography Families —— */
  --jireh-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --jireh-font-body:    'Inter', system-ui, -apple-system, BlinkMacSystemFont,
                        'Segoe UI', sans-serif;

  /* —— Type Scale —— */
  --jireh-text-accent: 14px;
  --jireh-text-body:   18px;
  --jireh-text-h7:     20px;
  --jireh-text-h6:     22px;
  --jireh-text-h5:     26px;
  --jireh-text-h4:     32px;
  --jireh-text-h3:     40px;
  --jireh-text-h2:     48px;
  --jireh-text-h1:     60px;

  /* —— Line Heights —— */
  --jireh-lh-tight:   1.08;
  --jireh-lh-heading: 1.15;
  --jireh-lh-snug:    1.3;
  --jireh-lh-body:    1.75;

  /* —— Letter Spacing —— */
  --jireh-ls-h1:    -0.03em;
  --jireh-ls-h2:    -0.02em;
  --jireh-ls-h3:    -0.01em;
  --jireh-ls-h4:    -0.01em;
  --jireh-ls-body:   0em;
  --jireh-ls-accent: 0.12em;

  /* —— Border Radius —— */
  --jireh-radius-xs:   4px;
  --jireh-radius-sm:   6px;
  --jireh-radius-md:   12px;
  --jireh-radius:      16px;
  --jireh-radius-lg:   24px;
  --jireh-radius-pill: 100px;

  /* —— Spacing —— */
  --jireh-space-xs:  8px;
  --jireh-space-sm:  16px;
  --jireh-space-md:  24px;
  --jireh-space-lg:  36px;
  --jireh-space-xl:  48px;
  --jireh-space-2xl: 80px;
  --jireh-space-3xl: 112px;

  /* —— Elementor Global Color Slots —— */
  --e-global-color-primary:   var(--jireh-blue-logo);
  --e-global-color-secondary: var(--jireh-blue-deep);
  --e-global-color-text:      var(--jireh-body-copy);
  --e-global-color-accent:    var(--jireh-mint);

  /* —— Elementor Global Typography Slots —— */
  --e-global-typography-primary-font-family:   'Playfair Display';
  --e-global-typography-primary-font-weight:   700;
  --e-global-typography-secondary-font-family: 'Playfair Display';
  --e-global-typography-secondary-font-weight: 700;
  --e-global-typography-text-font-family:      'Inter';
  --e-global-typography-text-font-weight:      400;
  --e-global-typography-text-font-size:        18px;
  --e-global-typography-accent-font-family:    'Inter';
  --e-global-typography-accent-font-weight:    700;
  --e-global-typography-accent-font-size:      14px;
}


/* ── BASE RESET ──────────────────────────────────────────────
   Box model + rendering only. No colors, no fonts.
   ──────────────────────────────────────────────────────────── */
*,
*::before,
*::after { box-sizing: border-box; }

html {
  font-size: 16px;
  -webkit-font-smoothing:  antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}



/* ── UTILITY CLASSES ─────────────────────────────────────────
   Apply via Elementor's "CSS Classes" field on any widget
   or container. Never add inline styles.
   ──────────────────────────────────────────────────────────── */

/* Text color */
.text-muted,
.text-muted p                              { color: var(--jireh-text-muted)      !important; }
.text-muted-dark,
.text-muted-dark p                         { color: var(--jireh-text-muted-dark) !important; }
.text-light,
.text-light p                              { color: rgba(255,255,255,0.55)       !important; }
.text-white,
.text-white p,
.text-white .elementor-heading-title       { color: var(--jireh-white)           !important; }
.text-mint,
.text-mint p                               { color: var(--jireh-mint)            !important; }
.text-blue,
.text-blue p                               { color: var(--jireh-blue-deep)       !important; }

/* Background */
.bg-dark-navy  { background-color: var(--jireh-dark-navy)    !important; }
.bg-deep-blue  { background-color: var(--jireh-blue-deep)    !important; }
.bg-neutral    { background-color: var(--jireh-neutral)      !important; }
.bg-surface    { background-color: var(--jireh-surface-blue) !important; }
.bg-gray-light { background-color: var(--jireh-gray-light)   !important; }
.bg-white      { background-color: var(--jireh-white)        !important; }
.bg-brand      { background:       var(--jireh-grad-brand)   !important; }

/* Eyebrow / labels */
.eyebrow,
.label-text,
.section-label {
  font-family:    var(--jireh-font-body);
  font-size:      var(--jireh-text-accent);
  font-weight:    700;
  letter-spacing: var(--jireh-ls-accent);
  text-transform: uppercase;
  line-height:    1.4;
}
.eyebrow-blue,
.eyebrow-blue p { color: var(--jireh-blue-deep) !important; }
.eyebrow-mint,
.eyebrow-mint p { color: var(--jireh-mint)      !important; }

/* Cards */
.card {
  background:    var(--jireh-white);
  border:        1.5px solid var(--jireh-border);
  border-radius: var(--jireh-radius);
  padding:       28px;
}
.card-dark {
  background:    rgba(255,255,255,0.04);
  border:        1.5px solid rgba(255,255,255,0.1);
  border-radius: var(--jireh-radius);
  padding:       28px;
}
.card-blue {
  background:    var(--jireh-surface-blue);
  border:        1.5px solid rgba(43,61,241,0.15);
  border-radius: var(--jireh-radius);
  padding:       28px;
}

/* Pill tags */
.tag-mint  { display:inline-block; background:rgba(102,245,226,0.15); color:var(--jireh-body-copy); font-size:var(--jireh-text-accent); font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border-radius:var(--jireh-radius-pill); padding:3px 10px; }
.tag-blue  { display:inline-block; background:var(--jireh-surface-blue); color:var(--jireh-blue-deep); font-size:var(--jireh-text-accent); font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border-radius:var(--jireh-radius-pill); padding:3px 10px; }
.tag-dark  { display:inline-block; background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.7); font-size:var(--jireh-text-accent); font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border-radius:var(--jireh-radius-pill); padding:3px 10px; }
.tag-slate { display:inline-block; background:var(--jireh-gray-light); color:var(--jireh-text-muted); font-size:var(--jireh-text-accent); font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border-radius:var(--jireh-radius-pill); padding:3px 10px; }

/* H7 utility — Inter semi-bold sub-label */
.h7 {
  font-family:    var(--jireh-font-body);
  font-size:      var(--jireh-text-h7);
  font-weight:    600;
  line-height:    var(--jireh-lh-snug);
  letter-spacing: 0;
  margin-bottom:  0.4em;
}


/* ── RESPONSIVE TOKEN SCALING ────────────────────────────────
   Only the CSS variables change — all consumers update automatically.
   Body (18px) and accent (14px) minimums never drop.
   ──────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  :root {
    --jireh-text-h1: 50px;
    --jireh-text-h2: 40px;
    --jireh-text-h3: 32px;
    --jireh-text-h4: 26px;
    --jireh-text-h5: 22px;
  }
}

@media (max-width: 767px) {
  :root {
    --jireh-text-h1: 36px;
    --jireh-text-h2: 30px;
    --jireh-text-h3: 26px;
    --jireh-text-h4: 22px;
    --jireh-text-h5: 20px;
    --jireh-text-h6: 20px;
    --jireh-text-h7: 20px;
  }
}/* End custom CSS */