:root {
  color-scheme: dark;
  --color-bg: #05070b;
  --color-surface: #0b1018;
  --color-surface-raised: #111925;
  --color-text: #f5f8fc;
  --color-muted: #9aa9bb;
  --color-line: #1d2a3a;
  --color-accent: #1677ff;
  --color-accent-bright: #55a2ff;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --step--1: clamp(.82rem, .78rem + .15vw, .9rem);
  --step-0: clamp(1rem, .96rem + .2vw, 1.125rem);
  --step-1: clamp(1.25rem, 1.1rem + .65vw, 1.65rem);
  --step-2: clamp(1.75rem, 1.4rem + 1.5vw, 2.7rem);
  --step-3: clamp(2.6rem, 1.8rem + 3.4vw, 5.4rem);
  --space-1: .5rem;
  --space-2: .875rem;
  --space-3: 1.25rem;
  --space-4: 2rem;
  --space-5: 3.5rem;
  --space-6: clamp(5rem, 10vw, 9rem);
  --space-section: clamp(5rem, 8vw, 7.5rem);
  --radius-sm: .6rem;
  --radius-lg: 1.25rem;
  --shadow-glow: 0 0 5rem rgb(22 119 255 / .25);
  --content-width: 75rem;
  --content-narrow: 64rem;
  --photo-hero-height: 42rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: var(--step-0);
  line-height: 1.6;
}
a { color: inherit; }
a:focus-visible {
  outline: .2rem solid var(--color-accent-bright);
  outline-offset: .25rem;
}
.shell {
  width: min(calc(100% - 2rem), var(--content-width));
  margin-inline: auto;
}
.skip-link {
  position: fixed;
  z-index: 10;
  top: 1rem;
  left: 1rem;
  padding: .7rem 1rem;
  transform: translateY(-200%);
  background: var(--color-text);
  color: var(--color-bg);
}
.skip-link:focus { transform: none; }
.site-header {
  position: sticky;
  z-index: 5;
  top: 0;
  border-bottom: 1px solid rgb(255 255 255 / .08);
  background: rgb(5 7 11 / .82);
  backdrop-filter: blur(1rem);
}
.site-header__inner {
  min-height: 4.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}
.brand {
  display: flex;
  align-items: center;
  gap: .45rem;
  text-decoration: none;
}
.brand__logo {
  width: auto;
  height: clamp(2rem, 3vw, 2.5rem);
  max-width: 11rem;
  object-fit: contain;
}
.brand__abc {
  font-size: 1.45rem;
  font-weight: 850;
  letter-spacing: -.08em;
}
.brand__name {
  color: var(--color-muted);
  font-size: var(--step--1);
}
.nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav-group {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-list > li { display: flex; align-items: center; }
.nav-list > li > a { display: flex; align-items: center; min-height: 1.6rem; }
.nav-list a {
  color: var(--color-muted);
  font-size: var(--step--1);
  text-decoration: none;
}
.nav-list a:hover { color: var(--color-text); }
.nav-list a[aria-current="page"] {
  color: var(--color-text);
  box-shadow: 0 .2rem 0 var(--color-accent);
}
.nav-dropdown summary {
  /* Keep native keyboard disclosure without reserving an arrow slot. */
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  border-radius: 50%;
  color: var(--color-muted);
  cursor: pointer;
  font-size: .8rem;
  list-style: none;
}
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary:hover,
.nav-dropdown summary:focus-visible {
  background: var(--color-surface-raised);
  color: var(--color-text);
}
.nav-dropdown[open] summary {
  background: var(--color-surface-raised);
  color: var(--color-accent-bright);
}
.nav-dropdown__panel {
  position: absolute;
  z-index: 6;
  top: calc(100% + 1.35rem);
  left: -.75rem;
  width: 20rem;
  display: grid;
  padding: var(--space-2);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #090e16;
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / .55);
}
.nav-dropdown__panel p {
  margin: .25rem .7rem .45rem;
  color: var(--color-accent-bright);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nav-dropdown__panel > a,
.nav-dropdown__panel > span {
  padding: .55rem .7rem;
  border-radius: .35rem;
  color: #bdc8d5;
  text-decoration: none;
}
.nav-dropdown__panel > a:hover {
  background: var(--color-surface-raised);
  color: var(--color-text);
}
.nav-dropdown__panel .nav-dropdown__all {
  margin-top: .35rem;
  padding-top: .75rem;
  border-top: 1px solid var(--color-line);
  border-radius: 0;
  color: var(--color-accent-bright);
  font-weight: 750;
}
.nav-dropdown--company summary {
  width: auto;
  grid-auto-flow: column;
  gap: .35rem;
  padding-inline: .55rem;
}
.nav-dropdown__panel--right {
  right: 0;
  left: auto;
}
.mobile-nav { display: none; }
.preview-banner {
  position: relative;
  z-index: 4;
  border-bottom: 1px solid #f1b54a;
  background: #3a2705;
  color: #fff4d6;
  font-size: var(--step--1);
}
.preview-banner__inner {
  min-height: 3rem;
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.preview-banner__inner span { color: #ead7a8; }
.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: .7rem 1.15rem;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  box-shadow: 0 .7rem 2rem rgb(22 119 255 / .2);
  font-size: var(--step--1);
  font-weight: 700;
  text-decoration: none;
}
.button--small { min-height: 2.6rem; }
.button--secondary {
  background: transparent;
  box-shadow: none;
}
.hero {
  overflow: hidden;
  min-height: min(50rem, calc(100vh - 4.75rem));
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 75% 45%, rgb(22 119 255 / .15), transparent 30rem),
    linear-gradient(140deg, #070b12 0%, var(--color-bg) 70%);
}
.hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-6);
}
.hero__copy {
  position: relative;
  z-index: 1;
}
.eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-accent-bright);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .16em;
}
h1, h2, h3, p { text-wrap: pretty; }
h1 {
  max-width: 13ch;
  margin: 0;
  font-size: var(--step-3);
  line-height: .98;
  letter-spacing: -.055em;
}
h2 {
  max-width: 22ch;
  margin: 0;
  font-size: var(--step-2);
  line-height: 1.1;
  letter-spacing: -.035em;
}
h3 {
  margin: 0 0 var(--space-2);
  font-size: var(--step-1);
}
.hero__lead {
  max-width: 40rem;
  margin: var(--space-4) 0;
  color: var(--color-muted);
  font-size: var(--step-1);
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.hero__visual {
  position: relative;
  min-height: 28rem;
  overflow: hidden;
  border: 1px solid rgb(85 162 255 / .2);
  border-radius: 50% 50% 1.5rem 1.5rem;
  background: linear-gradient(150deg, #111b29, #05070b);
  box-shadow: var(--shadow-glow);
}
.hero__visual--image {
  border-radius: var(--radius-lg);
}
.hero__visual--image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(5 7 11 / .28), transparent 45%);
  pointer-events: none;
}
.hero__visual--image > img {
  width: 100%;
  height: 100%;
  min-height: 28rem;
  object-fit: cover;
}
.hero__grid {
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgb(85 162 255 / .35) 1px, transparent 1px),
    linear-gradient(90deg, rgb(85 162 255 / .35) 1px, transparent 1px);
  background-size: 2.5rem 2.5rem;
  transform: perspective(25rem) rotateX(62deg) scale(1.7);
  transform-origin: bottom;
}
.hero__orb {
  position: absolute;
  z-index: 1;
  right: 15%;
  bottom: 18%;
  width: 10rem;
  aspect-ratio: 1;
  border: 1px solid var(--color-accent-bright);
  border-radius: 50%;
  box-shadow:
    inset 0 0 3rem rgb(22 119 255 / .45),
    0 0 4rem rgb(22 119 255 / .6);
}
.foundation {
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 88% 15%, rgb(22 119 255 / .07), transparent 28rem),
    var(--color-bg);
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.card {
  min-height: 16rem;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(150deg, var(--color-surface-raised), var(--color-surface));
}
.card p { color: var(--color-muted); }
.card__number {
  color: var(--color-accent-bright) !important;
  font-size: var(--step--1);
  font-weight: 800;
}
.cta {
  padding-block: clamp(4rem, 7vw, 6rem);
  background:
    linear-gradient(100deg, rgb(22 119 255 / .18), transparent 45%),
    var(--color-surface);
}
.cta__inner {
  display: grid;
  grid-template-columns: 1fr minmax(16rem, .6fr);
  align-items: end;
  gap: var(--space-5);
}
.cta__inner > p { color: var(--color-muted); }
.site-footer {
  border-top: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 8% 20%, rgb(22 119 255 / .1), transparent 26rem),
    linear-gradient(180deg, #080c12, #05070b 70%);
  color: var(--color-muted);
  font-size: var(--step--1);
}
.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 1.4fr) minmax(8rem, .7fr) minmax(11rem, .9fr) minmax(14rem, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3.5rem, 5vw, 4.5rem);
}
.site-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--color-text);
  font-weight: 800;
  text-decoration: none;
}
.site-footer__brand-mark {
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: -.09em;
}
.site-footer__brand-logo {
  width: auto;
  height: 2.75rem;
  max-width: 11rem;
  object-fit: contain;
}
.site-footer__about > p {
  max-width: 25rem;
  margin: var(--space-3) 0 0;
  color: #aab7c6;
  line-height: 1.75;
}
.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: var(--space-4);
}
.site-footer__social a {
  padding: .35rem .7rem;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: #c5d1de;
  font-size: .75rem;
  text-decoration: none;
}
.site-footer__social a:hover {
  border-color: var(--color-accent);
  color: var(--color-text);
}
.site-footer__grid h2 {
  margin: .35rem 0 var(--space-3);
  color: var(--color-accent-bright);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.site-footer__nav ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__nav a,
.site-footer__contact a {
  color: #b4c0ce;
  text-decoration-color: transparent;
  text-underline-offset: .2rem;
}
.site-footer__nav a:hover,
.site-footer__contact a:hover {
  color: var(--color-text);
  text-decoration-color: currentColor;
}
.site-footer__contact-link {
  color: var(--color-accent-bright) !important;
  font-weight: 750;
}
.site-footer__contact address {
  display: grid;
  gap: var(--space-2);
  font-style: normal;
}
.site-footer__contact address p {
  display: grid;
  gap: .15rem;
  margin: 0;
}
.site-footer__contact-label {
  color: #738398;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.site-footer__contact-link {
  display: inline-block;
  margin-top: var(--space-3);
}
.site-footer__bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-line);
  color: #7f8da0;
  font-size: .72rem;
}
.site-footer__legal-identity {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
}
.site-footer__legal-identity span + span::before {
  margin-right: 1rem;
  color: #435065;
  content: "·";
}

.section { padding-block: var(--space-6); }
.lede {
  margin: 0;
  color: #c0ccda;
  font-size: var(--step-1);
  line-height: 1.55;
}
.text-link {
  display: inline-flex;
  gap: var(--space-1);
  margin-top: var(--space-3);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
  text-decoration: none;
}
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-5);
}
.section-heading > p {
  max-width: 32rem;
  margin: 0;
  color: var(--color-muted);
}
.section-count {
  color: var(--color-muted);
  font-size: var(--step--1);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.section-heading__link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding-bottom: .25rem;
  border-bottom: 1px solid rgb(85 162 255 / .4);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
  text-decoration: none;
}
.section-heading__link span,
.home-card__link span {
  transition: transform 180ms ease;
}
.section-heading__link:hover span,
.home-card__link:hover span {
  transform: translateX(.25rem);
}
.empty-state {
  grid-column: 1 / -1;
  padding: var(--space-5);
  border: 1px dashed var(--color-line);
  border-radius: var(--radius-lg);
  background: rgb(255 255 255 / .015);
}
.empty-state h2 { margin-bottom: var(--space-3); }
.empty-state p:last-child { color: var(--color-muted); }
.empty-state--compact { padding: var(--space-4); }

.brand-index-hero {
  position: relative;
  min-height: 38rem;
  overflow: hidden;
  display: grid;
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  background:
    linear-gradient(90deg, rgb(5 7 11 / .98), rgb(5 7 11 / .72)),
    repeating-linear-gradient(90deg, transparent 0 8rem, rgb(85 162 255 / .04) 8rem calc(8rem + 1px)),
    #070b12;
}
.brand-index-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .5;
  background:
    linear-gradient(110deg, transparent 52%, rgb(22 119 255 / .18) 52.1%, transparent 52.35%),
    linear-gradient(118deg, transparent 63%, rgb(85 162 255 / .11) 63.1%, transparent 63.3%);
}
.brand-index-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .65fr);
  align-items: end;
  gap: var(--space-6);
  padding-block: var(--space-6);
}
.brand-index-hero h1 {
  max-width: 14ch;
  font-size: clamp(3rem, 6.6vw, 6.4rem);
}
.brand-index-hero__intro { padding-bottom: .55rem; }
.brand-index-hero__glow {
  position: absolute;
  right: 5%;
  bottom: -16rem;
  width: 35rem;
  aspect-ratio: 1;
  border: 1px solid rgb(85 162 255 / .4);
  border-radius: 50%;
  box-shadow: var(--shadow-glow), inset 0 0 5rem rgb(22 119 255 / .2);
}

.brand-portfolio {
  background:
    radial-gradient(circle at 10% 15%, rgb(22 119 255 / .06), transparent 22rem),
    var(--color-bg);
}
.brand-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.brand-card {
  position: relative;
  min-height: 28rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(150deg, rgb(17 25 37 / .9), rgb(7 11 17 / .98));
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.brand-card::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 80% 10%, rgb(22 119 255 / .16), transparent 45%);
  transition: opacity .2s ease;
}
.brand-card:hover {
  border-color: rgb(85 162 255 / .6);
  box-shadow: 0 1.8rem 4rem rgb(0 0 0 / .3);
  transform: translateY(-.25rem);
}
.brand-card:hover::before { opacity: 1; }
.brand-card__mark {
  position: relative;
  min-height: 10rem;
  display: grid;
  place-items: center;
  margin-bottom: var(--space-4);
  border: 1px solid rgb(255 255 255 / .07);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(135deg, rgb(255 255 255 / .035), transparent),
    #070b11;
}
.brand-card__mark img {
  width: min(78%, 13rem);
  max-height: 5rem;
  object-fit: contain;
}
.brand-card__mark span {
  color: var(--color-accent-bright);
  font-size: 3rem;
  font-weight: 850;
  letter-spacing: -.08em;
  text-transform: uppercase;
}
.brand-card__body {
  flex: 1;
}
.brand-card h2 {
  max-width: none;
  margin-bottom: var(--space-2);
  font-size: var(--step-1);
  letter-spacing: -.02em;
}
.brand-card h2 a {
  text-decoration: none;
}
.brand-card h2 a::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
}
.brand-card__body > p {
  margin: 0 0 var(--space-3);
  color: var(--color-muted);
}
.tag-list {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tag-list li {
  padding: .3rem .55rem;
  border: 1px solid rgb(85 162 255 / .2);
  border-radius: 999px;
  color: #aebed0;
  font-size: .72rem;
}
.brand-card__link {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
}

.selection-principle {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.selection-principle__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
.principle-list {
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
}
.principle-list li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}
.principle-list span {
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}

.consultation-band {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-5);
  background:
    linear-gradient(100deg, rgb(22 119 255 / .2), transparent 50%),
    #071325;
}
.consultation-band::after {
  position: absolute;
  right: -8rem;
  bottom: -13rem;
  width: 30rem;
  aspect-ratio: 1;
  border: 1px solid rgb(85 162 255 / .35);
  border-radius: 50%;
  content: "";
}
.consultation-band__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}
.consultation-band h2 { max-width: 26ch; }

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  padding-top: var(--space-4);
  color: var(--color-muted);
  font-size: var(--step--1);
}
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--color-text); }
.brand-detail-hero {
  position: relative;
  min-height: 44rem;
  overflow: hidden;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 72% 46%, rgb(22 119 255 / .15), transparent 29rem),
    linear-gradient(140deg, #070b12, var(--color-bg));
}
.brand-detail-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(24rem, 1.15fr);
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-5) var(--space-6);
}
.brand-detail-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.4rem, 7vw, 7.2rem);
}
.brand-detail-hero__copy .lede {
  max-width: 35rem;
  margin-block: var(--space-4);
}
.brand-detail-hero__logo {
  max-width: 13rem;
  max-height: 4rem;
  margin-bottom: var(--space-4);
  object-fit: contain;
}
.brand-detail-hero__visual {
  position: relative;
  min-height: 32rem;
  overflow: hidden;
  border: 1px solid rgb(85 162 255 / .2);
  border-radius: var(--radius-lg);
  background: #080c12;
  box-shadow: var(--shadow-glow);
}
.brand-detail-hero__visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(115deg, transparent 35%, rgb(22 119 255 / .13));
}
.brand-detail-hero__visual > img {
  width: 100%;
  height: 100%;
  min-height: 32rem;
  object-fit: cover;
}
.brand-detail-hero__fallback {
  min-height: 32rem;
  display: grid;
  place-items: center;
  background:
    linear-gradient(rgb(85 162 255 / .08) 1px, transparent 1px),
    linear-gradient(90deg, rgb(85 162 255 / .08) 1px, transparent 1px),
    radial-gradient(circle, rgb(22 119 255 / .2), transparent 55%);
  background-size: 3rem 3rem, 3rem 3rem, auto;
}
.brand-detail-hero__fallback span {
  color: rgb(255 255 255 / .9);
  font-size: clamp(5rem, 12vw, 10rem);
  font-weight: 900;
  letter-spacing: -.1em;
  text-transform: uppercase;
}

.brand-intro__layout {
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: var(--space-6);
}
.rich-copy {
  color: #bdc8d5;
  font-size: var(--step-1);
}
.rich-copy p:first-child { margin-top: 0; }
.rich-copy p:last-child { margin-bottom: 0; }
.social-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.social-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--color-muted);
  font-size: var(--step--1);
  text-decoration: none;
}
.social-link > span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--color-line);
  border-radius: 50%;
}
.social-link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.social-link:hover { color: var(--color-accent-bright); }
.contact-company-card {
  margin-top: var(--space-4);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
.contact-details { display: grid; gap: var(--space-2); margin: 0; font-style: normal; }
.contact-details div { display: grid; grid-template-columns: minmax(8rem, .6fr) 1fr; gap: var(--space-2); padding-bottom: var(--space-2); border-bottom: 1px solid var(--color-line); }
.contact-details dt { color: var(--color-muted); font-size: var(--step--1); }
.contact-details dd { margin: 0; }
.contact-social { margin-top: var(--space-3); }

.related-capabilities {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
}
.capability-card {
  min-height: 15rem;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(150deg, var(--color-surface-raised), #080c12);
}
.capability-card__number {
  display: block;
  margin-bottom: var(--space-5);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}
.capability-card p {
  margin-bottom: 0;
  color: var(--color-muted);
}
.capability-card h3 a {
  text-decoration-color: rgb(85 162 255 / .45);
  text-underline-offset: .2em;
}
.capability-card h3 a:hover { color: var(--color-accent-bright); }

.brand-industries__layout {
  display: grid;
  grid-template-columns: minmax(16rem, .7fr) 1fr;
  align-items: start;
  gap: var(--space-6);
}
.brand-industries__layout > div > p:last-child {
  max-width: 34rem;
  color: var(--color-muted);
}
.industry-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.industry-list li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: var(--space-3);
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  font-size: var(--step-1);
}
.industry-list span {
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}

.vad-support {
  border-block: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 90% 20%, rgb(22 119 255 / .08), transparent 25rem),
    var(--color-surface);
}
.support-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  list-style: none;
}
.support-steps li {
  min-width: 0;
  overflow-wrap: anywhere;
  min-height: 12rem;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  border-right: 1px solid var(--color-line);
}
.support-steps li:last-child { border-right: 0; }
.support-steps span {
  margin-bottom: var(--space-3);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}
.support-steps strong { font-size: var(--step-1); }
.support-steps small {
  margin-top: var(--space-1);
  color: var(--color-muted);
  font-size: var(--step--1);
}

.brand-resources__layout {
  display: grid;
  grid-template-columns: .65fr 1fr;
  gap: var(--space-6);
}
.resource-links {
  border-top: 1px solid var(--color-line);
}
.resource-links a {
  display: grid;
  grid-template-columns: 1fr auto;
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-line);
  text-decoration: none;
}
.resource-links a:hover strong { color: var(--color-accent-bright); }
.resource-links span {
  grid-column: 1;
  color: var(--color-muted);
  font-size: var(--step--1);
}
.resource-links strong {
  grid-column: 1;
  margin-top: var(--space-1);
  font-size: var(--step-1);
}
.resource-links i {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--color-accent-bright);
  font-style: normal;
  font-size: var(--step-1);
}

.solution-index-hero {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  display: grid;
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 78% 42%, rgb(22 119 255 / .18), transparent 25rem),
    linear-gradient(135deg, #07101e, var(--color-bg) 65%);
}
.solution-index-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .22;
  background-image:
    linear-gradient(rgb(85 162 255 / .18) 1px, transparent 1px),
    linear-gradient(90deg, rgb(85 162 255 / .18) 1px, transparent 1px);
  background-size: 5rem 5rem;
  mask-image: linear-gradient(90deg, transparent 22%, #000);
}
.solution-index-hero__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .7fr);
  align-items: end;
  gap: var(--space-6);
  padding-block: var(--space-6);
}
.solution-index-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.2rem, 7vw, 6.8rem);
}
.solution-index-hero__intro { padding-bottom: .55rem; }
.solution-index-hero__diagram {
  position: absolute;
  right: 8%;
  bottom: -8rem;
  width: 24rem;
  aspect-ratio: 1;
  border: 1px solid rgb(85 162 255 / .25);
  border-radius: 50%;
  box-shadow: var(--shadow-glow);
}
.solution-index-hero__diagram span {
  position: absolute;
  width: 4rem;
  aspect-ratio: 1;
  border: 1px solid rgb(85 162 255 / .5);
  border-radius: 50%;
  background: rgb(5 7 11 / .7);
  box-shadow: 0 0 2rem rgb(22 119 255 / .3);
}
.solution-index-hero__diagram span:nth-child(1) { top: 18%; left: 15%; }
.solution-index-hero__diagram span:nth-child(2) { top: 5%; right: 18%; }
.solution-index-hero__diagram span:nth-child(3) { right: 6%; bottom: 35%; }

.solution-portfolio {
  background:
    radial-gradient(circle at 90% 20%, rgb(22 119 255 / .06), transparent 25rem),
    var(--color-bg);
}
.solution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.solution-card {
  position: relative;
  min-height: 30rem;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(9rem, .65fr) 1fr;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #070b11);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.solution-card:hover {
  border-color: rgb(85 162 255 / .55);
  box-shadow: 0 1.8rem 4rem rgb(0 0 0 / .3);
  transform: translateY(-.25rem);
}
.solution-card__visual {
  min-height: 100%;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--color-line);
  background:
    linear-gradient(rgb(85 162 255 / .07) 1px, transparent 1px),
    linear-gradient(90deg, rgb(85 162 255 / .07) 1px, transparent 1px),
    radial-gradient(circle at center, rgb(22 119 255 / .18), transparent 60%),
    #070b11;
  background-size: 2.5rem 2.5rem, 2.5rem 2.5rem, auto, auto;
}
.solution-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.solution-card__visual > span {
  color: rgb(85 162 255 / .7);
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 850;
  letter-spacing: -.08em;
}
.solution-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
}
.solution-card__number {
  margin: 0 0 var(--space-5);
  color: var(--color-accent-bright);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.solution-card h2 {
  max-width: none;
  margin-bottom: var(--space-2);
  font-size: var(--step-1);
}
.solution-card h2 a { text-decoration: none; }
.solution-card h2 a::after {
  position: absolute;
  inset: 0;
  content: "";
}
.solution-card__body > p:not(.solution-card__number) {
  margin: 0 0 var(--space-3);
  color: var(--color-muted);
}
.solution-card__link {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
}

.solution-method {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.solution-method__layout {
  display: grid;
  grid-template-columns: .7fr 1fr;
  gap: var(--space-6);
}
.solution-method__steps {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-line);
  list-style: none;
}
.solution-method__steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}
.solution-method__steps span {
  grid-row: 1 / 3;
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}
.solution-method__steps strong { font-size: var(--step-1); }
.solution-method__steps small {
  color: var(--color-muted);
  font-size: var(--step--1);
}

.solution-detail-hero {
  position: relative;
  min-height: 46rem;
  overflow: hidden;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 70% 45%, rgb(22 119 255 / .15), transparent 28rem),
    linear-gradient(140deg, #07101d, var(--color-bg) 65%);
}
.solution-detail-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-5) var(--space-6);
}
.solution-detail-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.1rem, 5.5vw, 6rem);
}
.solution-detail-hero__copy .lede {
  max-width: 38rem;
  margin-block: var(--space-4);
}
.solution-detail-hero__visual {
  position: relative;
  min-height: 0;
  aspect-ratio: 6 / 5;
  overflow: hidden;
  border: 1px solid rgb(85 162 255 / .22);
  border-radius: var(--radius-lg);
  background: #070b11;
  box-shadow: var(--shadow-glow);
}
.solution-detail-hero__visual > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.solution-detail-hero__fallback {
  position: relative;
  height: 100%;
  min-height: 0;
  background:
    linear-gradient(rgb(85 162 255 / .08) 1px, transparent 1px),
    linear-gradient(90deg, rgb(85 162 255 / .08) 1px, transparent 1px),
    radial-gradient(circle at center, rgb(22 119 255 / .19), transparent 55%);
  background-size: 3rem 3rem, 3rem 3rem, auto;
}
.solution-detail-hero__fallback::before,
.solution-detail-hero__fallback::after,
.solution-detail-hero__fallback span {
  position: absolute;
  border: 1px solid rgb(85 162 255 / .5);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 3rem rgb(22 119 255 / .28);
}
.solution-detail-hero__fallback::before {
  top: 24%;
  left: 22%;
  width: 8rem;
  aspect-ratio: 1;
}
.solution-detail-hero__fallback::after {
  right: 14%;
  bottom: 20%;
  width: 12rem;
  aspect-ratio: 1;
}
.solution-detail-hero__fallback span:nth-child(1) {
  top: 12%;
  right: 20%;
  width: 3.5rem;
  aspect-ratio: 1;
}
.solution-detail-hero__fallback span:nth-child(2) {
  left: 14%;
  bottom: 14%;
  width: 4.5rem;
  aspect-ratio: 1;
}
.solution-detail-hero__fallback span:nth-child(3) {
  top: 47%;
  left: 47%;
  width: 2rem;
  aspect-ratio: 1;
}
.solution-intro__layout {
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: var(--space-6);
}
.solution-approach {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.solution-approach__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.solution-approach__grid > section {
  min-height: 22rem;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
}
.solution-approach__grid > section > span,
.solution-specification__grid > section > span {
  display: block;
  margin-bottom: var(--space-5);
  color: var(--color-accent-bright);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.solution-approach__grid p,
.solution-specification__grid p {
  color: var(--color-muted);
}
.solution-specification__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.solution-specification__grid > section {
  min-height: 18rem;
  padding: var(--space-4);
  border-top: 1px solid var(--color-accent);
  background: linear-gradient(180deg, rgb(22 119 255 / .07), transparent 70%);
}
.solution-relations {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.solution-relations__grid {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: var(--space-6);
}
.solution-relations__grid h3 { margin-bottom: var(--space-4); }
.solution-brand-list { border-top: 1px solid var(--color-line); }
.solution-brand-list a {
  display: grid;
  grid-template-columns: 1fr auto;
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  text-decoration: none;
}
.solution-brand-list a:hover strong { color: var(--color-accent-bright); }
.solution-brand-list strong {
  grid-column: 1;
  font-size: var(--step-1);
}
.solution-brand-list span {
  grid-column: 1;
  max-width: 36rem;
  color: var(--color-muted);
  font-size: var(--step--1);
}
.solution-brand-list i {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--color-accent-bright);
  font-style: normal;
}
.supplier-logo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.supplier-logo-card {
  display: grid;
  grid-template-rows: 7rem auto auto;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.supplier-logo-card:hover {
  border-color: rgb(85 162 255 / .65);
  transform: translateY(-2px);
}
.supplier-logo-card__mark {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  padding: var(--space-2);
  border-radius: var(--radius-sm);
  background: #fff;
  color: #09111d;
  font-size: var(--step-2);
  font-weight: 800;
  text-transform: uppercase;
}
.supplier-logo-card__mark img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.supplier-logo-card strong { font-size: var(--step-0); }
.supplier-logo-card__link {
  color: var(--color-muted);
  font-size: var(--step--1);
}
.supplier-logo-card__link i {
  color: var(--color-accent-bright);
  font-style: normal;
}
.solution-industry-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-line);
  list-style: none;
}
.solution-industry-list li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}
.solution-industry-list span {
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}
.solution-industry-list a {
  text-decoration-color: rgb(85 162 255 / .4);
  text-underline-offset: .2em;
}
.solution-industry-list a:hover { color: var(--color-accent-bright); }
.relation-empty {
  padding-block: var(--space-3);
  border-block: 1px solid var(--color-line);
  color: var(--color-muted);
}

.industry-index-hero {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  display: grid;
  align-items: end;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(ellipse at 72% 35%, rgb(22 119 255 / .18), transparent 28rem),
    linear-gradient(130deg, #070b12, #071426 70%, var(--color-bg));
}
.industry-index-hero__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .7fr);
  align-items: end;
  gap: var(--space-6);
  padding-block: var(--space-6);
}
.industry-index-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.2rem, 7vw, 6.8rem);
}
.industry-index-hero__lines {
  position: absolute;
  right: -8rem;
  bottom: -12rem;
  width: 48rem;
  height: 34rem;
  border: 1px solid rgb(85 162 255 / .28);
  border-radius: 50% 0 0;
  box-shadow:
    -4rem -3rem 0 -3.95rem rgb(85 162 255 / .18),
    -8rem -6rem 0 -7.95rem rgb(85 162 255 / .12);
  transform: rotate(-8deg);
}
.industry-portfolio {
  background:
    radial-gradient(circle at 5% 20%, rgb(22 119 255 / .06), transparent 24rem),
    var(--color-bg);
}
.industry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.industry-card {
  position: relative;
  min-height: 29rem;
  overflow: hidden;
  display: grid;
  grid-template-rows: 12rem 1fr;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #070b11);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.industry-card:hover {
  border-color: rgb(85 162 255 / .55);
  box-shadow: 0 1.8rem 4rem rgb(0 0 0 / .3);
  transform: translateY(-.25rem);
}
.industry-card__visual {
  overflow: hidden;
  display: grid;
  place-items: center;
  border-bottom: 1px solid var(--color-line);
  background:
    repeating-linear-gradient(115deg, transparent 0 4rem, rgb(85 162 255 / .08) 4rem calc(4rem + 1px)),
    radial-gradient(circle at 80% 20%, rgb(22 119 255 / .2), transparent 55%),
    #080d15;
}
.industry-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.industry-card__visual > span {
  color: rgb(85 162 255 / .75);
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  font-weight: 850;
  letter-spacing: -.08em;
}
.industry-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
}
.industry-card__number {
  margin: 0 0 var(--space-3);
  color: var(--color-accent-bright);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.industry-card h2 {
  max-width: none;
  margin-bottom: var(--space-2);
  font-size: var(--step-1);
}
.industry-card h2 a { text-decoration: none; }
.industry-card h2 a::after {
  position: absolute;
  inset: 0;
  content: "";
}
.industry-card__body > p:not(.industry-card__number) {
  margin: 0 0 var(--space-3);
  color: var(--color-muted);
}
.industry-card__link {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
}
.industry-principle {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.industry-principle__layout {
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: var(--space-6);
}
.industry-detail-hero {
  position: relative;
  min-height: 46rem;
  overflow: hidden;
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 72% 42%, rgb(22 119 255 / .16), transparent 28rem),
    linear-gradient(140deg, #07101d, var(--color-bg) 65%);
}
.industry-detail-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-5) var(--space-6);
}
.industry-detail-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.2rem, 7vw, 7rem);
}
.industry-detail-hero__copy .lede {
  max-width: 38rem;
  margin-block: var(--space-4);
}
.industry-detail-hero__visual {
  position: relative;
  min-height: 0;
  aspect-ratio: 6 / 5;
  overflow: hidden;
  border: 1px solid rgb(85 162 255 / .22);
  border-radius: var(--radius-lg);
  background: #070b11;
  box-shadow: var(--shadow-glow);
}
.industry-detail-hero__visual > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.industry-detail-hero__fallback {
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  background:
    repeating-linear-gradient(120deg, transparent 0 5rem, rgb(85 162 255 / .07) 5rem calc(5rem + 1px)),
    radial-gradient(circle, rgb(22 119 255 / .2), transparent 58%);
}
.industry-detail-hero__fallback span {
  color: rgb(255 255 255 / .9);
  font-size: clamp(7rem, 16vw, 13rem);
  font-weight: 900;
  text-transform: uppercase;
}
.industry-intro__layout,
.industry-ecosystem__layout {
  display: grid;
  grid-template-columns: .75fr 1fr;
  gap: var(--space-6);
}
.industry-solutions {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.industry-solution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.industry-solution-grid > article {
  position: relative;
  min-height: 19rem;
  display: flex;
  flex-direction: column;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
}
.industry-solution-grid > article > span {
  margin-bottom: var(--space-5);
  color: var(--color-accent-bright);
  font-size: var(--step--1);
}
.industry-solution-grid h3 a {
  text-decoration: none;
}
.industry-solution-grid p {
  color: var(--color-muted);
}
.industry-solution-grid .text-link { margin-top: auto; }
.industry-ecosystem {
  background:
    radial-gradient(circle at 10% 20%, rgb(22 119 255 / .06), transparent 24rem),
    var(--color-bg);
}

.home-section {
  padding-block: var(--space-section);
}
.home-section--quiet {
  background:
    linear-gradient(135deg, rgb(17 25 37 / .48), transparent 52%),
    #070a0f;
}
.home-section__intro {
  max-width: 46rem;
}
.home-card-grid {
  margin-top: 0;
}
.home-section__intro + .home-card-grid {
  margin-top: var(--space-5);
}
.home-card {
  position: relative;
  min-height: 18rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition:
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}
.home-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--color-accent), transparent 72%);
  opacity: .55;
}
.home-card:hover {
  border-color: rgb(85 162 255 / .42);
  box-shadow: 0 1.5rem 3rem rgb(0 0 0 / .18);
  transform: translateY(-.2rem);
}
.home-card__media {
  height: 11rem;
  overflow: hidden;
  margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-3);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-surface);
}
.home-card__media > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 240ms ease;
}
.home-card:hover .home-card__media > img {
  transform: scale(1.025);
}
.home-card > p {
  margin-top: 0;
}
.home-card > p:not(.card__number) {
  margin-bottom: var(--space-4);
}
.home-card__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: var(--space-1);
  margin-top: auto;
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
  text-decoration: none;
}
.home-card--principle {
  min-height: 15rem;
}
.home-card--principle > p:last-child {
  margin-bottom: 0;
}
.content-preview {
  border-top: 1px solid var(--color-line);
}
.content-index-hero,
.content-detail-hero {
  padding-block: var(--space-6);
  border-bottom: 1px solid var(--color-line);
  background:
    radial-gradient(circle at 78% 34%, rgb(22 119 255 / .18), transparent 27rem),
    linear-gradient(145deg, #08111e, var(--color-bg) 68%);
}
.content-index-hero h1,
.content-detail-hero h1 {
  max-width: 15ch;
  margin-block: var(--space-2);
  font-size: var(--step-3);
}
.content-index-hero .lede,
.content-detail-hero .lede { max-width: 45rem; color: var(--color-muted); }
.filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
.filter-bar label {
  display: grid;
  gap: .35rem;
  color: var(--color-muted);
  font-size: var(--step--1);
}
.filter-bar select {
  width: 100%;
  min-height: 3rem;
  padding-inline: .8rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  color: var(--color-text);
  font: inherit;
}
.evidence-grid,
.resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.evidence-card,
.resource-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
}
.evidence-card { display: flex; flex-direction: column; }
.evidence-card > div { flex: 1; display: flex; flex-direction: column; }
.evidence-card .card-action { margin-top: auto; padding-top: var(--space-3); }
.evidence-card .eyebrow,
.resource-card > .eyebrow,
.home-card > .card__number { text-transform: uppercase; font-weight: 400; }
.evidence-card > img,
.evidence-card__fallback {
  width: 100%;
  min-height: 14rem;
  height: 14rem;
  object-fit: cover;
}
.evidence-card__fallback {
  display: grid;
  place-items: center;
  background: radial-gradient(circle, rgb(22 119 255 / .2), transparent 60%);
  color: var(--color-accent-bright);
  font-size: var(--step-2);
}
.evidence-card > div,
.resource-card { padding: var(--space-3); }
.evidence-card h2,
.resource-card h2 { font-size: var(--step-1); }
.evidence-card h2 a,
.resource-card h2 a { text-decoration: none; }
.evidence-card p,
.resource-card p { color: var(--color-muted); }
.resource-card { min-height: 17rem; display: flex; flex-direction: column; }
.resource-card > img {
  width: calc(100% + (2 * var(--space-3)));
  height: 12rem;
  margin: calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) var(--space-3);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  object-fit: cover;
}
.resource-card > span { margin-top: auto; padding-top: var(--space-3); color: var(--color-accent-bright); font-size: var(--step--1); }
.category-nav,
.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}
.category-nav a,
.pagination a,
.pagination span {
  padding: .55rem .8rem;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  color: var(--color-muted);
  font-size: var(--step--1);
  text-decoration: none;
}
.pagination { justify-content: center; margin: var(--space-5) 0 0; }
.article-layout > aside {
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
.project-detail-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--color-line);
  background: radial-gradient(circle at 72% 40%, rgb(22 119 255 / .16), transparent 30rem);
}
.project-detail-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr);
  align-items: center;
  gap: var(--space-5);
  padding-block: var(--space-5) var(--space-6);
}
.project-detail-hero h1 { max-width: 13ch; font-size: clamp(3rem, 6vw, 6.4rem); }
.project-detail-hero .lede { margin-block: var(--space-4); }
.project-detail-hero__visual {
  min-height: 34rem;
  overflow: hidden;
  border: 1px solid rgb(85 162 255 / .22);
  border-radius: var(--radius-lg);
  background: #070b11;
  box-shadow: var(--shadow-glow);
}
.project-detail-hero__visual > img { width: 100%; height: 34rem; object-fit: cover; }
.project-detail-hero__fallback {
  min-height: 34rem;
  display: grid;
  place-items: center;
  background: radial-gradient(circle, rgb(22 119 255 / .2), transparent 58%);
}
.project-detail-hero__fallback span { color: rgb(255 255 255 / .85); font-size: 8rem; font-weight: 900; }
.project-detail-meta { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: 0; }
.project-detail-meta div { display: grid; gap: .2rem; }
.project-detail-meta dt { color: var(--color-muted); font-size: var(--step--1); }
.project-detail-meta dd { margin: 0; font-weight: 700; }
.case-study-sections { border-top: 1px solid var(--color-line); }
.case-study-sections > section {
  display: grid;
  grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr);
  gap: var(--space-5);
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}
.case-study-sections h3 { margin: var(--space-1) 0 0; font-size: var(--step-2); }
.case-study-sections section > div:first-child span { color: var(--color-accent-bright); font-size: var(--step--1); }
.project-gallery { border-block: 1px solid var(--color-line); background: var(--color-surface); }
.project-gallery__header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); }
.gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-2); }
.gallery-thumbnail { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.gallery-thumbnail img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gallery-thumbnail:is(:hover, :focus-visible) { border-color: var(--color-accent-bright); }
.gallery-open { overflow: hidden; }
.gallery-dialog { width: min(calc(100% - 2rem), var(--content-width)); max-height: calc(100dvh - 2rem); padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-bg); color: var(--color-text); }
.gallery-dialog::backdrop { background: rgb(0 0 0 / .9); }
.gallery-dialog__toolbar { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.gallery-dialog__toolbar button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-surface-raised);
  color: var(--color-text);
  cursor: pointer;
}
.gallery-dialog__toolbar button:hover { border-color: var(--color-accent-bright); }
.gallery-dialog__toolbar button:focus-visible { outline: .2rem solid var(--color-accent-bright); outline-offset: .2rem; }
.gallery-dialog__toolbar p { min-width: 3.5rem; margin: 0; color: var(--color-muted); text-align: center; }
.gallery-dialog__close { margin-left: auto; font-size: var(--step-1); }
.gallery-dialog__image { display: flex; justify-content: center; }
.gallery-dialog__image img { display: block; max-width: 100%; max-height: calc(100dvh - 10rem); width: auto; height: auto; object-fit: contain; }
@media (max-width: 48rem) { .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 30rem) { .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.project-relations__layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.project-relations__layout h3 { margin-bottom: var(--space-3); }
.project-relation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); align-content: start; }
.project-relation-card {
  display: grid;
  grid-template-columns: 1fr auto;
  min-height: 11rem;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
  text-decoration: none;
}
.project-relation-card span { grid-column: 1; color: var(--color-accent-bright); font-size: var(--step--1); }
.project-relation-card strong { grid-column: 1; align-self: end; font-size: var(--step-1); }
.project-relation-card i { grid-column: 2; grid-row: 1 / 3; color: var(--color-accent-bright); font-style: normal; }
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(16rem, .8fr);
  gap: var(--space-5);
}
.article-body { max-width: 46rem; font-size: var(--step-0); }
.article-cover {
  width: 100%;
  max-height: 38rem;
  margin-top: var(--space-4);
  border-radius: var(--radius-lg);
  object-fit: cover;
}
.article-layout aside .text-link { display: block; margin-block: var(--space-2); }
.evidence-links { border-block: 1px solid var(--color-line); background: var(--color-surface); }
.project-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.project-preview-card {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  row-gap: 0;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-bg);
}
.project-preview-card > a {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  row-gap: 0;
  color: inherit;
  text-decoration: none;
}
.project-preview-card img,
.project-preview-card__fallback {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.project-preview-card__fallback {
  display: grid;
  place-items: center;
  background: radial-gradient(circle, rgb(22 119 255 / .22), transparent 65%);
  color: var(--color-accent-bright);
  font-size: var(--step-2);
}
.project-preview-card__body {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  align-content: start;
  gap: var(--space-1);
  padding: var(--space-3);
}
.project-preview-card__body small { color: var(--color-accent-bright); text-transform: uppercase; font-weight: 400; }
.project-preview-card__body strong { font-size: var(--step-1); }
.project-preview-card__body > span { color: var(--color-muted); }
.project-preview-card:hover { border-color: var(--color-accent-bright); }
.project-preview-all { display: inline-flex; margin-top: var(--space-3); }
.evidence-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
}
.evidence-link-grid a {
  display: grid;
  gap: .35rem;
  min-height: 8rem;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  text-decoration: none;
}
.evidence-link-grid a:hover { border-color: var(--color-accent-bright); }
.evidence-link-grid span {
  color: var(--color-accent-bright);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lead-layout,
.about-layout {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(28rem, 1.2fr);
  gap: var(--space-6);
  align-items: start;
}
.lead-form {
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
}
.form-field {
  display: grid;
  gap: .45rem;
  margin: 0 0 var(--space-3);
}
.form-field label {
  color: #d7e0eb;
  font-size: var(--step--1);
  font-weight: 700;
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .7rem .85rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #060a10;
  color: var(--color-text);
  font: inherit;
}
.form-field textarea { resize: vertical; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--color-accent-bright);
  outline: .15rem solid rgb(85 162 255 / .25);
}
.form-field--checkbox {
  grid-template-columns: auto 1fr;
  align-items: start;
}
.form-field--checkbox input {
  width: 1.2rem;
  min-height: 1.2rem;
  margin-top: .25rem;
}
.form-field--checkbox .form-field__errors { grid-column: 1 / -1; }
.form-field__errors,
.form-errors { color: #ff9f9f; font-size: var(--step--1); }
.form-field__errors ul,
.form-errors ul { margin: 0; padding-left: 1.1rem; }
.form-messages {
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgb(71 203 139 / .4);
  border-radius: var(--radius-sm);
  background: rgb(71 203 139 / .08);
}
.form-messages p { margin: 0; }
.form-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.contact-details {
  display: grid;
  gap: var(--space-1);
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
  font-style: normal;
}
.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.partner-process {
  border-block: 1px solid var(--color-line);
  background: var(--color-surface);
}
.legal-copy {
  max-width: 48rem;
  font-size: var(--step-0);
}
.legal-copy__updated {
  margin-top: var(--space-5);
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-line);
  color: var(--color-muted);
  font-size: var(--step--1);
}

/* Client-requested interaction and component refinements. */
.site-header__inner { gap: var(--space-3); }
.nav-list { gap: clamp(.55rem, 1.1vw, 1rem); }
.nav-list a {
  color: var(--color-accent-bright);
  font-size: clamp(.66rem, .75vw, .78rem);
  font-weight: 800;
  letter-spacing: .055em;
}
.nav-list a:hover,
.nav-list a:focus-visible { color: #fff; }
.nav-dropdown summary {
  border-radius: .2rem;
}
.nav-dropdown[open] summary { background: transparent; }
.nav-dropdown summary:focus-visible { outline: .14rem solid var(--color-accent-bright); }
.nav-dropdown__panel { top: calc(100% + 1rem); }
.nav-dropdown__panel::before {
  position: absolute;
  top: -1rem;
  right: 0;
  left: 0;
  height: 1rem;
  content: "";
}

.social-links { gap: .65rem; }
.social-link {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgb(85 162 255 / .35);
  border-radius: 50%;
  background: rgb(22 119 255 / .08);
}
.social-link > span { display: grid; place-items: center; width: 100%; height: 100%; background: none; }
.site-footer .social-link { display: grid; padding: 0; }
.social-link svg { width: 1.15rem; height: 1.15rem; }

.stretched-card-link::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
}
.stretched-card-link:focus-visible::after {
  border-radius: inherit;
  outline: .16rem solid var(--color-accent-bright);
  outline-offset: -.2rem;
}
.evidence-card,
.resource-card,
.home-card,
.industry-solution-grid > article {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.evidence-card:hover,
.resource-card:hover,
.industry-solution-grid > article:hover {
  border-color: rgb(85 162 255 / .58);
  box-shadow: 0 1.4rem 3rem rgb(0 0 0 / .24);
  transform: translateY(-.2rem);
}
.card-action {
  display: inline-flex;
  gap: .4rem;
  color: var(--color-accent-bright);
  font-size: var(--step--1);
  font-weight: 750;
}

.solution-card {
  min-height: 29rem;
  grid-template-columns: 1fr;
  grid-row: span 5;
  grid-template-rows: subgrid;
  row-gap: 0;
  background: linear-gradient(155deg, #0c1c32, #070b11 72%);
}
.solution-card__body { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
.solution-card__visual { height: 14rem; }
.solution-card .tag-list { align-content: start; margin-bottom: var(--space-3); }
.solution-card__link { grid-row: 4; margin-top: 0; }
.brand-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
.brand-card__body { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
.brand-card .tag-list { align-content: start; }
.solution-card__visual {
  min-height: 14rem;
  border-right: 0;
  border-bottom: 1px solid var(--color-line);
}
.solution-card__visual img {
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.solution-card:hover .solution-card__visual img { transform: scale(1.035); filter: brightness(.82) saturate(1.1); }
.solution-card__number { margin-bottom: var(--space-2); }
.industry-card__visual,
.home-card--industry .home-card__media { padding: var(--space-2); }
.industry-card__visual img,
.home-card--industry .home-card__media img { object-fit: contain; }
.home-card--solution { background: linear-gradient(155deg, #0c1c32, #070b11 72%); }
.home-card__media--logo { display: grid; place-items: center; padding: var(--space-3); background: #070b11; }
.home-card__media--logo > img { width: 80%; height: 5rem; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); }
.brand-card__mark img,
.supplier-logo-card__mark img { filter: grayscale(1) brightness(0) invert(1); }
.supplier-logo-card__mark { background: #070b11; color: #fff; }
.supplier-logo-card:has(.supplier-logo-card__mark:last-child) { grid-template-rows: 8rem; }

.support-steps--plain li { grid-template-columns: 1fr; gap: .55rem; }
.partner-grid { margin-top: var(--space-4); }
.solution-specification__group + .solution-specification__group { margin-top: var(--space-5); }
.solution-specification__group > h3 { margin-bottom: var(--space-3); font-size: var(--step-1); }
.solution-specification__grid h4 { font-size: var(--step-0); }
.solution-specification__grid--benefits > section { background: linear-gradient(180deg, rgb(39 182 128 / .07), transparent 70%); }

.icon-relation-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.icon-relation-list a {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  align-items: center;
  gap: var(--space-2);
  min-height: 4.5rem;
  padding: .65rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  text-decoration: none;
}
.icon-relation-list a:hover { border-color: var(--color-accent-bright); }
.icon-relation-list img,
.icon-relation-list a > span {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  border-radius: .45rem;
  background: rgb(22 119 255 / .12);
  object-fit: contain;
}

.content-detail-hero h1,
.content-detail-hero .lede { max-width: 58rem; }
.article-layout { display: block; }
.resource-detail .article-body,
.resource-detail .content-detail-hero h1,
.resource-detail .content-detail-hero .lede { max-width: none; }
.article-body p { max-width: none; text-align: justify; }
.article-body :is(h2, h3, h4) { max-width: none; }
.rich-copy .text-justify { text-align: justify; }
.related-content { border-top: 1px solid var(--color-line); background: var(--color-surface); }
.related-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.related-content-card {
  display: grid;
  grid-template-columns: 1fr auto;
  min-height: 10rem;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--color-surface-raised), #080c12);
  text-decoration: none;
}
.related-content-card:hover { border-color: var(--color-accent-bright); }
.related-content-card span { color: var(--color-accent-bright); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.related-content-card strong { align-self: end; font-size: var(--step-1); }
.related-content-card i { grid-column: 2; grid-row: 1 / 3; color: var(--color-accent-bright); font-style: normal; }

.project-detail-hero__visual { position: relative; }
.hero__visual--image > img,
.brand-detail-hero__visual > img,
.solution-detail-hero__visual > img,
.industry-detail-hero__visual > img,
.project-detail-hero__visual > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.project-gallery__header { margin-bottom: var(--space-3); }
.consultation-band__inner > div { max-width: 52rem; }
.consultation-band__inner > .button { flex: 0 0 auto; }

.back-to-top {
  position: fixed;
  z-index: 8;
  right: 1rem;
  bottom: 1rem;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgb(85 162 255 / .45);
  border-radius: 50%;
  background: #0a1422;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 .8rem 2rem rgb(0 0 0 / .35);
}

@media (max-width: 64rem) {
  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: var(--space-5);
  }
}

@media (max-width: 64rem) {
  .nav-list, .site-header__cta { display: none; }
  .mobile-nav {
    position: relative;
    display: block;
  }
  .mobile-nav summary {
    padding: .55rem .8rem;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--step--1);
    list-style: none;
  }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav > summary {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: var(--space-1);
    color: var(--color-text);
  }
  .mobile-nav > summary:focus-visible {
    outline: .2rem solid var(--color-accent-bright);
    outline-offset: .25rem;
  }
  .mobile-nav__icon { width: 1.5rem; height: 1.5rem; }
  .mobile-nav nav {
    position: absolute;
    top: calc(100% + .6rem);
    right: 0;
    width: min(18rem, calc(100vw - 2rem));
    display: grid;
    padding: var(--space-2);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-sm);
    background: #090e16;
    box-shadow: 0 1rem 3rem rgb(0 0 0 / .5);
  }
  .mobile-nav nav a {
    padding: .7rem .8rem;
    text-decoration: none;
  }
  .mobile-nav__section {
    margin: -.35rem .5rem .25rem;
    border-left: 1px solid var(--color-line);
  }
  .mobile-nav__section summary {
    padding: .45rem .7rem;
    border: 0;
    color: var(--color-muted);
    font-size: .75rem;
  }
  .mobile-nav__section a {
    display: block;
    padding: .5rem .8rem !important;
    color: #bdc8d5;
    font-size: .8rem;
  }
}

@media (max-width: 48rem) {
  .preview-banner__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding-block: var(--space-1);
  }
  .site-header__inner { min-height: 4rem; }
  .brand__logo {
    height: 2rem;
    max-width: 9rem;
  }
  .hero { min-height: auto; }
  .hero__layout, .cta__inner { grid-template-columns: 1fr; }
  .hero__visual { min-height: 15rem; }
  .hero__visual--image > img { height: 100%; min-height: 0; }
  .card-grid { grid-template-columns: 1fr; }
  .card { min-height: auto; }
  .home-section { padding-block: var(--space-5); }
  .home-card {
    min-height: 15rem;
    padding: var(--space-3);
  }
  .home-card__media {
    margin: calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-3);
  }
  .home-card--principle { min-height: auto; }
  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    justify-items: center;
  }
  .site-footer { text-align: center; }
  .site-footer__about > p { margin-inline: auto; }
  .site-footer__grid h2 { max-width: none; }
  .site-footer__social { justify-content: center; }
  .site-footer__contact {
    grid-column: auto;
    padding-top: 0;
    border-top: 0;
  }
  .site-footer__contact address { grid-template-columns: 1fr; }
  .site-footer__bottom {
    align-items: center;
    flex-direction: column;
  }
  .site-footer__legal-identity {
    align-items: center;
    flex-direction: column;
  }
  .site-footer__legal-identity span + span::before { content: none; }
  .section-heading {
    display: block;
    margin-bottom: var(--space-4);
  }
  .section-heading__link { margin-top: var(--space-3); }
  .section-count { margin-top: var(--space-3); }
  .brand-index-hero { min-height: 34rem; }
  .brand-index-hero__layout,
  .selection-principle__layout,
  .brand-detail-hero__layout,
  .brand-intro__layout,
  .brand-industries__layout,
  .brand-resources__layout {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  .brand-index-hero h1,
  .brand-detail-hero h1 { font-size: clamp(2.6rem, 13vw, 4.6rem); }
  .brand-grid, .capability-grid { grid-template-columns: 1fr; }
  .brand-card { min-height: auto; }
  .brand-detail-hero { min-height: auto; }
  .brand-detail-hero__layout { padding-top: var(--space-4); }
  .brand-detail-hero__visual { min-height: 18rem; }
  .brand-detail-hero__visual > img,
  .brand-detail-hero__fallback { height: 100%; min-height: 0; }
  .solution-index-hero { min-height: 36rem; }
  .solution-index-hero__layout,
  .solution-method__layout,
  .solution-detail-hero__layout,
  .solution-intro__layout,
  .solution-relations__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  .solution-index-hero h1,
  .solution-detail-hero h1 { font-size: clamp(2.6rem, 13vw, 4.6rem); }
  .solution-grid,
  .solution-approach__grid,
  .solution-specification__grid { grid-template-columns: 1fr; }
  .solution-card {
    min-height: auto;
    grid-template-columns: 1fr;
  }
  .solution-card__visual {
    min-height: 12rem;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  .solution-card__number { margin-bottom: var(--space-4); }
  .solution-detail-hero { min-height: auto; }
  .solution-detail-hero__layout { padding-top: var(--space-4); }
  .solution-detail-hero__visual { min-height: 0; aspect-ratio: 16 / 10; }
  .solution-detail-hero__visual > img,
  .solution-detail-hero__fallback { min-height: 0; }
  .solution-approach__grid > section,
  .solution-specification__grid > section { min-height: auto; }
  .industry-index-hero { min-height: 36rem; }
  .industry-index-hero__layout,
  .industry-principle__layout,
  .industry-detail-hero__layout,
  .industry-intro__layout,
  .industry-ecosystem__layout {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
  .industry-index-hero h1,
  .industry-detail-hero h1 { font-size: clamp(2.6rem, 13vw, 4.6rem); }
  .industry-grid,
  .industry-solution-grid { grid-template-columns: 1fr; }
  .industry-card { min-height: auto; }
  .industry-detail-hero { min-height: auto; }
  .industry-detail-hero__layout { padding-top: var(--space-4); }
  .industry-detail-hero__visual { min-height: 0; aspect-ratio: 16 / 10; }
  .industry-detail-hero__visual > img,
  .industry-detail-hero__fallback { min-height: 0; }
  .industry-solution-grid > article { min-height: auto; }
  .filter-bar,
  .evidence-grid,
  .resource-grid,
  .project-preview-grid,
  .supplier-logo-grid,
  .project-detail-hero__layout,
  .case-study-sections > section,
  .project-relations__layout,
  .project-relation-grid,
  .article-layout,
  .evidence-link-grid {
    grid-template-columns: 1fr;
  }
  .related-content-grid { grid-template-columns: 1fr; }
  .project-detail-hero__visual { min-height: 19rem; height: 19rem; }
  .project-detail-hero__visual > img,
  .project-detail-hero__fallback { height: 100%; min-height: 0; }
  .project-detail-hero__layout { padding-top: var(--space-4); }
  .project-gallery__header { align-items: flex-start; flex-direction: column; }
  .lead-layout,
  .about-layout,
  .partner-grid { grid-template-columns: 1fr; }
  .lead-form { padding: var(--space-3); }
  .content-index-hero,
  .content-detail-hero { padding-block: var(--space-5); }
  .consultation-band__inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .support-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .support-steps li:nth-child(2) { border-right: 0; }
  .support-steps li {
    min-height: 10rem;
    border-bottom: 1px solid var(--color-line);
  }
  .support-steps li:nth-last-child(-n + 2) { border-bottom: 0; }
  .cookie-notice {
    right: 4.75rem;
    left: 1rem;
    width: auto;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .brand-card,
  .solution-card,
  .industry-card,
  .home-card,
  .home-card__media > img,
  .section-heading__link span,
  .home-card__link span { transition: none; }
  .back-to-top,
  .evidence-card,
  .resource-card,
  .industry-solution-grid > article { transition: none; }
}


/* Feedback v3.2: readable navigation, bounded links, and consistent feedback. */
.nav-dropdown__panel > a:not(.nav-dropdown__all) {
  color: var(--color-muted);
  font-weight: 400;
  letter-spacing: normal;
}
.nav-dropdown__panel > a:not(.nav-dropdown__all):is(:hover, :focus-visible) { color: var(--color-text); }
.brand-card .tag-list { z-index: auto; }
.capability-card { position: relative; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.capability-card:is(:hover, :focus-within) {
  border-color: var(--color-accent-bright);
  background: var(--color-surface-raised);
  transform: translateY(-.2rem);
}
.capability-card h3 a { text-decoration: none; }
.brand-detail-hero__copy,
.solution-detail-hero__copy,
.industry-detail-hero__copy,
.project-detail-hero__copy { min-width: 0; }
.brand-detail-hero h1,
.solution-detail-hero h1,
.industry-detail-hero h1,
.project-detail-hero h1 { font-size: clamp(2.5rem, 4.6vw, 5rem); overflow-wrap: anywhere; }
.industry-card__visual { min-height: 0; }
.industry-card__visual img { min-height: 0; max-height: 100%; }
.partner-process h2 { margin-bottom: var(--space-4); }
.button { transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.button:is(:hover, :focus-visible) { transform: translateY(-.15rem); background-color: #0b5fcf; }
.button:active { transform: translateY(.05rem); background-color: #094ea9; }
.button--secondary:is(:hover, :focus-visible) { background-color: var(--color-surface-raised); }
.form-required-note { grid-column: 1 / -1; color: var(--color-muted); font-size: var(--step--1); }
@media (prefers-reduced-motion: reduce) {
  .button, .capability-card { transition: none; }
  .button:is(:hover, :focus-visible, :active), .capability-card:is(:hover, :focus-within) { transform: none; }
}

/* A photograph-led hero trial for Home, Solution, Brand and Project details. */
.photo-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--photo-hero-height);
  display: flex;
  align-items: center;
  background: var(--color-bg);
}
.photo-hero > .shell { position: static; }
.photo-hero .hero__layout,
.photo-hero .solution-detail-hero__layout,
.photo-hero .brand-detail-hero__layout,
.photo-hero .project-detail-hero__layout {
  display: block;
  padding-block: var(--space-5);
}
.photo-hero .photo-hero__media {
  position: absolute;
  z-index: -1;
  inset: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.photo-hero .photo-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(4 8 14 / .92), rgb(4 8 14 / .72) 55%, rgb(4 8 14 / .38)), linear-gradient(0deg, rgb(4 8 14 / .6), transparent 35%);
}
.photo-hero h1 { max-width: 19ch; font-size: clamp(2.5rem, 5.5vw, 5.6rem); overflow-wrap: anywhere; }
.photo-hero .lede, .photo-hero .hero__lead { max-width: 44rem; color: #e0e6ed; }
.photo-hero .breadcrumbs { position: relative; z-index: 1; }
@media (max-width: 48rem) {
  :root { --photo-hero-height: 40rem; }
  .photo-hero .photo-hero__media::after { background: rgb(4 8 14 / .79); }
}
.industry-detail-hero:has(.industry-detail-hero__visual > img) { min-height: var(--photo-hero-height); display: flex; align-items: center; }
.industry-detail-hero:has(.industry-detail-hero__visual > img) .industry-detail-hero__layout { padding-block: var(--space-5); }
.industry-detail-hero:has(.industry-detail-hero__visual > img) .industry-detail-hero__visual { max-height: calc(var(--photo-hero-height) - 2 * var(--space-5) - var(--space-4) - 2rem); }

.cookie-notice {
  position: fixed;
  z-index: 10;
  left: var(--space-3);
  bottom: var(--space-3);
  width: min(37rem, calc(100% - 2.5rem));
  max-height: 75dvh;
  overflow-y: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: #0a111c;
  box-shadow: 0 1rem 3rem rgb(0 0 0 / .48);
}
.cookie-notice[hidden], .consent-settings[hidden] { display: none; }
.cookie-notice h2 { font-size: var(--step-1); }
.cookie-notice p, .consent-dialog p { color: var(--color-muted); font-size: var(--step--1); }
.cookie-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.cookie-actions .button { flex: 1 1 auto; padding: .75rem .85rem; font-size: .82rem; text-align: center; justify-content: center; }
.consent-settings { background: none; border: 0; padding: var(--space-2) 0; color: var(--color-muted); font: inherit; text-decoration: underline; cursor: pointer; }
.consent-dialog {
  width: min(38rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  color: var(--color-text);
  background: #0a111c;
}
.consent-dialog::backdrop { background: rgb(0 0 0 / .75); }
.consent-dialog__heading { display: flex; align-items: flex-start; gap: var(--space-3); justify-content: space-between; }
.consent-dialog h2 { font-size: var(--step-2); }
.consent-close { flex-shrink: 0; width: 2.75rem; height: 2.75rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); color: var(--color-text); background: var(--color-surface-raised); font-size: 1.5rem; cursor: pointer; }
.consent-category { border-top: 1px solid var(--color-line); padding-block: var(--space-3); }
.consent-category label { display: flex; align-items: center; gap: var(--space-2); font-weight: 700; cursor: pointer; }
.consent-category label span { margin-left: auto; font-size: .7rem; color: var(--color-muted); }
.consent-category input { width: 1.25rem; height: 1.25rem; accent-color: var(--color-accent); }
.consent-category p { margin: var(--space-2) 0 0; }
@media (max-width: 30rem) {
  .support-steps li { padding: var(--space-3); }
  .cookie-notice, .consent-dialog { padding: var(--space-3); }
  .cookie-actions { flex-direction: column; }
}

.industry-detail-hero__visual > img { object-fit: contain; padding: var(--space-3); }
