/* GENERATED by tools/build-shared-styles.cjs. Edit the source modules, not this file.
   Original cascade order is preserved; see tools/shared-styles.json. */

/* Source: enterprise.css */
/* Genesis enterprise presentation: one grid, one rhythm, existing business flows. */
:root {
  --gn-shell: 1320px;
  --gn-radius-sm: 4px;
  --gn-radius: 8px;
  --gn-radius-lg: 12px;
  --gn-shadow: 0 12px 36px rgba(0,6,29,.055);
  --gn-header-stack: 112px;
}
.gn-shell { width: min(calc(100% - clamp(40px,8vw,128px)),var(--gn-shell)); }
.gn-page { line-height: 1.6; }
.gn-page:not(.gn-home) {
  --gn-inner-title-size: clamp(38px,4.2vw,58px);
  --gn-inner-lead-size: 16px;
  --gn-inner-space: clamp(36px,4vw,56px);
}
.gn-page:not(.gn-home) .internal-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; }
.gn-page:not(.gn-home) .internal-hero__actions :is(.gn-button,.gn-text-link) { min-height: 44px; margin: 0; font-size: 14px; }
.gn-page:not(.gn-home) .internal-hero__actions a:focus-visible { outline: 2px solid var(--gn-blue); outline-offset: 4px; }
.gn-page.quote-page .quote-hero { height: auto; min-height: 0; padding-block: var(--gn-inner-space); }
.quote-page .quote-hero .internal-hero__grid { align-items: center; }
.quote-page .quote-hero h1 { font-size: var(--gn-inner-title-size); line-height: 1.1; letter-spacing: -.04em; }
.quote-page .quote-hero .internal-hero__lead { font-size: var(--gn-inner-lead-size); }
.quote-page .quote-hero .internal-hero__aside { padding: 20px; border-radius: 8px; }
.quote-page .quote-hero .internal-hero__aside strong { margin: 12px 0; font-size: 21px; }
.gn-page h1,.gn-page h2,.gn-page h3 { font-weight: 500; }
.gn-page h1,.gn-page h2 { text-wrap: balance; }
.gn-page p { text-wrap: pretty; }
.gn-kicker { font-size: 10px; font-weight: 600; letter-spacing: .13em; }
.gn-button { min-height: 48px; border-radius: 4px; padding-inline: 23px; font-weight: 500; line-height: 1.4; }
.gn-button:hover { transform: none; box-shadow: none; }
.gn-button--outline { background: transparent; border-color: #9aa9be; }
.gn-button--outline:hover { background: #f3f7fd; box-shadow: none; }
.gn-text-link { font-weight: 500; }
.gn-section { padding-block: clamp(56px,6vw,88px); }
.gn-section-heading { gap: 44px; margin-bottom: 36px; }
.gn-section-heading h2,.internal-intro h2 { font-size: clamp(32px,3.6vw,50px); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; }
.gn-section-heading > p,.internal-intro > p { font-size: 15px; line-height: 1.75; }
.gn-ambient-canvas { opacity: .2; }
.gn-page main :is(section[id],button[id],article[id]) { scroll-margin-top: 98px; }
.internal-hero,.portfolio-hero { background: linear-gradient(110deg,#fff 38%,#f2f7fc); }
.gn-page :is(.internal-hero,.portfolio-hero) { isolation: isolate; }
.gn-page-hero-media { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; background-image: linear-gradient(100deg,rgba(247,250,253,.97) 0%,rgba(247,250,253,.9) 38%,rgba(238,246,255,.68) 100%),var(--gn-page-image); background-size: cover; background-position: center 48%; opacity: .62; }
.internal-hero::after { opacity: .12; }
.portfolio-hero::after { opacity: .28; }
.internal-hero h1,.portfolio-hero h1 { font-weight: 500; letter-spacing: -.05em; line-height: 1.06; }
.internal-hero__lead { line-height: 1.65; }
.gn-page .internal-hero__aside { border-radius: 4px; border: 0; border-left: 2px solid var(--gn-blue); background: #fff; box-shadow: none; }
.gn-page .internal-hero__aside:hover { transform: none; box-shadow: none; }
.gn-page .internal-hero__aside::after { display: none; }
.internal-hero__aside strong { font-weight: 500; }
.gn-media-band figure { border-radius: 4px; box-shadow: none; }
.gn-media-band figcaption strong { font-weight: 500; }
.gn-media-slider__dots button { min-width: 32px; min-height: 32px; }
.gn-page .internal-dark { background: #00061d; }
.internal-dark h2 { font-size: clamp(34px,4vw,56px); font-weight: 500; line-height: 1.1; }
.internal-dark p { font-size: 15px; line-height: 1.7; }
.internal-dark__grid { gap: clamp(40px,6vw,88px); }
.principle-card { min-height: 180px; padding: 28px; }
.principle-card h3 { font-weight: 500; margin-top: 24px; }
.gn-page .principle-card p { font-size: 13px; }
.gn-page .capability-tabs { border-radius: 4px; box-shadow: none; }
.gn-page .capability-stage { border-radius: 4px; box-shadow: none; }
.gn-page .capability-tab__icon { border: 0; border-radius: 4px; box-shadow: none; }
.gn-page .capability-tab__copy strong { font-size: 17px; font-weight: 500; }
.gn-page .capability-tab__copy > span { font-size: 12px; }
.gn-page .capability-slide__content h3 { font-weight: 500; }
.gn-page .capability-slide__content p { font-size: 14px; }
.gn-page .capability-slide__content li { border-radius: 3px; }
.gn-page .service-next-step__panel { border: 0; border-radius: 4px; padding: clamp(28px,4vw,54px); background: #f3f7fb; box-shadow: none; }
.gn-page .service-next-step__panel::before { display: none; }
.gn-page .service-next-step__intro h2 { font-size: clamp(34px,4vw,52px); font-weight: 500; line-height: 1.1; }
.gn-page .service-next-step__intro p { font-size: 14px; }
.gn-page .service-next-step__action { border-radius: 4px; box-shadow: none; }
.gn-page .service-next-step__action > p { font-size: 13px; }
.gn-page .service-next-step__action > small { font-size: 10px; }
.gn-page .service-next-step__journey li { box-shadow: none; border-radius: 4px; }
.gn-page .service-next-step__journey p { font-size: 12px; }
.gn-page .service-next-step__journey small { font-size: 9px; }
.gn-page .service-next-step__journey li:not(:last-child)::after { display: none; }
.gn-page .profile-card,.gn-page .company-tabs,.gn-page .company-testimonial,.gn-page .company-model__visual { border-radius: 6px; box-shadow: none; }
.gn-page .profile-card::after { opacity: .25; }
.gn-page .company-overview .internal-intro h2 { font-weight: 500; }
.gn-page .company-proof { border-radius: 0; background: #f5f8fc; }
.gn-page .company-proof > div { box-shadow: none; }
.gn-page .company-hero__signals span,.gn-page .academy-hero__audiences span,.gn-page .contact-hero__signals span { border: 0; border-radius: 0; border-right: 1px solid #cddaea; padding-inline: 0 12px; background: transparent; font-size: 10px; font-weight: 500; }
.gn-page .company-hero__signals span:last-child,.gn-page .academy-hero__audiences span:last-child,.gn-page .contact-hero__signals span:last-child { border-right: 0; }
.gn-page .company-tabs__nav button { border-radius: 3px; font-weight: 500; }
.gn-page .academy-card { border-radius: 6px; box-shadow: none; background: #fff; }
.gn-page .academy-card::before,.gn-page .academy-card::after { display: none; }
.gn-page .academy-card__media { border-radius: 3px; }
.gn-page .academy-card__icon { border-radius: 4px; box-shadow: none; }
.gn-page .academy-card h3 { font-weight: 500; }
.gn-page .academy-course-toolbar { border-radius: 4px; box-shadow: none; }
.gn-page .academy-course-filters button { border-radius: 3px; min-height: 44px; }
.gn-page .academy-card__pay { border-radius: 3px; }
.portfolio-story-nav { top: 76px; }
.portfolio-card,.portfolio-card__media,.portfolio-case__visual,.portfolio-download__panel { border-radius: 6px; box-shadow: none; }
.portfolio-card.is-active { box-shadow: none; transform: none; }
.portfolio-card__body > p { font-size: 12px; }
.portfolio-card__body h2 { font-weight: 500; }
.portfolio-carousel__controls button { min-width: 44px; min-height: 44px; }
.gn-page .contact-copy h2 { font-weight: 500; }
.gn-page .contact-details > a,.gn-page .contact-details > div { border-radius: 4px; box-shadow: none; }
.gn-page .contact-details strong { font-size: 13px; }
.gn-page .contact-details small { font-size: 10px; }
.gn-page .gn-form { border-radius: 6px; box-shadow: none; background: #fff; }
.gn-page .gn-field label { font-size: 12px; font-weight: 500; }
.gn-page .gn-field label small { font-size: 10px; }
.gn-page .gn-field input,.gn-page .gn-field select,.gn-page .gn-field textarea { border-radius: 3px; background: #f7f9fc; font-size: 14px; }
.gn-page .contact-form__head p { font-size: 13px; }
.gn-page .contact-response__steps,.gn-page .contact-response__footer { border-radius: 4px; }
.gn-page .contact-response__steps p { font-size: 13px; }
.gn-page .contact-response__footer > span { font-size: 12px; }
.insight-entry { border-radius: 4px; box-shadow: none; min-height: 320px; padding: 26px; border-top: 2px solid var(--gn-blue); }
.insight-entry:hover { transform: translateY(-2px); box-shadow: none; }
.insight-entry h2 { font-weight: 500; font-size: 24px; margin-top: 36px; }
.legal-hero { background: #f5f8fc; }
.legal-hero__meta { flex-wrap: wrap; }
.legal-section { overflow-wrap: anywhere; }
.legal-contact a { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(16px,2vw,24px); }

/* Architectural surfaces: keep the content clear and concentrate depth at the edges. */
.gn-page :is(.internal-hero,.portfolio-hero,.legal-hero) {
  background:
    linear-gradient(118deg,transparent 62%,rgba(34,114,232,.055) 62%,rgba(34,114,232,.055) 78%,transparent 78%),
    linear-gradient(148deg,transparent 74%,rgba(42,201,255,.055) 74%),
    linear-gradient(108deg,#fff 30%,#f5f8fc 68%,#eaf2fb 100%);
}
.gn-page :is(.internal-hero,.portfolio-hero,.legal-hero)::after {
  content: "";
  inset: 0 0 0 48%;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background:
    repeating-linear-gradient(90deg,rgba(34,114,232,.11) 0 1px,transparent 1px 112px),
    repeating-linear-gradient(0deg,rgba(34,114,232,.08) 0 1px,transparent 1px 112px);
  opacity: .62;
  mask-image: linear-gradient(90deg,transparent,#000 75%);
  pointer-events: none;
}
.gn-page .internal-hero__aside {
  background: linear-gradient(128deg,#fff 52%,#f6faff);
  box-shadow: 0 1px 0 rgba(34,114,232,.1),0 12px 32px rgba(0,6,29,.035);
}
.gn-page :is(.internal-dark,.contact-response) {
  background:
    linear-gradient(118deg,transparent 66%,rgba(34,114,232,.12) 66%,rgba(34,114,232,.035) 87%,transparent 87%),
    linear-gradient(140deg,#00061d 18%,#081c3f 100%);
}
.gn-page .internal-dark::after {
  inset: 0 0 0 56%;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background:
    repeating-linear-gradient(90deg,rgba(42,201,255,.08) 0 1px,transparent 1px 124px),
    linear-gradient(0deg,transparent 39.8%,rgba(42,201,255,.1) 40%,transparent 40.2%);
  mask-image: linear-gradient(90deg,transparent,#000);
  pointer-events: none;
}
.gn-page .contact-response::before {
  background: linear-gradient(90deg,transparent 72%,rgba(42,201,255,.04) 72%,transparent 88%);
}
.gn-page .principle-card {
  background: linear-gradient(150deg,rgba(13,33,65,.82),rgba(0,6,29,.94));
}
.gn-page :is(.service-next-step__panel,.company-cta__panel) {
  background:
    linear-gradient(120deg,transparent 72%,rgba(34,114,232,.05) 72%),
    linear-gradient(135deg,#f7faff 35%,#e8f2fc);
  border: 1px solid #d7e4f2;
}
.gn-page .company-cta__panel::before,.gn-page .academy-launch::after {
  inset: 0 0 0 64%;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  background: repeating-linear-gradient(90deg,rgba(34,114,232,.1) 0 1px,transparent 1px 94px);
  mask-image: linear-gradient(90deg,transparent,#000);
  pointer-events: none;
}
.gn-page .academy-launch { background: linear-gradient(112deg,#fff 25%,#edf5fd); }
.gn-page .company-testimonial__quote,.gn-page .legal-contact {
  background: linear-gradient(130deg,#00061d,#102b50);
}
.gn-page .company-tabs__nav,.gn-page .company-proof {
  background: linear-gradient(125deg,#f8fbff,#edf4fc);
}
.gn-page .gn-footer {
  background:
    linear-gradient(115deg,transparent 70%,rgba(34,114,232,.09) 70%,rgba(34,114,232,.02) 86%,transparent 86%),
    linear-gradient(130deg,#00061d 18%,#0a2043);
}
.gn-page .gn-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 0 66%;
  background: repeating-linear-gradient(90deg,rgba(42,201,255,.075) 0 1px,transparent 1px 112px);
  mask-image: linear-gradient(90deg,transparent,#000);
  pointer-events: none;
}

@media (min-width: 981px) {
  .gn-page { --gn-header-stack: 112px; }
  .internal-hero { height: auto; min-height: var(--gn-internal-hero-height); padding-block: clamp(20px,2.5svh,28px); }
  .gn-media-band { height: max(190px,calc(100svh - var(--gn-opening-header-height,var(--gn-header-stack)) - var(--gn-opening-hero-height,var(--gn-internal-hero-height)))); }
  .internal-hero__grid { gap: clamp(32px,5vw,80px); grid-template-columns: minmax(0,1.45fr) minmax(290px,.65fr); }
  .internal-hero h1 { font-size: var(--gn-inner-title-size); }
  .internal-hero__lead { max-width: 700px; font-size: 16px; }
}
@media (min-width: 981px) and (max-height: 760px) {
  .internal-hero h1 { font-size: clamp(37px,3.7vw,48px); }
  .internal-hero__lead { font-size: 14px; }
  .internal-hero { padding-block: 20px; }
  .gn-page .internal-hero__aside { padding: 18px; }
  .gn-media-band figcaption strong { font-size: 27px; }
}
@media (max-width: 980px) {
  .gn-shell { width: calc(100% - 48px); }
  .internal-hero { padding-block: 48px; }
  .internal-hero__grid { gap: 32px; }
  .internal-hero h1 { font-size: var(--gn-inner-title-size); }
  .internal-hero__aside { width: 100%; max-width: none; }
  .portfolio-story-nav { top: 68px; }
}
@media (max-width: 600px) {
  .gn-page :is(.internal-hero,.portfolio-hero,.legal-hero)::after { inset-inline-start: 62%; opacity: .38; }
  .gn-shell { width: calc(100% - 36px); }
  .gn-section { padding-block: 54px; }
  .gn-section-heading h2,.internal-intro h2 { font-size: 34px; }
  .internal-hero h1,.portfolio-hero h1 { font-size: var(--gn-inner-title-size); }
  .internal-hero__lead { font-size: 15px; }
  .gn-page .gn-field input,.gn-page .gn-field select,.gn-page .gn-field textarea { font-size: 16px; }
  .gn-page .service-next-step__intro h2 { font-size: 34px; }
}
@media (max-width: 720px) {
  .gn-page:not(.gn-home) { --gn-inner-title-size: clamp(34px,8.8vw,40px); --gn-inner-lead-size: 15px; --gn-inner-space: 30px; }
  .quote-page .quote-hero .internal-hero__grid { gap: 24px; }
  .quote-page .quote-hero .internal-hero__aside { padding: 16px; }
  .quote-page .quote-hero .internal-hero__aside strong { font-size: 19px; }
  .quote-page .quote-hero .internal-hero__aside ul { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding-top: 12px; }
  .quote-page .quote-hero .internal-hero__aside li { display: grid; gap: 4px; font-size: 11px; }
}

/* Source: premium-shell.css */
/* Shared enterprise navigation and footer. */
.gn-utility-bar { background: var(--gn-ink); }
.gn-utility-bar__inner { min-height: 36px; }
.gn-utility-bar__contact a { font-size: 11px; font-weight: 500; }
.gn-utility-bar__socials::before { content: none; }
.gn-utility-bar__socials span { border: 0; }
.gn-header { background: #fff; backdrop-filter: none; border-bottom: 1px solid var(--gn-line); }
.gn-header.is-scrolled { background: rgba(255,255,255,.97); box-shadow: 0 5px 22px #00061d08; }
.gn-header__inner { min-height: 76px; gap: 24px; }
.gn-brand { padding-right: 22px; border-right: 1px solid var(--gn-line); }
.gn-brand img { width: 46px; height: 46px; }
.gn-nav { align-self: stretch; gap: clamp(3px,.8vw,14px); margin-right: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gn-nav > a,.gn-nav__solutions > a { min-height: 76px; gap: 7px; padding: 0 10px; border-radius: 0; font-size: 12px; font-weight: 500; color: #344054; }
.gn-nav > a > i,.gn-nav__solutions > a > i { color: #67798f; font-size: 10px; }
.gn-nav > a:hover,.gn-nav > a.is-active,.gn-nav__solutions > a:hover,.gn-nav__solutions > a.is-active { color: var(--gn-blue); background: none; box-shadow: inset 0 -2px var(--gn-blue); transform: none; }
.gn-nav__solutions { display: flex; align-items: center; }
.gn-nav__solutions > a { padding-right: 3px; }
.gn-mega > summary { width: 28px; min-height: 44px; display: grid; place-items: center; cursor: pointer; list-style: none; color: var(--gn-muted); font-size: 9px; }
.gn-mega > summary::-webkit-details-marker { display: none; }
.gn-mega[open] > summary { color: var(--gn-blue); }
.gn-mega[open] > summary i { transform: rotate(180deg); }
.gn-mega__panel { position: absolute; left: 0; right: 0; top: 100%; padding-block: 34px; background: #fff; border-block: 1px solid var(--gn-line); box-shadow: 0 28px 50px #00061d1a; }
.gn-mega__layout { display: grid; grid-template-columns: .85fr 1.6fr; gap: 60px; }
.gn-mega__intro { border-right: 1px solid var(--gn-line); padding-right: 40px; }
.gn-mega__intro h2 { margin: 14px 0; font-size: 28px; font-weight: 500; letter-spacing: -.035em; line-height: 1.18; }
.gn-mega__intro p { color: var(--gn-muted); font-size: 13px; line-height: 1.6; max-width: 300px; }
.gn-mega__intro a { padding: 0; background: none; box-shadow: none; color: var(--gn-blue); }
.gn-mega__links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gn-mega__links a { display: grid; grid-template-columns: 28px 1fr 14px; gap: 14px; min-height: 95px; padding: 18px; border: 1px solid transparent; border-radius: 4px; background: #f7f9fc; box-shadow: none; transform: none; }
.gn-mega__links a:hover { background: #eef5fe; border-color: #bfd5ef; transform: none; box-shadow: none; }
.gn-mega__links a > i:first-child { font-size: 19px; color: var(--gn-blue); width: auto; }
.gn-mega__links a > i:last-child { color: var(--gn-blue); }
.gn-mega__links strong { display: block; font-size: 15px; font-weight: 500; color: var(--gn-ink); }
.gn-mega__links small { display: block; margin-top: 8px; color: var(--gn-muted); font: 400 12px/1.5 var(--gn-font-body); }
.gn-header__actions .gn-button { min-height: 44px; font-size: 12px; padding-inline: 19px; }
.gn-menu-toggle { border-radius: 4px; }
.gn-mobile-menu nav { gap: 0; }
.gn-mobile-menu .mobile-link { border: 0; border-bottom: 1px solid var(--gn-line); border-radius: 0; padding-block: 15px; }
.gn-mobile-menu .gn-button { margin-top: 20px; }
.gn-mobile-menu { max-height: calc(100dvh - 68px); overflow-y: auto; }
.gn-footer { padding: 0 0 28px; background: #00061d; }
.gn-footer::after { display: none; }
.gn-footer__lead { align-items: center; gap: 44px; padding: clamp(40px,5vw,68px) 0; }
.gn-footer__lead h2 { font-size: clamp(32px,3.5vw,50px); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.gn-footer__grid { grid-template-columns: 1.4fr .8fr 1.1fr 1.2fr; gap: 34px; padding-block: 42px; }
.gn-footer__brand img { width: 48px; height: 48px; margin-bottom: 16px; }
.gn-footer__brand p { max-width: 290px; font-size: 13px; line-height: 1.65; }
.gn-footer__grid h3 { font-size: 11px; font-weight: 500; letter-spacing: .08em; }
.gn-footer__grid a,.gn-footer__grid span { font-size: 12px; min-height: 30px; overflow-wrap: anywhere; }
.gn-footer__bottom { gap: 24px; line-height: 1.6; }
.gn-footer__bottom div { flex-wrap: wrap; gap: 16px; }
@media (max-width: 1180px) and (min-width: 981px) {
  .gn-header__inner { gap: 15px; }
  .gn-brand { padding-right: 14px; }
  .gn-nav { gap: 0; }
  .gn-nav > a,.gn-nav__solutions > a { padding-inline: 8px; font-size: 11px; }
  .gn-header__actions .gn-button { padding-inline: 12px; font-size: 11px; }
}
@media (max-width: 980px) {
  .gn-nav,.gn-header__actions { display: none; }
  .gn-header__inner { min-height: 68px; }
  .gn-brand { border: 0; padding: 0; }
  .gn-mega__panel { display: none; }
  .gn-footer__grid { grid-template-columns: 1fr 1fr; }
  .gn-footer__grid > :last-child { grid-column: auto; }
}
@media (max-width: 600px) {
  .gn-utility-bar__inner { min-height: 34px; }
  .gn-utility-bar__contact a { font-size: 10px; }
  .gn-footer__lead { align-items: start; flex-direction: column; gap: 24px; }
  .gn-footer__grid { gap: 32px 20px; }
  .gn-footer__brand,.gn-footer__grid > :last-child { grid-column: 1 / -1; }
  .gn-footer__brand { display: grid; grid-template-columns: 48px 1fr; gap: 20px; }
  .gn-footer__bottom { flex-direction: column; align-items: start; gap: 14px; }
  .gn-footer__bottom div { gap: 12px 20px; }
}
