/* ==========================================================================
   INNATE ANALYTICS — v2 VISUAL REDESIGN LAYER
   Loads after main.css and refines it. Same content, cleaner structure.

   Design plan
   - Palette: Navy #0B2340 (depth), Brand blue #214F86 / #3F70B5, Magenta #A52A91
     (EMPOWER + accents), Teal #0F7F8C (ANALYSE), Mist #F3F7FB (alternate bands).
   - Type: Plus Jakarta Sans throughout (already loaded in header.php).
     800 for headings with tight tracking, 400/500 body, 16px / 1.65.
   - Layout: left-aligned editorial headers with a capped line length, image-led
     cards, one hairline-list pattern for dense text, generous vertical rhythm.
   - Division colour coding: EQUIP blue, ANALYSE teal, EMPOWER magenta.
   ========================================================================== */

:root {
  --ia-navy: #0B2340;
  --ia-navy-2: #12365F;
  --ia-blue: #214F86;
  --ia-blue-2: #3F70B5;
  --ia-magenta: #A52A91;
  --ia-teal: #0F7F8C;
  --ia-mist: #F3F7FB;
  --ia-rose: #FAF3FA;
  --ia-line: #DCE5EF;
  --ia-ink: #14233A;
  --ia-muted: #55616F;
  --ia-radius: 18px;
  --ia-radius-lg: 26px;
  --ia-shadow: 0 1px 2px rgba(11, 35, 64, .05), 0 10px 30px -12px rgba(11, 35, 64, .18);
  --ia-shadow-lg: 0 30px 60px -24px rgba(11, 35, 64, .45);
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --ink: var(--ia-ink);
  --muted-text: var(--ia-muted);
}

html { font-family: var(--font-sans); }
body { font-family: var(--font-sans); color: var(--ia-ink); font-size: 1rem; line-height: 1.65; background: #fff; }
body h1, body h2, body h3, body h4 { font-family: var(--font-sans); letter-spacing: -.02em; color: var(--ia-ink); }
body p { color: var(--ia-muted); }
body .container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 2rem); }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
body .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; padding: .8rem 1.5rem; border-radius: 999px;
  font-family: inherit; font-size: .95rem; font-weight: 700; letter-spacing: 0; line-height: 1.2;
  text-align: center; border: 2px solid transparent; cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
body .btn:hover { transform: translateY(-1px); }
body .btn-primary { background: var(--ia-blue); color: #fff; border-color: var(--ia-blue); box-shadow: 0 8px 20px -10px rgba(33, 79, 134, .8); }
body .btn-primary:hover { background: var(--ia-navy-2); border-color: var(--ia-navy-2); color: #fff; }
body .btn-magenta { background: var(--ia-magenta); color: #fff; border-color: var(--ia-magenta); box-shadow: 0 8px 20px -10px rgba(165, 42, 145, .8); }
body .btn-magenta:hover { background: #8a2279; border-color: #8a2279; color: #fff; }
body .btn-secondary-outline, body .btn-outline { background: transparent; color: var(--ia-blue); border-color: var(--ia-blue); }
body .btn-secondary-outline:hover, body .btn-outline:hover { background: var(--ia-blue); color: #fff; }
body .btn-white { background: #fff; color: var(--ia-navy); border-color: #fff; }
body .btn-white:hover { background: var(--ia-mist); color: var(--ia-blue); }
body .btn-ghost-white { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
body .btn-ghost-white:hover { background: rgba(255, 255, 255, .14); color: #fff; border-color: #fff; }
body .btn-lg { min-height: 54px; padding: .95rem 1.75rem; font-size: 1rem; }
body .btn-sm { min-height: 40px; padding: .55rem 1.1rem; font-size: .875rem; }
body .btn-block { display: flex; width: 100%; }

/* --------------------------------------------------------------------------
   Top bar + header
   -------------------------------------------------------------------------- */
body .top-bar { background: var(--ia-navy); color: #C9D6E6; font-size: .8125rem; border: 0; }
body .top-bar .top-bar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
body .top-bar a, body .top-bar span, body .top-bar .badge-subtle { color: #C9D6E6; }
body .top-bar a:hover { color: #fff; }
body .top-bar .top-bar-right { gap: 1.5rem; }

body .site-header {
  background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--ia-line); box-shadow: 0 6px 24px -18px rgba(11, 35, 64, .35);
}
body .site-header .header-inner { height: 84px; gap: 1.25rem; }
body .site-header .brand-logo { height: 50px; width: auto; }
body .desktop-nav .nav-links { gap: .1rem; flex-wrap: nowrap; }
@media (max-width: 1240px) { body .desktop-nav .nav-links > li > a { padding: .5rem .55rem; font-size: .85rem; } }
body .desktop-nav .nav-links > li > a {
  padding: .55rem .8rem; border-radius: 10px; color: var(--ia-ink); font-size: .9rem; font-weight: 700; line-height: 1.2;
  transition: background-color .15s ease, color .15s ease;
}
body .desktop-nav .nav-links > li > a:hover { background: var(--ia-mist); color: var(--ia-blue); }
body .desktop-nav .nav-title { font-weight: 800; letter-spacing: .01em; }
body .desktop-nav .nav-description { color: var(--ia-muted); font-size: .72rem; font-weight: 500; }
body .desktop-nav .nav-links .sub-menu {
  min-width: 250px; padding: .6rem; border-radius: 16px; border: 1px solid var(--ia-line);
  box-shadow: 0 24px 48px -20px rgba(11, 35, 64, .4); top: calc(100% + .35rem);
}
body .desktop-nav .nav-links .sub-menu a { padding: .6rem .8rem; border-radius: 10px; font-size: .875rem; font-weight: 600; color: var(--ia-ink); }
body .desktop-nav .nav-links .sub-menu a:hover { background: var(--ia-mist); color: var(--ia-blue); }
body .header-main-phone { color: var(--ia-blue); font-weight: 800; font-size: 1rem; line-height: 1.2; }
body .header-main-phone small { display: block; color: var(--ia-muted); font-size: .7rem; font-weight: 600; }

/* --------------------------------------------------------------------------
   Shared section primitives (homepage + reusable)
   -------------------------------------------------------------------------- */
.ia-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.ia-tint { background: var(--ia-mist); }

.ia-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem;
  padding: .35rem .85rem .35rem .7rem; border-radius: 999px;
  background: rgba(63, 112, 181, .1); color: var(--ia-blue);
  font-size: .8125rem; font-weight: 700; line-height: 1.3;
}
.ia-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.ia-svc-analyse .ia-eyebrow { background: rgba(15, 127, 140, .1); color: var(--ia-teal); }
.ia-empower .ia-eyebrow { background: rgba(165, 42, 145, .1); color: var(--ia-magenta); }
.ia-eyebrow-light { background: rgba(255, 255, 255, .12); color: #fff; }

.ia-title { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 1rem; max-width: 24ch; text-wrap: balance; }
.ia-lead { font-size: 1.0625rem; line-height: 1.7; color: var(--ia-muted); max-width: 60ch; margin: 0 0 1.25rem; }
.ia-lead strong { color: var(--ia-ink); }

.ia-split { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (min-width: 900px) { .ia-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   1. HERO
   -------------------------------------------------------------------------- */
body .ia-hero {
  position: relative; overflow: hidden; color: #fff;
  background:
    radial-gradient(900px 420px at 88% -10%, rgba(165, 42, 145, .35), transparent 60%),
    radial-gradient(700px 400px at -5% 110%, rgba(63, 112, 181, .45), transparent 60%),
    linear-gradient(135deg, #0B2340 0%, #12365F 55%, #1B4777 100%);
  padding: clamp(2.5rem, 5vw, 4rem) 0 0;
}
body .ia-hero .science-carousel { position: relative; display: block; background: none; min-height: 0; }
body .ia-hero .science-hero-message { position: static; z-index: auto; background: none; pointer-events: auto; padding: 0 0 clamp(1.75rem, 3vw, 2.5rem); }
body .ia-hero .science-hero-message .container { max-width: 1200px; display: block; border: 0; padding-bottom: 0; }
body .ia-hero .science-hero-message .ia-hero-kicker {
  display: inline-block; margin: 0 0 1rem; padding: .35rem .9rem; border-radius: 999px;
  background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2);
  color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .02em; text-transform: none;
}
body .ia-hero h1 { color: #fff; font-size: clamp(2rem, 1.2rem + 3.2vw, 3.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -.03em; max-width: 30ch; margin: 0 0 1.25rem; text-wrap: balance; }
body .ia-hero .science-hero-message .ia-hero-tags { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; max-width: none; font-size: .9rem; line-height: 1.4; }
body .ia-hero .science-hero-message .ia-hero-tags span { display: inline-block; margin: 0; padding: .45rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); color: #E4ECF6; font-size: .9rem; font-weight: 600; letter-spacing: 0; text-transform: none; }

.ia-hero-stage { padding-bottom: 1.25rem; }
body .ia-hero .science-slides { position: relative; display: block; background: #fff; border-radius: var(--ia-radius-lg); overflow: hidden; box-shadow: var(--ia-shadow-lg); }
body .ia-hero .science-slide {
  position: relative; display: grid; grid-template-columns: 1fr; background: #fff; color: var(--ia-ink); min-height: 0; padding: 0; overflow: hidden;
}
body .ia-hero .science-slide[hidden] { display: none; }
body .ia-hero .science-slide.is-active { animation: iaSlideIn .55s ease both; }
@keyframes iaSlideIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
body .ia-hero .science-slide::before { content: none; display: none; }
body .ia-hero .science-slide-image { position: relative; z-index: 0; order: -1; height: clamp(220px, 46vw, 320px); inset: auto; width: 100%; margin: 0; background: var(--ia-mist); }
body .ia-hero .science-slide-image img, body .ia-hero .science-slide-image picture { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body .ia-hero .science-slide-image::after { content: none; }
body .ia-hero .science-slide-inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: 0; padding: clamp(1.5rem, 4vw, 3rem); max-width: none; width: auto; margin: 0; }
body .ia-hero .science-carousel.is-ready .science-slide.is-active .science-slide-copy { animation: none; }
body .ia-hero .science-slide-copy { max-width: 560px; }
body .ia-hero .science-service-label {
  display: inline-flex; gap: 0; margin-bottom: 1rem; padding: .3rem .8rem; border-radius: 8px;
  background: var(--ia-blue); color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: .08em;
}
body .ia-hero .science-slide-analyse .science-service-label { background: var(--ia-teal); }
body .ia-hero .science-slide-empower .science-service-label { background: var(--ia-magenta); }
body .ia-hero .science-service-label::before { content: none; }
body .ia-hero .science-slide h2 { color: var(--ia-ink); font-size: clamp(1.5rem, 1rem + 1.8vw, 2.25rem); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 1rem; text-shadow: none; max-width: 20ch; text-wrap: balance; }
body .ia-hero .science-slide-copy > p { color: var(--ia-muted); font-size: 1rem; line-height: 1.7; margin: 0 0 1.5rem; text-shadow: none; max-width: 52ch; }
body .ia-hero .science-slide-actions .btn { border-radius: 999px; }
body .ia-hero .science-slide-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }
body .ia-hero .science-explore { background: var(--ia-blue); border-color: var(--ia-blue); color: #fff; box-shadow: 0 8px 20px -10px rgba(33, 79, 134, .8); }
body .ia-hero .science-explore:hover { background: var(--ia-navy-2); border-color: var(--ia-navy-2); color: #fff; }
body .ia-hero .science-enquiry { background: transparent; border-color: var(--ia-blue); color: var(--ia-blue); }
body .ia-hero .science-enquiry:hover { background: var(--ia-blue); color: #fff; }
body .ia-hero .science-slide-empower .science-explore { background: var(--ia-magenta); border-color: var(--ia-magenta); box-shadow: 0 8px 20px -10px rgba(165, 42, 145, .8); }
body .ia-hero .science-slide-empower .science-enquiry { border-color: var(--ia-magenta); color: var(--ia-magenta); }
body .ia-hero .science-slide-empower .science-enquiry:hover { background: var(--ia-magenta); color: #fff; }
body .ia-hero .science-slide-analyse .science-explore { background: var(--ia-teal); border-color: var(--ia-teal); box-shadow: 0 8px 20px -10px rgba(15, 127, 140, .8); }
body .ia-hero .science-slide-analyse .science-enquiry { border-color: var(--ia-teal); color: var(--ia-teal); }
body .ia-hero .science-slide-analyse .science-enquiry:hover { background: var(--ia-teal); color: #fff; }
body .ia-hero .science-slide-contacts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--ia-line); }
body .ia-hero .science-slide-contacts a { color: var(--ia-ink); font-size: .9375rem; font-weight: 700; }
body .ia-hero .science-slide-contacts a:hover { color: var(--ia-blue); }

/* Carousel controls */
body .ia-hero .science-carousel-controls { position: static; background: none; border: 0; padding: 1.1rem 0 0; }
body .ia-hero .science-carousel { background: none; }
body .ia-hero .science-controls-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 0; max-width: none; }
body .ia-hero .science-slide-selectors { display: flex; gap: .5rem; flex-wrap: wrap; }
body .ia-hero .science-slide-selectors button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: .5rem 1.25rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22);
  color: #D5E1EF; font-family: inherit; font-size: .8125rem; font-weight: 800; letter-spacing: .06em; cursor: pointer; transition: all .18s ease;
}
body .ia-hero .science-slide-selectors button::after { content: none; }
body .ia-hero .science-slide-selectors button:hover { background: rgba(255, 255, 255, .16); color: #fff; }
body .ia-hero .science-slide-selectors button[aria-current="true"] { background: #fff; border-color: #fff; color: var(--ia-navy); }
body .ia-hero .science-playback { display: flex; gap: .5rem; }
body .ia-hero .science-playback button {
  min-width: 42px; min-height: 42px; padding: .4rem .95rem; border-radius: 999px; background: transparent; border: 1px solid rgba(255, 255, 255, .3);
  color: #fff; font-family: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; transition: all .18s ease;
}
body .ia-hero .science-playback button:hover { background: rgba(255, 255, 255, .16); border-color: #fff; }
body .ia-hero .science-image-note { padding-block: .9rem 1.25rem; margin: 0 auto; color: #A8BBD2; font-size: .75rem; text-align: left; background: none; }

@media (min-width: 992px) {
  body .ia-hero .science-slide { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: 460px; }
  body .ia-hero .science-slide-image { order: 2; height: auto; min-height: 460px; }
  body .ia-hero .science-slide-inner { order: 1; }
}

/* --------------------------------------------------------------------------
   2. STATS STRIP
   -------------------------------------------------------------------------- */
.ia-stats { background: #fff; border-bottom: 1px solid var(--ia-line); }
.ia-stats-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; }
.ia-stats-list li { display: flex; flex-direction: column; gap: .15rem; padding: 1.5rem 0; border-top: 1px solid var(--ia-line); text-align: left; }
.ia-stats-list li:first-child { border-top: 0; }
.ia-stats-list strong { color: var(--ia-blue); font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ia-stats-list span { color: var(--ia-muted); font-size: .9375rem; font-weight: 500; }
@media (min-width: 720px) {
  .ia-stats-list { grid-template-columns: repeat(3, 1fr); }
  .ia-stats-list li { padding: 2rem 2rem; border-top: 0; border-left: 1px solid var(--ia-line); }
  .ia-stats-list li:first-child { border-left: 0; padding-left: 0; }
}

/* --------------------------------------------------------------------------
   3. ABOUT
   -------------------------------------------------------------------------- */
.ia-about-media { position: relative; }
.ia-about-media::before { content: ""; position: absolute; inset: 1.5rem -1.25rem -1.25rem 1.5rem; border-radius: var(--ia-radius-lg); background: linear-gradient(135deg, rgba(63, 112, 181, .22), rgba(165, 42, 145, .18)); z-index: 0; }
.ia-about-media img { position: relative; z-index: 1; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ia-radius-lg); box-shadow: var(--ia-shadow); }
.ia-about-copy p { max-width: 60ch; margin: 0 0 1rem; line-height: 1.75; }
.ia-about-copy .ia-lead { color: var(--ia-ink); font-size: 1.125rem; font-weight: 500; }
.ia-about-copy .btn { margin-top: .75rem; }

/* --------------------------------------------------------------------------
   4. WHY INNATE
   -------------------------------------------------------------------------- */
.ia-why-grid { display: grid; gap: clamp(1.75rem, 3vw, 2.75rem); }
.ia-why-head .ia-title { max-width: 28ch; }
.ia-why-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 2.5rem; grid-template-columns: 1fr; }
.ia-why-list li { display: flex; flex-direction: column; gap: 1rem; padding: 1.6rem 0 1.75rem; border-top: 1px solid #C3D2E3; }
.ia-why-list h3 { font-size: 1.125rem; font-weight: 800; line-height: 1.3; margin: 0 0 .5rem; }
.ia-why-list p { margin: 0; font-size: .9375rem; line-height: 1.7; }
.ia-ico { flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; }
.ia-ico-blue { background: rgba(63, 112, 181, .14); color: var(--ia-blue); }
.ia-ico-magenta { background: rgba(165, 42, 145, .12); color: var(--ia-magenta); }
.ia-ico-teal { background: rgba(15, 127, 140, .13); color: var(--ia-teal); }
@media (min-width: 700px) { .ia-why-list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .ia-why-list { grid-template-columns: repeat(3, 1fr); gap: 0 3rem; } }

/* --------------------------------------------------------------------------
   5/6. SERVICE SECTIONS + CARDS
   -------------------------------------------------------------------------- */
.ia-svc-head { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.ia-svc-head .ia-title { margin-bottom: .75rem; }
.ia-svc-head .ia-lead { margin-bottom: 0; }
.ia-svc-head > .btn { align-self: flex-start; flex: none; }
@media (min-width: 820px) { .ia-svc-head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 2rem; } .ia-svc-head > .btn { align-self: flex-end; } }

.ia-card-grid, .ia-post-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .ia-card-grid, .ia-post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ia-card-grid, .ia-post-grid { grid-template-columns: repeat(3, 1fr); gap: 1.75rem; } }

.ia-card, body .ia-post-grid .post-card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ia-line); border-radius: var(--ia-radius);
  overflow: hidden; box-shadow: none; transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease; padding: 0;
}
.ia-card:hover, body .ia-post-grid .post-card:hover { box-shadow: var(--ia-shadow); border-color: #C3D3E5; transform: translateY(-3px); }
.ia-card-img, body .ia-post-grid .post-card-img { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--ia-mist); margin: 0; border-radius: 0; height: auto; }
.ia-card-img img, body .ia-post-grid .post-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ia-card:hover .ia-card-img img, body .ia-post-grid .post-card:hover .post-card-img img { transform: scale(1.04); }
.ia-tag { position: absolute; top: .9rem; left: .9rem; z-index: 2; padding: .3rem .7rem; border-radius: 8px; background: var(--ia-blue); color: #fff; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; box-shadow: 0 6px 14px -6px rgba(11, 35, 64, .6); }
.ia-svc-analyse .ia-tag { background: var(--ia-teal); }
.ia-card-body, body .ia-post-grid .post-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem 1.5rem 1.6rem; gap: 0; }
.ia-card-body h3 { font-size: 1.25rem; font-weight: 800; line-height: 1.25; margin: 0 0 .65rem; }
.ia-card-body p { font-size: .9375rem; line-height: 1.7; margin: 0 0 1.25rem; }
.ia-link { margin-top: auto; display: inline-flex; align-items: center; gap: .35rem; color: var(--ia-blue); font-size: .9375rem; font-weight: 800; padding-top: 1rem; border-top: 1px solid var(--ia-line); }
.ia-link:hover { color: var(--ia-magenta); }
.ia-svc-analyse .btn-primary { background: var(--ia-teal); border-color: var(--ia-teal); box-shadow: 0 8px 20px -10px rgba(15, 127, 140, .8); }
.ia-svc-analyse .btn-primary:hover { background: #0B6671; border-color: #0B6671; }
.ia-svc-analyse .ia-link { color: var(--ia-teal); }
.ia-svc-analyse .ia-link:hover { color: var(--ia-navy); }

/* --------------------------------------------------------------------------
   7. EMPOWER
   -------------------------------------------------------------------------- */
.ia-empower { background: var(--ia-rose); }
.ia-checks { list-style: none; margin: 0 0 1.75rem; padding: 0; display: grid; gap: 1.1rem; }
.ia-checks li { display: flex; gap: .9rem; align-items: flex-start; }
.ia-checks strong { display: block; color: var(--ia-ink); font-size: 1rem; font-weight: 800; margin-bottom: .1rem; }
.ia-checks div { color: var(--ia-muted); font-size: .9375rem; line-height: 1.65; }
.ia-check { flex: none; width: 28px; height: 28px; margin-top: .1rem; border-radius: 50%; background: var(--ia-magenta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.ia-empower-media { position: relative; }
.ia-empower-media::before { content: ""; position: absolute; inset: -1rem 1.25rem 1.25rem -1rem; border: 2px solid rgba(165, 42, 145, .35); border-radius: var(--ia-radius-lg); z-index: 0; }
.ia-empower-media img { position: relative; z-index: 1; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ia-radius-lg); box-shadow: var(--ia-shadow); }

/* --------------------------------------------------------------------------
   8. NETWORK
   -------------------------------------------------------------------------- */
.ia-network-grid { display: grid; gap: 2rem; align-items: center; }
.ia-network-grid .ia-lead { margin-bottom: 1.5rem; }
.ia-chips { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.ia-chips li { padding: .6rem 1.1rem; border-radius: 999px; background: #fff; border: 1px solid var(--ia-line); color: var(--ia-ink); font-size: .9375rem; font-weight: 700; box-shadow: 0 1px 2px rgba(11, 35, 64, .04); }
.ia-note { margin: 0; padding-left: 1rem; border-left: 3px solid var(--ia-magenta); font-size: .875rem; line-height: 1.6; max-width: 60ch; }
@media (min-width: 900px) { .ia-network-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 4rem; } }

/* --------------------------------------------------------------------------
   9. LOCAL PRESENCE
   -------------------------------------------------------------------------- */
.ia-local { padding-block: clamp(2.5rem, 5vw, 4rem); }
.ia-local-box {
  display: grid; gap: 2rem; padding: clamp(1.75rem, 5vw, 3.5rem); border-radius: var(--ia-radius-lg); color: #fff;
  background: radial-gradient(500px 260px at 100% 0%, rgba(165, 42, 145, .35), transparent 65%), linear-gradient(135deg, var(--ia-navy), var(--ia-blue));
  box-shadow: var(--ia-shadow-lg);
}
.ia-local-copy h2 { color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.1rem); font-weight: 800; line-height: 1.2; margin: 0 0 1rem; max-width: 22ch; text-wrap: balance; }
.ia-local-copy p { color: #D5E1EF; max-width: 58ch; margin: 0; line-height: 1.75; }
.ia-local-points { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; align-content: start; }
.ia-local-points li { position: relative; padding: 1rem 1.1rem 1rem 3rem; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); color: #fff; font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.ia-local-points li::before { content: ""; position: absolute; left: 1rem; top: 1.05rem; width: 22px; height: 22px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23214F86' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.ia-local-cta { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 960px) {
  .ia-local-box { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-areas: "copy points" "cta points"; column-gap: 4rem; align-items: start; }
  .ia-local-copy { grid-area: copy; } .ia-local-points { grid-area: points; align-self: center; } .ia-local-cta { grid-area: cta; align-self: end; }
}

/* --------------------------------------------------------------------------
   10. ARTICLES (existing post-card markup)
   -------------------------------------------------------------------------- */
body .ia-post-grid .post-card-date { display: inline-block; align-self: flex-start; margin-bottom: .75rem; padding: .25rem .7rem; border-radius: 999px; background: var(--ia-mist); color: var(--ia-blue); font-size: .75rem; font-weight: 700; }
body .ia-post-grid .post-card-title { font-size: 1.125rem; font-weight: 800; line-height: 1.35; margin: 0 0 .6rem; }
body .ia-post-grid .post-card-title a { color: var(--ia-ink); }
body .ia-post-grid .post-card-title a:hover { color: var(--ia-blue); }
body .ia-post-grid .post-card-excerpt { font-size: .9375rem; line-height: 1.65; margin: 0 0 1.25rem; }
body .ia-post-grid .post-card-readmore { display: block; align-self: stretch; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--ia-line); color: var(--ia-blue); font-size: .9375rem; font-weight: 800; }
body .ia-post-grid .post-card-readmore:hover { color: var(--ia-magenta); }

/* --------------------------------------------------------------------------
   11. FINAL CTA
   -------------------------------------------------------------------------- */
.ia-cta { color: #fff; background: radial-gradient(700px 320px at 0% 0%, rgba(63, 112, 181, .5), transparent 60%), radial-gradient(600px 320px at 100% 100%, rgba(165, 42, 145, .45), transparent 60%), var(--ia-navy); }
.ia-cta-inner { display: grid; gap: 2rem; align-items: center; }
.ia-cta h2 { color: #fff; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; margin: 0 0 1rem; }
.ia-cta p { color: #D5E1EF; font-size: 1.0625rem; line-height: 1.7; max-width: 52ch; margin: 0; }
.ia-cta-actions { display: grid; gap: .8rem; }
.ia-cta-actions .btn { width: 100%; }
@media (min-width: 900px) { .ia-cta-inner { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 4rem; } }

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
body .site-footer { background: #081B33; color: #B9C9DC; padding-top: clamp(3rem, 6vw, 4.5rem); margin-top: 0; }
body .site-footer p, body .site-footer span, body .site-footer li { color: #B9C9DC; }
body .site-footer a { color: #D7E3F1; }
body .site-footer a:hover { color: #fff; }
body .site-footer .footer-grid { display: grid; gap: 2.5rem; grid-template-columns: 1fr; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
@media (min-width: 700px) { body .site-footer .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { body .site-footer .footer-grid { grid-template-columns: 1.25fr 1.2fr .8fr 1.25fr; gap: 3rem; } }
body .site-footer .footer-logo { height: 52px; width: auto; background: #fff; padding: 8px 12px; border-radius: 12px; margin-bottom: 1.25rem; }
body .site-footer .footer-tagline strong { color: #fff; letter-spacing: .06em; font-size: .875rem; }
body .site-footer .footer-desc { font-size: .9375rem; line-height: 1.7; }
body .site-footer .cert-pill { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #fff; border-radius: 999px; padding: .3rem .8rem; font-size: .75rem; font-weight: 700; }
body .site-footer .footer-heading, body .site-footer .footer-col h4 { color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: -.01em; margin: 0 0 1.1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--ia-magenta); display: inline-block; text-transform: none; }
body .site-footer .footer-links { list-style: none; margin: 0; padding: 0; }
body .site-footer .footer-links li { margin: 0; }
body .site-footer .footer-links a { display: block; padding: .28rem 0; font-size: .9375rem; color: #B9C9DC; }
body .site-footer .footer-links a:hover { color: #fff; }
body .site-footer .footer-links a strong { color: #fff; font-weight: 800; }
body .site-footer .footer-links .divider-sub { height: 0; margin: .6rem 0; border-top: 1px solid rgba(255, 255, 255, .08); }
body .site-footer .footer-contact-item { display: flex; flex-direction: column; gap: .1rem; margin-bottom: .9rem; }
body .site-footer .footer-contact-item .label { color: #8FA6C0; font-size: .8125rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
body .site-footer .footer-contact-item a, body .site-footer .footer-contact-item span:not(.label) { font-size: .9375rem; font-weight: 600; color: #fff; }
body .site-footer .footer-address { display: flex; gap: .6rem; align-items: flex-start; color: #B9C9DC; font-size: .9375rem; }
body .site-footer .footer-address svg { flex: none; margin-top: .25rem; color: #fff; }
body .site-footer .footer-buttons { display: grid; gap: .6rem; margin-top: 1.25rem; }
body .site-footer .footer-buttons .btn-secondary-outline { color: #fff; border-color: rgba(255, 255, 255, .35); }
body .site-footer .footer-buttons .btn-secondary-outline:hover { background: #fff; color: var(--ia-navy); }
body .site-footer .footer-buttons .btn-primary { background: #fff; color: var(--ia-navy); border-color: #fff; box-shadow: none; }
body .site-footer .footer-compliance-box { margin: 2rem 0 0; padding: 1.1rem 1.25rem; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
body .site-footer .footer-compliance-box p { font-size: .8125rem; line-height: 1.65; color: #9FB3CB; margin: 0; }
body .site-footer .footer-compliance-box strong { color: #fff; }
body .site-footer .footer-bottom { margin-top: 2rem; padding: 1.25rem 0; background: #06152A; border-top: 1px solid rgba(255, 255, 255, .06); }
body .site-footer .footer-bottom p, body .site-footer .legal-links a { font-size: .8125rem; color: #8FA6C0; }
body .site-footer .legal-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; margin: 0; padding: 0; }
body .site-footer .legal-links a:hover { color: #fff; }
body .site-footer .footer-bottom-inner { display: flex; flex-direction: column; gap: .5rem; }
@media (min-width: 700px) { body .site-footer .footer-bottom-inner { flex-direction: row; justify-content: space-between; align-items: center; } }

/* --------------------------------------------------------------------------
   INNER PAGES — shared polish (applies to every template using base classes)
   -------------------------------------------------------------------------- */
body .page-hero-section {
  position: relative; overflow: hidden; color: #fff; border: 0;
  padding: clamp(2.5rem, 5vw, 4.25rem) 0 clamp(2.5rem, 5vw, 4rem);
  background:
    radial-gradient(700px 320px at 92% -20%, rgba(165, 42, 145, .32), transparent 60%),
    radial-gradient(600px 320px at 0% 120%, rgba(63, 112, 181, .45), transparent 60%),
    linear-gradient(135deg, #0B2340 0%, #12365F 60%, #1B4777 100%);
}
body .page-hero-section .page-title { color: #fff; font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3.1rem); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; max-width: 24ch; margin: 0 0 1rem; text-wrap: balance; }
body .page-hero-section .hero-desc, body .page-hero-section p { color: #D5E1EF; max-width: 62ch; font-size: 1.0625rem; line-height: 1.7; }
body .page-hero-section .hero-pill { display: inline-flex; margin-bottom: 1rem; padding: .35rem .9rem; border-radius: 999px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); color: #fff; font-size: .8125rem; font-weight: 700; }
body .page-hero-section .breadcrumb { display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap; background: none; border: 0; box-shadow: none; padding: 0; margin: 0 0 1.25rem; }
body .page-hero-section .breadcrumb, body .page-hero-section .breadcrumb a, body .page-hero-section .breadcrumb .sep { color: #B6C8DD; font-size: .8125rem; }
body .page-hero-section .breadcrumb a:hover { color: #fff; }
body .page-hero-section .breadcrumb .current { color: #fff; font-weight: 700; }
body .page-hero-section .ab-grad { color: #fff; background: none; -webkit-text-fill-color: #fff; }
body .page-hero-section .btn-outline, body .page-hero-section .btn-secondary-outline { color: #fff; border-color: rgba(255, 255, 255, .5); }
body .page-hero-section .btn-outline:hover, body .page-hero-section .btn-secondary-outline:hover { background: #fff; color: var(--ia-navy); }
body .page-hero-section .ab-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
body .page-hero-section .ab-jump a { padding: .45rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); color: #fff; font-size: .8125rem; font-weight: 700; }
body .page-hero-section .ab-jump a:hover { background: #fff; color: var(--ia-navy); }

/* Section heads on inner pages: left-aligned feel with a readable measure */
body .section { padding-block: clamp(3rem, 6vw, 5rem); }
body .section-title { font-size: clamp(1.65rem, 1.15rem + 1.8vw, 2.4rem); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
body .section-lead { font-size: 1.0625rem; line-height: 1.7; max-width: 62ch; }
body .section-header { margin-bottom: clamp(1.75rem, 3vw, 2.75rem); }
body .section-header.text-center .section-lead { margin-inline: auto; }
body .section-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; padding: .35rem .85rem .35rem .7rem; border-radius: 999px;
  background: rgba(63, 112, 181, .1); color: var(--ia-blue); font-size: .8125rem; font-weight: 700; letter-spacing: 0; text-transform: none; line-height: 1.3;
}
body .section-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
body .section-eyebrow.text-magenta { background: rgba(165, 42, 145, .1); color: var(--ia-magenta); }
body .section-eyebrow.text-white-opacity { background: rgba(255, 255, 255, .12); color: #fff; }
body .bg-soft-blue { background: var(--ia-mist); }
body .bg-soft-lavender { background: var(--ia-rose); }

/* Cards used across inner pages */
body .feature-card, body .service-highlight-card, body .card, body .info-card, body .step-card {
  border: 1px solid var(--ia-line); border-radius: var(--ia-radius); background: #fff; box-shadow: none;
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
body .feature-card:hover, body .service-highlight-card:hover, body .info-card:hover, body .step-card:hover { box-shadow: var(--ia-shadow); border-color: #C3D3E5; transform: translateY(-2px); }
body .feature-card h3, body .feature-card h4, body .service-highlight-card h3, body .info-card h3 { font-weight: 800; letter-spacing: -.015em; }
body .feature-card p, body .service-highlight-card p, body .info-card p { line-height: 1.7; }
body .service-highlight-card { overflow: hidden; }
body .service-highlight-card .service-card-img img { aspect-ratio: 16 / 10; width: 100%; object-fit: cover; }
body .card-link { font-weight: 800; }

/* Forms */
body .form-label { font-size: .875rem; font-weight: 700; color: var(--ia-ink); margin-bottom: .4rem; }
body .form-control {
  width: 100%; min-height: 50px; padding: .75rem 1rem; border: 1.5px solid #CBD8E7; border-radius: 12px; background: #fff;
  font-family: inherit; font-size: 1rem; color: var(--ia-ink); transition: border-color .15s ease, box-shadow .15s ease;
}
body .form-control:focus { outline: none; border-color: var(--ia-blue-2); box-shadow: 0 0 0 4px rgba(63, 112, 181, .18); }
body textarea.form-control { min-height: 140px; }

/* Accordions */
body .accordion-item { border: 1px solid var(--ia-line); border-radius: 14px; background: #fff; overflow: hidden; }
body .accordion-trigger { font-weight: 800; }

/* Floating / mobile helpers */
body .back-to-top { background: var(--ia-blue); color: #fff; border-radius: 50%; box-shadow: 0 10px 24px -8px rgba(11, 35, 64, .6); }
body .mobile-sticky-bar { background: var(--ia-navy); box-shadow: 0 -10px 30px -12px rgba(11, 35, 64, .5); }
body .mobile-sticky-bar .sticky-bar-item { color: #fff; font-weight: 800; font-size: .8125rem; }
body .service-chat summary { border-radius: 999px; font-weight: 800; }

/* Mobile drawer */
body .mobile-drawer { font-family: var(--font-sans); }
body .mobile-menu > li > a, body .mobile-menu .mobile-sub-toggle { font-weight: 800; }

/* Blog / single / page content readability */
body .entry-content { max-width: 72ch; line-height: 1.8; }
body .entry-content h2 { font-size: 1.75rem; font-weight: 800; margin: 2.25rem 0 .75rem; }
body .entry-content h3 { font-size: 1.35rem; font-weight: 800; margin: 1.75rem 0 .6rem; }

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  body .ia-hero .science-slide.is-active { animation: none; }
  .ia-card, .ia-card-img img, body .btn, body .feature-card, body .service-highlight-card { transition: none; }
}

/* Breadcrumb on dark division/page heroes: transparent, readable */
body .breadcrumb-light, body .division-hero-section .breadcrumb { background: none; border: 0; padding: 0; box-shadow: none; }
