/* Quorum Bridge brand palette, derived from the supplied logo. */
:root {
  --ink: #201c22;
  --ink-2: #2c2530;
  --paper: #fcfbf9;
  --blue: #5a1957;
  --aqua: #c7ddd6;
  --line: rgba(32, 28, 34, .14);
  --muted: #665f65;
}

/* Clean brand ring at rest; interactive elements keep the familiar hand cursor. */
html, body, body * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='8' fill='%235a1957' stroke='%23c7ddd6' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='%23c7ddd6'/%3E%3C/svg%3E") 16 16, default; }
a, button, [role="button"], summary, select, label[for], input[type="checkbox"], input[type="radio"] { cursor: pointer !important; }
input:not([type="checkbox"]):not([type="radio"]), textarea { cursor: text !important; }

.brand { gap: 9px; }
.brand > span { font-family: 'Sora', var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .095em; }
.brand > span b { font-weight: 700; }
.brand-logo { width: 31px; height: 31px; object-fit: contain; flex: 0 0 auto; transition: transform .2s ease; }
.brand:hover .brand-logo { transform: rotate(-4deg); }

/* Fixed, transparent-on-hero header: white mark at the top, true brand mark after scrolling. */
.site-header { position: fixed; transition: background .25s ease, box-shadow .25s ease, color .25s ease; }
.site-header .brand-logo, footer .brand-logo { filter: brightness(0) invert(1); }
.site-header.is-scrolled {
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(47, 21, 47, .13);
}
.site-header.is-scrolled .brand-logo { filter: none; }
.site-header.is-scrolled nav a { color: var(--ink); }
.site-header.is-scrolled nav a:not(.nav-cta):hover { color: var(--ink); }
.site-header.is-scrolled .nav-cta { border-color: rgba(47, 21, 47, .45); }
.site-header.is-scrolled .nav-cta span { color: var(--blue); }
.site-header.is-scrolled .menu-button { border-color: rgba(47, 21, 47, .45); color: var(--ink); }
.site-header .nav-cta,
.site-header.is-scrolled .nav-cta {
  display: inline-flex;
  align-items: center;
  border-color: var(--blue);
  background: var(--blue);
  color: var(--white);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.site-header .nav-cta:hover,
.site-header.is-scrolled .nav-cta:hover { background: #71206b; border-color: #71206b; }
.site-header .nav-cta span,
.site-header.is-scrolled .nav-cta span {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 9px;
  border: 1px solid transparent;
  color: var(--aqua);
  font-size: 13px;
  line-height: 1;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.site-header .nav-cta:hover span, .site-header .nav-cta:focus-visible span { border-color: var(--aqua); background: var(--aqua); color: var(--ink); transform: translate(2px,-2px); }
.site-header .myq-link { display: inline-flex; align-items: center; align-self: stretch; gap: 6px; min-height: 90px; color: var(--white); font-family: 'Sora', var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.site-header .myq-link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.site-header .myq-link:hover, .site-header .myq-link:focus { color: var(--white); }
.site-header.is-scrolled .myq-link { color: var(--ink); }
.site-header.is-scrolled .myq-link:hover, .site-header.is-scrolled .myq-link:focus { color: var(--ink); }

.nav-dropdown { position: relative; }
.nav-dropdown-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #e8edf7;
  cursor: pointer;
  font: 600 12px var(--sans);
  padding: 8px 0;
}
.nav-dropdown-button span { color: var(--aqua); font-size: 14px; margin-left: 3px; }
.nav-dropdown-button, .nav-dropdown-button span { transition: color .2s ease, transform .2s ease; }
.nav-dropdown-button:hover { color: var(--white); }
.nav-dropdown.is-open .nav-dropdown-button span { transform: rotate(180deg); }
.dropdown-panel {
  position: absolute;
  top: calc(100% + 13px);
  left: -18px;
  width: 260px;
  padding: 9px;
  background: var(--paper);
  box-shadow: 0 16px 38px rgba(32, 28, 34, .18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease;
}
.dropdown-panel a { display: block; color: var(--ink) !important; padding: 10px 11px; text-decoration: none; font-size: 12px; line-height: 1.25; }
.dropdown-panel a:hover, .dropdown-panel a:focus { background: #eef3f1; color: var(--blue) !important; }
.dropdown-panel small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.35; }
.nav-dropdown.is-open .dropdown-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.site-header.is-scrolled .nav-dropdown-button { color: var(--ink); }
.site-header.is-scrolled .nav-dropdown-button span { color: var(--blue); }

/* Selected navigation behaves as a clear header cell, with a strong baseline. */
.site-header nav { align-self: stretch; gap: 0; }
.site-header .nav-dropdown > .nav-dropdown-button { display: inline-flex; align-items: center; min-height: 90px; padding: 0 13px; }
.site-header .nav-dropdown.is-open > .nav-dropdown-button,
.site-header .nav-dropdown.is-current > .nav-dropdown-button { background: rgba(0, 0, 0, .19); }
.site-header.is-scrolled .nav-dropdown.is-open > .nav-dropdown-button,
.site-header.is-scrolled .nav-dropdown.is-current > .nav-dropdown-button { background: #ebe5e9; }
.nav-dropdown.is-open > .nav-dropdown-button::after,
.nav-dropdown.is-current > .nav-dropdown-button::after { bottom: 0; height: 4px; transform: scaleX(1); }
.nav-utility { margin-left: 4px; }
.mega-audience .mega-links { grid-template-columns: repeat(2, 1fr); }

/* Every top-level navigation choice uses the same underline state. */
.site-header nav > a:not(.nav-cta), .nav-dropdown-button, .myq-link, .locale-button { position: relative; }
.site-header nav > a:not(.nav-cta)::after, .nav-dropdown-button::after, .myq-link::after, .locale-button::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 1px; height: 2px;
  background: var(--aqua); transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
.site-header nav > a:not(.nav-cta):hover::after, .site-header nav > a:not(.nav-cta):focus-visible::after,
.nav-dropdown-button:hover::after, .nav-dropdown-button:focus-visible::after, .nav-dropdown.is-open > .nav-dropdown-button::after,
.nav-dropdown.is-current > .nav-dropdown-button::after, .myq-link:hover::after, .myq-link:focus-visible::after,
.locale-button:hover::after, .locale-button:focus-visible::after { transform: scaleX(1); }
.site-header.is-scrolled nav > a:not(.nav-cta)::after, .site-header.is-scrolled .nav-dropdown-button::after,
.site-header.is-scrolled .myq-link::after, .site-header.is-scrolled .locale-button::after { background: var(--blue); }

.audience-panel { left: -18px; width: 280px; }
.audience-panel a { min-height: 72px; display: flex; flex-direction: column; justify-content: center; }
.dropdown-panel a[aria-current="page"] { background: #e4dde3; color: var(--ink) !important; }
.nav-utility { display: flex; align-self: stretch; align-items: stretch; gap: 13px; padding-left: 13px; border-left: 1px solid rgba(255,255,255,.28); }
.site-header.is-scrolled .nav-utility { border-color: rgba(47,21,47,.3); }
.site-header .nav-cta { margin-left: 18px; }
.locale-switcher { position: relative; }
.locale-button { display: inline-flex; align-items: center; justify-content: center; min-height: 90px; padding: 0 2px; border: 0; border-radius: 0; background: transparent; color: var(--white); cursor: pointer; }
.country-flag { display: block; width: 24px; height: 16px; border: 1px solid rgba(32, 28, 34, .18); box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); object-fit: cover; }
.locale-panel { left: auto; right: 0; width: 58px; padding: 7px; display: grid; gap: 2px; }
.locale-panel a { display: grid; place-items: center; min-height: 38px; padding: 6px; }
.locale-panel a > span { grid-row: auto; }
.locale-panel a small { display: none; }
.site-header.is-scrolled .locale-button { border-color: rgba(47,21,47,.3); color: var(--ink); }

.hero-grid { background-image: linear-gradient(rgba(199, 221, 214, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(199, 221, 214, .11) 1px, transparent 1px); }
.hero-grid:after { background: radial-gradient(circle, rgba(90, 25, 87, .24), rgba(45, 29, 45, .07) 42%, transparent 69%); }
.hero:before { background: linear-gradient(90deg, rgba(32, 28, 34, .97) 0%, rgba(32, 28, 34, .86) 38%, rgba(32, 28, 34, .38) 75%, rgba(32, 28, 34, .62) 100%), linear-gradient(0deg, rgba(32, 28, 34, .62), transparent 52%); }
.hero .eyebrow,
.page-hero .eyebrow,
.section-dark .eyebrow,
.section-dark .capabilities span,
.professionals .eyebrow { color: var(--aqua); }
.hero-mark i { background: var(--aqua); }
.audience { background: #eef3f1; }
.professionals { background: #e9e2e7; color: var(--ink); }
.professionals .audience-label { border-color: var(--line); }
.professionals .large-index { color: rgba(32, 28, 34, .12); }
.professionals .audience-content > p { color: var(--muted); }
.professionals .audience-content li { border-color: var(--line); }
.professionals .audience-label .eyebrow { color: var(--blue); }
.professionals .button-light { background: var(--blue); color: var(--white); }
.about, .section-pale { background: #f1eeeb; }
/* Home-page sections carry their own quiet color field so the narrative has rhythm. */
main > #companies.audience { background: #e3eee9; }
main > #professionals.audience { background: #eee4ec; }
main > .section.partnership { background: #f3eee7; }
main > .section.why { background: #e7eef0; }
.large-index { color: rgba(32, 28, 34, .12); }
.about-layout p:not(.eyebrow) { color: #514a50; }
.placeholder-note { color: #573255; }
.contact { background: var(--aqua); }
.button-primary,
.button-light,
.contact,
.contact .eyebrow,
.contact .contact-email,
.contact .text-link { color: var(--ink); }
.contact .text-link span { color: var(--blue); }
.section-more { margin-top: 34px; }
.section-more a { color: var(--blue); font-size: 12px; font-weight: 800; text-decoration: none; }
.section-more a span { margin-left: 7px; font-size: 17px; }
.section-more-dark a { color: var(--aqua); }
.section-more a:hover span, .text-link:hover span, .contact-email:hover span { display: inline-block; transform: translate(3px, -2px); }
.section-more a span, .text-link span, .contact-email span { transition: transform .2s ease; }
.button:hover { box-shadow: 0 8px 22px rgba(32, 28, 34, .18); }
.button-primary:hover, .button-light:hover { filter: brightness(.96); }
.contact-email:hover { color: var(--blue); border-color: var(--blue); }
.footer-legal a { transition: color .2s ease; }
.footer-legal a:hover { color: var(--aqua); }

.page-header, .page-hero { background: var(--ink); }
.company-header, .company-hero { background: #332437; }
.professional-header, .professional-hero { background: #29222b; }
.staffing-header, .staffing-hero { background: #2b2b31; }
.resource-header, .resource-hero { background: #1d3938; }
.partnership-header, .partnership-hero { background: #3a2638; }
.work-header, .work-hero { background: #343127; }
.about-header, .about-hero { background: #302830; }
.specialties-header, .expertise-hero { background: #29302f; }
.insights-header, .insights-hero { background: #2d2d3b; }
.page-hero { overflow: visible; }
.page-hero:after { position: fixed; z-index: 0; border-color: rgba(199, 221, 214, .32); box-shadow: 0 0 0 90px rgba(199, 221, 214, .05), 0 0 0 180px rgba(199, 221, 214, .03); pointer-events: none; }
.page-hero .container { z-index: 1; }
main > .section, main > article > .section { position: relative; z-index: 1; background: var(--paper); }
main > .section.section-pale, main > article > .section.section-pale, main > .section.about { background: #f1eeeb; }
main > .section.section-dark, main > article > .section.section-dark { background: var(--ink-2); }
.page-hero p:not(.eyebrow) { color: #decddd; }
.path-grid span, .expectations span, .values span, .expertise-list span { color: var(--aqua); }
.opportunities li:after { color: var(--blue); }

/* Quiet abstract connection pattern, with the supplied mark reserved for the footer. */
.why { position: relative; overflow: hidden; }
.why-layout { position: relative; z-index: 1; }
.contact { position: relative; overflow: hidden; }
.contact-inner { position: relative; z-index: 1; }
.why:before {
  content: '';
  position: absolute;
  top: 43px;
  right: max(30px, calc((100vw - 1200px) / 2));
  width: 230px;
  height: 140px;
  background-image: radial-gradient(circle, rgba(90, 25, 87, .42) 1.5px, transparent 1.7px), linear-gradient(135deg, transparent 49.3%, rgba(90, 25, 87, .13) 49.5%, rgba(90, 25, 87, .13) 50.5%, transparent 50.7%);
  background-size: 28px 28px, 56px 56px;
  mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
  opacity: .78;
  pointer-events: none;
}
.audience-label:after {
  content: '';
  position: absolute;
  top: 44px;
  right: 26px;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(90, 25, 87, .3);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(90, 25, 87, .05), 0 0 0 25px rgba(90, 25, 87, .025);
}
.bridge-geometry {
  position: relative;
  width: min(360px, 100%);
  height: 116px;
  margin-top: 43px;
  border-bottom: 1px solid rgba(90, 25, 87, .48);
}
.bridge-geometry:before {
  content: '';
  position: absolute;
  left: 14%;
  bottom: 0;
  width: 72%;
  height: 86px;
  border: 1px solid rgba(90, 25, 87, .55);
  border-bottom: 0;
  border-radius: 240px 240px 0 0;
}
.bridge-geometry i {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 27px;
  height: 1px;
  background: rgba(90, 25, 87, .66);
}
.bridge-geometry b {
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 57px;
  background: rgba(90, 25, 87, .62);
}
.bridge-geometry b:nth-of-type(1) { left: 20%; }
.bridge-geometry b:nth-of-type(2) { right: 20%; }
.bridge-geometry em {
  position: absolute;
  bottom: 22px;
  width: 11px;
  height: 11px;
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: var(--paper);
}
.bridge-geometry em:nth-of-type(1) { left: calc(20% - 5px); }
.bridge-geometry em:nth-of-type(2) { right: calc(20% - 5px); }

.contact-form input, .contact-form select, .contact-form textarea { border-color: rgba(47, 21, 47, .45); color: var(--ink); }
.contact-form .consent input { accent-color: var(--ink); }
.contact-form .consent a { color: var(--ink); }
.legal-page { background: var(--paper); }
.legal-content h1 { color: var(--ink); }
.legal-content p, .legal-content li { color: #4f3d50; }
.legal-date { color: var(--muted) !important; }
.legal-notice { background: #f2eaf0; border-left-color: var(--blue); }

/* Full-width navigation panels give visitors context before choosing a path. */
.dropdown-panel.mega-panel {
  position: fixed;
  top: 90px;
  left: 50%;
  width: 100vw;
  display: grid;
  grid-template-columns: minmax(250px, .9fr) 1.7fr;
  padding: 0 max(32px, calc((100vw - 1000px) / 2));
  overflow: hidden;
  border-top: 1px solid rgba(32, 28, 34, .12);
  border-bottom: 1px solid rgba(32, 28, 34, .12);
  box-shadow: 0 18px 36px rgba(32, 28, 34, .14);
  transform: translate(-50%, -6px);
}
.nav-dropdown.is-open .dropdown-panel.mega-panel { transform: translate(-50%, 0); }
.mega-intro { padding: 31px 30px; background: var(--ink-2); color: var(--white); }
.mega-label { margin: 0 0 16px; color: var(--aqua); font: 10px var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.mega-intro strong { display: block; font-size: 24px; font-weight: 500; letter-spacing: -.045em; line-height: 1.13; }
.mega-intro > p:not(.mega-label) { color: #d4cad3; font-size: 13px; line-height: 1.6; margin: 15px 0 25px; }
.mega-intro-link { color: var(--aqua) !important; display: inline-block !important; padding: 0 !important; font-size: 11px !important; font-weight: 800; }
.mega-intro-link span { font-size: 16px; margin-left: 5px; }
.mega-intro-link:hover, .mega-intro-link:focus { background: transparent !important; color: var(--white) !important; }
.mega-intro-link:hover span { display: inline-block; transform: translate(3px, -2px); }
.mega-panel .mega-intro-link { color: var(--aqua) !important; }
.mega-panel .mega-intro-link:hover, .mega-panel .mega-intro-link:focus { color: var(--white) !important; }
.mega-links { display: grid; grid-template-columns: repeat(3, 1fr); align-content: stretch; background: var(--paper); }
.mega-about .mega-links, .mega-insights .mega-links { grid-template-columns: repeat(2, 1fr); }
.mega-panel .mega-links > a { display: flex; min-height: 210px; flex-direction: column; justify-content: flex-end; padding: 25px 23px; border-right: 1px solid var(--line); background: transparent; }
.mega-panel .mega-links > a:last-child { border-right: 0; }
.mega-panel .mega-links > a:hover, .mega-panel .mega-links > a:focus { background: #eef3f1; }
.mega-panel .mega-links b { font-size: 15px; letter-spacing: -.025em; }
.mega-panel .mega-links small { margin-top: 8px; font-size: 11px; line-height: 1.45; }
.capabilities a { display: block; min-height: 168px; padding: 26px 28px 34px; position: relative; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); color: inherit; text-decoration: none; transition: background .2s, color .2s; }
.capabilities a:hover, .capabilities a:focus-visible { background: rgba(199, 221, 214, .12); }
.capabilities a i { position: absolute; right: 22px; bottom: 20px; color: var(--aqua); font-size: 18px; font-style: normal; opacity: 0; transform: translate(-4px, 4px); transition: opacity .2s, transform .2s; }
.capabilities a:hover i, .capabilities a:focus-visible i { opacity: 1; transform: translate(0, 0); }
.mega-links-specialties { padding: 28px 25px; gap: 18px; }
.mega-links-specialties > div { border-right: 1px solid var(--line); padding: 0 16px; }
.mega-links-specialties > div:last-child { border-right: 0; }
.mega-links-specialties p { color: var(--blue); font: 10px var(--mono); letter-spacing: .1em; margin: 0 0 16px; text-transform: uppercase; }
.mega-panel .mega-links-specialties a { display: block; min-height: 0; padding: 8px 0; color: var(--ink) !important; font-size: 13px; font-weight: 700; }
.mega-panel .mega-links-specialties a:hover, .mega-panel .mega-links-specialties a:focus { background: transparent; color: var(--blue) !important; }

/* Clear linked paths in the home-page service and company overview sections. */
.service-grid h3 a { color: inherit; text-decoration: none; }
.service-grid h3 a span { display: inline-block; color: var(--blue); font-size: .9em; opacity: 0; transform: translate(-3px, 3px); transition: opacity .2s, transform .2s; }
.service-grid article:hover h3 a span, .service-grid h3 a:focus span { opacity: 1; transform: translate(3px, -2px); }
.about-link { display: inline-block; margin-top: 14px; color: var(--ink); font-size: 13px; font-weight: 800; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.about-link span { color: var(--blue); font-size: 16px; margin-left: 6px; }
.about-link:hover span, .about-link:focus span { display: inline-block; transform: translateX(3px); }
.model-grid h2 a, .opportunities li a { color: inherit; text-decoration: none; }
.model-grid h2 a:hover, .model-grid h2 a:focus, .opportunities li a:hover, .opportunities li a:focus { color: var(--blue); }
.opportunities li a { display: block; width: 100%; }

/* The supplied mark becomes a single, quiet footer watermark. */
footer { position: relative; overflow: hidden; }
footer:after { content: ''; position: absolute; inset: 0; background: url('quorumbridge-logo.png') no-repeat right -86px bottom -182px / 470px; background-attachment: fixed; filter: brightness(0) invert(1); opacity: .11; pointer-events: none; }
footer .footer-inner { position: relative; z-index: 1; }

/* The career board is purposefully ready for real vacancies without inventing any. */
.opening-board { max-width: 540px; padding: 27px 30px 30px; border: 1px solid var(--line); background: var(--paper); }
.opening-status { margin: 0 0 28px; color: var(--blue); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.opening-board h3 { max-width: 390px; margin: 0; font-size: 26px; font-weight: 500; letter-spacing: -.045em; line-height: 1.15; }
.opening-board > p:not(.opening-status) { margin: 17px 0 24px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.opening-board .section-more { color: var(--ink); font-weight: 800; text-decoration: none; }
.opening-board .section-more span { color: var(--blue); font-size: 17px; margin-left: 4px; }
.opening-board .section-more:hover, .opening-board .section-more:focus { color: var(--blue); }

/* The name story gives the About page a clear, distinct reason for the brand. */
.name-story .editorial-grid > div:last-child { color: #d8ccd7; }
.name-story .editorial-grid > div:last-child p { color: inherit; }
.name-story strong { color: var(--aqua); font-weight: 800; }
.name-story-closing { max-width: 470px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.23); font-size: 18px; letter-spacing: -.02em; line-height: 1.5; }

/* Insights use an editorial rhythm, with real reading behind every card. */
.insight-feature { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; border-top: 1px solid var(--line); padding-top: 33px; }
.insight-feature h2, .insight-heading h2 { margin: 15px 0 17px; font-size: clamp(33px, 4vw, 54px); font-weight: 500; letter-spacing: -.055em; line-height: 1.12; }
.insight-feature > div > p:not(.article-type) { max-width: 620px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.article-type { margin: 0; color: var(--blue); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.insight-feature .section-more, .insight-grid a, .article-body .section-more { color: var(--ink); font-size: 13px; font-weight: 800; text-decoration: none; }
.insight-feature .section-more span, .insight-grid a span, .article-body .section-more span { color: var(--blue); font-size: 17px; margin-left: 4px; }
.insight-feature .section-more:hover, .insight-feature .section-more:focus, .insight-grid a:hover, .insight-grid a:focus, .article-body .section-more:hover, .article-body .section-more:focus { color: var(--blue); }
.insight-feature ol { align-self: end; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.insight-feature li { display: flex; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px; font-weight: 700; }
.insight-feature li span { color: var(--blue); font: 10px var(--mono); letter-spacing: .1em; }
.insight-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 43px; }
.insight-heading > p { max-width: 420px; margin: 0 0 9px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.insight-grid article { display: flex; min-height: 310px; flex-direction: column; padding: 29px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; transition: background .2s ease; }
.insight-grid article:hover { background: #f8f4f7; }
.insight-grid h3 { margin: 32px 0 12px; font-size: 25px; font-weight: 500; letter-spacing: -.045em; line-height: 1.14; }
.insight-grid article > p:not(.article-type) { color: var(--muted); font-size: 14px; line-height: 1.65; }
.insight-grid a { margin-top: auto; padding-top: 20px; }
.article-hero h1 { max-width: 880px; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 680px); justify-content: center; gap: 85px; }
.article-layout aside { height: max-content; position: sticky; top: 120px; border-top: 1px solid var(--line); }
.article-layout aside p { margin: 15px 0 8px; color: var(--blue); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.article-layout aside a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.article-layout aside a:hover, .article-layout aside a:focus { color: var(--blue); }
.article-lead { margin-top: 0; color: var(--ink) !important; font-size: 22px !important; letter-spacing: -.025em; line-height: 1.48 !important; }
.article-body h2 { margin: 48px 0 12px; font-size: 31px; font-weight: 500; letter-spacing: -.045em; line-height: 1.16; scroll-margin-top: 125px; }
.article-body p { color: var(--muted); font-size: 16px; line-height: 1.75; }
.article-callout { margin: 37px 0 29px; padding: 25px 28px; border-left: 3px solid var(--blue); background: #f2ebf1; }
.article-callout p { margin: 0 0 9px; color: var(--blue); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.article-callout strong { font-size: 20px; font-weight: 500; letter-spacing: -.03em; line-height: 1.25; }

/* A visitor-facing sitemap, while sitemap.xml remains available for search engines. */
.sitemap-header, .sitemap-hero { background: #2c3030; }
.sitemap-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.sitemap-grid nav { padding: 28px 25px 33px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sitemap-grid .eyebrow { margin-bottom: 25px; }
.sitemap-grid a, .sitemap-legal a { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 10px 0; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.sitemap-grid a span, .sitemap-legal a span { color: var(--blue); font-size: 17px; transition: transform .2s ease; }
.sitemap-grid a:hover, .sitemap-grid a:focus, .sitemap-legal a:hover, .sitemap-legal a:focus { color: var(--blue); }
.sitemap-grid a:hover span, .sitemap-grid a:focus span, .sitemap-legal a:hover span, .sitemap-legal a:focus span { transform: translate(3px, -2px); }
.sitemap-legal { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: end; }
.sitemap-legal .eyebrow { grid-column: 1 / -1; margin: 0; }
.sitemap-legal a { border-bottom: 1px solid var(--line); }

/* A transparent alternative to unverified testimonials. */
.partnership { background: #f1eeeb; }
.partnership-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; margin-bottom: 52px; }
.partnership-head h2 { margin: 0; font-size: clamp(35px, 4.3vw, 59px); font-weight: 500; letter-spacing: -.055em; line-height: 1.12; }
.partnership-head > p { color: var(--muted); font-size: 16px; padding-top: 43px; }
.partnership-track { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.partnership-card { min-height: 245px; padding: 29px 31px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .25s, color .25s; }
.partnership-card.is-active { background: var(--ink-2); color: var(--white); }
.partnership-card > span { color: var(--blue); font: 10px var(--mono); letter-spacing: .12em; }
.partnership-card.is-active > span { color: var(--aqua); }
.partnership-card h3 { margin: 34px 0 11px; font-size: 23px; font-weight: 500; letter-spacing: -.04em; line-height: 1.15; }
.partnership-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.partnership-card.is-active p { color: #d6cbd5; }
.carousel-controls { display: flex; align-items: center; gap: 13px; margin-top: 19px; }
.carousel-controls button { width: 36px; height: 36px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-size: 18px; transition: background .2s, color .2s; }
.carousel-controls button:hover, .carousel-controls button:focus { background: var(--blue); color: var(--white); }
.carousel-controls p { margin: 0 7px; color: var(--muted); font: 11px var(--mono); letter-spacing: .1em; }

/* A footer that works as a compact site map. */
footer { padding: 62px 0 22px; }
.footer-inner { display: block; }
.footer-top { display: grid; grid-template-columns: minmax(220px, .8fr) 1.7fr; gap: 80px; }
.footer-top > p { max-width: 270px; margin: 21px 0 0; color: #cbbfca; font-size: 14px; line-height: 1.65; }
.footer-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.footer-columns nav { display: grid; align-content: start; gap: 8px; }
.footer-columns h2 { margin: 0 0 9px; color: var(--aqua); font: 10px var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.footer-columns a { color: #e7e0e6; font-size: 12px; font-weight: 600; line-height: 1.45; text-decoration: none; transition: color .2s; }
.footer-columns a:hover, .footer-columns a:focus { color: var(--aqua); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.16); margin-top: 52px; padding-top: 20px; }
.footer-bottom > p { margin: 0; color: #b9acb8; font: 10px var(--mono); letter-spacing: .07em; }
.footer-legal { display: flex; gap: 17px; }
.footer-legal a { color: #d7cdd6; text-decoration: none; }

/* Guided contact intake: the on-page form remains available, while the header starts with context. */
.talk-dialog[hidden] { display: none; }
.talk-dialog { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(24, 19, 25, .68); }
.talk-dialog__panel { position: relative; width: min(700px, 100%); max-height: calc(100vh - 28px); overflow: auto; padding: 30px 34px; background: var(--paper); box-shadow: 0 28px 90px rgba(18, 12, 18, .38); }
.talk-dialog__close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); cursor: pointer; font-size: 22px; line-height: 1; }
.talk-dialog__eyebrow { margin: 0 0 12px; color: var(--blue); font: 10px var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.talk-dialog h2 { max-width: 560px; margin: 0 0 8px; font-size: clamp(29px, 3.6vw, 42px); font-weight: 500; letter-spacing: -.055em; line-height: 1.08; }
.talk-dialog__intro { margin: 0 0 18px; color: var(--muted); font-size: 15px; }
.talk-options { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.talk-options button { min-height: 132px; padding: 22px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); cursor: pointer; text-align: left; transition: background .2s ease, color .2s ease; }
.talk-options button:hover, .talk-options button:focus-visible { background: var(--blue); color: var(--white); outline: 0; }
.talk-options b { display: block; font-size: 17px; letter-spacing: -.03em; line-height: 1.2; }
.talk-options span { display: block; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.talk-options button:hover span, .talk-options button:focus-visible span { color: #eee7ed; }
.talk-dialog__back { display: inline-flex; margin-bottom: 15px; border: 0; border-radius: 0; background: transparent; color: var(--blue); cursor: pointer; font: 700 11px var(--sans); }
.talk-dialog__form .contact-form { max-width: none; margin-top: 17px; gap: 12px; padding: 16px; border: 1px solid var(--line); background: #f2edf1; }
.talk-dialog__form .form-row { gap: 12px; }
.talk-dialog__form .contact-form > label:not(.consent), .talk-dialog__form .contact-form .form-row > label { display: block; position: relative; color: var(--ink); font-size: 11px; }
.talk-dialog__form .contact-form > label:not(.consent) > span, .talk-dialog__form .contact-form .form-row > label > span { position: absolute; top: 0; right: 0; margin: 0; }
.talk-dialog__form .contact-form input:not([type="hidden"]):not([type="checkbox"]):not(.honeypot),
.talk-dialog__form .contact-form textarea { display: block; min-height: 42px; margin-top: 6px; border: 1px solid rgba(47, 21, 47, .35); border-radius: 0; background: var(--white); box-shadow: none; color: var(--ink); font-size: 15px; }
.talk-dialog__form .contact-form textarea { min-height: 78px; }
.talk-dialog__form .contact-form input:focus,
.talk-dialog__form .contact-form textarea:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: var(--blue); }
.talk-dialog__form .contact-form .consent { display: flex; color: var(--ink); font-size: 11px; line-height: 1.4; }
.talk-dialog__form .contact-form .consent input { min-height: 16px; background: transparent; }
.talk-dialog__form .contact-form .button { margin-top: 4px; }

@media (max-width: 760px) { .talk-dialog { align-items: end; padding: 0; } .talk-dialog__panel { max-height: 90vh; padding: 37px 21px 28px; } .talk-options { grid-template-columns: 1fr; } .talk-options button { min-height: 0; } }

@media (max-width: 1120px) { .site-header nav { gap: 17px; } .site-header nav a, .nav-dropdown-button { font-size: 11px; } }
@media (max-width: 760px) { .partnership-head, .footer-top, .insight-feature, .insight-heading, .article-layout, .sitemap-legal { grid-template-columns: 1fr; gap: 24px; } .partnership-head > p { padding-top: 0; } .partnership-track { grid-template-columns: 1fr; } .partnership-card { display: none; min-height: 0; } .partnership-card.is-active { display: block; } .footer-columns { grid-template-columns: 1fr 1fr; gap: 30px 20px; } .footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 38px; } footer:after { background-size: 330px; background-position: right -100px bottom -130px; } .nav-utility { align-self: flex-start; padding-left: 0; border-left: 0; } .locale-switcher { align-self: flex-start; } .locale-panel { left: 0; right: auto; } .insight-feature { padding-top: 24px; } .insight-grid, .sitemap-grid { grid-template-columns: 1fr; } .insight-grid article { min-height: 0; } .article-layout aside { position: static; } .article-body h2 { margin-top: 38px; } .article-lead { font-size: 20px !important; } .sitemap-legal .eyebrow { grid-column: auto; } }

@media (max-width: 760px) {
  .brand-logo { width: 28px; height: 28px; }
  .site-header .myq-link, .locale-button { min-height: 40px; }
  .site-header .nav-cta { margin-left: 0; }
  .site-header.is-scrolled nav { background: var(--paper); }
  .nav-dropdown { width: 100%; }
  .nav-dropdown-button { color: #e8edf7; padding: 2px 0; }
  .site-header .nav-dropdown > .nav-dropdown-button { min-height: auto; padding: 2px 0; }
  .dropdown-panel { display: none; position: static; width: 100%; margin: 8px 0 0; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
  .nav-dropdown.is-open .dropdown-panel { display: block; visibility: visible; }
  .site-header.is-scrolled .nav-dropdown-button { color: var(--ink); }
  .dropdown-panel.mega-panel { position: static; width: 100%; grid-template-columns: 1fr; padding: 0; transform: none; border: 0; overflow: visible; }
  .nav-dropdown.is-open .dropdown-panel.mega-panel { display: grid; visibility: visible; transform: none; }
  .mega-intro { padding: 21px 18px; }
  .mega-intro strong { font-size: 20px; }
  .mega-links { grid-template-columns: 1fr; }
  .mega-about .mega-links, .mega-insights .mega-links { grid-template-columns: 1fr; }
  .mega-panel .mega-links > a { min-height: 0; padding: 15px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .capabilities a { min-height: 145px; padding: 18px; }
  .mega-links-specialties { gap: 0; padding: 0; }
  .mega-links-specialties > div { border-right: 0; border-bottom: 1px solid var(--line); padding: 15px 18px; }
  .mega-links-specialties > div:last-child { border-bottom: 0; }
  .why:before { top: 25px; right: -36px; opacity: .5; }
  .audience-label:after { top: 20px; right: 15px; transform: scale(.72); transform-origin: top right; }
  .bridge-geometry { width: min(300px, 100%); height: 98px; margin-top: 34px; }
  .bridge-geometry:before { height: 72px; }
}

/* Mobile navigation is a compact accordion: one section opens at a time and
   the menu itself can scroll without hiding the lower choices. */
@media (max-width: 760px) {
  .site-header nav.open {
    align-self: auto;
    height: auto;
    gap: 0;
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    padding: 0 20px 16px;
    justify-content: flex-start;
  }
  .site-header nav.open > * { flex: 0 0 auto; }
  .site-header nav > a:not(.nav-cta),
  .site-header .nav-dropdown,
  .site-header .nav-utility,
  .site-header .nav-cta { width: 100%; }
  .site-header .nav-dropdown { border-bottom: 1px solid rgba(255,255,255,.18); }
  .site-header.is-scrolled .nav-dropdown { border-color: var(--line); }
  .site-header .nav-dropdown > .nav-dropdown-button {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    padding: 15px 0;
    text-align: left;
  }
  .site-header nav > a:not(.nav-cta) { padding: 15px 0; }
  .site-header .nav-dropdown-button::after,
  .site-header .myq-link::after,
  .site-header .locale-button::after { display: none; }
  .site-header .nav-dropdown.is-open > .nav-dropdown-button,
  .site-header .nav-dropdown.is-current > .nav-dropdown-button { background: transparent; }
  .dropdown-panel { margin: 0 0 14px; }
  .mega-panel .mega-intro { display: none; }
  .mega-panel .mega-links { border-top: 1px solid var(--line); }
  .site-header .nav-utility { gap: 18px; padding: 11px 0; }
  .site-header .myq-link, .site-header .locale-button { min-height: 36px; }
  .site-header .nav-cta { justify-content: space-between; margin-top: 12px; }
}

/* Final mobile accordion layout. Block flow prevents any navigation row from
   stretching to share the available viewport height. */
@media (max-width: 760px) {
  .site-header nav[data-nav].open {
    display: block;
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
  }
  .site-header nav[data-nav].open > .nav-dropdown,
  .site-header nav[data-nav].open > a,
  .site-header nav[data-nav].open > .nav-utility,
  .site-header nav[data-nav].open > .nav-cta {
    display: block;
    height: auto;
    min-height: 0;
    margin: 0;
    flex: none;
  }
  .site-header nav[data-nav].open > .nav-dropdown > .nav-dropdown-button {
    height: auto;
    min-height: 0;
  }
  .site-header nav[data-nav] .dropdown-panel { display: none; }
  .site-header nav[data-nav] .nav-dropdown.is-open > .dropdown-panel { display: block; }
  .site-header nav[data-nav] .nav-dropdown.is-open > .dropdown-panel.mega-panel { display: block; }
  .site-header nav[data-nav] .nav-dropdown.is-open > .dropdown-panel .mega-links { display: block; }
  .site-header nav[data-nav] .nav-utility { display: flex; }
  .site-header nav[data-nav] .nav-utility .nav-dropdown { width: auto; border-bottom: 0; }
}


.insight-search { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 0 0 30px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.insight-search label { display: grid; width: min(100%, 520px); gap: 7px; color: var(--ink); font: 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }.insight-search input { width: 100%; min-height: 46px; border: 1px solid rgba(47,21,47,.35); border-radius: 0; background: var(--white); color: var(--ink); font: 500 15px var(--sans); letter-spacing: 0; text-transform: none; }.insight-search input:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: var(--blue); }.insight-search p { margin: 0 0 10px; color: var(--muted); font: 11px var(--mono); letter-spacing: .08em; white-space: nowrap; }
.insight-library-grid article { min-height: 280px; }.insight-faq { border-top: 1px solid var(--line); }.insight-faq details { border-bottom: 1px solid var(--line); }.insight-faq summary { padding: 19px 0; color: var(--ink); cursor: pointer; font-size: 18px; font-weight: 700; letter-spacing: -.025em; list-style: none; }.insight-faq summary::-webkit-details-marker { display:none; }.insight-faq summary::after { content:'+'; float:right; color:var(--blue); font-size:25px; font-weight:400; }.insight-faq details[open] summary::after { content:'−'; }.insight-faq p { max-width:720px; padding:0 0 20px; color:var(--muted); font-size:15px; line-height:1.7; }
.related-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px,1fr); overflow-x:auto; border-top:1px solid var(--line); border-left:1px solid var(--line); scroll-snap-type:x mandatory; }.related-rail article { display:flex; min-height:250px; flex-direction:column; padding:28px; border-right:1px solid var(--line); scroll-snap-align:start; }.related-rail h3 { margin:28px 0 16px; font-size:23px; font-weight:500; letter-spacing:-.04em; line-height:1.16; }.related-rail a { margin-top:auto; color:var(--ink); font-size:13px; font-weight:800; text-decoration:none; }.related-rail a span { color:var(--blue); font-size:17px; }.related-rail a:hover,.related-rail a:focus { color:var(--blue); }
.nav-search-toggle { position:relative; display:inline-grid; width:48px; height:auto; place-items:center; align-self:stretch; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }.nav-search-toggle::after { content:''; position:absolute; left:14px; right:14px; bottom:0; height:3px; background:var(--aqua); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }.nav-search-toggle svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }.nav-search-toggle:hover,.nav-search-toggle:focus-visible,.nav-search-toggle[aria-expanded="true"] { color:var(--aqua); background:rgba(255,255,255,.08); outline:0; }.nav-search-toggle:hover::after,.nav-search-toggle:focus-visible::after,.nav-search-toggle[aria-expanded="true"]::after { transform:scaleX(1); }.site-header.is-scrolled .nav-search-toggle { color:var(--ink); }.site-header.is-scrolled .nav-search-toggle:hover,.site-header.is-scrolled .nav-search-toggle:focus-visible,.site-header.is-scrolled .nav-search-toggle[aria-expanded="true"] { color:var(--blue); background:#ebe5e9; }.site-header.is-scrolled .nav-search-toggle::after { background:var(--blue); }.nav-search-panel[hidden] { display:none; }
.nav-search-panel { position:fixed; z-index:9; top:90px; left:0; right:0; display:flex; align-items:center; gap:20px; padding:24px max(32px,calc((100vw - 1200px)/2)); border-top:1px solid rgba(255,255,255,.15); background:var(--ink-2); color:var(--white); }.site-header.is-scrolled + .nav-search-panel { background:var(--paper); color:var(--ink); border-color:var(--line); }.nav-search-panel label { flex:1; }.nav-search-panel span { display:block; margin-bottom:7px; color:var(--aqua); font:10px var(--mono); letter-spacing:.12em; text-transform:uppercase; }.nav-search-panel input { width:100%; min-height:46px; border:1px solid rgba(255,255,255,.42); border-radius:0; background:transparent; color:inherit; font:500 17px var(--sans); }.nav-search-panel button { min-height:46px; padding:0 20px; border:0; background:var(--blue); color:var(--white); font:700 12px var(--sans); cursor:pointer; }
@media (max-width:760px) { .insight-search { align-items:stretch; flex-direction:column; }.insight-search p { margin:0; }.insight-faq summary { font-size:16px; }.related-rail { grid-auto-columns:85%; }.nav-search-panel { top:72px; padding:18px 20px; }.nav-search-panel button { padding:0 14px; } }

.nav-search-panel.is-light { background: var(--paper); color: var(--ink); border-color: var(--line); }


.insight-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border:0; }
.insight-library-grid article { min-height:292px; padding:30px; border:1px solid var(--line); background:var(--white); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.insight-library-grid article:hover { background:var(--white); border-color:rgba(80,50,78,.32); box-shadow:0 14px 28px rgba(47,21,47,.10); transform:translateY(-4px); }
@media (max-width:980px) { .insight-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .insight-library-grid { grid-template-columns:1fr; gap:12px; } .insight-library-grid article { min-height:0; } }


/* Insights libraries: editorial clusters reduce repetition without hiding the available reading. */
.insight-library-grid.is-grouped { display:block; }
.insight-topic-group { margin:0 0 66px; }
.insight-topic-group:last-child { margin-bottom:0; }
.insight-topic-head { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:22px; align-items:center; padding:24px 26px; border:1px solid var(--line); border-left:5px solid var(--blue); background:#f4edf2; }
.insight-topic-head h2 { margin:4px 0 7px; color:var(--ink); font-size:27px; font-weight:600; letter-spacing:-.045em; line-height:1.1; }
.insight-topic-head > div > p:last-child { max-width:650px; margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.insight-topic-symbol { display:grid; width:64px; height:64px; place-items:center; border:1px solid currentColor; color:var(--blue); }
.insight-topic-symbol svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.insight-topic-count { margin:0; color:var(--blue); font:600 28px/1 var(--sans); letter-spacing:-.05em; text-align:right; }
.insight-topic-count span { display:block; margin-top:5px; color:var(--muted); font:10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.insight-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.insight-topic--specialist .insight-topic-head { background:#f0edf8; border-left-color:#6b5b9f; }
.insight-topic--search .insight-topic-head { background:#f5f0e9; border-left-color:#a46a3f; }
.insight-topic--momentum .insight-topic-head { background:#edf1f0; border-left-color:#547c72; }
.insight-topic--global .insight-topic-head { background:#e8f1ed; border-left-color:#487666; }
.insight-topic--professional .insight-topic-head { background:#f1eef6; border-left-color:#80659a; }
.insight-topic--specialist .insight-topic-symbol { color:#6b5b9f; }.insight-topic--search .insight-topic-symbol { color:#8b5b35; }.insight-topic--momentum .insight-topic-symbol { color:#426c62; }.insight-topic--global .insight-topic-symbol { color:#3c6d5d; }.insight-topic--professional .insight-topic-symbol { color:#70548d; }
@media (max-width:980px) { .insight-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .insight-topic-head { grid-template-columns:56px minmax(0,1fr); } .insight-topic-count { grid-column:2; justify-self:start; text-align:left; } .insight-topic-symbol { width:56px; height:56px; } }
@media (max-width:760px) { .insight-topic-group { margin-bottom:46px; } .insight-topic-head { grid-template-columns:48px minmax(0,1fr); gap:15px; padding:20px; } .insight-topic-head h2 { font-size:23px; } .insight-topic-symbol { width:48px; height:48px; } .insight-topic-symbol svg { width:27px; height:27px; } .insight-topic-grid { grid-template-columns:1fr; gap:12px; margin-top:12px; } }

/* Live search results in the header panel. */
.nav-search-toggle:hover,
.nav-search-toggle:focus-visible,
.nav-search-toggle[aria-expanded="true"] { color: inherit; }
.site-header.is-scrolled .nav-search-toggle:hover,
.site-header.is-scrolled .nav-search-toggle:focus-visible,
.site-header.is-scrolled .nav-search-toggle[aria-expanded="true"] { color: var(--ink); }

/* Give every header choice the same restrained hover cell; keep open menus distinct. */
.site-header nav > a:not(.nav-cta),
.site-header .nav-dropdown > .nav-dropdown-button,
.site-header .locale-button,
.site-header .myq-link,
.site-header .nav-search-toggle { transition: background-color .2s ease, color .2s ease; }
.site-header nav > a:not(.nav-cta):hover,
.site-header nav > a:not(.nav-cta):focus-visible,
.site-header .nav-dropdown:not(.is-open):not(.is-current) > .nav-dropdown-button:hover,
.site-header .nav-dropdown:not(.is-open):not(.is-current) > .nav-dropdown-button:focus-visible,
.site-header .locale-button:hover,
.site-header .locale-button:focus-visible,
.site-header .myq-link:hover,
.site-header .myq-link:focus-visible,
.site-header .nav-search-toggle:hover,
.site-header .nav-search-toggle:focus-visible,
.site-header .nav-search-toggle[aria-expanded="true"] { background-color: rgba(255, 255, 255, .04); }
.site-header.is-scrolled nav > a:not(.nav-cta):hover,
.site-header.is-scrolled nav > a:not(.nav-cta):focus-visible,
.site-header.is-scrolled .nav-dropdown:not(.is-open):not(.is-current) > .nav-dropdown-button:hover,
.site-header.is-scrolled .nav-dropdown:not(.is-open):not(.is-current) > .nav-dropdown-button:focus-visible,
.site-header.is-scrolled .locale-button:hover,
.site-header.is-scrolled .locale-button:focus-visible,
.site-header.is-scrolled .myq-link:hover,
.site-header.is-scrolled .myq-link:focus-visible,
.site-header.is-scrolled .nav-search-toggle:hover,
.site-header.is-scrolled .nav-search-toggle:focus-visible,
.site-header.is-scrolled .nav-search-toggle[aria-expanded="true"] { background-color: rgba(90, 25, 87, .04); }
.nav-search-panel { display: block; max-height: calc(100dvh - 90px); overflow-y: auto; box-shadow: 0 22px 42px rgba(15, 10, 18, .2); }
.nav-search-inner { width: min(100%, 1200px); margin: 0 auto; }
.nav-search-panel .nav-search-inner label { display: block; width: 100%; }
.nav-search-panel .nav-search-inner input { margin-top: 7px; }
.nav-search-panel.is-light input { border-color: rgba(47, 21, 47, .35); }
.nav-search-hint { margin: 10px 0 0; color: #d7cdd6; font: 11px/1.5 var(--mono); }
.nav-search-panel.is-light .nav-search-hint { color: var(--muted); }
.nav-search-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-height: min(55vh, 450px); margin-top: 22px; overflow-y: auto; }
.nav-search-result { display: flex; min-height: 122px; flex-direction: column; padding: 17px 18px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); text-decoration: none; transition: background .18s ease, transform .18s ease; }
.nav-search-result:hover, .nav-search-result:focus-visible { background: #e8f1ed; transform: translateY(-2px); }
.nav-search-result small { color: var(--blue); font: 700 10px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.nav-search-result strong { margin-top: 9px; font: 700 16px/1.25 var(--sans); letter-spacing: -.025em; }
.nav-search-result span { margin: 7px 0 0; color: var(--muted); font: 13px/1.45 var(--sans); letter-spacing: normal; text-transform: none; }
.nav-search-empty { grid-column: 1 / -1; margin: 0; padding: 16px 0; color: inherit; font-size: 15px; }
.nav-search-empty a { color: var(--aqua); }
.nav-search-panel.is-light .nav-search-empty a { color: var(--blue); }
@media (max-width: 980px) { .nav-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .nav-search-panel { max-height: calc(100dvh - 72px); }
  .nav-search-results { grid-template-columns: 1fr; max-height: calc(100dvh - 230px); }
  .nav-search-result { min-height: 0; padding: 14px 15px; }
}
