/*
 * design-light — a lighter presentation layer over the port.
 * Loaded last (after site-base, site-custom, port). Remove the require of
 * inc/light.php in functions.php to switch the whole layer off.
 * Header: transparent over the (light) hero at the top, white bar once the hero is behind it.
 */

:root {
  --il-gold: #EE9A00;
  --il-gold-light: #F2B24A;
  --il-gold-ink: #7A4E05;      /* gold for small text on the light hero: AA in the worst spot */
  --il-ink: #1D1D1F;
  --il-charcoal: #2B2B2B;
  --il-muted: #5C5C5E;
  --il-hairline: rgba(29, 29, 31, 0.08);
  --il-display: 'Poppins', Arial, Helvetica, sans-serif;
  --il-ease: cubic-bezier(.2, .7, .2, 1);
  --il-warm: #F7F5F1;          /* alternate section background */
  --maxPageWidth: 1240px;      /* one centred container: header and every section */
}

/* ------------------------------------------------------------------ */
/* Header                                                              */
/* ------------------------------------------------------------------ */

#siteWrapper #header.header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  animation: none !important;
  background: #fff;
  box-shadow: 0 1px 0 rgba(29, 29, 31, 0.1), 0 10px 28px -24px rgba(20, 20, 20, 0.3);
  transition: background-color .4s var(--il-ease), box-shadow .4s var(--il-ease), -webkit-backdrop-filter .4s, backdrop-filter .4s;
}
body.admin-bar #siteWrapper #header.header { top: 32px; }
@media (max-width: 782px) { body.admin-bar #siteWrapper #header.header { top: 46px; } }

#siteWrapper #header .header-announcement-bar-wrapper,
#siteWrapper #header .header-background { background: transparent !important; }
#siteWrapper #header .header-border,
#siteWrapper #header .header-dropshadow { display: none !important; }

/* backdrop-filter would make the header the containing block of the fixed overlay menu */
body.header--menu-open #siteWrapper #header.header { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff; }
body.il-has-hero:not(.header--menu-open) #siteWrapper #header.header:not(.il-solid) {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

/* logo: colour by default, white variant over the home video */
#header .header-title-logo img { max-height: 40px !important; width: auto; }
#header .il-logo--light { display: none !important; }
body.il-hero-dark:not(.header--menu-open) #header:not(.il-solid) .il-logo--dark { display: none !important; }
body.il-hero-dark:not(.header--menu-open) #header:not(.il-solid) .il-logo--light { display: block !important; }

/* nav links */
#siteWrapper #header .header-nav-list { gap: 0 6px; }
#siteWrapper #header .header-nav-item > a,
#siteWrapper #header .header-nav-item .header-nav-folder-title,
#siteWrapper #header .header-nav span.header-nav-folder-title-text {
  font-family: var(--il-display) !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  margin-right: 0 !important;
  color: var(--il-charcoal) !important;
  text-decoration: none !important;
  background-image: none !important;
}
#siteWrapper #header .header-nav-item .header-nav-folder-title,
#siteWrapper #header .header-nav-item > a { padding: 10px 14px !important; transition: color .2s, opacity .2s; }
#siteWrapper #header .header-nav-folder-title::after {
  content: "";
  width: 5px;
  height: 5px;
  margin-left: 8px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  opacity: 0.55;
  transition: transform .25s var(--il-ease);
}
#siteWrapper #header .header-nav-item--folder:hover .header-nav-folder-title::after,
#siteWrapper #header .header-nav-item--folder:focus-within .header-nav-folder-title::after { transform: translateY(1px) rotate(225deg); }

/* active page: a thin gold rule under the label, not a colour change */
#siteWrapper #header .header-nav-item--active .header-nav-folder-title-text,
#siteWrapper #header .header-nav-item--active > a {
  background-image: linear-gradient(var(--il-gold), var(--il-gold)) !important;
  background-size: 100% 1px !important;
  background-position: 0 100% !important;
  background-repeat: no-repeat !important;
  padding-bottom: 3px !important;
}
#siteWrapper #header .header-nav-item:hover > a,
#siteWrapper #header .header-nav-item:hover .header-nav-folder-title-text { color: #000 !important; }

/* dropdown panels */
#siteWrapper #header .header-nav .header-nav-item--folder { position: relative; }
#siteWrapper #header .header-nav .header-nav-item--folder .header-nav-folder-content {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .22s var(--il-ease), transform .22s var(--il-ease), visibility 0s linear .22s;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: auto !important;
  min-width: 232px !important;
  padding: 8px !important;
  text-align: left !important;
  background: #fff !important;
  border-radius: 14px;
  border: 0;
  box-shadow: 0 0 0 1px var(--il-hairline), 0 24px 48px -20px rgba(20, 20, 20, 0.28);
}
#siteWrapper #header .header-nav .header-nav-item--folder .header-nav-folder-content::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}
#siteWrapper #header .header-nav .header-nav-item--folder:hover .header-nav-folder-content,
#siteWrapper #header .header-nav .header-nav-item--folder:focus-within .header-nav-folder-content {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition-delay: 0s;
}
#siteWrapper #header .header-nav-folder-content .header-nav-folder-item { line-height: 1 !important; }
#siteWrapper #header .header-nav-folder-content .header-nav-folder-item a {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: 9px;
  font-family: var(--il-display) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.005em;
  text-transform: none !important;
  color: var(--il-charcoal) !important;
  border: 0 !important;
  background-image: none !important;
  text-decoration: none !important;
  transition: background-color .18s, color .18s;
}
#siteWrapper #header .header-nav-folder-content .header-nav-folder-item a:hover { background: #F7F3EC; color: #000 !important; }
#siteWrapper #header .header-nav-folder-content .header-nav-folder-item--active a { color: var(--il-gold-ink) !important; background: #FBF6EC; }

/* CTA: thin outlined pill */
#siteWrapper.site-wrapper #header .header-actions .sqs-button-element--primary,
#siteWrapper.site-wrapper #header .header-actions .btn {
  min-width: 0 !important;
  padding: 11px 22px !important;
  border: 1px solid var(--il-gold) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--il-charcoal) !important;
  font-family: var(--il-display) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  transition: background-color .25s, color .25s, border-color .25s;
}
#siteWrapper.site-wrapper #header .header-actions .sqs-button-element--primary:hover {
  background: var(--il-gold) !important;
  border-color: var(--il-gold) !important;
  color: var(--il-ink) !important;
}

/* burger */
#siteWrapper #header .burger-inner .top-bun,
#siteWrapper #header .burger-inner .patty,
#siteWrapper #header .burger-inner .bottom-bun { background-color: var(--il-charcoal) !important; height: 1.5px !important; }

/* mobile overlay menu */
.header-menu .header-menu-bg { background: #fff !important; }
#siteWrapper .header-menu .header-menu-nav-item a,
#siteWrapper .header-menu .header-menu-nav-folder-content a {
  font-family: var(--il-display) !important;
  font-weight: 300 !important;
  letter-spacing: -0.01em;
  text-transform: none !important;
  color: var(--il-ink) !important;
}
#siteWrapper .header-menu .header-menu-nav-item a,
#siteWrapper .header-menu .header-menu-nav-folder-content a { margin: 2.6vw 7vw !important; font-size: 24px !important; line-height: 1.25 !important; }
#siteWrapper .header-menu .header-menu-nav-folder-content a { transform: none !important; }
#siteWrapper .header-menu .header-menu-nav-item-content { font-size: inherit !important; }
#siteWrapper .header-menu [data-action="back"] { font-size: 15px !important; color: var(--il-muted) !important; }
#siteWrapper.site-wrapper #header .header-menu .header-menu-cta a.btn,
#siteWrapper.site-wrapper #header .header-menu .header-menu-cta .sqs-button-element--primary {
  border: 1px solid var(--il-gold) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--il-ink) !important;
  font-family: var(--il-display) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  text-transform: none !important;
  padding: 15px 28px !important;
}


/* transparent header over the home video: white type, white outlined pill */
body.il-hero-dark:not(.header--menu-open) #siteWrapper #header:not(.il-solid) .header-nav-item > a,
body.il-hero-dark:not(.header--menu-open) #siteWrapper #header:not(.il-solid) .header-nav-folder-title,
body.il-hero-dark:not(.header--menu-open) #siteWrapper #header:not(.il-solid) .header-nav span.header-nav-folder-title-text { color: rgba(255, 255, 255, 0.92) !important; }
body.il-hero-dark:not(.header--menu-open) #siteWrapper #header:not(.il-solid) .header-nav-item:hover .header-nav-folder-title-text { color: #fff !important; }
body.il-hero-dark:not(.header--menu-open) #siteWrapper.site-wrapper #header:not(.il-solid) .header-actions .sqs-button-element--primary { border-color: rgba(255, 255, 255, 0.75) !important; color: #fff !important; }
body.il-hero-dark:not(.header--menu-open) #siteWrapper.site-wrapper #header:not(.il-solid) .header-actions .sqs-button-element--primary:hover { background: #fff !important; border-color: #fff !important; color: var(--il-ink) !important; }
body.il-hero-dark:not(.header--menu-open) #siteWrapper #header:not(.il-solid) .burger-inner > div { background-color: #fff !important; }

/* ------------------------------------------------------------------ */
/* Hero: every page's first section — light                            */
/* ------------------------------------------------------------------ */

#siteWrapper .il-hero {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  background: #F7F5F1;
  color: var(--il-ink);
}
.il-hero.il-hero--home { min-height: 100vh; min-height: 100svh; }
.il-hero:not(.il-hero--home) { min-height: clamp(440px, 62vh, 640px); }
/* stacking: hero colour → background image layer → content (no z-index, so videos can blend) */
.il-hero > .section-border { z-index: -1; }
.il-hero > .section-border .section-background { background: transparent !important; }
.il-hero--img .section-background img { display: none !important; } /* one generated image serves every hero */
.il-hero > .content-wrapper { position: relative; align-self: center; }

.il-hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #F7F5F1;
}
.il-hero-bg::before {
  content: "";
  position: absolute;
  inset: -2%;
  background: url("../img/hero-light.webp") 70% 50% / cover no-repeat;
  animation: il-breathe 40s ease-in-out infinite alternate;
}
.il-hero:not(.il-hero--home) .il-hero-bg::before { background-position: 75% 62%; }
/* light veil behind the text column */
.il-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(250, 249, 246, 0.9) 0%, rgba(250, 249, 246, 0.72) 50%, rgba(250, 249, 246, 0) 85%);
}
/* home: full-viewport video slider under a dark scrim (RegenCore pattern) */
#siteWrapper .il-hero--dark { background: #1E1C19; color: #fff; }
.il-hero-bg--slider { background: #1E1C19; }
.il-hero-bg--slider::before, .il-hero-bg--slider::after { content: none; }
.il-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.4s ease;
}
.il-slide.is-active { opacity: 1; }
.il-scrim {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(70% 55% at 50% 55%, rgba(24, 21, 17, 0.45), rgba(24, 21, 17, 0) 75%),
    linear-gradient(180deg, rgba(24, 21, 17, 0.6) 0%, rgba(24, 21, 17, 0.32) 35%, rgba(24, 21, 17, 0.42) 70%, rgba(24, 21, 17, 0.7) 100%);
}
@keyframes il-breathe { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.05) translate3d(-1%, 0.5%, 0); } }
@media (max-width: 767px) {
  .il-hero-bg::before,
  .il-hero:not(.il-hero--home) .il-hero-bg::before { background-image: url("../img/hero-light-1200.webp"); background-position: 78% 60%; }
  .il-hero-bg::after { background: rgba(250, 249, 246, 0.7); }
}
@media (prefers-reduced-motion: reduce) { .il-hero-bg::before { animation: none !important; } }

/* hero type: thin charcoal, tight; gold only as an accent */
#siteWrapper .il-hero h1,
#siteWrapper .il-hero h1 * {
  font-family: var(--il-display) !important;
  font-weight: 300 !important;
  font-style: normal;
  color: var(--il-ink) !important;
  text-transform: none !important;
}
#siteWrapper .il-hero h1 {
  font-size: clamp(30px, 4.3vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  margin: 0 !important;
}
#siteWrapper .il-hero--home h1 { font-size: clamp(31px, 4.8vw, 70px) !important; }
#siteWrapper .il-hero h1.il-h1--long { font-size: clamp(30px, 3.4vw, 50px) !important; line-height: 1.12 !important; }
#siteWrapper .il-hero h1.il-h1--center::before { margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { #siteWrapper .il-hero h1 { font-size: clamp(30px, 8.2vw, 40px) !important; } }
#siteWrapper .il-hero:not(:has(.il-eyebrow)) h1::before {
  content: "";
  display: block;
  width: 44px;
  height: 1px;
  margin-bottom: 26px;
  background: var(--il-gold);
}
#siteWrapper .il-hero .html-block :is(h2, h3, h4),
#siteWrapper .il-hero .html-block :is(h2, h3, h4) * { color: var(--il-ink) !important; font-weight: 300 !important; text-transform: none !important; }
#siteWrapper .il-hero .html-block p,
#siteWrapper .il-hero .html-block li {
  font-family: var(--il-display) !important;
  font-weight: 300 !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.005em;
  color: #46464A !important;
}
#siteWrapper .il-hero .html-block p strong { font-weight: 400 !important; color: var(--il-ink) !important; }
#siteWrapper .il-hero p.sqsrte-large,
#siteWrapper .il-hero p.sqsrte-large * {
  font-size: clamp(18px, 1.5vw, 23px) !important;
  font-weight: 300 !important;
  color: var(--il-charcoal) !important;
  letter-spacing: -0.005em;
}
#siteWrapper .il-hero .html-block .il-eyebrow :is(p, h2, h3, h4),
#siteWrapper .il-hero .html-block .il-eyebrow :is(p, h2, h3, h4) * {
  font-family: var(--il-display) !important;
  line-height: 1.5 !important;
  font-size: 15px !important;
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em !important;
  color: var(--il-gold-ink) !important;
}
#siteWrapper .il-hero .html-block a { color: var(--il-ink) !important; }

/* code-block diagrams and form widgets drawn for a white page sit on a white card */
.il-hero .code-block:not(:has(select, input, form)) .sqs-block-content {
  background: #fff;
  border-radius: 18px;
  margin: calc(-1 * clamp(14px, 1.6vw, 24px));
  padding: clamp(14px, 1.6vw, 24px);
  box-shadow: 0 0 0 1px var(--il-hairline), 0 30px 60px -36px rgba(20, 20, 20, 0.35);
}

/* the client's diagram videos are drawn on white: multiply drops the white onto light backgrounds */
#siteWrapper .native-video-player { background: transparent !important; }
#siteWrapper :is(.il-hero, .il-agent-section) .fe-block:has(video.innovo-video) { mix-blend-mode: multiply; }

/* ------------------------------------------------------------------ */
/* Home: "One agent layer" introduces the process with the diagram     */
/* ------------------------------------------------------------------ */

#siteWrapper .il-agent-section .section-background { background: #fff !important; }
#siteWrapper .il-agent-section .html-block p { color: #46464A; }
/* the diagram sits in the middle of a wide white frame: crop the empty sides so it reads larger */
#siteWrapper .il-agent-section .native-video-player { aspect-ratio: 5 / 4 !important; }
#siteWrapper .il-agent-section video.innovo-video { object-fit: cover; }

/* ------------------------------------------------------------------ */
/* Home: Plan → Author → Monitor as one numbered sequence             */
/* ------------------------------------------------------------------ */

#page .il-process-section > .content-wrapper {
  margin: 0 !important;
  padding: clamp(8px, 2vw, 24px) var(--sqs-site-gutter, 4vw) clamp(64px, 7vw, 112px) !important;
}
#page .il-process-section .content { width: 100%; max-width: var(--sqs-site-max-width, 1500px); margin: 0 auto; }
.il-process {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto auto;
  column-gap: clamp(18px, 2vw, 32px);
}
.il-step { display: grid; grid-row: span 5; grid-template-rows: subgrid; margin: 0; padding: 0; }
.il-step::before { content: none !important; }
.il-step-head { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.il-step-num {
  flex: none;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(238, 154, 0, 0.7);
  background: #fff;
  font: 400 14px/1 var(--il-display);
  letter-spacing: 0.06em;
  color: var(--il-gold-ink);
}
.il-step-line {
  position: relative;
  flex: 1;
  height: 1px;
  margin-right: calc(-1 * clamp(18px, 2vw, 32px));
  background: linear-gradient(90deg, rgba(238, 154, 0, 0.75), rgba(238, 154, 0, 0.25));
}
.il-step-line::after {
  content: "";
  position: absolute;
  right: 0;
  top: -3.5px;
  width: 7px;
  height: 7px;
  border-top: 1px solid rgba(238, 154, 0, 0.6);
  border-right: 1px solid rgba(238, 154, 0, 0.6);
  transform: rotate(45deg);
}
.il-step:last-child .il-step-line { margin-right: 0; background: linear-gradient(90deg, rgba(238, 154, 0, 0.5), rgba(238, 154, 0, 0)); }
.il-step:last-child .il-step-line::after { display: none; }
.il-step-card {
  grid-row: span 4;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0;
  padding: clamp(24px, 2.4vw, 34px);
  background: #fff;
  border: 1px solid var(--il-hairline);
  border-radius: 18px;
  box-shadow: 0 24px 48px -40px rgba(20, 20, 20, 0.35);
}
#siteWrapper .il-step-name {
  margin: 0 0 18px;
  font: 300 clamp(26px, 2.2vw, 32px)/1.1 var(--il-display) !important;
  letter-spacing: -0.02em;
  color: var(--il-ink);
}
#siteWrapper .il-step-name a { color: inherit !important; text-decoration: none; }
.il-step-quote { margin: 0 0 18px; padding: 0 0 0 16px; border-left: 1px solid var(--il-gold); }
#siteWrapper .il-step-quote p { margin: 0; font: italic 300 16px/1.6 var(--il-display); color: #3A3A3D; }
#siteWrapper .il-step-desc { margin: 0 0 22px; font-size: 15px; line-height: 1.7; color: #55555A; }
.il-step-list { list-style: none; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--il-hairline); align-self: start; }
#siteWrapper .il-step-list li {
  position: relative;
  margin: 0 0 10px;
  padding: 0 0 0 18px;
  font: 400 14px/1.5 var(--il-display);
  color: var(--il-charcoal);
}
#siteWrapper .il-step-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--il-gold);
}
@media (max-width: 767px) {
  .il-process { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 0; }
  .il-step { display: grid; grid-row: auto; grid-template-columns: 46px minmax(0, 1fr); grid-template-rows: none; column-gap: 14px; }
  .il-step-head { flex-direction: column; margin: 0; gap: 0; }
  .il-step-line { width: 1px; height: auto; flex: 1; margin: 0 0 -1px; background: linear-gradient(180deg, rgba(238, 154, 0, 0.75), rgba(238, 154, 0, 0.25)); }
  .il-step-line::after { right: auto; left: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
  .il-step:last-child .il-step-line { background: linear-gradient(180deg, rgba(238, 154, 0, 0.5), rgba(238, 154, 0, 0)); }
  .il-step-card { grid-row: auto; display: block; margin-bottom: 22px; }
}

/* ------------------------------------------------------------------ */
/* Typography and rhythm, site-wide                                    */
/* ------------------------------------------------------------------ */

#siteWrapper :is(h1, h2) {
  font-weight: 300 !important;
  letter-spacing: -0.022em;
  text-transform: none !important;
}
#siteWrapper h3 { font-weight: 400 !important; letter-spacing: -0.01em; text-transform: none !important; }
#siteWrapper h4 { font-weight: 500 !important; text-transform: none !important; }
#siteWrapper :is(h1, h2, h3, h4) strong { font-weight: inherit !important; }
#siteWrapper #page h1 { line-height: 1.12; }
#siteWrapper #page h2 { line-height: 1.2; }
#siteWrapper #page .sqs-html-content p { line-height: 1.75; }

/* gold in headings on light sections: a deeper gold that keeps 3:1+ for large text */
#siteWrapper .page-section:is(.white, .light, .white-bold, .light-bold) :is(h1, h2, h3, h4) .sqsrte-text-color--accent,
#siteWrapper .page-section:is(.white, .light, .white-bold, .light-bold) :is(h1, h2, h3, h4) .sqsrte-text-color--accent * { color: #B57200 !important; }

/* accordions (FAQ): lighter question titles */
#siteWrapper .accordion-item__title { font-family: var(--il-display); font-weight: 400 !important; letter-spacing: -0.005em; }

/* section titles set as paragraphs (list sections) */
#siteWrapper .list-section-title :is(p, p strong, h2, h2 strong) { font-family: var(--il-display); font-weight: 300 !important; letter-spacing: -0.02em; }

/* No appear animations: Squarespace hides every section for 2s on load (hideContent)
   and fades text in on scroll. Everything is visible on first paint. */
#siteWrapper section > .content-wrapper,
#siteWrapper header,
#siteWrapper footer { animation: none !important; }
#siteWrapper :is(.preFade, .preSlide, .preScale, .preFlex, .preClip, .fadeIn, .clipIn) {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  animation: none !important;
}
#siteWrapper .blog-basic-grid .blog-basic-grid--container { opacity: 1 !important; transform: none !important; }

/* scaled-text blocks are parked off-screen until Squarespace's script sizes them; show them as normal text */
#siteWrapper .sqs-html-content .sqsrte-scaled-text-container > .sqsrte-scaled-text { position: relative !important; left: auto !important; }

/* shape blocks in a hero were dark overlays for the old photo backgrounds */
#siteWrapper .il-hero .fe-block:has(.sqs-shape-block-container) { display: none !important; }

/* mobile: list sections and the process steps use the same 6vw gutter as the fluid grid and header */
@media (max-width: 767px) {
  #page .user-items-list :is(.user-items-list-item-container, .list-section-title) { padding-left: var(--sqs-mobile-site-gutter, 6vw) !important; padding-right: var(--sqs-mobile-site-gutter, 6vw) !important; }
  #page .il-process-section > .content-wrapper { padding-left: var(--sqs-mobile-site-gutter, 6vw) !important; padding-right: var(--sqs-mobile-site-gutter, 6vw) !important; }
}


/* ------------------------------------------------------------------ */
/* Home hero over video: centred white type                            */
/* ------------------------------------------------------------------ */
#siteWrapper .il-hero--dark h1,
#siteWrapper .il-hero--dark h1 * { color: #fff !important; }
#siteWrapper .il-hero--dark .html-block :is(p, li, h2, h3, h4),
#siteWrapper .il-hero--dark .html-block :is(p, li, h2, h3, h4) * { color: rgba(255, 255, 255, 0.9) !important; text-align: center !important; }
#siteWrapper .il-hero--dark .html-block p strong { color: #fff !important; }
#siteWrapper .il-hero--dark p.sqsrte-large, #siteWrapper .il-hero--dark p.sqsrte-large * { color: #fff !important; }
#siteWrapper .il-hero--dark h1 { text-align: center !important; text-shadow: 0 1px 24px rgba(0, 0, 0, 0.25); }
#siteWrapper .il-hero--dark .html-block .il-eyebrow :is(p, h2, h3, h4),
#siteWrapper .il-hero--dark .html-block .il-eyebrow :is(p, h2, h3, h4) * { color: var(--il-gold-light) !important; }
#siteWrapper .il-hero--dark .sqs-block-button .sqs-block-button-container { text-align: center !important; }
#siteWrapper .il-hero--dark .fe-block .sqs-block { justify-content: center !important; }

/* ------------------------------------------------------------------ */
/* Buttons: one primary (gold pill), one secondary (text link + arrow) */
/* ------------------------------------------------------------------ */
#siteWrapper.site-wrapper #page .sqs-button-element--primary {
  min-width: 0 !important;
  width: max-content !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 15px 28px !important;
  border: 1px solid var(--il-gold) !important;
  border-radius: 999px !important;
  background: var(--il-gold) !important;
  color: var(--il-ink) !important;
  font-family: var(--il-display) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  box-shadow: 0 10px 24px -14px rgba(238, 154, 0, 0.8);
  transition: background-color .25s, border-color .25s, box-shadow .25s, transform .25s var(--il-ease);
}
#siteWrapper.site-wrapper #page .sqs-button-element--primary:hover { background: var(--il-gold-light) !important; border-color: var(--il-gold-light) !important; transform: translateY(-1px); }
#siteWrapper.site-wrapper #page :is(.sqs-button-element--secondary, .sqs-button-element--tertiary) {
  min-width: 0 !important;
  width: max-content !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--il-gold) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--il-ink) !important;
  font-family: var(--il-display) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}
#siteWrapper.site-wrapper #page :is(.sqs-button-element--primary, .sqs-button-element--secondary, .sqs-button-element--tertiary)::after { content: "\2192"; display: inline-block; transition: transform .25s var(--il-ease); }
#siteWrapper.site-wrapper #page :is(.sqs-button-element--primary, .sqs-button-element--secondary):hover::after { transform: translateX(4px); }
#siteWrapper.site-wrapper #page .il-hero--dark .sqs-button-element--secondary { color: #fff !important; }
#siteWrapper.site-wrapper #page .page-section.il-dark-accent .sqs-button-element--secondary { color: #fff !important; }

/* ------------------------------------------------------------------ */
/* Layout system (with innovo_light_sections() in inc/light.php)       */
/*  - one centred container, 1240px, header on the same edges;         */
/*  - bands alternate white / warm light grey; one dark accent (final  */
/*    call to action);                                                  */
/*  - statement sections (text only) are centred; sections with        */
/*    content beside the text are left-aligned two-column;             */
/*  - one rhythm: --il-sec top and bottom; a section continuing the    */
/*    same background pads less on top.                                */
/* ------------------------------------------------------------------ */
:root { --il-sec: clamp(48px, 5.6vw, 88px); }
#page .page-section:not(.il-hero) { min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
#page .page-section:not(.il-hero) > .content-wrapper {
  margin: 0 !important;
  padding-top: var(--il-sec) !important;
  padding-bottom: var(--il-sec) !important;
}
#page :is(.page-section.white, .page-section.white-bold) + :is(.page-section.white, .page-section.white-bold) > .content-wrapper,
#page :is(.page-section.light, .page-section.light-bold) + :is(.page-section.light, .page-section.light-bold) > .content-wrapper {
  padding-top: calc(var(--il-sec) * 0.2) !important;
}
#page .page-section:is(.white, .white-bold) > .section-border .section-background { background-color: #fff !important; }
#page .page-section:is(.light, .light-bold) > .section-border .section-background { background-color: var(--il-warm) !important; }
#page .page-section:not(.il-hero) .sqs-html-content p { max-width: 68ch; }
#page .page-section:not(.il-hero) .sqs-html-content :is(h1, h2, h3, h4, p) { text-align: left !important; }

/* statement sections: centred */
#page .page-section.il-sec--center .sqs-html-content :is(h1, h2, h3, h4, p),
#page .page-section.il-sec--center .list-section-title :is(p, h2) { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
#page .il-sec--center .sqs-block-button-container { text-align: center !important; }
#page .il-sec--center .fe-block .sqs-block { justify-content: center !important; }
#page .il-sec--center .fe-block .sqs-block-alignment-wrapper { align-items: center !important; }
#page .il-sec--center .sqs-block-button .sqs-block-content { display: flex; justify-content: center; }

/* list sections (card grids): title centred above the cards, cards on the container edges */
#page .user-items-list-section .list-section-title :is(p, h2) { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
#page .user-items-list-section .user-items-list { max-width: var(--maxPageWidth) !important; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 768px) {
  #page .user-items-list-section .user-items-list :is(.user-items-list-item-container, .list-section-title) { padding-left: 0 !important; padding-right: 0 !important; }
}

/* dark sections in the middle of a page were flipped light in PHP; text that was
   painted white for the dark band follows the light theme */
#page .il-was-dark :is(.sqsrte-text-color--white, .sqsrte-text-color--lightAccent) { color: var(--il-ink) !important; }
#page .il-was-dark .sqs-html-content :is(p, li) { color: #46464A; }

/* one deliberate dark accent: the closing call to action keeps its charcoal */
#page .il-dark-accent > .section-border .section-background { background: #23211E !important; }

/* ------------------------------------------------------------------ */
/* Details                                                             */
/* ------------------------------------------------------------------ */

/* stats band: big thin figures on the grid */
#page .il-stats h3 { font-size: 15px !important; line-height: 1.4 !important; letter-spacing: 0.02em; color: #55555A !important; text-align: left !important; }
#page .il-stats h3 .sqsrte-text-color--accent,
#page .il-stats h3 .sqsrte-text-color--accent * {
  display: inline-block;
  margin-bottom: 6px;
  font-family: var(--il-display);
  font-size: clamp(40px, 3.8vw, 56px) !important;
  font-weight: 200 !important;
  letter-spacing: -0.03em;
  line-height: 1 !important;
  color: #B57200 !important;
}
#page .il-stats .fe-block { border-left: 1px solid rgba(238, 154, 0, 0.35); padding-left: clamp(16px, 2vw, 28px); }
#page .il-stats > .content-wrapper { padding-top: calc(var(--il-sec) * 0.7) !important; padding-bottom: calc(var(--il-sec) * 0.7) !important; }

/* card grids: white cards, hairline, radius, soft shadow, equal padding */
#page .user-items-list-simple li.list-item[data-is-card-enabled="true"] {
  background: #fff !important;
  border: 1px solid var(--il-hairline) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px -32px rgba(20, 20, 20, 0.35);
  padding: clamp(22px, 2.2vw, 32px) !important;
  transition: box-shadow .3s var(--il-ease), transform .3s var(--il-ease);
}
#page .user-items-list-simple li.list-item[data-is-card-enabled="true"]:hover { transform: translateY(-2px); box-shadow: 0 24px 48px -30px rgba(20, 20, 20, 0.4); }
#page .user-items-list-simple .list-item-media { width: 52px !important; margin-bottom: 18px !important; }
#page .user-items-list-simple .list-item-media-inner { width: 52px !important; height: 52px !important; padding: 0 !important; display: grid !important; place-items: center; background: #FBF5EA !important; border-radius: 14px !important; overflow: hidden; }
#siteWrapper #page .user-items-list-simple .list-item-media-inner img.list-image { position: static !important; width: 42px !important; height: 42px !important; max-width: none !important; object-fit: contain !important; }
#page .user-items-list-simple .list-item-content__title { font-family: var(--il-display) !important; font-weight: 400 !important; font-size: 18px !important; letter-spacing: -0.01em; }
#page .user-items-list-simple .list-item-content__description p { font-size: 14.5px !important; line-height: 1.65 !important; color: #55555A !important; }

/* decorative card outlines drawn as shapes (testimonials): softer, rounded */
#page .page-section:not(.il-hero) .sqs-shape-block-container .sqs-shape { border-radius: 16px; }
#page .page-section:not(.il-hero) .sqs-shape-block-container .sqs-shape :is(rect, path) { stroke: rgba(29, 29, 31, 0.08) !important; }

/* process: slightly tighter on the shared container */
#page .il-process-section > .content-wrapper { padding-top: calc(var(--il-sec) * 0.2) !important; padding-bottom: var(--il-sec) !important; }
#page .il-process-section .content { max-width: var(--maxPageWidth) !important; }

/* buttons keep their own width (the port's button blocks stretch them to the block) */
#siteWrapper.site-wrapper #page .sqs-block-button-container .sqs-block-button-element { width: auto !important; flex: 0 0 auto !important; display: inline-flex !important; align-self: flex-start; }
#siteWrapper.site-wrapper #page :is(.il-sec--center, .il-hero--dark) .sqs-block-button-container { justify-content: center !important; }
#siteWrapper.site-wrapper #page :is(.il-sec--center, .il-hero--dark) .sqs-block-button-container .sqs-block-button-element { align-self: center; }

/* small section labels ("The Solution"): one eyebrow style */
#page .page-section:not(.il-hero) .sqsrte-scaled-text-container p,
#page .page-section:not(.il-hero) .sqsrte-scaled-text-container p * { font-family: var(--il-display) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--il-gold-ink) !important; }
@media (max-width: 767px) {
  #page .il-stats h3 .sqsrte-text-color--accent, #page .il-stats h3 .sqsrte-text-color--accent * { font-size: 34px !important; }
}
#page .page-section .il-center-text .sqs-html-content :is(h1, h2, h3, h4, p) { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }

/* phones: each hero clip framed on its people (portrait crop of a 16:9 take) */
@media (max-width: 767px) {
  .il-slide:nth-of-type(1) { object-position: 34% 50%; }
  .il-slide:nth-of-type(2) { object-position: 24% 50%; }
  .il-slide:nth-of-type(3) { object-position: 52% 50%; }
}

/* ================================================================== */
/* Round 5 components                                                  */
/* ================================================================== */

/* shared container for hand-built sections */
#page .il-wrap { width: 100%; max-width: var(--maxPageWidth); margin: 0 auto; padding-left: var(--sqs-site-gutter, 4vw); padding-right: var(--sqs-site-gutter, 4vw); box-sizing: content-box; }
@media (min-width: 1341px) { #page .il-wrap { padding-left: 0; padding-right: 0; } }
@media (max-width: 767px) { #page .il-wrap { padding-left: var(--sqs-mobile-site-gutter, 6vw); padding-right: var(--sqs-mobile-site-gutter, 6vw); box-sizing: border-box; } }
#page section.page-section[data-section-theme] > .content-wrapper > .content.il-wrap { display: block; }

/* ---- home hero: first screen always holds eyebrow, headline, subline and button ---- */
@media (min-width: 768px) and (max-height: 860px) {
  #siteWrapper .il-hero--home h1 { font-size: clamp(34px, 6.4vh, 58px) !important; }
  #siteWrapper .il-hero--home .html-block p { font-size: 15.5px !important; line-height: 1.6 !important; }
  #siteWrapper .il-hero--home p.sqsrte-large, #siteWrapper .il-hero--home p.sqsrte-large * { font-size: 19px !important; }
}
@media (max-width: 767px) {
  #siteWrapper .il-hero--home h1 { font-size: 31px !important; }
  #siteWrapper .il-hero--home .html-block p { font-size: 15px !important; line-height: 1.55 !important; }
}

/* ---- hero caption synced with the clip ---- */
.il-hero-caption {
  position: absolute;
  left: max(var(--sqs-site-gutter, 4vw), calc((100vw - var(--maxPageWidth)) / 2));
  bottom: clamp(20px, 4vh, 40px);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(255, 255, 255, 0.92);
  font: 400 12.5px/1 var(--il-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  pointer-events: none;
}
.il-cap-step { color: var(--il-gold-light); font-variant-numeric: tabular-nums; }
.il-cap-line { position: relative; width: 72px; height: 1px; background: rgba(255, 255, 255, 0.28); overflow: hidden; }
.il-cap-line i { position: absolute; inset: 0; background: var(--il-gold-light); transform-origin: 0 50%; transform: scaleX(0); }
.il-cap-label { transition: opacity .5s ease; }
.il-hero-caption.is-switching .il-cap-label, .il-hero-caption.is-switching .il-cap-step { opacity: 0; }
@media (max-width: 767px) { .il-hero-caption { left: var(--sqs-mobile-site-gutter, 6vw); bottom: 16px; font-size: 11px; } }

/* ---- testimonials: one at a time on charcoal ---- */
#page .il-tst-section > .section-border .section-background { background: #23211E !important; }
#page .il-tst-section > .content-wrapper { padding-top: clamp(56px, 6vw, 88px) !important; padding-bottom: clamp(48px, 5vw, 72px) !important; }
.il-tst { max-width: 900px; margin: 0 auto; text-align: center; color: #fff; }
.il-tst-stage { display: grid; }
.il-tst-item { grid-area: 1 / 1; margin: 0; opacity: 0; transform: translateY(8px); transition: opacity .6s ease, transform .6s var(--il-ease); }
.il-tst-item[hidden] { display: block; visibility: hidden; }
.il-tst-item.is-active { opacity: 1; transform: none; visibility: visible; }
.il-tst-logo { display: block; height: 48px; width: 150px; margin: 0 auto 28px; object-fit: contain; opacity: 0.95; }
#siteWrapper .il-tst-quote { margin: 0; padding: 0; border: 0; }
#siteWrapper .il-tst-quote p { margin: 0 auto; max-width: 30em; font: 300 clamp(20px, 2.1vw, 28px)/1.5 var(--il-display); letter-spacing: -0.01em; color: #fff !important; text-align: center !important; }
.il-tst-name { margin-top: 22px; font: 500 12.5px/1 var(--il-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--il-gold-light); }
.il-tst-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 36px; }
.il-tst-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; color: #fff; cursor: pointer; font-size: 15px; transition: background-color .2s, border-color .2s; }
.il-tst-arrow:hover, .il-tst-arrow:focus-visible { background: #fff; color: var(--il-ink); border-color: #fff; }
.il-tst-bars { display: flex; gap: 12px; }
.il-tst-bar { position: relative; width: clamp(64px, 9vw, 120px); padding: 14px 0 0; border: 0; background: transparent; cursor: pointer; color: rgba(255, 255, 255, 0.6); font: 400 11px/1 var(--il-display); letter-spacing: 0.08em; text-transform: uppercase; }
.il-tst-bar::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(255, 255, 255, 0.22); }
.il-tst-bar-fill { position: absolute; left: 0; top: 0; height: 2px; width: 100%; background: var(--il-gold-light); transform-origin: 0 50%; transform: scaleX(0); }
.il-tst-bar[aria-selected="true"] { color: #fff; }
.il-tst-bar-name { display: block; margin-top: 4px; white-space: nowrap; }
.il-tst-bar:focus-visible, .il-tst-arrow:focus-visible { outline: 2px solid var(--il-gold-light); outline-offset: 3px; }
@media (max-width: 767px) { .il-tst-bar-name { display: none; } .il-tst-bar { width: 48px; padding-top: 6px; } .il-tst-nav { gap: 12px; } }

/* ---- two-column split (agent section) ---- */
.il-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.il-split-copy .sqs-html-content p { color: #46464A; }
#page .il-split-copy .sqs-html-content h2 { margin: 6px 0 16px; }
@media (max-width: 767px) { .il-split { grid-template-columns: 1fr; } }

/* ---- closed-loop drawing ---- */
.il-loop { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto; overflow: visible; font-family: var(--il-display); }
.il-loop-track { fill: none; stroke: rgba(29, 29, 31, 0.08); stroke-width: 22; }
.il-loop-ring { fill: none; stroke: var(--il-charcoal); stroke-width: 2; stroke-dasharray: 100; stroke-dashoffset: 100; transform: rotate(-90deg); transform-origin: 300px 300px; }
.il-loop-pulse { fill: none; stroke: var(--il-gold); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 6 94; opacity: 0; transform-origin: 300px 300px; }
.il-loop-chev { fill: none; stroke: var(--il-charcoal); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.il-seg path { fill: #F7F5F1; stroke: #fff; stroke-width: 2; transition: fill .3s; }
.il-seg text { fill: var(--il-charcoal); font-size: 15px; font-weight: 500; text-anchor: middle; }
.il-seg { opacity: 0; }
.il-loop-core { fill: #fff; stroke: rgba(29, 29, 31, 0.08); }
.il-loop-pill rect { fill: #fff; stroke: var(--il-charcoal); stroke-width: 1.5; }
.il-loop-pill text { fill: var(--il-ink); font-size: 13px; font-weight: 500; letter-spacing: 0.12em; text-anchor: middle; }
.il-loop-title { fill: #B57200; font-size: 17px; font-weight: 500; text-anchor: middle; letter-spacing: 0.04em; }
.il-loop-wrap.is-inview .il-loop-ring { animation: il-draw 2.2s var(--il-ease) forwards; }
.il-loop-wrap.is-inview .il-loop-chev { animation: il-fade .6s ease 1.6s forwards; }
.il-loop-wrap.is-inview .il-seg { animation: il-fade .7s ease forwards; animation-delay: calc(0.35s + var(--i) * 0.18s); }
.il-loop-wrap.is-inview .il-loop-pulse { animation: il-fade .6s ease 2.2s forwards, il-orbit 7s linear 2.2s infinite; }
@keyframes il-draw { to { stroke-dashoffset: 0; } }
@keyframes il-fade { to { opacity: 1; } }
@keyframes il-orbit { from { transform: rotate(-90deg); } to { transform: rotate(270deg); } }
@media (prefers-reduced-motion: reduce) {
  .il-loop-ring { stroke-dashoffset: 0; }
  .il-loop-chev, .il-seg { opacity: 1; }
  .il-loop-pulse { display: none; }
  .il-loop-wrap.is-inview :is(.il-loop-ring, .il-loop-chev, .il-seg, .il-loop-pulse) { animation: none !important; }
}
.no-js .il-loop-ring { stroke-dashoffset: 0; }

/* ---- footer ---- */
#footer-sections .il-footer-section > .section-border .section-background { background: #fff !important; border-top: 1px solid rgba(29, 29, 31, 0.08); }
#footer-sections .il-footer-section > .content-wrapper { padding: clamp(48px, 6vw, 80px) 0 28px !important; }
#footer-sections .il-wrap { width: 100%; max-width: var(--maxPageWidth); margin: 0 auto; padding: 0 var(--sqs-site-gutter, 4vw); box-sizing: content-box; }
@media (min-width: 1341px) { #footer-sections .il-wrap { padding: 0; } }
.il-foot { display: grid; grid-template-columns: minmax(220px, 1.3fr) 3.7fr; gap: clamp(32px, 5vw, 72px); }
.il-foot-logo img { display: block; height: 34px; width: auto; }
.il-foot-tag { margin: 16px 0 20px; font: 400 14px/1.6 var(--il-display); color: #55555A; max-width: 24em; }
.il-foot-socials { display: flex; gap: 10px; }
.il-foot-social { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(29, 29, 31, 0.14); color: var(--il-charcoal); transition: background-color .2s, color .2s; }
.il-foot-social svg { width: 15px; height: 15px; fill: currentColor; }
.il-foot-social:hover { background: var(--il-ink); color: #fff; }
.il-foot-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.5fr); gap: 24px; }
#siteWrapper .il-foot-h { margin: 0 0 14px; font: 500 12px/1 var(--il-display) !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--il-ink) !important; }
.il-foot-col ul { list-style: none; margin: 0; padding: 0; }
#siteWrapper .il-foot-col li { margin: 0 0 10px; padding: 0; font: 400 14px/1.5 var(--il-display); color: #55555A; }
#siteWrapper .il-foot-col li::before { content: none !important; }
#siteWrapper .il-foot-col a { color: #46464A !important; text-decoration: none; transition: color .2s; }
#siteWrapper .il-foot-col a:hover { color: #B57200 !important; }
.il-foot-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: clamp(36px, 5vw, 56px); padding-top: 22px; border-top: 1px solid rgba(29, 29, 31, 0.08); }
#siteWrapper .il-foot-bottom p { margin: 0; font: 400 13px/1.5 var(--il-display); color: #6A6A70; }
#siteWrapper .il-foot-bottom a { color: #46464A !important; text-decoration: none; }
@media (max-width: 1023px) { .il-foot { grid-template-columns: 1fr; } .il-foot-links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .il-foot-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } .il-foot-contact { grid-column: 1 / -1; } #footer-sections .il-wrap { padding: 0 var(--sqs-mobile-site-gutter, 6vw); box-sizing: border-box; } }

/* ---- team ---- */
#page .il-team-section > .content-wrapper { padding-top: calc(var(--il-sec) * 0.8) !important; }
.il-team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.il-person { position: relative; }
.il-person-link { display: block; color: inherit !important; text-decoration: none; }
.il-person-photo { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 16px; background: #F7F5F1; transition: transform .4s var(--il-ease), box-shadow .4s; }
.il-person-link:hover .il-person-photo { transform: translateY(-3px); box-shadow: 0 24px 48px -30px rgba(20, 20, 20, 0.45); }
#siteWrapper .il-person-name { margin: 16px 0 4px; font: 400 19px/1.3 var(--il-display) !important; letter-spacing: -0.01em; color: var(--il-ink); }
#siteWrapper .il-person-role { margin: 0; font: 400 13.5px/1.5 var(--il-display); color: #6A6A70; }
.il-person-in { display: inline-block; margin-top: 10px; font: 500 12px/1 var(--il-display); letter-spacing: 0.1em; text-transform: uppercase; color: #B57200 !important; text-decoration: none; border-bottom: 1px solid rgba(238, 154, 0, 0.5); padding-bottom: 3px; }
.il-bio { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.il-bio-photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; }
#siteWrapper .il-bio-text p { max-width: 64ch; font-size: 16.5px; line-height: 1.75; color: #3E3E42; }
#siteWrapper .il-bio-text .il-bio-role { font: 500 12.5px/1 var(--il-display); letter-spacing: 0.14em; text-transform: uppercase; color: #B57200; margin-bottom: 22px; }
.il-bio-links { margin-top: 26px; }
#siteWrapper .il-bio-back a { font: 400 14px/1 var(--il-display); color: #55555A !important; text-decoration: none; }
@media (max-width: 767px) { .il-bio { grid-template-columns: 1fr; } .il-bio-photo { max-width: 320px; } }

/* ---- about: pointer to the team ---- */
.il-pointer { text-align: center; max-width: 720px; margin: 0 auto; }
#page .il-pointer .sqs-html-content :is(h2, p) { text-align: center !important; margin-left: auto; margin-right: auto; }
.il-pointer-cta { margin-top: 18px; }
#page .il-pointer-section .sqsrte-text-color--white, #page .il-pointer-section .sqsrte-text-color--accent { color: inherit !important; }

/* ---- request a demo: form first ---- */
#page .il-demo-section.il-hero > .content-wrapper { padding-top: calc(var(--header-height, 70px) + clamp(28px, 4vw, 56px)) !important; padding-bottom: clamp(48px, 6vw, 88px) !important; align-self: stretch; }
.il-demo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
#siteWrapper .il-demo .sqs-html-content :is(h1, h2) { margin-top: 0; }
#siteWrapper .il-demo .il-demo-point .sqs-html-content p { margin: 0 0 6px; }
.il-demo-form { background: #fff; border-radius: 18px; padding: clamp(22px, 3vw, 40px); box-shadow: 0 0 0 1px var(--il-hairline), 0 30px 60px -40px rgba(20, 20, 20, 0.35); }
.il-trust { margin-top: 32px; padding-top: 26px; border-top: 1px solid rgba(29, 29, 31, 0.1); }
.il-trust-logos { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-bottom: 22px; }
.il-trust-logos img { height: 30px; width: auto; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: 0.7; mix-blend-mode: multiply; }
#siteWrapper .il-trust-quote { margin: 0 0 18px; padding: 0 0 0 16px; border-left: 1px solid var(--il-gold); }
#siteWrapper .il-trust-quote p { margin: 0; font: italic 300 15.5px/1.6 var(--il-display); color: #3A3A3D !important; }
.il-trust-quote cite { display: block; margin-top: 8px; font: 500 11.5px/1 var(--il-display); font-style: normal; letter-spacing: 0.14em; text-transform: uppercase; color: #B57200; }
#siteWrapper .il-trust p.il-trust-stats { margin: 0 0 10px; font: 500 14px/1.5 var(--il-display); color: var(--il-ink) !important; letter-spacing: 0.01em; }
#siteWrapper .il-trust p.il-trust-promise, #siteWrapper .il-trust p.il-trust-contact { margin: 0 0 6px; font-size: 14px !important; line-height: 1.6 !important; color: #55555A !important; }
#siteWrapper .il-trust-contact a { color: #46464A !important; }
@media (max-width: 900px) { .il-demo { grid-template-columns: 1fr; } .il-demo-form { order: -1; } .il-demo-copy .il-demo-point, .il-demo-copy .il-trust { order: 2; } }

/* ---- blog index: clean card grid ---- */
#page .blog-basic-grid { gap: clamp(20px, 2.4vw, 32px) !important; }
#page .blog-basic-grid--container { background: #fff; border: 1px solid var(--il-hairline); border-radius: 16px; overflow: hidden; padding: 0 0 22px !important; box-shadow: 0 18px 40px -34px rgba(20, 20, 20, 0.35); }
#page .blog-basic-grid--container .blog-basic-grid--image { margin: 0 0 18px !important; }
#page .blog-basic-grid--container .blog-basic-grid--text { padding: 0 22px; text-align: left !important; }
#page .blog-basic-grid--container :is(.blog-title, .blog-title a) { font: 400 19px/1.35 var(--il-display) !important; letter-spacing: -0.01em; text-align: left !important; color: var(--il-ink) !important; }
#page .blog-basic-grid--container .blog-meta-section { text-align: left !important; font: 500 12px/1 var(--il-display); letter-spacing: 0.08em; text-transform: uppercase; color: #8A8A90; }
#page .blog-basic-grid--container .blog-excerpt { text-align: left !important; font-size: 14.5px; line-height: 1.6; color: #55555A; }
#page .blog-basic-grid--container .blog-more-link { text-align: left !important; font: 500 13px/1 var(--il-display); color: #B57200 !important; }

/* ---- blog post: readable column ---- */
.blog-item-wrapper .blog-item-content, .blog-item-wrapper .blog-item-title, .blog-item-wrapper .blog-item-meta-wrapper { max-width: 70ch; margin-left: auto !important; margin-right: auto !important; }
#siteWrapper .blog-item-wrapper .blog-item-content :is(p, li) { font-size: 17px; line-height: 1.8; color: #3A3A3D; }
#siteWrapper .blog-item-wrapper .blog-item-content :is(h2, h3) { margin-top: 1.8em; }
#siteWrapper .blog-item-wrapper h1 { font-size: clamp(32px, 3.6vw, 48px) !important; line-height: 1.15 !important; }
.blog-item-related-solution { max-width: 70ch; margin-left: auto !important; margin-right: auto !important; border-radius: 12px; }

/* ---- CTA bands: same composition everywhere ---- */
#page .il-dark-accent .sqs-html-content :is(h2, p) { color: #fff; }
#page .il-dark-accent .sqs-html-content h2 .sqsrte-text-color--accent { color: var(--il-gold-light) !important; }
#page .il-dark-accent .sqs-html-content p a { color: var(--il-gold-light) !important; }

#page .il-was-dark .il-ink { color: var(--il-ink) !important; }
#page .il-was-dark .il-ink.wf-desc, #page .il-was-dark p.il-ink { color: #46464A !important; }

/* CTA bands: one composition everywhere — centred, primary gold pill */
#siteWrapper.site-wrapper #page .il-dark-accent :is(.sqs-button-element--secondary, .sqs-button-element--tertiary) {
  padding: 15px 28px !important; border: 1px solid var(--il-gold) !important; border-radius: 999px !important;
  background: var(--il-gold) !important; color: var(--il-ink) !important; box-shadow: 0 10px 24px -14px rgba(238, 154, 0, 0.8) !important;
}
#page .il-dark-accent .sqs-html-content :is(h1, h2, h3, p) { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
#page .il-dark-accent .sqs-block-button-container { justify-content: center !important; }
#page .il-dark-accent .fe-block .sqs-block { justify-content: center !important; }

/* ================================================================== */
/* Round 6: remaining pages                                            */
/* ================================================================== */

/* off-canvas mobile menu panels must never widen the page (404 had 17px of sideways scroll) */
html, body { overflow-x: clip; }

/* short utility pages (privacy, support, white-papers while empty): compact hero, content on the container */
#siteWrapper .il-hero.il-hero--short { min-height: clamp(300px, 40vh, 420px); }
#page .il-utility .sqs-html-content { max-width: var(--maxPageWidth); margin: 0 auto; }
#page .il-utility .sqs-html-content :is(h1, h2, h3, p) { text-align: left !important; }
#page .il-utility > .content-wrapper { padding-top: calc(var(--il-sec) * 0.8) !important; padding-bottom: var(--il-sec) !important; }

/* sitemap: the list sits in the first section; let it be a plain light band, title over a two-column list */
#siteWrapper .il-hero:has(.sqs-html-content ul a) { min-height: 0; }
#siteWrapper .il-hero:has(.sqs-html-content ul a) > .content-wrapper { padding-top: calc(var(--header-height, 70px) + 48px) !important; padding-bottom: 64px !important; }
#siteWrapper .il-hero .sqs-html-content ul:has(a) { columns: 1; max-width: 280px; margin: 18px auto 0 !important; text-align: left !important; padding-left: 0; }
#siteWrapper .il-hero .sqs-html-content ul:has(a) li { break-inside: avoid; }
#siteWrapper .il-hero .sqs-html-content ul:has(a) a { color: var(--il-ink) !important; text-decoration: none; border-bottom: 1px solid rgba(238, 154, 0, 0.45); }

/* 404 */
#page .page-section.il-404:not(.il-hero) > .content-wrapper { padding-left: var(--sqs-site-gutter, 4vw) !important; padding-right: var(--sqs-site-gutter, 4vw) !important; padding-top: calc(var(--header-height, 70px) + clamp(56px, 8vw, 120px)) !important; padding-bottom: clamp(64px, 8vw, 120px) !important; }
#page .il-404 .content { width: 100%; max-width: var(--maxPageWidth); margin: 0 auto; }
#page .il-404 .sqs-html-content { max-width: 720px; }
@media (max-width: 767px) { #page .page-section.il-404:not(.il-hero) > .content-wrapper { padding-left: var(--sqs-mobile-site-gutter, 6vw) !important; padding-right: var(--sqs-mobile-site-gutter, 6vw) !important; } }
#page .il-404 h1 { font-size: clamp(32px, 4vw, 52px) !important; line-height: 1.12 !important; }
#page .il-404 .sqs-html-content p { font-size: 17px; color: #46464A; }
#page .il-404 .sqs-html-content a { color: #B57200 !important; }

/* FAQ sections: heading and its intro line share one left edge */
#page .page-section:has(.accordion-items-container) .il-center-text .sqs-html-content :is(h2, p) { text-align: left !important; margin-left: 0 !important; }
#siteWrapper .accordion-item__click-target { padding-top: 20px !important; padding-bottom: 20px !important; }
#siteWrapper .accordion-item__title { font-size: 17px !important; color: var(--il-ink) !important; }
#siteWrapper .accordion-item__description p { font-size: 15.5px !important; line-height: 1.75 !important; color: #46464A !important; max-width: 72ch; }

/* long link lists in a centred block (resources glossary): two left-aligned columns */
#page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) { columns: 2; column-gap: 48px; max-width: 980px; margin: 22px auto 0 !important; text-align: left !important; padding-left: 0; }
#page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) li { break-inside: avoid; text-align: left !important; margin-bottom: 10px; }
#page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) li p { text-align: left !important; font-size: 15px !important; line-height: 1.5 !important; margin: 0; }
#page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) a { color: var(--il-ink) !important; text-decoration: none; }
#page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) a:hover { color: #B57200 !important; }
@media (max-width: 767px) { #page :is(.il-center-text, .il-sec--center) .sqs-html-content ul:has(li a) { columns: 1; } }
#siteWrapper .il-hero .sqs-html-content ul:has(a) ul { margin: 6px 0 6px 18px !important; max-width: none; }
#siteWrapper .il-hero .sqs-html-content ul:has(a) li { margin: 0 0 8px; font-size: 16px; }

/* blog cards: date + two-line excerpt (the post's "Author:" line is dropped in PHP) */
#page .blog-basic-grid--container .blog-meta-section { display: block !important; margin-bottom: 10px; }
#page .blog-basic-grid--container .blog-meta-secondary, #page .blog-basic-grid--container .blog-meta-delimiter, #page .blog-basic-grid--container .blog-author { display: none !important; }
#page .blog-basic-grid--container .blog-meta-primary { display: inline !important; }
#page .blog-basic-grid--container .blog-excerpt { display: block !important; margin-top: 8px; }
#page .blog-basic-grid--container .blog-excerpt-wrapper { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#page .blog-basic-grid--container .blog-excerpt-wrapper p { margin: 0; font-size: 14.5px !important; line-height: 1.6 !important; color: #55555A !important; }
#page .blog-basic-grid--container .blog-more-link { display: inline-block !important; margin-top: 12px; }
#page .blog-list-pagination { margin-top: 40px; font: 500 14px/1 var(--il-display); }
#page .blog-list-pagination a { color: var(--il-ink) !important; }

/* team: two per row on phones */
@media (max-width: 767px) { .il-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } #siteWrapper .il-person-name { font-size: 16px !important; } }

/* request a demo on phones: heading, then form, then the rest */
.il-demo { grid-template-areas: "intro form" "more form"; grid-template-rows: auto 1fr; }
.il-demo-intro { grid-area: intro; } .il-demo-more { grid-area: more; } .il-demo-form { grid-area: form; }
@media (max-width: 900px) { .il-demo { grid-template-areas: "intro" "form" "more"; grid-template-rows: none; } .il-demo-form { order: 0; } }

/* card variants with gold outlines and gold titles (StudyCloud benefits) follow the card system */
#page .page-section .code-block :is([class*="card"], [class*="benefit"]):not([class*="icon"]):not(:has(.il-ink)) { border-color: var(--il-hairline) !important; border-radius: 14px; }
#page .benefit-card { background: #fff; border-radius: 16px !important; box-shadow: 0 18px 40px -34px rgba(20, 20, 20, 0.35); padding: clamp(20px, 2vw, 28px) !important; }
#page .benefit-card h3 { color: var(--il-ink) !important; font-family: var(--il-display) !important; font-weight: 400 !important; font-size: 17px !important; }
#page .benefit-card p { color: #55555A !important; font-size: 14.5px !important; line-height: 1.6 !important; }
#page :is(.il-center-text, .page-section.il-sec--center) .sqs-html-content ul:has(li a) li p { text-align: left !important; }

/* ================================================================== */
/* Round 7: inner-page photo heroes (same language as the home film)   */
/* ================================================================== */
#siteWrapper .il-hero--photo { background: #1E1C19; color: #fff; min-height: clamp(520px, 72vh, 760px) !important; }
.il-hero-bg--photo::before, .il-hero-bg--photo::after { content: none !important; }
.il-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 40%; }
.il-hero--photo .il-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(24, 21, 17, 0.78) 0%, rgba(24, 21, 17, 0.6) 38%, rgba(24, 21, 17, 0.25) 70%, rgba(24, 21, 17, 0.15) 100%),
    linear-gradient(180deg, rgba(24, 21, 17, 0.45) 0%, rgba(24, 21, 17, 0) 28%);
}
@media (max-width: 767px) {
  #siteWrapper .il-hero--photo { min-height: 0 !important; }
  .il-hero-photo { object-position: 70% 50%; }
  .il-hero--photo .il-scrim { background: linear-gradient(180deg, rgba(24, 21, 17, 0.62) 0%, rgba(24, 21, 17, 0.7) 100%); }
}
#siteWrapper .il-hero--photo > .content-wrapper { padding-top: calc(var(--header-height, 70px) + clamp(24px, 4vh, 56px)) !important; padding-bottom: clamp(40px, 6vh, 72px) !important; }
/* inner photo heroes are left-aligned (home is the centred one) */
#siteWrapper .il-hero--photo .html-block :is(h1, p, h2, h3, h4),
#siteWrapper .il-hero--photo .html-block :is(h1, p, h2, h3, h4) * { text-align: left !important; }
#siteWrapper .il-hero--photo h1 { text-shadow: none; max-width: 15em; }
#siteWrapper .il-hero--photo h1::before { margin-left: 0 !important; }
#siteWrapper .il-hero--photo .html-block p { max-width: 38em; }
#siteWrapper .il-hero--photo .sqs-block-button-container { justify-content: flex-start !important; }
#siteWrapper .il-hero--photo .fe-block .sqs-block { justify-content: flex-start !important; }
#siteWrapper .il-hero--photo .sqs-block-button-container .sqs-block-button-element { align-self: flex-start !important; }
@media (min-width: 768px) and (max-height: 820px) {
  #siteWrapper .il-hero--photo h1 { font-size: clamp(32px, 5.6vh, 50px) !important; }
}
/* request a demo over the office photo: copy in white, form stays a white card */
#siteWrapper .il-demo-section.il-hero--photo { min-height: 0 !important; }
#siteWrapper .il-demo-section.il-hero--photo .il-demo-intro .sqs-html-content :is(h1, h2, h3, p),
#siteWrapper .il-demo-section.il-hero--photo .il-demo-more .sqs-html-content :is(h1, h2, h3, p, strong) { color: #fff !important; }
#siteWrapper .il-demo-section.il-hero--photo .il-trust { border-top-color: rgba(255, 255, 255, 0.25); }
#siteWrapper .il-demo-section.il-hero--photo .il-trust :is(p, cite, a), #siteWrapper .il-demo-section.il-hero--photo .il-trust-quote p { color: rgba(255, 255, 255, 0.88) !important; }
#siteWrapper .il-demo-section.il-hero--photo .il-trust-quote cite { color: var(--il-gold-light) !important; }
#siteWrapper .il-demo-section.il-hero--photo .il-trust-logos img { filter: grayscale(1) brightness(0) invert(1); mix-blend-mode: normal; opacity: 0.85; }
#siteWrapper .il-demo-section.il-hero--photo .il-scrim { background: rgba(24, 21, 17, 0.72); }
/* blog index hero over the office photo */
#siteWrapper .il-hero--photo .sqs-layout .sqs-html-content :is(h1, h2, h3, p) { color: #fff !important; }

/* moved hero media (diagram video, illustrations) as their own white section */
#page .il-media-section > .content-wrapper { padding-top: calc(var(--il-sec) * 0.8) !important; padding-bottom: calc(var(--il-sec) * 0.8) !important; }
#page .il-media-section .fe-block:has(video.innovo-video) { mix-blend-mode: normal; }
#page .il-media-section .native-video-player { aspect-ratio: 16 / 9 !important; }
#page .il-media-section .code-block .sqs-block-content { background: #fff; border-radius: 18px; padding: clamp(16px, 2vw, 28px); box-shadow: 0 0 0 1px var(--il-hairline), 0 30px 60px -40px rgba(20, 20, 20, 0.35); }
.il-loop-solo { max-width: 600px; margin: 0 auto; }

/* ---- round 7 section fixes ---- */
/* list sections: the section padding is the only vertical space (the list added 6.6vmax of its own) */
#page .user-items-list-section .user-items-list { padding-top: 0 !important; padding-bottom: 0 !important; }
#page .user-items-list-section .list-section-title { margin-bottom: clamp(28px, 3vw, 44px) !important; padding-top: 0 !important; }
#page .user-items-list-section .user-items-list-item-container { padding-top: 0 !important; padding-bottom: 0 !important; }

/* section headings: one style — charcoal, thin; gold only for small eyebrows and partial accents (light.js) */
#page .page-section:not(.il-hero):not(.il-dark-accent):not(.il-keep-dark) h2.il-h2-ink,
#page .page-section:not(.il-hero):not(.il-dark-accent):not(.il-keep-dark) h2.il-h2-ink * { color: var(--il-ink) !important; }

/* FAQ blocks: heading and its intro line centred together over the questions */
#page .page-section:has(.accordion-items-container) .sqs-html-content:has(h2) :is(h2, p),
#page .page-section:has(.accordion-items-container) .il-center-text .sqs-html-content :is(h2, p) { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }

/* StudyCloud "single point of entry": a 3-card row on the container */
#page .innovofeatures-access { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); width: 100%; max-width: none !important; margin: 0 !important; }
#page .innovofeature-item { background: #fff; border: 1px solid var(--il-hairline); border-radius: 16px; padding: clamp(22px, 2.2vw, 32px) !important; text-align: left !important; box-shadow: 0 18px 40px -32px rgba(20, 20, 20, 0.35); }
#page .innovofeature-icon { display: grid !important; place-items: center; width: 52px !important; height: 52px !important; border-radius: 14px !important; background: #FBF5EA !important; color: #B57200 !important; font-size: 22px !important; margin: 0 0 18px !important; border: 0 !important; }
#page .innovofeature-icon i { color: #B57200 !important; }
#page .innovofeature-item h3 { margin: 0 0 6px !important; font: 400 18px/1.3 var(--il-display) !important; color: var(--il-ink) !important; text-align: left !important; }
#page .innovofeature-item p { margin: 0 !important; font-size: 14.5px !important; line-height: 1.6 !important; color: #55555A !important; text-align: left !important; }
@media (max-width: 767px) { #page .innovofeatures-access { grid-template-columns: 1fr; } }

/* About: the image stands clean with a radius; the quote box is a light rule, not a grey slab */
#page .page-section:not(.il-hero) .image-block .fluid-image-container,
#page .page-section:not(.il-hero) .image-block img { border-radius: 16px; }
#page .page-section:not(.il-hero) .code-block blockquote,
#page .page-section:not(.il-hero) .code-block [class*="quote"] { background: transparent !important; border: 0 !important; border-left: 2px solid var(--il-gold) !important; border-radius: 0 !important; padding: 4px 0 4px 20px !important; box-shadow: none !important; }

/* card icons: crisper on their tile */
#siteWrapper #page .user-items-list-simple .list-item-media-inner { background: #fff !important; box-shadow: inset 0 0 0 1px rgba(238, 154, 0, 0.35); }
#siteWrapper #page .user-items-list-simple .list-item-media-inner img.list-image { filter: saturate(1.5) contrast(1.25) brightness(0.88); }

/* About: "Executive Leadership" pointer centred */
#page .il-pointer .sqs-html-content :is(h2, p) { text-align: center !important; }
/* About: the grey quote card becomes a gold rule */
#page .update-card { background: transparent !important; border: 0 !important; border-left: 2px solid var(--il-gold) !important; border-radius: 0 !important; box-shadow: none !important; padding: 4px 0 4px 20px !important; }
#page .update-card p { font-size: 15px !important; line-height: 1.65 !important; color: #3A3A3D !important; }
/* a heading band followed directly by its card grid reads as one band */
#page .page-section:is(.light, .light-bold) + .user-items-list-section > .section-border .section-background { background-color: var(--il-warm) !important; }
#page .page-section:is(.light, .light-bold):has(+ .user-items-list-section) > .content-wrapper { padding-bottom: calc(var(--il-sec) * 0.35) !important; }
#page .page-section:is(.light, .light-bold) + .user-items-list-section > .content-wrapper { padding-top: 0 !important; }
/* small gold card labels (StudyCloud startup tiles) in ink like every other card title */
#page .code-block [class*="card"] :is(h3, h4) { color: var(--il-ink) !important; }
/* heading band followed by its article grid: one band */
#page .page-section:is(.light, .light-bold):has(+ .page-section .blog-basic-grid) > .content-wrapper { padding-bottom: calc(var(--il-sec) * 0.35) !important; }
#page .page-section:is(.light, .light-bold) + .page-section:has(.blog-basic-grid) > .section-border .section-background { background-color: var(--il-warm) !important; }
#page .page-section:is(.light, .light-bold) + .page-section:has(.blog-basic-grid) > .content-wrapper { padding-top: 0 !important; }
/* blog index: grid starts closer to the hero */
#page .il-hero + .page-section:has(.blog-basic-grid) > .content-wrapper { padding-top: calc(var(--il-sec) * 0.7) !important; }

/* ---- Inner-page heroes: one text stack, buttons side by side (2026-10-05) ----
   The ported fluid-engine grid placed each hero block in its own grid cell, so the
   primary button sat ~45px right of the text edge, the secondary link floated far
   right and a gap of empty rows opened under the headline. Inner heroes (not home,
   not the demo page with its form) become a simple stack on the container. */
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine {
  display: grid !important;
  grid-template-columns: max-content max-content 1fr !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  align-items: center;
  justify-items: start;
  column-gap: 32px !important;
  row-gap: 0 !important;
  width: min(1240px, calc(100% - 12vw)) !important;
  margin-inline: auto !important;
  padding-block: clamp(96px, 14vh, 150px) clamp(56px, 9vh, 96px) !important;
}
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block {
  grid-area: auto !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block:has(.sqs-block-button, .button-block, [data-definition-name="website.components.button"]) {
  grid-column: auto !important;
  width: auto !important;
  max-width: none;
  margin-top: 32px !important;
}
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block:has(.sqs-block-button, .button-block, [data-definition-name="website.components.button"]) .sqs-block-content,
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block:has(.sqs-block-button, .button-block, [data-definition-name="website.components.button"]) .sqs-block {
  padding: 0 !important; margin: 0 !important; text-align: left !important; justify-content: flex-start !important;
}
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block + .fe-block:not(:has(.sqs-block-button, .button-block, [data-definition-name="website.components.button"])) { margin-top: 18px !important; }
/* type: inner heroes are shorter than home */
#siteWrapper .il-hero:not(.il-hero--home) h1,
#siteWrapper .il-hero:not(.il-hero--home) h1.il-h1--long { font-size: clamp(34px, 3.4vw, 54px) !important; line-height: 1.1 !important; margin: 0 !important; }
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .html-block p { font-size: clamp(16px, 1.15vw, 18px) !important; line-height: 1.6 !important; max-width: 620px; margin: 0 !important; }
#siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) { min-height: 0 !important; }
@media (max-width: 767px) {
  #siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine {
    grid-template-columns: 1fr !important;
    width: calc(100% - 12vw) !important;
    padding-block: 104px 48px !important;
  }
  #siteWrapper .il-hero:not(.il-hero--home):not(:has(form)) .fluid-engine > .fe-block:has(.sqs-block-button, .button-block, [data-definition-name="website.components.button"]) { margin-top: 20px !important; }
  #siteWrapper .il-hero:not(.il-hero--home) h1 { font-size: clamp(30px, 8vw, 38px) !important; }
}

/* ---- Blog: the closing "About InnovoClinical's Clinical Study Software" band had a
   centred heading over left-aligned, narrower paragraphs. Centre the whole band. */
#siteWrapper section[data-section-id="6572094bb511080615a58807"] .sqs-layout .sqs-block-content,
#siteWrapper section[data-section-id="6572094bb511080615a58807"] p { text-align: center !important; }
#siteWrapper section[data-section-id="6572094bb511080615a58807"] p { max-width: 720px; margin-inline: auto !important; }
#siteWrapper section[data-section-id="6572094bb511080615a58807"] .sqs-layout .col { float: none !important; margin-inline: auto !important; }
#siteWrapper.site-wrapper main section.page-section[data-section-id="6572094bb511080615a58807"] .content { margin-inline: auto !important; width: min(820px, 100%) !important; }
#siteWrapper.site-wrapper main section.page-section[data-section-id="6572094bb511080615a58807"] .sqs-html-content p,
#siteWrapper.site-wrapper main section.page-section[data-section-id="6572094bb511080615a58807"] .sqs-html-content :is(h1,h2,h3) { text-align: center !important; margin-inline: auto !important; max-width: 720px; }
#siteWrapper.site-wrapper main section.page-section[data-section-id="6572094bb511080615a58807"] > .content-wrapper { width: 100% !important; max-width: none !important; box-sizing: border-box; }

/* Paul 2026-10-23: hero option A, left-aligned. The home hero stacks on the
   container like the inner heroes, keeping its full-height, vertically centred frame. */
#siteWrapper .il-hero--home.il-hero--left .fluid-engine {
  display: grid !important;
  grid-template-columns: max-content 1fr !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  align-content: center;
  justify-items: start;
  row-gap: 0 !important;
  width: min(1240px, calc(100% - 12vw)) !important;
  min-height: 100svh;
  margin-inline: auto !important;
  padding-block: 120px 72px !important;
}
#siteWrapper .il-hero--home.il-hero--left .fluid-engine > .fe-block {
  grid-area: auto !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 860px;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
#siteWrapper .il-hero--home.il-hero--left .fluid-engine > .fe-block + .fe-block { margin-top: 22px !important; }
#siteWrapper .il-hero--home.il-hero--left .fluid-engine > .fe-block:has(.sqs-block-button) { width: auto !important; margin-top: 36px !important; }
#siteWrapper .il-hero--home.il-hero--left .html-block p { max-width: 640px; margin: 0 !important; }
#siteWrapper .il-hero--dark.il-hero--left h1,
#siteWrapper .il-hero--dark.il-hero--left .html-block :is(p, li, h2, h3, h4),
#siteWrapper .il-hero--dark.il-hero--left .html-block :is(p, li, h2, h3, h4) * { text-align: left !important; }
#siteWrapper .il-hero--home.il-hero--left h1 { margin: 0 !important; }
#siteWrapper .il-hero--home.il-hero--left h1::before { margin-left: 0 !important; margin-right: 0 !important; }
#siteWrapper.site-wrapper #page .il-hero--left .sqs-block-button-container,
#siteWrapper .il-hero--left .fe-block .sqs-block,
#siteWrapper .il-hero--left .sqs-block-button .sqs-block-button-container { justify-content: flex-start !important; text-align: left !important; padding: 0 !important; }
@media (max-width: 767px) {
  #siteWrapper .il-hero--home.il-hero--left .fluid-engine { grid-template-columns: 1fr !important; padding-block: 104px 48px !important; }
}
/* Paul 2026-10-23: leadership photos about head size */
.il-person-photo { width: 140px; max-width: 100%; }
@media (max-width: 767px) { .il-person-photo { width: 110px; } }
