
/* ============================================================
   Homepage presentation.
   Content visible without JS: neutralize the shared scroll-reveal hiding.
   ============================================================ */
[data-reveal], [data-stagger] > *, .image-reveal { opacity: 1 !important; transform: none !important; }


.ij-wrap { --ink:#0B1B33; --ink-2:#12294a; --sky:#3B6B9E; --flame:var(--home-link); --flame-2:#FFD08A; --mint:var(--home-success);  }

/* ---------- HERO ---------- */
.ij-hero { position: relative; overflow: hidden; background: #10243e; color:#fff; padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.ij-hero::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(900px 500px at 20% 10%, #000 30%, transparent 75%); pointer-events:none; }
.ij-orb { display:none; position:absolute; border-radius:50%; filter: blur(50px); opacity:.5; pointer-events:none; }
.ij-orb.a { width:420px; height:420px; background:#E85D04; top:-120px; right:-60px; opacity:.28; }
.ij-orb.b { width:360px; height:360px; background:#00A86B; bottom:-140px; left:-80px; opacity:.22; }
.ij-hero .container { position:relative; z-index:1; }
.ij-grid { display:grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem,4vw,4rem); align-items:center; }
.ij-grid > * { min-width:0; }
@media (max-width: 900px){ .ij-grid { display:flex; flex-direction:column; } }

.ij-eyebrow { display:inline-flex; align-items:center; gap:.5rem; background:rgba(0,168,107,0.16); color:#7EF3C0; border:1px solid rgba(0,168,107,0.4); font-weight:700; font-size:.85rem; letter-spacing:.02em; padding:.5rem 1rem; border-radius:999px; margin-bottom:1.5rem; }
.ij-h1 { font-family: var(--font-family-display); font-weight:800; letter-spacing:-0.03em; line-height:1.12; font-size: clamp(2.05rem, 6vw, 4.4rem); margin:0 0 1.25rem; color:#fff; overflow-wrap:break-word; }
.ij-h1 .g { color:#FFD08A; }
.ij-lede { font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height:1.6; color:#D9E4F2; max-width:min(36rem, 100%); margin:0 0 2rem; }
.ij-cta { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-bottom:1.75rem; }
.ij-btn { display:inline-flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.05rem; padding:1rem 1.9rem; border-radius:14px; text-decoration:none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; border:2px solid transparent; }
.ij-btn-primary { background: linear-gradient(135deg, #E85D04, #F48C06); color:#fff; box-shadow: 0 10px 30px rgba(232,93,4,.45), 0 0 0 rgba(232,93,4,.5); }
.ij-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(232,93,4,.6); color:#fff; }
.ij-btn-ghost { background: rgba(255,255,255,.06); color:#fff; border-color: rgba(255,255,255,.45); }
.ij-btn-ghost:hover { background:#fff; color:var(--color-primary); transform: translateY(-3px); }
.ij-trust { display:flex; flex-wrap:wrap; gap:1.25rem; color:#D9E4F2; font-size:.95rem; font-weight:600; }
.ij-trust span { display:inline-flex; align-items:center; gap:.45rem; }
.ij-trust i { color:#3DDC97; }
.ij-greeting { display:inline-block; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff; font-weight:600; padding:.5rem 1rem; border-radius:10px; margin-bottom:1.25rem; }

/* Hero product panel */
.ij-panel { position:relative; }
.ij-shot { width:100%; max-width:100%; height:auto; border-radius:18px; border:1px solid rgba(255,255,255,.18); box-shadow: 0 40px 80px rgba(0,0,0,.5); background:#fff; display:block; }
.ij-chip { position:absolute; background:var(--color-surface); color:var(--color-text-primary); border-radius:14px; padding:.85rem 1.1rem; box-shadow: 0 18px 40px rgba(0,0,0,.28); display:flex; align-items:center; gap:.7rem; font-weight:700; }
.ij-chip small { display:block; font-weight:600; color:var(--color-text-muted); font-size:.875rem; }
.ij-chip .ic { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; flex:0 0 auto; }
.ij-chip.one { top:14%; left:-26px;  }
.ij-chip.two { bottom:12%; right:-22px;  }
@keyframes ijFloat { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-12px);} }
@media (max-width:900px){ .ij-chip.one{ left:2px;} .ij-chip.two{ right:2px;} .ij-panel{ margin-top:2rem; } }
@media (max-width:480px){ .ij-chip{ font-size:.85rem; padding:.6rem .8rem; } .ij-chip .ic{ width:32px; height:32px; } }

/* ---------- Shared section header ---------- */
.ij-sec { padding: clamp(3.5rem, 6vw, 6.5rem) 0; }
.ij-sec.alt { background: var(--color-background-alt); }
.ij-head { text-align:center; max-width:46rem; margin:0 auto clamp(2.5rem,4vw,3.5rem); }
.ij-kicker { display:inline-block; text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.8rem; color:var(--flame); margin-bottom:.75rem; }
.ij-title { font-family: var(--font-family-display); font-weight:800; letter-spacing:-0.02em; line-height:1.1; font-size: clamp(1.9rem, 3.4vw, 2.9rem); color: var(--color-text-primary); margin:0 0 .75rem; }
.ij-sub { font-size:1.15rem; color: var(--color-text-muted); margin:0; }

/* ---------- Schools band ---------- */
.ij-schools { padding: 2.25rem 0; background:#0B1B33; }
.ij-schools .lab { text-align:center; text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:700; color:#D9E4F2; margin-bottom:1.1rem; }
.ij-schools ul { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:1rem 2.5rem; margin:0; padding:0; list-style:none; }
.ij-schools li { color:#EAF1FB; font-family:var(--font-family-display); font-weight:700; font-size:clamp(1rem,1.6vw,1.35rem); opacity:1; }

/* ---------- Google Health pipeline ---------- */
.ij-flow { display:grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items:stretch; gap:1rem; }
.ij-node { background:var(--color-surface); border:1px solid var(--color-border); border-radius:20px; padding:2rem 1.5rem; text-align:center; box-shadow: var(--shadow-lg); position:relative; }
.ij-node .ic { width:74px; height:74px; border-radius:20px; display:flex; align-items:center; justify-content:center; font-size:1.9rem; margin:0 auto 1.1rem; color:#fff; }
.ij-node.n1 .ic { background: linear-gradient(135deg,#1E3A5F,#3B6B9E); }
.ij-node.n2 .ic { background: linear-gradient(135deg,#1a73e8,#34a853); }
.ij-node.n3 .ic { background: linear-gradient(135deg,#E85D04,#F48C06); }
.ij-node .step { position:absolute; top:1rem; left:1rem; font-weight:800; color:var(--color-text-muted); font-size:.9rem; }
.ij-node h3 { font-family:var(--font-family-display); font-size:1.3rem; margin:0 0 .5rem; color:var(--color-text-primary); }
.ij-node p { font-size:.95rem; color:var(--color-text-muted); margin:0; }
.ij-conn { display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--flame); min-width:120px; }
.ij-conn i { font-size:1.6rem;  }
.ij-conn span { font-size:.78rem; color:var(--color-text-muted); margin-top:.5rem; text-align:center; font-weight:600; }
@keyframes ijNudge { 0%,100%{ transform:translateX(0);} 50%{ transform:translateX(5px);} }
.ij-flow-out { text-align:center; margin-top:2.5rem; }
.ij-flow-out .pill { display:inline-flex; align-items:center; gap:.7rem; background:#163655; color:#fff; font-weight:700; font-size:1.05rem; padding:1rem 1.8rem; border-radius:999px; box-shadow: var(--shadow-primary); }
@media (max-width:900px){
  .ij-flow{ grid-template-columns:1fr; }
  .ij-conn{ min-width:0; padding:.4rem 0; }
  .ij-conn i{ transform:rotate(90deg); animation:none; }
}

/* ---------- Stats ---------- */
.ij-stats { display:grid; grid-template-columns: repeat(4,1fr); gap:1.25rem; }
@media (max-width:800px){ .ij-stats{ grid-template-columns: repeat(2,1fr);} }
.ij-stat { text-align:center; background:var(--color-surface); border:1px solid var(--color-border); border-radius:18px; padding:2rem 1rem; box-shadow:var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.ij-stat:hover { transform: translateY(-5px); box-shadow:var(--shadow-lg); }
.ij-stat .ic { width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; background:rgba(var(--color-accent-rgb),.12); color:var(--flame); font-size:1.4rem; }
.ij-stat .num { font-family:var(--font-family-display); font-weight:800; font-size:clamp(2rem,3.5vw,2.8rem); color:var(--color-text-primary); line-height:1; }
.ij-stat .lab { color:var(--color-text-muted); font-weight:600; margin-top:.5rem; font-size:.95rem; }

/* ---------- Feature cards ---------- */
.ij-features { display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; }
@media (max-width:900px){ .ij-features{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .ij-features{ grid-template-columns:1fr; } }
.ij-feat { background:var(--color-surface); border:1px solid var(--color-border); border-radius:18px; padding:2rem; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ij-feat:hover { transform: translateY(-6px); box-shadow:var(--shadow-xl); border-color:transparent; }
.ij-feat .ic { width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:#fff; margin-bottom:1.1rem; background: linear-gradient(135deg,var(--color-primary),var(--sky)); }
.ij-feat:nth-child(3n+2) .ic { background: linear-gradient(135deg,#00875A,#00A86B); }
.ij-feat:nth-child(3n) .ic { background: linear-gradient(135deg,#E85D04,#F48C06); }
.ij-feat h3 { font-family:var(--font-family-display); font-size:1.25rem; margin:0 0 .5rem; color:var(--color-text-primary); }
.ij-feat p { color:var(--color-text-muted); margin:0; }

/* ---------- Benefits ---------- */
.ij-benes { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width:768px){ .ij-benes{ grid-template-columns:1fr; } }
.ij-bene { background:var(--color-surface); border:1px solid var(--color-border); border-radius:20px; padding:2.25rem; box-shadow:var(--shadow-md); }
.ij-bene .bh { display:flex; align-items:center; gap:.9rem; margin-bottom:1.25rem; }
.ij-bene .bh .ic { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.3rem; }
.ij-bene.fac .bh .ic { background: linear-gradient(135deg,var(--color-primary),var(--sky)); }
.ij-bene.stu .bh .ic { background: linear-gradient(135deg,#00875A,#00A86B); }
.ij-bene h3 { font-family:var(--font-family-display); font-size:1.5rem; margin:0; }
.ij-bene ul { list-style:none; margin:0; padding:0; }
.ij-bene li { display:flex; gap:.7rem; padding:.6rem 0; color:var(--color-text-secondary); }
.ij-bene li i { color:var(--mint); margin-top:4px; }

/* ---------- Testimonials ---------- */
.ij-tests { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:900px){ .ij-tests{ grid-template-columns:1fr; max-width:640px; margin:0 auto; } }
.ij-test { background:var(--color-surface); border:1px solid var(--color-border); border-radius:20px; padding:2rem; box-shadow:var(--shadow-md); display:flex; flex-direction:column; }
.ij-test .stars { color:var(--home-link); margin-bottom:1rem; letter-spacing:2px; }
.ij-test blockquote { font-size:1.05rem; line-height:1.6; color:var(--color-text-primary); margin:0 0 1.5rem; }
.ij-test .who { display:flex; align-items:center; gap:.85rem; margin-top:auto; }
.ij-test .who img { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.ij-test .who .nm { font-weight:700; color:var(--color-text-primary); }
.ij-test .who .rl { font-size:.85rem; color:var(--color-text-muted); }

/* ---------- Cost band ---------- */
.ij-cost { position:relative; overflow:hidden; border-radius:28px; padding: clamp(3rem,6vw,5rem) 2rem; text-align:center; color:#fff; background: #10243e; }
.ij-cost h2 { color:#fff; font-family:var(--font-family-display); font-size:clamp(1.6rem,3vw,2.4rem); margin:0 0 .5rem; }
.ij-cost .zero { font-family:var(--font-family-display); font-weight:800; font-size:clamp(4rem,10vw,7rem); line-height:1; color:#FFD08A; }
.ij-cost p { color:#D9E4F2; font-size:1.15rem; max-width:640px; margin:1rem auto 2rem; }
.ij-cost .ij-cta { justify-content:center; }
.ij-assure { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin-top:2.25rem; }
.ij-assure span { display:inline-flex; align-items:center; gap:.5rem; background:var(--color-surface); border:1px solid var(--color-border); border-radius:999px; padding:.6rem 1.1rem; font-weight:600; font-size:.9rem; color:var(--color-text-primary); box-shadow:var(--shadow-xs); }
.ij-assure i { color:var(--mint); }

/* ---------- Feature card links ---------- */
.ij-feat .more { display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; color:var(--flame); font-weight:700; font-size:.92rem; text-decoration:underline; text-underline-offset:.2em; min-height:44px; }
.ij-feat .more:hover { text-decoration:underline; color:var(--flame); }
.ij-feat-cta { text-align:center; margin-top:2.25rem; }

/* ---------- Team ---------- */
.ij-team { display:grid; grid-template-columns:repeat(2, minmax(0,320px)); gap:1.5rem; justify-content:center; }
@media (max-width:640px){ .ij-team{ grid-template-columns:1fr; } }
.ij-mate { background:var(--color-surface); border:1px solid var(--color-border); border-radius:20px; padding:2rem; text-align:center; box-shadow:var(--shadow-md); }
.ij-mate img { width:120px; height:120px; border-radius:50%; object-fit:cover; margin-bottom:1rem; border:4px solid rgba(var(--color-accent-rgb), .25); }
.ij-mate .nm { font-family:var(--font-family-display); font-weight:800; font-size:1.2rem; color:var(--color-text-primary); }
.ij-mate .rl { color:var(--flame); font-weight:700; font-size:.9rem; margin-bottom:.6rem; }
.ij-mate p { color:var(--color-text-muted); font-size:.95rem; margin:0; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .ij-chip.one, .ij-chip.two, .ij-conn i { animation: none !important; }
  .ij-btn, .ij-stat, .ij-feat, .ij-btn-primary:hover, .ij-btn-ghost:hover { transition: none !important; transform: none !important; }
}

/* ---------- FAQ ---------- */
.ij-faq { max-width:820px; margin:0 auto; }
.ij-qa { background:var(--color-surface); border:1px solid var(--color-border); border-radius:14px; margin-bottom:.85rem; overflow:visible; }
.ij-qa summary { cursor:pointer; list-style:none; padding:1.25rem 1.5rem; font-weight:700; font-size:1.08rem; color:var(--color-text-primary); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.ij-qa summary::-webkit-details-marker { display:none; }
.ij-qa summary::after { content:"\002B"; font-weight:700; color:var(--flame); font-size:1.3rem; flex:0 0 auto; }
.ij-qa[open] summary::after { content:"\2212"; }
.ij-qa .body { padding:0 1.5rem 1.35rem; color:var(--color-text-secondary); line-height:1.6; }
/* Homepage-only palette. Text pairs target at least 7:1 in each theme. */
.efit-home {
  --color-background: #FFFFFF;
  --color-background-alt: #F3F6FA;
  --color-background-muted: #EAF0F6;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-text-primary: #14263D;
  --color-text-secondary: #30435A;
  --color-text-muted: #3E5065;
  --color-text-light: #3E5065;
  --color-border: #CBD5E1;
  --color-border-strong: #64748B;
  --home-link: #823300;
  --home-success: #006341;
  --gradient-surface: linear-gradient(#F3F6FA, #F3F6FA);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  .efit-home:not([data-theme="light"]) {
    --color-background: #0B1729;
    --color-background-alt: #102038;
    --color-background-muted: #182D45;
    --color-surface: #14263D;
    --color-surface-raised: #182D45;
    --color-text-primary: #F7FAFF;
    --color-text-secondary: #DFE8F4;
    --color-text-muted: #CEDAEA;
    --color-text-light: #CEDAEA;
    --color-border: #52657E;
    --color-border-strong: #AABDD5;
    --home-link: #FFD08A;
    --home-success: #8DE8BB;
    --gradient-surface: linear-gradient(#102038, #102038);
    color-scheme: dark;
  }
}
.efit-home[data-theme="dark"] {
  --color-background: #0B1729;
  --color-background-alt: #102038;
  --color-background-muted: #182D45;
  --color-surface: #14263D;
  --color-surface-raised: #182D45;
  --color-text-primary: #F7FAFF;
  --color-text-secondary: #DFE8F4;
  --color-text-muted: #CEDAEA;
  --color-text-light: #CEDAEA;
  --color-border: #52657E;
  --color-border-strong: #AABDD5;
  --home-link: #FFD08A;
  --home-success: #8DE8BB;
  --gradient-surface: linear-gradient(#102038, #102038);
  color-scheme: dark;
}
/* Accessible controls and homepage layout, including the shared chrome. */
.efit-home body { color:var(--color-text-primary); background:var(--color-background); line-height:1.65; padding-bottom:0; overflow-wrap:break-word; }
.efit-home .site-header { position:relative; background:var(--color-surface); backdrop-filter:none; }
.efit-home .navbar-brand { background:#fff; border-radius:8px; padding:4px; }
.efit-home .navbar-nav .nav-link, .efit-home .dropdown-item { color:var(--color-text-primary); min-height:44px; display:flex; align-items:center; white-space:normal; }
.efit-home .dropdown-menu { background:var(--color-surface); }
.efit-home .navbar-nav .nav-link:hover, .efit-home .dropdown-item:hover, .efit-home .dropdown-item:focus { background:var(--color-background-alt); color:var(--home-link); }
.efit-home .navbar-toggler { min-width:48px; min-height:48px; background:#fff; border:2px solid #52657E; }
.efit-home .btn, .efit-home .ij-btn { min-height:48px !important; justify-content:center; text-align:center; line-height:1.4; white-space:normal; }
.efit-home .btn-primary, .efit-home .ij-btn-primary { color:#14263D; background:#FFD08A; border:2px solid #823300; box-shadow:0 5px 14px #0002; }
.efit-home .btn-primary:hover, .efit-home .btn-primary:active, .efit-home .ij-btn-primary:hover { color:#14263D; background:#FFE1B0; border-color:#823300; transform:none; }
.efit-home .btn-outline { color:var(--color-text-primary); background:var(--color-surface); border-color:var(--color-border-strong); }
.efit-home .btn-outline:hover { color:var(--color-text-primary); background:var(--color-background-alt); }
.efit-home .ij-btn-secondary { color:var(--color-text-primary); background:var(--color-surface); border-color:var(--color-border-strong); }
.efit-home .ij-btn-ghost { color:#fff; background:transparent; border-color:#D9E4F2; }
.efit-home .ij-btn-ghost:hover { color:#14263D; background:#fff; }
.efit-home :is(a,button,input,summary,[tabindex]):focus-visible { outline:3px solid #14263D; outline-offset:3px; box-shadow:0 0 0 6px #fff; }
.efit-home :is(a,button,input,summary) { scroll-margin-block:1.5rem; }
.efit-home .skip-link { color:#fff; background:#14263D; min-height:48px; }
.efit-home .ij-hero::before { display:none; }
.ij-h1 { max-width:12ch; }
.ij-lede { margin-bottom:1.4rem; }
.ij-hero .ij-cta { margin-bottom:1rem; }
.ij-price-note { color:#DFE8F4; font-size:1rem; margin-bottom:1.25rem; }
.ij-price-note a, .ij-caption a { color:#FFD08A; text-decoration:underline; text-underline-offset:.2em; }
.ij-price-note a:hover, .ij-caption a:hover { color:#fff; }
.ij-panel { margin-bottom:0; }
.ij-caption { color:#DFE8F4; margin:1.2rem 0 0; line-height:1.65; font-size:.95rem; }
.ij-chip.two { bottom:25%; }
.ij-chip .ic, .ij-node .ic, .ij-feat .ic, .ij-bene .bh .ic { background:#163655 !important; color:#fff; }
.ij-section-nav { background:var(--color-background-alt); border-bottom:1px solid var(--color-border); }
.ij-section-nav .container { display:flex; justify-content:center; flex-wrap:wrap; gap:.25rem 1.5rem; padding-block:.65rem; }
.ij-section-nav a, .ij-next-link a { color:var(--home-link); text-decoration:underline; text-underline-offset:.25em; font-weight:700; display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:.35rem; }
.ij-start-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding:0; margin:0; list-style:none; }
.ij-start-steps li { padding:1.75rem; border:1px solid var(--color-border); border-radius:18px; background:var(--color-surface); }
.ij-step-label { display:block; font-size:.9rem; color:var(--home-link); font-weight:700; margin-bottom:1rem; }
.ij-start-steps h3 { color:var(--color-text-primary); font-size:1.35rem; }
.ij-start-steps p { color:var(--color-text-muted); margin:0; }
.ij-next-link { text-align:center; margin:1.5rem 0 0; }
.efit-home .ij-qa .body a { color:var(--home-link); text-decoration:underline; text-underline-offset:.2em; }
.ij-qa summary { border-radius:14px; }
.ij-qa summary:hover { background:var(--color-background-alt); }
.ij-qa summary::after { content:'+' / ''; }
.ij-qa[open] summary::after { content:'−' / ''; }
.ij-calculator-note { color:var(--color-text-muted); max-width:75ch; margin:0 auto 1.5rem; font-size:.95rem; }
.ij-number { width:100%; min-height:48px; border:2px solid var(--color-border-strong); border-radius:10px; padding:.55rem .75rem; font:inherit; font-weight:600; color:var(--color-text-primary); background:var(--color-surface); }
.ij-number[aria-invalid='true'] { border-color:var(--home-link); }
.efit-home .roi-result-card.roi-result-primary { background:#163655; color:#fff; }
.efit-home .roi-result-card.roi-result-accent { background:#FFD08A; color:#14263D; }
.efit-home .roi-result-accent :is(.roi-result-icon,.roi-result-value,.roi-result-label) { color:#14263D; }
.efit-home .roi-result-icon, .efit-home .roi-breakdown-icon { color:var(--color-text-primary); }
.efit-home .roi-result-primary .roi-result-icon { color:#fff; }
.efit-home .roi-result-label { font-size:.875rem; text-transform:none; letter-spacing:0; }
.efit-home .roi-result-value { font-size:clamp(1.5rem,2.8vw,2.25rem); overflow-wrap:anywhere; }
.efit-home .roi-breakdown-item { flex-wrap:wrap; }
.efit-home .roi-breakdown-icon { flex-shrink:0; }
.efit-home .roi-breakdown-value { white-space:nowrap; }
.efit-home .cta-card { background:#10243e; }
.efit-home :is(.cta-title,.cta-text,.cta-subtext) { color:#F7FAFF; opacity:1; }
.efit-home .cta-section .btn-outline { color:#fff; background:transparent; border-color:#D9E4F2; }
.efit-home .cta-section .btn-outline:hover { color:#14263D; background:#fff; }
.efit-home .site-footer { background:#0B1B33; }
.efit-home :is(.footer-heading,.copyright,.footer-tagline,.footer-contact a,.footer-links a,.trust-badge) { color:#DFE8F4; }
.efit-home .site-footer a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:.2em; }
.efit-home .social-links a { width:48px; min-height:48px; }
.efit-home .trust-badge i { color:#8DE8BB; }
.efit-home .mobile-cta, .efit-home .back-to-top { display:none !important; }
.ij-display-settings { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:1rem; padding:1.5rem; background:var(--color-background-alt); }
.ij-display-settings > span { align-self:center; font-weight:600; }
.efit-home .theme-toggle, .efit-home .a11y-widget { position:relative; inset:auto; }
.efit-home .theme-toggle { width:48px; height:48px; flex-shrink:0; }
.efit-home .theme-toggle .theme-toggle-icon { color:var(--color-text-primary); }
.efit-home .a11y-toggle { color:var(--color-text-primary); border-color:var(--color-border-strong); }
.efit-home .a11y-toggle:hover { color:#fff; background:#163655; }
.efit-home .a11y-panel { position:static; display:none; min-width:0; width:min(100%,24rem); margin-top:.75rem; padding:1rem; transform:none; }
.efit-home .a11y-widget.open .a11y-panel { display:block; }
.efit-home .a11y-option { flex-wrap:wrap; gap:.75rem; }
.efit-home .a11y-btn { width:auto; min-width:44px; height:auto; min-height:44px; padding:.4rem .65rem; color:var(--color-text-primary); border-color:var(--color-border-strong); }
.efit-home .a11y-btn.active { color:#fff; background:#163655; border-color:#163655; }
.efit-home .cookie-consent { position:static; display:none; transform:none; opacity:1; background:var(--color-surface); border-top:2px solid var(--color-border-strong); }
.efit-home .cookie-consent.visible { display:block; }
.efit-home .cookie-text, .efit-home .cookie-title { color:var(--color-text-primary); }
.efit-home .cookie-text a { color:var(--home-link); }
.efit-home .cookie-actions { flex-wrap:wrap; }
.efit-home .alert-info { color:#14263D; background:#E8F1FA; border-color:#52657E; }
.efit-home[data-contrast='high'] {
  --color-background:#fff; --color-background-alt:#fff; --color-background-muted:#fff;
  --color-surface:#fff; --color-surface-raised:#fff; --color-text-primary:#000;
  --color-text-secondary:#000; --color-text-muted:#000; --color-text-light:#000;
  --color-border:#000; --color-border-strong:#000; --home-link:#622600;
  --home-success:#00442D; --gradient-surface:linear-gradient(#fff,#fff); color-scheme:light;
}
@media (max-width:991px) {
  .ij-start-steps { grid-template-columns:1fr; }
  .efit-home .navbar-collapse { padding-block:1rem; }
  .efit-home .dropdown-menu { box-shadow:none; }
  .ij-grid { gap:2rem; }
}
@media (max-width:600px) {
  .ij-hero .ij-cta, .ij-cost .ij-cta { flex-direction:column; align-items:stretch; }
  .ij-hero .ij-btn, .ij-cost .ij-btn { width:100%; }
  .ij-h1 { font-size:clamp(2.1rem,10vw,3.25rem); }
  .ij-chip { position:static; margin-top:.75rem; width:100%; }
  .ij-panel { display:flex; flex-direction:column; }
  .ij-caption { order:1; }
  .ij-trust { gap:.65rem 1rem; }
  .ij-eyebrow { border-radius:12px; }
  .ij-flow-out .pill { border-radius:16px; text-align:left; padding:1rem; }
  .ij-bene, .ij-feat, .ij-test, .ij-mate { padding:1.5rem; }
  .efit-home .roi-calculator-container, .efit-home .roi-results { padding:1.25rem; }
  .efit-home .roi-results-grid { grid-template-columns:1fr; }
  .efit-home .cta-card { padding:2rem 1.25rem; }
  .efit-home .cta-buttons .btn { width:100%; }
  .efit-home .cookie-consent-inner { padding:1.25rem; }
}
@media (prefers-reduced-motion:reduce) {
  .efit-home, .efit-home *, .efit-home *::before, .efit-home *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
@media (forced-colors:active) {
  .efit-home .ij-h1 .g, .efit-home .ij-cost .zero { color:CanvasText; }
  .efit-home :is(.ij-hero,.ij-cost,.cta-card,.ij-schools) { background:Canvas; color:CanvasText; }
  .efit-home :is(.ij-btn,.btn,.ij-number,.ij-qa,button) { border:2px solid ButtonText; }
  .efit-home :is(a,button,input,summary):focus-visible { outline:3px solid Highlight; box-shadow:none; }
}

.efit-home .roi-section, .efit-home .roi-results { background:var(--color-background-alt); }
/* Switch color schemes atomically so intermediate colors retain contrast. */
.efit-home *, .efit-home *::before, .efit-home *::after { transition:none !important; }
@media (max-width:400px) {
  .ij-stats { grid-template-columns:minmax(0,1fr); }
}
/* Allow cards and long contact text to reflow with enlarged, widely spaced text. */
.ij-wrap :is(.ij-benes,.ij-features,.ij-tests,.ij-stats,.ij-flow,.ij-team) > * { min-width:0; }
.ij-bene .bh { flex-wrap:wrap; }
.efit-home .footer-contact a { max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.efit-home .navbar-collapse { min-width:0; }
.efit-home .navbar-nav { flex-wrap:wrap; justify-content:flex-end; }
