@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter-latin-ext.woff2) format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/inter-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/manrope-latin-ext.woff2) format("woff2");
  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/manrope-latin.woff2) format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}

:root {
  --navy: #061923;
  --cyan: #00b8d9;
  --paper: #f4f6f8;
  --ink: #102b38;
  --muted: #526977;
  --line: #d8e1e6;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --header: 96px;
  --gutter: clamp(24px, 4.4vw, 80px);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header) + 24px);
}
body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: Manrope, Inter, sans-serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.055em;
}
h1 {
  font-size: clamp(60px, 7.5vw, 112px);
}
h2 {
  font-size: clamp(44px, 5.5vw, 82px);
}
h3 {
  font-size: clamp(28px, 3vw, 44px);
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
textarea {
  font: inherit;
  color: inherit;
}
button {
  border: 0;
  background: none;
  cursor: pointer;
}
a,
button {
  -webkit-tap-highlight-color: transparent;
}
img {
  display: block;
  max-width: 100%;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 7px;
}
::selection {
  background: #00b8d950;
}
.icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.svg-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 24px;
  padding: 14px 20px;
  background: #fff;
  z-index: 120;
}
.skip-link:focus {
  top: 12px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  background: var(--cyan);
  color: var(--navy);
  border-radius: 2px;
  padding: 15px 24px;
  min-height: 56px;
  font-size: 18px;
  font-weight: 500;
  transition:
    background 0.3s,
    transform 0.3s var(--ease);
}
.button:hover {
  background: #66d7e8;
  transform: translateY(-3px);
}
.button-dark {
  background: var(--navy);
  color: #fff;
}
.button-dark:hover {
  background: #1b3c4c;
}
.icon-button {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
}
.icon-button:hover {
  background: #edf3f5;
}
.round-link {
  display: inline-flex;
  gap: 24px;
  align-items: center;
  font-size: 19px;
  line-height: 1.3;
}
.round-link > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 23px;
  transition:
    background 0.3s,
    color 0.3s,
    transform 0.4s var(--ease);
}
.round-link:hover > span {
  background: var(--cyan);
  border-color: var(--cyan);
  color: var(--navy);
  transform: rotate(45deg);
}
.circle-button {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid #8498a4;
  border-radius: 50%;
  font-size: 25px;
  transition: background 0.2s;
}
.circle-button:hover {
  background: #e1f1f4;
}
.circle-button:disabled {
  opacity: 0.35;
  cursor: default;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  font-size: 18px;
}
.text-link:hover {
  color: #008da6;
}
[hidden] {
  display: none !important;
}
.site-header {
  height: var(--header);
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  background: #fff;
  transition:
    background 0.35s,
    box-shadow 0.35s;
}
.site-header.scrolled {
  background: #fffffff5;
  box-shadow: 0 1px 0 #06192314;
  backdrop-filter: blur(18px);
}
.nav-inner {
  height: 100%;
  padding: 0 var(--gutter);
  display: flex;
  align-items: center;
  gap: 40px;
}
.brand {
  flex-shrink: 0;
  display: block;
  width: 164px;
}
.brand img {
  width: 100%;
  height: auto;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 36px;
  margin-left: auto;
}
.main-nav > a,
.nav-link {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 450;
  position: relative;
  padding: 12px 0;
}
.main-nav > a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 1px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s var(--ease);
}
.main-nav > a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.nav-link {
  display: flex;
  align-items: center;
  gap: 9px;
}
.nav-link > .icon {
  width: 17px;
  transition: transform 0.35s;
}
.nav-link[aria-expanded="true"] > .icon {
  transform: rotate(180deg);
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}
.nav-actions .button {
  padding: 12px 23px;
  min-height: 50px;
  gap: 19px;
}
.mobile-toggle {
  display: none;
}
.mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: min(640px, calc(100dvh - var(--header)));
  background: #fff;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  padding: 50px var(--gutter) 60px;
  gap: 70px;
  box-shadow: 0 30px 35px #06192320;
  transform-origin: top;
  animation: menuOpen 0.65s var(--ease) both;
}
.mega-links {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.mega-links a {
  font-size: clamp(24px, 2.6vw, 38px);
  font-family: Manrope, sans-serif;
  line-height: 1.35;
  letter-spacing: -1px;
  padding: 23px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  transition:
    padding 0.4s var(--ease),
    color 0.3s;
}
.mega-links a:hover {
  padding-left: 16px;
  color: #008ca6;
}
.mega-photo {
  overflow: hidden;
}
.mega-photo img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 65%;
}
.mega-menu.closing {
  animation: menuClose 0.25s ease both;
  pointer-events: none;
}
.opening-scene {
  height: 100svh;
  min-height: 720px;
  position: relative;
  overflow: clip;
  background: var(--navy);
  color: #fff;
}
.opening-image,
.opening-shade {
  position: absolute;
  inset: 0;
}
.opening-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65%;
  will-change: transform;
}
.opening-shade {
  background:
    linear-gradient(90deg, #061923cc, transparent 78%),
    linear-gradient(0deg, #06192377, transparent 55%);
}
.opening-copy {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(var(--header) + 30px) var(--gutter) 30px;
  will-change: transform, opacity;
}
.opening-copy h1 {
  font-size: clamp(80px, 8.2vw, 124px);
  line-height: 1.03;
  letter-spacing: -0.065em;
}
.opening-copy h1 > span {
  display: block;
  overflow: hidden;
}
.opening-copy h1 em {
  color: #86e0eb;
  font-style: normal;
}
.opening-copy .round-link {
  margin-top: 48px;
}
.opening-copy h1 > span {
  animation: titleOpen 1.2s var(--ease) both;
}
.opening-copy h1 > span:nth-child(2) {
  animation-delay: 0.12s;
}
.opening-copy > .round-link {
  animation: titleOpen 1.2s 0.23s var(--ease) both;
}
.story {
  position: relative;
}
.story-pin {
  position: relative;
}
.story-scene {
  position: relative;
  min-height: 100svh;
  overflow: clip;
  isolation: isolate;
  background: var(--paper);
}
.scene-media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.scene-media img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 68% 45%;
}
.story-scene:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #061923dc, transparent 90%);
}
.scene-copy {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: calc(var(--header) + 35px) var(--gutter) 130px;
}
.scene-copy h2 {
  font-size: clamp(64px, 7vw, 108px);
  max-width: 950px;
}
.scene-copy p {
  font-size: 24px;
  margin-top: 32px;
  line-height: 1.4;
}
.scene-copy .round-link {
  margin-top: 34px;
}
.story-light .scene-media {
  left: 38%;
}
.story-light:after {
  background: linear-gradient(
    90deg,
    #f4f6f8 0%,
    #f4f6f8 33%,
    #f4f6f8e0 39%,
    #f4f6f800 66%
  );
}
.story-light .scene-media img {
  object-position: 53%;
}
.story-research {
  color: #fff;
}
.story-research .scene-media {
  left: 0;
}
.story-research .scene-media img {
  object-position: center 30%;
  width: 100%;
  object-fit: cover;
}
.story-research:after {
  background: linear-gradient(
    90deg,
    #061923f0 0%,
    #061923b0 36%,
    #06192320 80%
  );
}
.story-digital {
  color: #fff;
}
.story-digital:after {
  background: linear-gradient(90deg, #071e29f2, #071e2980 55%, #071e2911);
}
.scene-nav {
  display: none;
}
.story-progress {
  display: none;
}
.motion-enabled .story {
  height: 360svh;
}
.motion-enabled .story-pin {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: clip;
}
.motion-enabled .story-scene {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: 100%;
  will-change: clip-path;
}
.motion-enabled .story-scene:not(:first-child) {
  clip-path: inset(100% 0 0 0);
}
.motion-enabled .scene-copy {
  height: 100%;
  min-height: 0;
  will-change: transform, opacity;
}
.motion-enabled .scene-media img {
  will-change: transform;
}
.motion-enabled .scene-nav {
  position: absolute;
  bottom: 40px;
  left: var(--gutter);
  right: var(--gutter);
  z-index: 5;
  display: flex;
  gap: 35px;
  align-items: center;
  color: var(--ink);
  transition: color 0.3s;
}
.motion-enabled .scene-nav.light {
  color: #fff;
}
.scene-nav button {
  font-size: 18px;
  padding: 10px 0;
  opacity: 0.6;
  position: relative;
}
.scene-nav button[aria-pressed="true"] {
  opacity: 1;
}
.scene-nav button:after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transition: transform 0.4s;
}
.scene-nav button[aria-pressed="true"]:after {
  transform: scaleX(1);
}
.motion-enabled .story-progress {
  display: block;
  position: absolute;
  bottom: 0;
  height: 3px;
  left: 0;
  right: 0;
  background: #06192322;
  z-index: 6;
}
.story-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
}
.statement-section {
  padding: 140px var(--gutter);
  background: #fff;
  max-width: 1700px;
  margin: auto;
}
.statement-section h2 {
  font-size: clamp(46px, 5.3vw, 80px);
  line-height: 1.2;
}
.statement-section h2 > span {
  color: #7c8e99;
}
.statement-section > .round-link {
  margin-top: 45px;
}
.statement-section > p {
  font-size: 26px;
  max-width: 760px;
  margin-top: 35px;
  color: var(--muted);
}
.product-rail {
  background: var(--paper);
}
.product-pin {
  padding: 85px 0 60px;
}
.rail-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 var(--gutter);
  gap: 30px;
}
.rail-heading h2 {
  font-size: clamp(44px, 4.8vw, 70px);
}
.rail-arrows {
  display: none;
  gap: 12px;
}
.rail-window {
  overflow: hidden;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.product-rail .product-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.product-card {
  position: relative;
  overflow: hidden;
  background: var(--paper);
  min-width: 0;
}
.product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px;
  height: 390px;
}
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.9s var(--ease);
}
.product-image:hover img {
  transform: scale(1.035);
}
.product-info {
  padding: 30px 35px 35px;
}
.product-info h3 {
  font-size: 36px;
  line-height: 1.18;
}
.product-info > p {
  font-size: 18px;
  color: var(--muted);
  margin-top: 20px;
}
.product-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
  margin-top: 30px;
}
.product-detail-button {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 18px;
}
.product-detail-button span {
  font-size: 26px;
}
.product-rail .product-card {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  min-height: 570px;
  width: 100%;
  flex: 0 0 100%;
  padding: 0 var(--gutter);
}
.product-rail .product-image {
  grid-column: 2;
  grid-row: 1;
  height: 460px;
  padding: 40px 10px 40px 40px;
}
.product-rail .product-info {
  grid-column: 1;
  grid-row: 1;
  padding: 20px 45px 20px 0;
}
.product-rail .product-info h3 {
  font-size: clamp(36px, 4vw, 60px);
}
.product-rail .product-info > p {
  font-size: 21px;
  margin-top: 25px;
}
.product-rail .product-actions {
  margin-top: 32px;
  flex-wrap: wrap;
  justify-content: start;
  gap: 35px;
}
.rail-all {
  display: block;
  margin: 24px var(--gutter) 0;
  font-size: 19px;
  width: max-content;
}
.rail-all:hover {
  text-decoration: underline;
}
.motion-enabled .product-rail {
  height: 300svh;
}
.motion-enabled .product-pin {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 0;
  padding: calc(var(--header) + 35px) 0 25px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.motion-enabled .rail-heading {
  flex-shrink: 0;
}
.motion-enabled .rail-heading h2 {
  font-size: clamp(36px, 4.1vw, 62px);
}
.motion-enabled .rail-arrows {
  display: flex;
}
.motion-enabled .rail-window {
  flex: 1;
  min-height: 0;
  margin-top: 5px;
}
.motion-enabled .product-rail .product-grid {
  flex-direction: row;
  height: 100%;
  will-change: transform;
}
.motion-enabled .product-rail .product-card {
  min-height: 0;
  height: 100%;
}
.motion-enabled .product-rail .product-image {
  height: 100%;
  max-height: 510px;
}
.motion-enabled .product-rail .product-info h3 {
  font-size: clamp(34px, 3.5vw, 52px);
}
.motion-enabled .product-rail .product-info > p {
  font-size: 20px;
}
.motion-enabled .rail-all {
  margin-top: 10px;
  flex-shrink: 0;
}
.partner-section {
  padding: 110px var(--gutter);
  text-align: center;
}
.partner-section h2 {
  font-size: clamp(44px, 4.5vw, 68px);
}
.partner-logos {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 65px;
  margin-top: 70px;
}
.partner-logos img {
  width: 18%;
  max-width: 230px;
  height: 75px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.75;
  transition:
    opacity 0.3s,
    filter 0.3s;
}
.partner-logos img:hover {
  filter: none;
  opacity: 1;
}
.support-scene {
  min-height: 100svh;
  position: relative;
  overflow: clip;
  background: var(--navy);
  color: #fff;
  display: flex;
  align-items: center;
  padding: var(--header) var(--gutter);
}
.support-backdrop {
  position: absolute;
  inset: 0;
}
.support-backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}
.support-backdrop:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #061923dd, #06192370 60%, #06192322);
}
.support-copy {
  position: relative;
}
.support-copy h2 {
  font-size: clamp(64px, 7vw, 104px);
}
.support-copy > .round-link {
  margin-top: 40px;
}
.closing-scene {
  padding: 130px var(--gutter);
  background: #e9f3f5;
  display: flex;
  align-items: center;
}
.closing-scene h2 {
  font-size: clamp(52px, 6.5vw, 96px);
}
.closing-scene .button {
  margin-top: 45px;
  font-size: 20px;
  min-width: 220px;
}
footer {
  background: var(--navy);
  color: #fff;
  padding: 75px var(--gutter) 30px;
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-top img {
  width: 190px;
  height: auto;
  filter: brightness(0) invert(1);
}
.footer-top > a:last-child {
  font-size: 32px;
  font-family: Manrope, sans-serif;
}
.footer-links {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 65px;
  margin-bottom: 65px;
  font-size: 18px;
  color: #d7e5ec;
}
.footer-links > a:hover {
  color: var(--cyan);
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  border-top: 1px solid #ffffff25;
  padding-top: 25px;
  color: #a0bac8;
  font-size: 18px;
}
.catalog-section {
  padding: calc(var(--header) + 80px) var(--gutter) 110px;
}
.catalog-section h1 {
  font-size: clamp(50px, 6.5vw, 98px);
  margin-bottom: 65px;
}
.filter-tabs {
  display: flex;
  gap: 35px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  margin-bottom: 45px;
  scrollbar-width: thin;
}
.filter-tabs button {
  font-size: 18px;
  white-space: nowrap;
  padding: 15px 0 20px;
  border-bottom: 2px solid transparent;
}
.filter-tabs button.active {
  border-bottom-color: #008ba4;
  color: #007d95;
}
.inner-hero {
  height: 100svh;
  min-height: 700px;
  position: relative;
  overflow: clip;
  background: var(--navy);
  color: white;
  display: flex;
  align-items: center;
}
.inner-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% 30%;
}
.inner-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #061923dd, #06192380 45%, #06192311);
}
.inner-hero-copy {
  position: relative;
  z-index: 1;
  padding: calc(var(--header) + 30px) var(--gutter) 70px;
  max-width: 1050px;
}
.inner-hero-copy p {
  font-size: 24px;
  max-width: 630px;
  margin-top: 30px;
  line-height: 1.5;
}
.inner-hero-copy .round-link {
  margin-top: 40px;
}
.inner-hero-copy h1 {
  font-size: clamp(64px, 7.5vw, 112px);
}
.numbers-section {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 var(--gutter) 120px;
  gap: 35px;
}
.numbers-section > div {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--line);
  padding-top: 40px;
}
.numbers-section strong {
  font:
    500 clamp(70px, 8vw, 120px) / 1.15 Manrope,
    sans-serif;
  letter-spacing: -0.06em;
}
.numbers-section span {
  font-size: 22px;
  margin-top: 20px;
  color: var(--muted);
}
.editorial-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 730px;
  background: var(--paper);
}
.editorial-split > img {
  width: 100%;
  height: 100%;
  min-height: 700px;
  object-fit: cover;
}
.editorial-split > div {
  padding: 80px 60px;
  align-self: center;
}
.editorial-split h2 {
  font-size: clamp(40px, 4.5vw, 66px);
}
.editorial-split p {
  font-size: 22px;
  color: var(--muted);
  margin: 35px 0;
}
.content-section {
  padding: 100px var(--gutter);
}
.content-section > h2 {
  max-width: 1050px;
}
.content-section > p {
  max-width: 750px;
  font-size: 24px;
  margin-top: 35px;
  color: var(--muted);
}
.content-section > .round-link {
  margin-top: 35px;
}
.services-section {
  padding: 110px var(--gutter);
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
}
.services-section h2 {
  font-size: clamp(44px, 4.5vw, 68px);
}
.service-list details {
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.service-list details:first-child {
  padding-top: 0;
}
.service-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 32px;
  font-family: Manrope, sans-serif;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.service-list summary::-webkit-details-marker {
  display: none;
}
.service-list summary > span {
  font-size: 35px;
  font-weight: 400;
  transition: transform 0.35s;
}
.service-list details[open] summary > span {
  transform: rotate(45deg);
}
.service-list p {
  font-size: 20px;
  line-height: 1.75;
  color: var(--muted);
  margin-top: 23px;
  animation: detailOpen 0.4s ease both;
}
.service-list .round-link {
  margin-top: 25px;
}
.solution-products {
  padding: 110px var(--gutter);
}
.solution-products > h2 {
  margin-bottom: 50px;
}
.solution-products .product-card h3 {
  font-size: 36px;
}
.solution-products .product-actions {
  flex-wrap: wrap;
}
.product-page-hero {
  padding: calc(var(--header) + 55px) var(--gutter) 65px;
  min-height: 100svh;
  display: flex;
  align-items: center;
  background: var(--paper);
}
.product-intro {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  align-items: center;
  gap: 50px;
  width: 100%;
}
.product-intro h1 {
  font-size: clamp(52px, 5.5vw, 82px);
}
.product-intro p {
  font-size: 23px;
  color: var(--muted);
  margin-top: 35px;
  max-width: 600px;
}
.product-intro .button {
  margin-top: 35px;
}
.product-intro > img {
  width: 100%;
  height: 550px;
  object-fit: contain;
  mix-blend-mode: multiply;
  animation: productOpen 1.2s var(--ease) both;
}
.product-subnav {
  position: sticky;
  top: var(--header);
  background: #fffffff0;
  backdrop-filter: blur(14px);
  z-index: 20;
  padding: 20px var(--gutter);
  display: flex;
  gap: 40px;
  border-bottom: 1px solid var(--line);
  font-size: 18px;
  overflow-x: auto;
  white-space: nowrap;
}
.product-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
  margin-top: 65px;
}
.product-feature-grid > div {
  border-top: 1px solid var(--line);
  padding-top: 30px;
}
.product-feature-grid h3 {
  font-size: 32px;
}
.product-feature-grid p {
  font-size: 20px;
  color: var(--muted);
  margin-top: 22px;
  max-width: 520px;
}
.spec-section {
  padding: 100px var(--gutter);
  background: var(--paper);
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
}
.spec-section h2 {
  font-size: clamp(40px, 4.5vw, 68px);
}
.spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 19px;
}
.spec-table tr {
  border-bottom: 1px solid #cad8e0;
}
.spec-table th,
.spec-table td {
  text-align: left;
  padding: 25px 15px 25px 0;
  vertical-align: top;
}
.spec-table th {
  width: 40%;
  font-weight: 500;
}
.spec-table td {
  color: var(--muted);
}
.product-page-links {
  padding: 100px var(--gutter);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}
.product-page-links a {
  background: var(--paper);
  padding: 50px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  font-size: 32px;
  font-family: Manrope, sans-serif;
  letter-spacing: -1px;
}
.product-page-links a:hover {
  background: #e2eef2;
}
dialog {
  border: 0;
  padding: 42px;
  max-height: 90dvh;
  overflow-y: auto;
  background: #fff;
  color: var(--ink);
  width: min(670px, calc(100% - 32px));
  box-shadow: 0 20px 100px #0003;
}
dialog[open] {
  animation: dialogOpen 0.5s var(--ease) both;
}
dialog::backdrop {
  background: #061923c9;
  backdrop-filter: blur(10px);
}
dialog h2 {
  font-size: 42px;
  line-height: 1.16;
  margin-bottom: 25px;
}
dialog p {
  font-size: 18px;
  color: var(--muted);
  margin-bottom: 25px;
}
.dialog-top {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 14px;
}
.dialog-top .icon-button {
  margin: -20px -20px 0 0;
}
.search-field {
  display: flex;
  gap: 15px;
  align-items: center;
  border-bottom: 2px solid var(--cyan);
  padding: 12px 0;
  margin-bottom: 23px;
}
.search-field input {
  border: 0;
  outline: 0;
  min-width: 0;
  width: 100%;
  font-size: 18px;
  background: transparent;
}
.search-results > a {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  font-size: 19px;
}
.search-results img {
  width: 65px;
  height: 65px;
  object-fit: contain;
}
.search-results small {
  font-size: 18px;
  color: var(--muted);
  display: block;
  margin-top: 4px;
}
.result-arrow {
  margin-left: auto;
  color: #008a9f;
}
.contact-option {
  display: flex;
  gap: 22px;
  align-items: center;
  padding: 25px 0;
  margin: 25px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.contact-option strong {
  font:
    500 34px Manrope,
    sans-serif;
}
.contact-option > span:last-child {
  margin-left: auto;
}
.contact-dialog > .button {
  width: 100%;
}
.contact-address {
  font-size: 18px !important;
  line-height: 1.7;
  margin-top: 25px;
  margin-bottom: 0 !important;
}
.toast {
  position: fixed;
  z-index: 100;
  bottom: 25px;
  left: 50%;
  max-width: calc(100% - 32px);
  width: max-content;
  background: var(--navy);
  color: #fff;
  padding: 18px 25px;
  font-size: 18px;
  opacity: 0;
  transform: translate(-50%, 20px);
  pointer-events: none;
  transition: 0.3s;
}
.toast.visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
body.modal-open {
  overflow: hidden;
}
main {
  outline: 0;
}
.page-curtain {
  display: none;
}
.page-leaving main {
  opacity: 0;
  transition: opacity 180ms ease;
}
.page-arriving main {
  opacity: 0;
}
.page-revealing main {
  animation: pageOpen 420ms ease both;
}
.reveal-wait,
.reveal-in {
  opacity: 1;
  transform: none;
  clip-path: none;
}
@keyframes titleOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes menuOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes menuClose {
  to {
    opacity: 0;
  }
}
@keyframes detailOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes dialogOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes productOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes pageOpen {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (min-width: 1700px) {
  .opening-copy h1 {
    font-size: 140px;
  }
  .scene-copy h2 {
    font-size: 122px;
  }
  .motion-enabled .product-rail .product-image {
    max-height: 600px;
  }
}
@media (max-width: 1150px) {
  :root {
    --header: 88px;
    --gutter: 36px;
  }
  .nav-inner {
    gap: 25px;
  }
  .brand {
    width: 142px;
  }
  .main-nav {
    gap: 23px;
  }
  .nav-actions {
    gap: 12px;
  }
  .main-nav > a,
  .nav-link {
    font-size: 18px;
  }
  .nav-actions .button {
    padding: 12px 18px;
    font-size: 18px;
  }
  .opening-copy h1 {
    font-size: clamp(78px, 9vw, 105px);
  }
  .scene-copy h2 {
    font-size: clamp(60px, 7.8vw, 90px);
  }
  .scene-copy p {
    font-size: 22px;
  }
  .mega-menu {
    gap: 40px;
  }
  .mega-links a {
    font-size: 28px;
  }
  .editorial-split > div {
    padding: 60px 35px;
  }
  .editorial-split p {
    font-size: 20px;
  }
  .services-section {
    gap: 55px;
  }
  .service-list summary {
    font-size: 29px;
  }
  .spec-section {
    gap: 45px;
  }
  .product-intro {
    gap: 30px;
  }
  .product-intro > img {
    height: 440px;
  }
  .product-page-links a {
    font-size: 27px;
    padding: 38px;
  }
  .partner-logos {
    gap: 40px;
  }
  .product-rail .product-info {
    padding-right: 20px;
  }
  .product-rail .product-actions {
    gap: 25px;
  }
}
@media (max-width: 850px) {
  :root {
    --header: 84px;
    --gutter: 28px;
  }
  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    display: none;
    padding: 25px var(--gutter) 35px;
    box-shadow: 0 20px 25px #06192315;
  }
  .main-nav.open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    animation: menuOpen 0.45s var(--ease) both;
  }
  .main-nav > a,
  .nav-link {
    font-size: 26px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
  }
  .main-nav > a:after {
    display: none;
  }
  .nav-actions {
    margin-left: auto;
  }
  .mobile-toggle {
    display: grid;
  }
  .mega-menu {
    top: 100%;
    height: calc(100dvh - var(--header));
    grid-template-columns: 1fr;
    padding: 30px var(--gutter);
    z-index: 2;
    overflow: auto;
  }
  .mega-photo {
    display: none;
  }
  .mega-links {
    justify-content: flex-start;
    padding-top: 10px;
  }
  .mega-links a {
    font-size: 30px;
    padding: 25px 0;
  }
  .mega-menu:before {
    content: "";
    height: 1px;
    background: var(--line);
  }
  .opening-copy h1 {
    font-size: clamp(70px, 11vw, 95px);
  }
  .story-light .scene-media {
    left: 20%;
  }
  .story-light:after {
    background: linear-gradient(
      90deg,
      #f4f6f8 0%,
      #f4f6f8dd 30%,
      #f4f6f833 100%
    );
  }
  .scene-copy h2 {
    font-size: clamp(58px, 8vw, 76px);
  }
  .scene-copy p {
    font-size: 22px;
  }
  .scene-nav {
    gap: 25px !important;
  }
  .scene-nav button {
    font-size: 18px;
  }
  .statement-section {
    padding: 100px var(--gutter);
  }
  .statement-section h2 {
    font-size: clamp(40px, 6vw, 57px);
  }
  .motion-enabled .rail-heading h2 {
    font-size: 42px;
  }
  .motion-enabled .product-rail .product-info h3 {
    font-size: 37px;
  }
  .product-rail .product-info > p {
    font-size: 18px !important;
  }
  .product-rail .product-actions {
    gap: 15px;
    flex-direction: column;
    align-items: flex-start;
  }
  .product-rail .product-image {
    padding: 25px 0 25px 20px;
  }
  .product-info h3 {
    font-size: 30px;
  }
  .product-image {
    height: 300px;
    padding: 25px;
  }
  .product-info {
    padding: 25px;
  }
  .product-actions {
    flex-wrap: wrap;
    gap: 15px;
  }
  .partner-section {
    padding: 85px var(--gutter);
  }
  .partner-logos {
    gap: 35px;
    margin-top: 55px;
  }
  .partner-logos img {
    height: 55px;
    width: 21%;
  }
  .support-copy h2 {
    font-size: 70px;
  }
  .closing-scene {
    padding: 95px var(--gutter);
  }
  .closing-scene h2 {
    font-size: 68px;
  }
  .footer-links {
    gap: 28px;
  }
  .footer-top img {
    width: 165px;
  }
  .footer-top > a:last-child {
    font-size: 28px;
  }
  .inner-hero-copy h1 {
    font-size: 74px;
  }
  .inner-hero-copy p {
    font-size: 22px;
  }
  .editorial-split {
    min-height: 0;
  }
  .editorial-split > img {
    min-height: 620px;
  }
  .editorial-split h2 {
    font-size: 42px;
  }
  .editorial-split p {
    font-size: 20px;
  }
  .numbers-section strong {
    font-size: 80px;
  }
  .numbers-section span {
    font-size: 20px;
  }
  .services-section {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .product-intro h1 {
    font-size: 53px;
  }
  .product-intro p {
    font-size: 20px;
  }
  .product-intro > img {
    height: 360px;
  }
  .spec-section {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .product-page-links {
    gap: 20px;
    padding: 80px var(--gutter);
  }
  .product-page-links a {
    font-size: 24px;
    padding: 30px;
  }
  .catalog-section {
    padding-top: calc(var(--header) + 60px);
  }
  .filter-tabs {
    gap: 26px;
  }
  .filter-tabs button {
    font-size: 18px;
  }
}
@media (max-width: 600px) {
  :root {
    --header: 78px;
    --gutter: 22px;
  }
  body {
    font-size: 18px;
  }
  .nav-inner {
    gap: 12px;
  }
  .brand {
    width: 122px;
  }
  .nav-actions {
    gap: 5px;
  }
  .nav-actions .button {
    font-size: 18px;
    padding: 11px 15px;
    min-height: 46px;
    gap: 9px;
  }
  .nav-actions .button > .icon {
    display: none;
  }
  .icon-button {
    width: 40px;
    height: 44px;
  }
  .icon {
    width: 22px;
    height: 22px;
  }
  .main-nav > a,
  .nav-link {
    font-size: 25px;
  }
  .mega-links a {
    font-size: 27px;
    padding: 23px 0;
    letter-spacing: -0.7px;
  }
  .mega-menu {
    display: block;
  }
  .opening-scene {
    height: 100svh;
    min-height: 650px;
  }
  .opening-image img {
    object-position: 63%;
    transform-origin: 65% center;
  }
  .opening-shade {
    background:
      linear-gradient(180deg, #061923aa, #06192322 60%, #06192380),
      linear-gradient(90deg, #06192370, transparent);
  }
  .opening-copy {
    padding: calc(var(--header) + 35px) var(--gutter) 55px;
    justify-content: center;
  }
  .opening-copy h1 {
    font-size: clamp(55px, 12.5vw, 76px);
    letter-spacing: -0.065em;
    line-height: 1.07;
  }
  .opening-copy h1 > span:last-child {
    max-width: 450px;
  }
  .opening-copy .round-link {
    margin-top: 37px;
  }
  .round-link {
    font-size: 18px;
    gap: 20px;
  }
  .round-link > span {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }
  .story-scene,
  .scene-copy {
    min-height: 100svh;
  }
  .scene-copy {
    padding: calc(var(--header) + 25px) var(--gutter) 125px;
    justify-content: center;
  }
  .scene-copy h2 {
    font-size: clamp(48px, 12vw, 70px);
    line-height: 1.08;
  }
  .scene-copy p {
    font-size: 21px;
    margin-top: 25px;
    max-width: 310px;
  }
  .scene-copy .round-link {
    margin-top: 27px;
  }
  .story-light .scene-media {
    left: 0;
  }
  .story-light .scene-media img {
    object-position: 62%;
  }
  .story-light:after {
    background: linear-gradient(
      180deg,
      #f4f6f8e8 0%,
      #f4f6f8d9 42%,
      #f4f6f82e 75%,
      #f4f6f8ee 100%
    );
  }
  .story-research .scene-media img {
    object-position: 62% 35%;
  }
  .story-research:after {
    background: linear-gradient(180deg, #06192380, #0619239c 50%, #06192390);
  }
  .story-digital:after {
    background: #061923a3;
  }
  .motion-enabled .scene-copy {
    min-height: 0;
  }
  .motion-enabled .scene-nav {
    bottom: 27px;
    left: 22px;
    right: 22px;
    gap: 15px !important;
    align-items: stretch;
    justify-content: space-between;
  }
  .scene-nav button {
    font-size: 18px;
    text-align: left;
    line-height: 1.4;
    max-width: 33%;
    padding: 9px 0;
  }
  .scene-nav button:after {
    bottom: 0;
  }
  .statement-section {
    padding: 80px var(--gutter);
  }
  .statement-section h2 {
    font-size: clamp(35px, 8vw, 46px);
    line-height: 1.23;
    letter-spacing: -0.05em;
  }
  .statement-section h2 br {
    display: none;
  }
  .statement-section h2 span {
    display: block;
    margin-top: 10px;
  }
  .statement-section > .round-link {
    margin-top: 34px;
  }
  .statement-section > p {
    font-size: 21px;
    margin-top: 28px;
  }
  .product-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .product-pin {
    padding: 70px 0 40px;
  }
  .rail-heading h2 {
    font-size: 40px;
  }
  .rail-heading {
    gap: 15px;
    align-items: center;
  }
  .circle-button {
    width: 43px;
    height: 43px;
    font-size: 22px;
  }
  .rail-arrows {
    gap: 7px;
  }
  .motion-enabled .rail-heading h2 {
    font-size: clamp(30px, 7.6vw, 42px);
  }
  .motion-enabled .product-pin {
    padding-top: calc(var(--header) + 24px);
    padding-bottom: 24px;
    min-height: 0;
  }
  .motion-enabled .product-rail {
    height: 280svh;
  }
  .product-rail .product-card {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    padding: 15px var(--gutter) 25px;
    min-height: 0;
  }
  .product-rail .product-image {
    grid-column: 1;
    grid-row: 1;
    height: 290px;
    padding: 20px 32px 0;
  }
  .product-rail .product-info {
    grid-column: 1;
    grid-row: 2;
    padding: 20px 0 0;
  }
  .product-rail .product-info h3 {
    font-size: 36px !important;
    line-height: 1.1;
  }
  .product-rail .product-info h3 br {
    display: none;
  }
  .product-rail .product-info > p {
    margin-top: 13px;
    font-size: 18px !important;
    line-height: 1.4;
  }
  .product-rail .product-actions {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    gap: 14px;
  }
  .product-detail-button {
    font-size: 18px;
    gap: 12px;
  }
  .motion-enabled .product-rail .product-card {
    grid-template-rows: minmax(0, 1fr) auto;
    padding-bottom: 12px;
  }
  .motion-enabled .product-rail .product-image {
    min-height: 0;
    height: 100%;
    padding: 12px 25px 0;
  }
  .motion-enabled .product-rail .product-image img {
    max-height: 285px;
  }
  .motion-enabled .product-rail .product-info h3 {
    font-size: clamp(28px, 7.5vw, 38px) !important;
  }
  .motion-enabled .product-rail .product-info {
    padding-top: 9px;
  }
  .motion-enabled .rail-all {
    font-size: 18px;
    margin-top: 12px;
  }
  .rail-all {
    font-size: 18px;
  }
  .partner-section {
    padding: 70px var(--gutter);
  }
  .partner-section h2 {
    font-size: 43px;
  }
  .partner-logos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 35px;
    margin-top: 45px;
  }
  .partner-logos img {
    width: 100%;
    max-width: 170px;
    height: 58px;
    margin: auto;
  }
  .support-scene {
    min-height: 90svh;
    padding: 105px var(--gutter);
  }
  .support-backdrop img {
    object-position: 62%;
  }
  .support-backdrop:after {
    background: #06192399;
  }
  .support-copy h2 {
    font-size: clamp(49px, 12vw, 66px);
  }
  .support-copy > .round-link {
    margin-top: 37px;
  }
  .closing-scene {
    padding: 75px var(--gutter);
  }
  .closing-scene h2 {
    font-size: clamp(45px, 10.6vw, 64px);
  }
  .closing-scene .button {
    font-size: 18px;
    margin-top: 32px;
    min-width: 195px;
  }
  footer {
    padding: 55px var(--gutter) 25px;
  }
  .footer-top {
    gap: 30px;
    align-items: center;
  }
  .footer-top img {
    width: 125px;
  }
  .footer-top > a:last-child {
    font-size: 23px;
    white-space: nowrap;
  }
  .footer-links {
    flex-direction: column;
    gap: 19px;
    margin: 45px 0;
    font-size: 18px;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    font-size: 18px;
    gap: 20px;
  }
  .inner-hero {
    min-height: 650px;
    height: 95svh;
  }
  .inner-hero-copy {
    padding: calc(var(--header) + 30px) var(--gutter) 55px;
  }
  .inner-hero-copy h1 {
    font-size: clamp(52px, 12vw, 72px);
  }
  .inner-hero-copy p {
    font-size: 21px;
    line-height: 1.55;
    margin-top: 25px;
  }
  .inner-hero-copy .round-link {
    margin-top: 30px;
  }
  .inner-hero:after {
    background: #06192388;
  }
  .inner-hero > img {
    object-position: 62% 30%;
  }
  .numbers-section {
    grid-template-columns: 1fr;
    padding: 0 var(--gutter) 75px;
    gap: 30px;
  }
  .numbers-section > div {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 24px;
  }
  .numbers-section strong {
    font-size: 76px;
  }
  .numbers-section span {
    font-size: 20px;
    margin: 0;
    max-width: 150px;
    text-align: right;
  }
  .editorial-split {
    grid-template-columns: 1fr;
  }
  .editorial-split > img {
    min-height: 0;
    height: 370px;
  }
  .editorial-split > div {
    padding: 45px var(--gutter) 60px;
  }
  .editorial-split h2 {
    font-size: 45px;
  }
  .editorial-split p {
    font-size: 21px;
    line-height: 1.7;
    margin: 28px 0;
  }
  .content-section {
    padding: 75px var(--gutter);
  }
  .content-section > h2 {
    font-size: 43px;
  }
  .content-section > p {
    font-size: 21px;
    margin-top: 28px;
  }
  .services-section {
    padding: 75px var(--gutter);
    gap: 45px;
  }
  .services-section h2 {
    font-size: 46px;
  }
  .service-list summary {
    font-size: 31px;
  }
  .service-list p {
    font-size: 20px;
    line-height: 1.7;
  }
  .catalog-section {
    padding: calc(var(--header) + 50px) var(--gutter) 65px;
  }
  .catalog-section h1 {
    font-size: clamp(45px, 11vw, 64px);
    margin-bottom: 35px;
  }
  .filter-tabs {
    gap: 25px;
    margin-bottom: 30px;
  }
  .filter-tabs button {
    font-size: 18px;
    padding: 13px 0 18px;
  }
  .product-image {
    height: 300px;
    padding: 35px;
  }
  .product-info {
    padding: 25px;
  }
  .product-info h3 {
    font-size: 31px;
  }
  .product-info > p {
    font-size: 18px;
    margin-top: 16px;
  }
  .product-actions {
    margin-top: 22px;
    gap: 20px;
  }
  .solution-products {
    padding: 70px var(--gutter);
  }
  .solution-products > h2 {
    font-size: 43px;
    margin-bottom: 35px;
  }
  .solution-products .product-card h3 {
    font-size: 31px;
  }
  .product-page-hero {
    padding: calc(var(--header) + 40px) var(--gutter) 50px;
    min-height: 0;
  }
  .product-intro {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .product-intro h1 {
    font-size: clamp(44px, 11vw, 62px);
  }
  .product-intro p {
    font-size: 21px;
    margin-top: 25px;
  }
  .product-intro .button {
    font-size: 18px;
    margin-top: 27px;
  }
  .product-intro > img {
    height: 300px;
  }
  .product-subnav {
    font-size: 18px;
    gap: 28px;
    padding: 19px var(--gutter);
  }
  .product-feature-grid {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 40px;
  }
  .product-feature-grid h3 {
    font-size: 31px;
  }
  .product-feature-grid p {
    font-size: 20px;
    margin-top: 20px;
  }
  .spec-section {
    padding: 65px var(--gutter);
  }
  .spec-section h2 {
    font-size: 45px;
  }
  .spec-table {
    font-size: 18px;
    line-height: 1.6;
  }
  .spec-table th,
  .spec-table td {
    padding: 20px 12px 20px 0;
  }
  .spec-table th {
    width: 40%;
    overflow-wrap: anywhere;
  }
  .spec-table td {
    overflow-wrap: anywhere;
  }
  .product-page-links {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 65px var(--gutter);
  }
  .product-page-links a {
    font-size: 27px;
    padding: 30px;
  }
  .product-page-links a > span:first-child {
    max-width: 90%;
  }
  dialog {
    padding: 28px 24px;
  }
  dialog h2 {
    font-size: 34px;
    line-height: 1.15;
  }
  dialog p {
    font-size: 18px;
  }
  .dialog-top .icon-button {
    margin: -15px -10px 0 0;
  }
  .search-field input {
    font-size: 18px;
  }
  .search-field {
    gap: 10px;
  }
  .search-results > a {
    font-size: 18px;
    gap: 12px;
  }
  .search-results img {
    width: 48px;
    height: 48px;
  }
  .search-results small {
    font-size: 18px;
  }
  .contact-option strong {
    font-size: 29px;
  }
  .contact-option {
    gap: 17px;
  }
  .contact-dialog > .button {
    font-size: 18px;
    padding: 15px;
  }
  .toast {
    font-size: 18px;
    padding: 15px 20px;
    max-width: calc(100% - 32px);
    text-align: center;
  }
}
@media (max-width: 370px) {
  :root {
    --gutter: 18px;
  }
  .brand {
    width: 102px;
  }
  .nav-actions {
    gap: 2px;
  }
  .icon-button {
    width: 36px;
  }
  .nav-actions .button {
    padding: 10px 12px;
    gap: 5px;
  }
  .opening-copy h1 {
    font-size: 55px;
  }
  .scene-copy h2 {
    font-size: 45px;
  }
  .scene-nav {
    left: 18px !important;
    right: 18px !important;
    gap: 10px !important;
  }
  .scene-nav button {
    font-size: 18px;
  }
  .motion-enabled .rail-heading h2 {
    font-size: 30px;
  }
  .circle-button {
    width: 37px;
    height: 37px;
  }
  .product-rail .product-actions {
    gap: 12px;
  }
  .product-detail-button {
    font-size: 18px;
  }
  .footer-top > a:last-child {
    font-size: 21px;
  }
  .footer-top img {
    width: 112px;
  }
  .scene-copy p {
    font-size: 20px;
  }
  .product-intro h1 {
    font-size: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .reveal-wait {
    opacity: 1;
    transform: none;
    clip-path: none;
  }
  .page-curtain {
    display: none !important;
  }
  .page-leaving main {
    transform: none;
    opacity: 1;
  }
}
.nav-actions .button {
  white-space: nowrap;
}
@media (max-width: 370px) {
  .brand {
    width: 96px;
  }
  .nav-inner {
    gap: 6px;
  }
}

/* Real Altium portfolio pages. All visible text remains at least 16px. */
.main-nav {
  gap: clamp(16px, 1.7vw, 28px);
}
.nav-inner {
  gap: 28px;
}
.main-nav > a,
.nav-link {
  white-space: nowrap;
}
.mega-menu {
  grid-template-columns: 1.5fr 1fr;
  overflow-y: auto;
  height: min(740px, calc(100dvh - var(--header)));
}
.mega-links a {
  font-size: clamp(24px, 2.3vw, 34px);
  padding: 19px 0;
}
.mega-secondary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 0 20px 50px;
  border-left: 1px solid var(--line);
}
.mega-secondary a {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  font-size: 26px;
  transition:
    color 0.25s,
    transform 0.35s;
}
.mega-secondary a:hover {
  color: #008ca6;
  transform: translateX(8px);
}
.opening-copy h1 {
  font-size: clamp(42px, 7vw, 108px);
}
.motion-enabled .story {
  height: 460svh;
}
.story-jasem {
  color: white;
  background: var(--navy);
}
.story-jasem:after {
  background: linear-gradient(90deg, #061923ed, #061923a0 55%, #06192335);
}
.story-jasem .scene-media img {
  object-position: 75%;
}
.scene-copy p {
  max-width: 760px;
}
.partner-logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.partner-logos img {
  max-width: 100%;
}
.partner-section > .round-link {
  margin-top: 50px;
}
.home-editorial .round-link + .round-link {
  margin-top: 22px;
}
.footer-links {
  flex-wrap: wrap;
  row-gap: 24px;
}
.footer-bottom > div {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}
.page-heading {
  padding: calc(var(--header) + 95px) var(--gutter) 75px;
  background: var(--paper);
}
.page-heading h1 {
  font-size: clamp(48px, 6.7vw, 100px);
  max-width: 1200px;
}
.page-heading p {
  font-size: 24px;
  line-height: 1.55;
  margin-top: 32px;
  max-width: 900px;
}
.page-heading .round-link {
  margin-top: 38px;
}
.directory-section,
.contact-section,
.category-groups,
.category-outro,
.company-values {
  padding: 80px var(--gutter);
}
.directory-section > h2,
.company-values > h2 {
  font-size: clamp(36px, 4vw, 64px);
  margin-bottom: 48px;
}
.directory-search {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  margin-bottom: 32px;
  padding-bottom: 35px;
  border-bottom: 1px solid var(--line);
}
.directory-search label {
  font-size: 28px;
  font-family: Manrope, sans-serif;
}
.directory-search input {
  width: min(100%, 460px);
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid var(--ink);
  border-radius: 0;
  background: transparent;
  font: inherit;
  font-size: 22px;
  color: var(--ink);
}
.directory-empty {
  font-size: 24px;
  padding: 30px 0;
}
.brand-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.brand-card {
  border: 1px solid var(--line);
  padding: 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  transition:
    border-color 0.3s,
    background 0.3s;
}
.brand-card > div {
  background: #fff;
  height: 210px;
  display: grid;
  place-items: center;
  margin-bottom: 32px;
  overflow: hidden;
}
.brand-card img {
  width: 82%;
  height: 120px;
  object-fit: contain;
  transition: transform 0.55s var(--ease);
}
.brand-card:hover img {
  transform: scale(1.065);
}
.brand-card:hover {
  border-color: #00b8d9;
  background: #f4f6f8;
}
.brand-card h2 {
  font-size: 24px;
  line-height: 1.3;
  padding-right: 25px;
  margin: auto 0 0;
  letter-spacing: -0.7px;
}
.brand-card > span {
  position: absolute;
  bottom: 25px;
  right: 22px;
  font-size: 26px;
}
.brand-hero {
  padding: calc(var(--header) + 80px) var(--gutter) 90px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 70px;
  align-items: center;
  background: var(--paper);
}
.brand-hero h1 {
  font-size: clamp(48px, 6vw, 92px);
  margin-top: 38px;
  overflow-wrap: anywhere;
}
.brand-mark {
  background: white;
  padding: 45px;
  min-height: 320px;
  display: grid;
  place-items: center;
}
.brand-mark img {
  width: 100%;
  max-height: 240px;
  object-fit: contain;
}
.brand-products {
  background: var(--paper);
}
.directory-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  font-family: Manrope, sans-serif;
  font-size: clamp(23px, 2.3vw, 34px);
  line-height: 1.4;
  transition:
    color 0.3s,
    padding 0.4s var(--ease);
}
.directory-row > span:last-child {
  flex-shrink: 0;
}
.directory-row:hover {
  color: #00849c;
  padding-left: 12px;
}
.technology-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 65px;
}
.technology-directory .directory-row {
  height: 100%;
}
.category-groups {
  background: var(--paper);
}
.category-outro {
  padding-top: 35px;
}
.kit-section > h2 {
  font-size: clamp(40px, 5vw, 70px);
}
.filter-tabs {
  flex-wrap: wrap;
  white-space: normal;
}
.filter-tabs button {
  white-space: normal;
  text-align: left;
  line-height: 1.5;
}
#category-source {
  margin-top: 45px;
}
.editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 85px 42px;
}
.editorial-card {
  min-width: 0;
}
.editorial-photo {
  aspect-ratio: 1.5;
  overflow: hidden;
  background: var(--paper);
}
.editorial-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}
.editorial-card a:hover img {
  transform: scale(1.06);
}
.editorial-card p {
  font-size: 18px;
  margin: 26px 0 18px;
  color: #56636b;
}
.editorial-card h2 {
  font-size: clamp(26px, 2.7vw, 40px);
  line-height: 1.28;
  letter-spacing: -1px;
}
.editorial-card .round-link {
  margin-top: 28px;
}
.editorial-grid + .round-link {
  margin-top: 65px;
}
.event-row {
  display: grid;
  grid-template-columns: 230px 1fr 40px;
  align-items: start;
  gap: 40px;
  padding: 45px 0;
  border-bottom: 1px solid var(--line);
}
.event-row time {
  font-size: 23px;
  line-height: 1.4;
}
.event-row h2 {
  font-size: clamp(28px, 3vw, 45px);
  line-height: 1.25;
  transition: color 0.3s;
}
.event-row p {
  font-size: 20px;
  margin-top: 18px;
  line-height: 1.5;
}
.event-row > span {
  font-size: 34px;
}
.event-row:hover h2 {
  color: #00849c;
}
.event-row + .round-link {
  margin-top: 50px;
}
.office-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 55px;
  margin: 90px 0;
}
.office-grid h2 {
  font-size: 44px;
}
.office-grid p {
  font-size: 21px;
  line-height: 1.6;
  min-height: 115px;
  margin: 28px 0;
}
.office-grid .round-link {
  font-size: 20px;
  flex-wrap: wrap;
}
.company-values {
  background: var(--paper);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
}
[hidden] {
  display: none !important;
}
@media (max-width: 1150px) {
  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    display: none;
    padding: 25px var(--gutter) 35px;
    box-shadow: 0 20px 25px #06192315;
    max-height: calc(100dvh - var(--header));
    overflow-y: auto;
  }
  .main-nav.open {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    animation: menuOpen 0.45s var(--ease) both;
  }
  .main-nav > a,
  .nav-link {
    font-size: 26px;
    padding: 17px 0;
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
  }
  .main-nav > a:after {
    display: none;
  }
  .nav-actions {
    margin-left: auto;
  }
  .mobile-toggle {
    display: grid;
  }
  .brand-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .office-grid {
    gap: 30px;
  }
  .office-grid p {
    font-size: 19px;
  }
  .office-grid .round-link {
    font-size: 18px;
  }
  .event-row {
    grid-template-columns: 190px 1fr 30px;
    gap: 24px;
  }
}
@media (max-width: 850px) {
  .mega-menu {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 20px;
  }
  .mega-menu:before {
    display: none;
  }
  .mega-links a {
    font-size: 25px;
    padding: 18px 0;
  }
  .mega-secondary {
    padding: 0;
    border-left: 0;
  }
  .mega-secondary a {
    font-size: 24px;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
  }
  .brand-hero {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .brand-mark {
    min-height: 230px;
  }
  .brand-mark img {
    max-height: 140px;
  }
  .office-grid {
    grid-template-columns: 1fr;
    margin: 55px 0;
  }
  .office-grid article {
    padding: 30px 0;
    border-bottom: 1px solid var(--line);
  }
  .office-grid p {
    min-height: 0;
    font-size: 21px;
  }
  .office-grid .round-link {
    font-size: 22px;
  }
  .company-values {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media (max-width: 600px) {
  .nav-inner {
    gap: 8px;
  }
  .opening-copy h1 {
    font-size: clamp(32px, 8.4vw, 49px);
    letter-spacing: -1.7px;
  }
  .motion-enabled .scene-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 20px;
    bottom: 24px;
  }
  .scene-nav button {
    font-size: 18px;
    padding: 9px 0;
    white-space: normal;
  }
  .scene-copy {
    padding-bottom: 175px;
  }
  .scene-copy p {
    font-size: 20px;
    max-width: 330px;
  }
  .page-heading {
    padding: calc(var(--header) + 55px) var(--gutter) 55px;
  }
  .page-heading h1 {
    font-size: clamp(38px, 10vw, 58px);
  }
  .page-heading p {
    font-size: 20px;
  }
  .directory-section,
  .contact-section,
  .category-groups,
  .category-outro,
  .company-values {
    padding: 50px var(--gutter);
  }
  .directory-search label {
    font-size: 26px;
  }
  .directory-search {
    gap: 15px;
    margin-bottom: 30px;
  }
  .brand-directory,
  .editorial-grid,
  .technology-directory {
    grid-template-columns: 1fr;
  }
  .brand-card {
    padding: 24px;
  }
  .brand-card > div {
    height: 170px;
    margin-bottom: 20px;
  }
  .brand-card h2 {
    font-size: 25px;
  }
  .brand-hero {
    padding: calc(var(--header) + 40px) var(--gutter) 50px;
  }
  .brand-hero h1 {
    font-size: 44px;
  }
  .brand-mark {
    padding: 24px;
  }
  .directory-row {
    font-size: 23px;
    padding: 24px 0;
    gap: 16px;
  }
  .directory-row > span:first-child {
    overflow-wrap: anywhere;
  }
  .filter-tabs {
    gap: 10px;
  }
  .filter-tabs button {
    font-size: 18px;
    padding: 12px 16px;
  }
  .editorial-grid {
    gap: 55px;
  }
  .event-row {
    grid-template-columns: 1fr 25px;
    gap: 18px;
    padding: 32px 0;
  }
  .event-row time {
    grid-column: 1 / -1;
    font-size: 20px;
  }
  .event-row h2 {
    font-size: 28px;
  }
  .event-row p {
    font-size: 18px;
  }
  .event-row > span {
    font-size: 26px;
  }
  .footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
  .footer-bottom > div {
    gap: 20px;
  }
  .footer-top > a:last-child {
    font-size: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .brand-card img,
  .editorial-photo img,
  .directory-row {
    transition: none;
  }
}
@media (max-width: 600px) {
  .statement-section h2 br {
    display: initial;
  }
  .inner-hero-copy {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 360px) {
  .nav-inner {
    gap: 6px;
  }
}
/* Original Lucide SVG assets. A single icon weight, size and interaction. */
.ui-arrow {
  display: inline-block;
  width: 24px;
  height: 24px;
  min-width: 24px;
  flex: 0 0 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
  pointer-events: none;
  transition: transform 220ms ease;
}
.round-link {
  gap: 16px;
}
.round-link > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.round-link:hover > span {
  background: transparent;
  color: inherit;
  transform: none;
}
.button:hover {
  transform: none;
}
.button,
.round-link,
.product-detail-button,
.directory-row {
  transition:
    color 220ms ease,
    background-color 220ms ease;
}
.directory-row:hover {
  padding-left: 0;
}
:where(
    .button,
    .round-link,
    .product-detail-button,
    .directory-row,
    .mega-links a,
    .mega-secondary a
  ):hover
  .ui-arrow[data-direction="right"] {
  transform: translateX(3px);
}
.round-link:hover .ui-arrow[data-direction="down"] {
  transform: translateY(3px);
}
.circle-button {
  width: 48px;
  height: 48px;
  border-radius: 0;
  border-color: var(--line);
  background: transparent;
  transition: background-color 220ms ease;
}
.circle-button:disabled {
  opacity: 0.35;
}
.circle-button:not(:disabled):hover .ui-arrow[data-direction="right"] {
  transform: translateX(3px);
}
.circle-button:not(:disabled):hover .ui-arrow[data-direction="left"] {
  transform: translateX(-3px);
}
.result-arrow,
.product-actions a > span,
.directory-row > span:last-child {
  display: inline-flex;
  align-items: center;
}
@media (max-width: 600px) {
  .nav-actions .button > .ui-arrow {
    display: none;
  }
  .circle-button {
    width: 42px;
    height: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ui-arrow {
    transition: none;
  }
  :where(a, button):hover .ui-arrow {
    transform: none !important;
  }
}

/* Continuous editorial compositions, based on the supplied reference frames. */
.reference-home {
  --science-blue: #16294d;
  --reference-accent: #00c8cb;
  --dna-image: url("../reference-dna.webp");
  margin-top: var(--header);
  background: var(--science-blue);
  color: white;
}
.reference-home h1,
.reference-home h2 {
  font-size: clamp(42px, 3.65vw, 68px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -0.035em;
}
.reference-home p {
  font-size: clamp(18px, 1.25vw, 22px);
  line-height: 1.5;
}
.science-sequence,
.applications-band {
  background-color: var(--science-blue);
  background-image: var(--dna-image);
  background-position: center;
  background-size: cover;
}
.science-stage {
  position: relative;
  overflow: hidden;
  min-height: 1140px;
  background-color: var(--science-blue);
  background-image: var(--dna-image);
  background-position: center;
  background-size: cover;
}
.intro-copy {
  position: relative;
  width: 49%;
  margin-left: 43%;
  padding-top: 110px;
}
.intro-copy p {
  max-width: 670px;
  margin-top: 32px;
}
.ref-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.1vw, 40px);
  margin-top: 48px;
}
.ref-card {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.6vw, 30px);
  min-height: 98px;
  padding: 16px 24px;
  background: #fff;
  color: #333;
  border-radius: 7px;
  border: 1px solid #e8ebee;
  font-size: clamp(18px, 1.05vw, 20px);
  line-height: 1.4;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.ref-card:hover {
  background: #e9fbfc;
  border-color: var(--reference-accent);
}
.ref-card-accent {
  background: var(--reference-accent);
  border-color: var(--reference-accent);
  color: #06232d;
}
.ref-card-accent:hover {
  background: #50e0df;
}
.ref-card-icon {
  width: clamp(48px, 3.8vw, 70px);
  height: clamp(48px, 3.8vw, 70px);
  flex: 0 0 auto;
  border-radius: 50%;
  background: #1b3059;
  color: white;
  display: grid;
  place-items: center;
}
.ref-icon {
  width: 52%;
  height: 52%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ref-chevron {
  display: inline;
  width: 19px;
  height: 19px;
  vertical-align: -4px;
  fill: none;
  stroke: #007b89;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.intro-portrait {
  position: absolute;
  top: 370px;
  left: 3.5%;
  width: 29.7%;
  height: 640px;
  object-fit: cover;
  object-position: 48% 45%;
  border-radius: 8px;
}
.expanding-photo {
  position: relative;
  margin: 120px 3.3% 0 35.2%;
  height: 590px;
  border-radius: 8px;
  overflow: hidden;
}
.expanding-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.photo-dissolve {
  display: none;
}
.solutions-composition {
  position: relative;
  max-width: 850px;
  text-align: center;
  margin: 130px auto 100px;
  padding: 0 20px;
}
.solutions-composition p {
  max-width: 690px;
  margin: 34px auto 0;
}
.applications-band {
  padding: 0 0 clamp(90px, 14vw, 260px);
  overflow: hidden;
}
.application-track {
  display: flex;
  gap: 36px;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #6c8197 transparent;
  padding: 16px 3.5% 28px;
  scroll-snap-type: x proximity;
}
.application-tile {
  flex: 0 0 min(38vw, 700px);
  scroll-snap-align: center;
}
.application-tile img {
  width: 100%;
  height: clamp(220px, 21vw, 385px);
  object-fit: cover;
  border-radius: 8px;
  transition: filter 0.25s;
}
.application-tile:first-child img {
  object-fit: contain;
  background: #eef3f5;
  padding: 28px;
}
.application-tile:hover img {
  filter: brightness(1.08);
}
.application-tile h3 {
  font:
    500 20px/1.45 Manrope,
    Inter,
    sans-serif;
  letter-spacing: -0.015em;
  margin-top: 15px;
}
.application-tile .ref-chevron {
  color: #00d9d8;
  stroke: currentColor;
}
.support-sequence {
  background: white;
  color: #101010;
}
.support-stage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 850px;
  overflow: hidden;
  position: relative;
}
.support-copy {
  align-self: center;
  padding: 85px 6.4%;
}
.support-copy h2 {
  font-size: clamp(40px, 3.55vw, 66px);
}
.support-copy p {
  color: #444;
  max-width: 660px;
  margin-top: 38px;
}
.support-copy .ref-actions {
  margin-top: 60px;
  gap: 24px;
}
.support-copy .ref-card {
  padding: 16px;
  gap: 18px;
}
.support-photo {
  min-width: 0;
  overflow: hidden;
}
.support-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
}
.history-composition {
  background: white;
  color: #080b0f;
  display: grid;
  grid-template-columns: 1fr 2.1fr 1fr;
  gap: 40px;
  padding: 150px 3.5% 0;
  align-items: start;
}
.history-copy {
  grid-column: 2;
  grid-row: 1;
  text-align: center;
}
.history-copy h2 {
  white-space: nowrap;
  font-size: clamp(38px, 3.6vw, 66px);
}
.history-copy p {
  margin: 32px auto 0;
  max-width: 720px;
  color: #444;
}
.history-copy .ref-actions {
  text-align: left;
  margin-top: 58px;
}
.history-left,
.history-right {
  width: 100%;
  height: clamp(270px, 25vw, 470px);
  object-fit: cover;
  border-radius: 8px;
  grid-row: 1 / span 2;
  margin-top: 240px;
}
.history-left {
  grid-column: 1;
  object-position: 35% center;
}
.history-right {
  grid-column: 3;
  object-position: center 40%;
}
.history-center {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6;
  object-fit: cover;
  border-radius: 8px;
}
.reference-contact {
  background: white;
  color: #101010;
  padding: 140px 6% 120px;
  text-align: center;
}
.reference-contact > a {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  font-size: 22px;
  margin-top: 30px;
  border-bottom: 1px solid #aaa;
  padding-bottom: 10px;
}
.contact-tab {
  position: fixed;
  right: 0;
  top: 30%;
  z-index: 35;
  background: #00c8cb;
  color: #061923;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  padding: 23px 12px;
  border-radius: 0 7px 7px 0;
  font-size: 18px;
}
.reference-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 35;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #00c8cb;
  color: #16294d;
}
.reference-top .ui-arrow {
  width: 30px;
  height: 30px;
}
.reference-page .site-header {
  transition:
    transform 0.3s ease,
    background 0.3s;
}
.reference-page
  .site-header.header-away:not(:focus-within):not(
    :has(.mega-menu:not([hidden]))
  ) {
  transform: translateY(-100%);
}
/* A single photo expands into the viewport, then dissolves into the shared DNA background. */

@media (min-width: 1101px) {
  .applications-band {
    background-attachment: fixed;
  }
}
@media (max-width: 1100px) {
  .ref-card {
    padding: 14px;
    gap: 12px;
  }
  .ref-card-icon {
    width: 44px;
    height: 44px;
  }
  .intro-copy {
    margin-left: 38%;
    width: 57%;
  }
  .intro-portrait {
    width: 30%;
  }
  .support-copy .ref-actions {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 28px;
  }
  .support-copy .ref-card {
    min-height: 76px;
  }
  .history-composition {
    gap: 24px;
    grid-template-columns: 0.7fr 2.5fr 0.7fr;
    padding-top: 95px;
  }
  .history-copy h2 {
    white-space: normal;
  }
  .history-left,
  .history-right {
    margin-top: 180px;
  }
}
@media (max-width: 700px) {
  .reference-home h1,
  .reference-home h2 {
    font-size: clamp(34px, 8.3vw, 52px);
  }
  .reference-home p {
    font-size: 18px;
    line-height: 1.5;
  }
  .intro-copy {
    width: auto;
    margin: 0;
    padding: 48px 24px 0;
  }
  .intro-copy p {
    margin-top: 24px;
  }
  .ref-actions {
    margin-top: 28px;
    gap: 12px;
  }
  .ref-card {
    padding: 14px 12px;
    font-size: 18px;
    min-height: 100px;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .ref-card-icon {
    width: 36px;
    height: 36px;
  }
  .intro-portrait {
    left: 6%;
    top: 530px;
    width: 34%;
    height: 300px;
  }
  .expanding-photo {
    margin: 100px 6% 0 45%;
    height: 360px;
  }
  .science-stage {
    min-height: 0;
  }
  .solutions-composition {
    margin: 80px 24px;
    padding: 0;
  }
  .solutions-composition p {
    margin-top: 26px;
  }
  .application-track {
    gap: 22px;
    padding: 20px 24px 30px;
  }
  .application-tile {
    flex-basis: 78vw;
  }
  .application-tile img {
    height: 230px;
  }
  .application-tile h3 {
    font-size: 18px;
  }
  .applications-band {
    padding-bottom: 70px;
  }
  .support-stage {
    display: flex;
    flex-direction: column-reverse;
    min-height: 0;
  }
  .support-photo {
    height: 70svh;
  }
  .support-copy {
    padding: 52px 24px 64px;
  }
  .support-copy p {
    margin-top: 24px;
  }
  .support-copy .ref-actions {
    grid-template-columns: 1fr 1fr;
  }
  .support-copy .ref-card {
    padding: 14px 12px;
    gap: 10px;
  }
  .history-composition {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 60px 24px 0;
  }
  .history-copy {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .history-copy p {
    margin-top: 24px;
  }
  .history-copy .ref-actions {
    margin-top: 28px;
  }
  .history-center {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .history-left,
  .history-right {
    grid-row: 3;
    margin-top: 0;
    height: 220px;
  }
  .history-left {
    grid-column: 1;
  }
  .history-right {
    grid-column: 2;
  }
  .reference-contact {
    padding: 80px 24px;
  }
  .reference-contact > a {
    font-size: 18px;
    gap: 14px;
  }
  .contact-tab {
    display: none;
  }
  .reference-top {
    right: 14px;
    bottom: 14px;
    width: 44px;
    height: 44px;
  }
  
  
  
  
  
  
  
  
  
}
@media (prefers-reduced-motion: reduce) {
  .reference-page .site-header {
    transition: none;
  }
}
/* Keep the helix atmospheric and the following imagery visible at the fold. */
.reference-home {
  --dna-image:
    linear-gradient(#16294db3, #16294db3), url("../reference-dna.webp");
}

/* The corporate collage assembles across the viewport, never as bottom fly-ins. */
.history-sequence {
  background: #fff;
  color: #080b0f;
  overflow: clip;
}

.history-copy {
  transform-origin: center 35%;
}
.history-center {
  transform-origin: center top;
}
.expanding-photo video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.expanding-photo video::-webkit-media-controls {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .laboratory-loop {
    display: none;
  }
}

/* One continuous, quiet backdrop after the laboratory film. */

.solutions-composition {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 7vw;
  text-align: left;
  max-width: none;
  width: 88%;
  padding: 0;
}
.solutions-composition {margin: 110px auto;}

.reference-home .solutions-composition h2 {
  font-size: clamp(46px, 4.55vw, 84px);
  line-height: 1.12;
  letter-spacing: -.045em;
}
.reference-home .solutions-composition p {margin: 0; color: #c1d4d9; font-size: clamp(18px, 1.3vw, 22px);}
.solutions-links {margin-top: 38px;}
.solutions-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #688a965c;
  font-size: 19px;
  transition: color .2s;
}
.solutions-links svg,.application-tile h3 svg,.application-buttons svg {
  width: 24px; height: 24px; flex-shrink: 0;
  fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
.solutions-links a:hover {color: #59d9df;}
.solutions-links a:hover svg {transform: translateX(4px);}
.solutions-links svg {transition: transform .25s;}
.applications-band {
  background: #081f2a;
  padding: 0;
  overflow: clip;
}
.applications-stage {padding: 5svh 0 7svh;}
.application-track {
  gap: 3vw;
  padding: 0 6vw;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 6vw;
}
.application-track::-webkit-scrollbar {display: none;}
.application-tile {flex-basis: min(64vw, 1120px); min-width: 0;}
.application-image {overflow: hidden; border-radius: 4px; background: #163440;}
.application-tile img,.application-tile:first-child img {
  display: block;
  width: 100%; height: clamp(290px, 54svh, 650px);
  object-fit: cover; padding: 0; border-radius: 0;
  transform: scale(1.08);
  background: none;
  will-change: transform;
}
.application-tile:first-child img {object-position: 52% center;}
.application-tile h3 {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin: 22px 0 0;
  font-size: clamp(18px, 1.5vw, 25px);
}
.application-tile h3 svg {color: #62cbd2;}
.application-controls {display: flex; align-items: center; gap: 30px; margin: 36px 6vw 0;}
.application-progress {height: 1px; flex: 1; background: #38505a; overflow: hidden;}
.application-progress span {display: block; width: 25%; height: 100%; background: #65d2d9; transform-origin: left;}
.application-buttons {display: flex; gap: 12px;}
.application-buttons button {width: 46px; height: 46px; border-radius: 50%; border: 1px solid #54717d; display: grid; place-items: center; color: white; transition: background .2s;}
.application-buttons button:hover {background: #23515b;}
.application-buttons button:disabled {opacity: .3; cursor: default;}

.solutions-links a:focus-visible,.application-tile:focus-visible,.application-buttons button:focus-visible {outline: 2px solid #62dbe3; outline-offset: 6px;}
@media (max-width: 900px) {
  .solutions-composition {grid-template-columns: 1fr; gap: 30px; width: 88%;}
  
  .reference-home .solutions-composition h2 {font-size: clamp(38px, 6.6vw, 64px);}
  .solutions-detail {max-width: 640px;}
  .solutions-links {margin-top: 16px;}
  .solutions-links a {font-size: 18px; padding: 17px 0;}
  .application-tile {flex-basis: 84vw;}
  .application-tile img,.application-tile:first-child img {height: 48svh;}
  .application-controls {margin-top: 24px; gap: 20px;}
  .application-tile h3 {font-size: 19px; align-items: flex-start;}
}
@media (prefers-reduced-motion: reduce) {
  .application-tile img,.application-tile:first-child img {transform: none; will-change: auto;}
  .solutions-links svg {transition: none;}
}
/* Let the next image enter the same composition, without an empty screen between. */

.application-tile:nth-child(2) img {object-position: 50% 20%;}

/* Compact navigation belongs to the text, without a separate card surface. */
.intro-links {display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; margin-top: 34px;}
.intro-links a {display: inline-flex; align-items: center; gap: 12px; padding: 0 0 9px; border-bottom: 1px solid currentColor; font-size: 18px; line-height: 1.5;}
.intro-links svg {width: 21px; height: 21px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s;}
.intro-links a:hover svg {transform: translateX(4px);}
.intro-links a:focus-visible {outline: 2px solid #008897; outline-offset: 6px;}
.solutions-composition {display: block; text-align: center; width: min(920px,88%);}

.reference-home .solutions-composition h2 {font-size: clamp(40px,4vw,68px); line-height: 1.12;}
.solutions-detail {max-width: 710px; margin: 24px auto 0;}
.reference-home .solutions-composition p {font-size: clamp(18px,1.2vw,21px);}
.solutions-links {display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 32px; margin-top: 28px;}
.solutions-links a {justify-content: flex-start; gap: 12px; font-size: 18px; padding: 0 0 9px; border-bottom-color: currentColor;}
.solutions-links svg {width: 21px; height: 21px;}

@media(max-width:900px) {
 
 .reference-home .solutions-composition h2 {font-size: clamp(36px,6.2vw,54px);}
 .solutions-detail {margin-top: 22px;}
 .solutions-links {gap: 20px; margin-top: 24px;}
 
 .intro-links {margin-top: 25px; gap: 16px;}
 .intro-links a {font-size: 18px;}
}
@media(prefers-reduced-motion:reduce) {.intro-links svg {transition: none;}}

/* The scientific imagery is the composition, rather than decoration behind cards. */
.science-sequence,.science-stage {background: #f3f5f3;}
.intro-composition {position: relative; min-height: 650px; color: #16333c;}

.intro-copy {margin-left: 50%; width: 44%; padding-top: 95px;}

.reference-home .intro-copy p {color: #50636a; font-weight: 400; max-width: 640px;}
.intro-links a {color: #163b44; border-color: #a9b9bb;}
.intro-links a:hover {color: #007c89;}
.intro-portrait {
  top: 0; left: 0; width: 45%; height: 100%;
  border-radius: 0; object-position: 56% center;
  mask-image: linear-gradient(90deg,#000 80%,transparent);
}

.reference-home .solutions-composition p {color: #f0f5f6;}
.solutions-links a {color: white; border-color: #b5d1d899;}
:root .solutions-composition {
  background: linear-gradient(180deg,#081f2a80,#081f2ae6),url("../home-674f869126b279828b.webp") center/cover;
  color: white; width: 100%; margin: 0; padding: 90px 6%;
}
:root .expanding-photo {margin-bottom: 90px;}
@media(min-width:701px) and (max-width:1100px) {
 .intro-copy {margin-left: 47%; width: 47%;}
 .intro-portrait {width: 43%;}
 .intro-links {gap: 16px; margin-top: 25px;}
}
@media(max-width:700px) {
 .intro-composition {min-height: 780px;}
 .intro-copy {margin: 0; width: auto; padding: 45px 24px 0;}
 
 .intro-portrait {
   top: 58%; left: 0; width: 100%; height: 55%; object-position: 50% 27%;
   mask-image: linear-gradient(180deg,transparent,#000 18%);
 }
 
 :root .expanding-photo {margin-top: 0;}
}
.application-tile:nth-child(2) img {object-position:center;}
.history-left {object-position:center;}
.history-right {object-position:65% center;}


/* Altium curtain: images open from the edge they sit on, headings rise from behind a line mask. */
.reveal-line {display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em;}
.reveal-line > span {display: block;}
.reveal-ready [data-reveal="lines"] .reveal-line > span {transform: translateY(110%); transition: transform .9s cubic-bezier(.22,1,.36,1);}
.reveal-ready [data-reveal="lines"] .reveal-line:nth-child(2) > span {transition-delay: 90ms;}
.reveal-ready [data-reveal="lines"] .reveal-line:nth-child(3) > span {transition-delay: 180ms;}
.reveal-ready [data-reveal="lines"].is-revealed .reveal-line > span {transform: none;}
.reveal-ready [data-reveal="fade"] {opacity: 0; transform: translateY(16px); transition: opacity .7s ease-out calc(var(--reveal-delay, 0ms) + 240ms), transform .8s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay, 0ms) + 240ms);}
.reveal-ready [data-reveal="fade"].is-revealed {opacity: 1; transform: none;}
.reveal-ready [data-reveal="mask"] {clip-path: inset(0 100% 0 0); transition: clip-path 1.1s cubic-bezier(.76,0,.24,1) var(--reveal-delay, 0ms);}
.reveal-ready [data-reveal="mask"][data-reveal-from="right"] {clip-path: inset(0 0 0 100%);}
.reveal-ready [data-reveal="mask"][data-reveal-from="bottom"] {clip-path: inset(100% 0 0 0);}
.reveal-ready [data-reveal="mask"].is-revealed {clip-path: inset(0 0 0 0);}
.reveal-ready .reveal-zoom > :is(img, video) {transform: scale(1.12); transition: transform 1.6s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms);}
.reveal-ready .reveal-zoom.is-revealed > :is(img, video) {transform: none;}
/* Reset offscreen immediately so even a quick return can replay the full entrance. */
.reveal-ready [data-reveal]:not(.is-revealed),
.reveal-ready [data-reveal]:not(.is-revealed) .reveal-line > span,
.reveal-ready .reveal-zoom:not(.is-revealed) > :is(img, video) {transition:none;}

/* Full-width, category-led navigation. Shared across all pages. */
:root {
  --header: 92px;
}
.catalog-header {
  --nav-ink: #172b3a;
  --nav-glass: rgba(243, 248, 250, .76);
  color: var(--nav-ink);
  background: var(--nav-glass);
  height: var(--header);
  border-bottom: 1px solid rgba(150, 172, 183, .24);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
}
.catalog-header .nav-inner {
  height: 92px;
  padding: 0 3%;
  gap: 32px;
  max-width: 1800px;
  margin: 0 auto;
}
.catalog-header .brand {
  width: 148px;
}
.catalog-header .main-nav {
  display: flex;
  position: static;
  align-items: center;
  gap: clamp(14px, 1.05vw, 22px);
  margin: 0 auto;
  padding: 0;
  background: none;
}
.catalog-header .main-nav .nav-link {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
  display: flex;
  gap: 5px;
  padding: 34px 0;
  align-items: center;
  color: var(--nav-ink);
  position: relative;
}
.catalog-header .main-nav .nav-link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.18s;
}
.catalog-header .main-nav .nav-link[aria-expanded="true"]:after {
  transform: scaleX(1);
}
.catalog-header .main-nav .nav-link > .nav-svg {
  width: 14px;
  height: 14px;
  transform: rotate(90deg);
}
.catalog-header .nav-actions {
  margin-left: 0;
  gap: 16px;
  color: var(--nav-ink);
}
.catalog-header .nav-actions .button {
  padding: 12px 22px;
  min-height: 48px;
  font-size: 18px;
  font-weight: 550;
  white-space: nowrap;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: #102d3b;
  color: #fff;
  box-shadow: inset 0 1px 0 #ffffff14;
  gap: 14px;
  transition: background .2s, box-shadow .2s;
}
.catalog-header .nav-actions .button:hover {
  background: #204757;
  box-shadow: 0 4px 18px #06192318;
}
.catalog-header .global-link .nav-svg {
  width: 18px;
  height: 18px;
}
.catalog-header .search-toggle {
  width: 36px;
  padding: 4px;
  border: 0;
}
.nav-svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.catalog-header .mobile-toggle,
.catalog-header .mobile-global {
  display: none;
}
.catalog-header .catalog-menu {
  position: absolute;
  inset: var(--header) 0 auto;
  padding: 0;
  margin: 0;
  background: white;
  border-top: 1px solid #e2e7eb;
  color: #1a2e3c;
  box-shadow: 0 18px 30px #05192315;
  max-height: calc(100dvh - var(--header));
  overflow: hidden;
  display: block;
  animation: catalog-open 0.26s cubic-bezier(.2,.7,.2,1) both;
}
.catalog-toolbar {
  height: 88px;
  display: flex;
  align-items: center;
  padding: 0 3%;
  gap: 22px;
  border-bottom: 0;
}
.catalog-current {
  font-size: 30px;
  letter-spacing: -.035em;
  font-weight: 550;
}
.catalog-close {
  margin-left: auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
}
.catalog-back {
  display: none;
}
.navigation-section {
  display: grid;
  grid-template-columns: minmax(240px, 22%) minmax(0, 43%) minmax(0, 35%);
  height: min(590px, calc(100dvh - var(--header) - 88px));
  max-height: min(590px, calc(100dvh - var(--header) - 88px));
  overflow: auto;
}
.catalog-intro,
.catalog-rail {
  padding: 8px clamp(22px, 2.5vw, 48px) 32px;
  background: #fff;
  border-right: 1px solid #e2e7ed;
}
.catalog-rail {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100%;
}
.catalog-menu h2 {
  font-size: 26px;
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-weight: 600;
}
.catalog-intro p {
  font-size: 18px;
  line-height: 1.6;
  margin-top: 18px;
  color: #596874;
}
.catalog-intro img {
  width: 100%;
  height: 165px;
  object-fit: cover;
  border-radius: 5px;
  margin-top: 24px;
}
.catalog-overview {
  display: inline-block;
  font-size: 18px;
  line-height: 1.5;
  border-bottom: 1px solid #009db4;
  padding-bottom: 5px;
  color: #00798c;
  font-weight: 600;
}
.catalog-intro > .catalog-overview,
.catalog-rail > .catalog-overview {
  margin-top: 28px;
}
.catalog-rail h2 {
  font-size: 18px;
  color: #63727d;
  margin-bottom: 20px;
}
.catalog-rail [role="tablist"] {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.catalog-rail [role="tab"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  text-align: left;
  padding: 13px 12px;
  font-size: 18px;
  line-height: 1.45;
  border-left: 3px solid transparent;
}
.catalog-rail [aria-selected="true"] {
  background: #eef8fa;
  border-left-color: #00b8d9;
  color: #007e95;
}
.catalog-rail [role="tab"]:hover {
  background: #eaf1f4;
}
.catalog-detail {
  padding: 8px 32px 32px;
  overflow: auto;
  overscroll-behavior: contain;
}
.catalog-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid #dce4e9;
}
.catalog-heading h2 {
  max-width: 75%;
}
.catalog-heading .catalog-overview {
  flex-shrink: 0;
}
.catalog-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 26px;
  align-content: start;
}
.navigation-section > .catalog-columns {
  padding: 8px 32px 32px;
  overflow: auto;
  overscroll-behavior: contain;
}
.catalog-columns.catalog-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.catalog-columns.catalog-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.catalog-group h3 {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: -0.015em;
  margin-bottom: 10px;
  padding-bottom: 0;
  border-bottom: 0;
  color: #152e45;
}
.catalog-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.catalog-group li {
  margin: 0 0 7px;
  break-inside: avoid;
}
.catalog-group li a {
  font-size: 18px;
  line-height: 1.45;
  color: #435963;
  display: inline-block;
  padding: 2px 0;
  overflow-wrap: anywhere;
}
.catalog-group a:hover {
  color: #007c93;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.catalog-group-long {
  grid-column: span 2;
}
.catalog-group-long ul {
  columns: 2;
  column-gap: 28px;
}
.catalog-backdrop {
  position: fixed;
  inset: var(--header) 0 0;
  background: #07172b70;
  backdrop-filter: blur(3px);
  z-index: 45;
}
body.navigation-open {
  overflow: hidden;
}
.catalog-header:has(.main-nav.open),
.catalog-header:has(.catalog-menu:not([hidden])) {
  transform: none !important;
}
.reference-home { margin-top: 0; }
/* Cinematic opening: readable left composition, equipment visible on the right. */
.film-hero {
  position: relative; isolation: isolate;
  width: 100%; height: 100svh; min-height: 740px;
  background: #061923; overflow: hidden;
  display: flex; align-items: center;
}
.film-poster,.film-video {
  position: absolute; top: 0; left: 12%;
  width: 100%; max-width: none; height: 100%;
  object-fit: cover; object-position: 50% 50%; pointer-events: none;
}
.film-hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg,#061923 0%,#061923f5 15%,#061923d4 29%,#06192370 47%,#06192308 70%),linear-gradient(180deg,#06192326 0%,transparent 35%,#06192380 100%);
  pointer-events: none;
}
.film-copy {
  position: relative; z-index: 1;
  width: 100%; max-width: 1800px; margin: 0 auto;
  padding: calc(var(--header) + 54px) 6vw 80px;
}
.reference-home .film-copy h1 {
  max-width: 660px; font-size: clamp(60px,5.1vw,92px);
  font-weight: 500; line-height: 1.035; letter-spacing: -.045em;
  color: #fff; text-shadow: none;
}
.film-copy h1 span {display:block;}
.film-copy h1 > span:first-child {color:#b9d9df;}
.reference-home .film-copy .film-subtitle {
  max-width: 395px; margin: 28px 0 0;
  font-size: 18px; line-height: 1.7; font-weight: 400;
  color: #d0dfe3; text-wrap: pretty;
}
.film-copy .film-cta {
  display: inline-flex; align-items: center; justify-content: space-between;
  gap: 28px; min-height: 60px; margin-top: 32px; padding: 8px 8px 8px 25px;
  border: 1px solid #fff; border-radius: 99px;
  background: #fff; color: #102f3a;
  font-size: 18px; line-height: 1.35; font-weight: 600;
  transition: background .2s,box-shadow .2s;
}
.film-cta-icon {display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dceef0;transition:background .2s;}
.film-cta .nav-svg {width:21px;height:21px;transition:transform .2s;}
.film-copy .film-cta:hover {background:#edf8f9;box-shadow:0 8px 32px #0002;}
.film-copy .film-cta:hover .film-cta-icon {background:#b8e4e8;}
.film-copy .film-cta:hover svg {transform:translateX(2px);}
.film-copy .film-cta:focus-visible,.film-scroll:focus-visible {outline:2px solid #62dbe3;outline-offset:5px;}
.film-scroll {position:absolute;right:6vw;bottom:45px;z-index:2;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;color:white;background:#06192326;transition:background .2s;}
.film-scroll svg {width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.film-scroll:hover {background:#ffffff26;}
body:has(.catalog-header.over-film) .reference-top {visibility:hidden;}
.site-header.catalog-header.scrolled {
  background: var(--nav-glass);
  backdrop-filter: blur(24px) saturate(140%);
}
.catalog-header.over-film:not(:has(.mega-menu:not([hidden]))):not(:has(.main-nav.open)) {
  --nav-ink: #fff;
  --nav-glass: rgba(18, 38, 45, .28);
}
.catalog-header.over-film:not(:has(.mega-menu:not([hidden]))):not(:has(.main-nav.open)) .brand img {
  filter: brightness(0) invert(1);
}
.catalog-header.over-film .global-link {
  background: rgba(244, 249, 250, .94);
  color: #163340;
  border-color: transparent;
}
.catalog-header.over-film .global-link:hover { background: #fff; }
@media (max-width: 1535px) {
  .catalog-header .main-nav { --nav-ink: #172b3a; }
}
@media (max-width: 600px) {
  .film-hero { min-height: 760px; height: 100svh; align-items:flex-end; }
  .film-poster, .film-video { left:0; object-position: 50% 40%; }
  .film-copy { padding: calc(var(--header) + 80px) 24px 72px; }
  .reference-home .film-copy h1 { font-size: clamp(43px, 11.4vw, 64px); }
  .film-hero::after {background:linear-gradient(180deg,#06192326 0%,#06192308 25%,#061923aa 44%,#061923f5 64%,#061923 100%);}
  .reference-home .film-copy .film-subtitle {max-width:340px;margin-top:22px;}
  .film-copy .film-cta {margin-top:26px;}
  .film-scroll {width:36px;height:36px;right:24px;bottom:18px;}
  .catalog-header .global-link .nav-svg { display: none; }
}
@media (max-height: 650px) and (min-width: 601px) {
  .film-hero { min-height: 650px; }
}
@keyframes catalog-open {
  from {
    opacity: 0;
    clip-path: inset(0 0 5%);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
  }
}
@media (min-width: 1536px) and (max-width: 1600px) {
  .catalog-header .nav-inner {
    gap: 18px;
    padding: 0 2%;
  }
  .catalog-header .brand {
    width: 132px;
  }
  .catalog-header .nav-actions {
    gap: 7px;
  }
  .catalog-header .main-nav {
    gap: 13px;
  }
  .catalog-header .nav-actions .button {
    padding: 12px;
  }
  .catalog-columns {
    gap: 28px 22px;
  }
  .catalog-menu h2 {
    font-size: 23px;
  }
}
@media (max-width: 1535px) {
  :root {
    --header: 78px;
  }
  .catalog-header .nav-inner {
    height: 78px;
    padding: 0 24px;
    justify-content: space-between;
    gap: 18px;
  }
  .catalog-header .brand {
    width: 145px;
  }
  .catalog-header .nav-actions {
    margin-left: auto;
  }
  .catalog-header .mobile-toggle {
    display: grid;
  }
  .catalog-header .main-nav {
    display: none;
    position: fixed;
    inset: var(--header) 0 0;
    margin: 0;
    padding: 22px 24px 40px;
    overflow: auto;
    background: #fff;
    align-items: stretch;
    z-index: 1;
  }
  .catalog-header .main-nav.open {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: calc(100dvh - var(--header));
  }
  .catalog-header .main-nav .nav-link {
    width: 100%;
    justify-content: space-between;
    padding: 20px 0;
    font-size: 20px;
    border-bottom: 1px solid #e2e8ee;
    white-space: normal;
    text-align: left;
  }
  .catalog-header .main-nav .nav-link > .nav-svg {
    transform: none;
    width: 20px;
    height: 20px;
  }
  .catalog-header .mobile-global {
    display: block;
    font-size: 18px;
    margin-top: 26px;
  }
  .catalog-menu {
    z-index: 2;
  }
  .catalog-toolbar {
    height: 62px;
    padding: 0 24px;
  }
  .catalog-current {
    display: none;
  }
  .catalog-back {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
  }
  .navigation-section {
    display: block;
    height: calc(100dvh - var(--header) - 62px);
    max-height: none;
    overflow: auto;
  }
  .catalog-intro {
    padding: 26px 24px;
    border-right: 0;
    border-bottom: 1px solid #dfe7ed;
  }
  .catalog-intro img {
    display: none;
  }
  .catalog-intro p {
    max-width: 600px;
  }
  .catalog-intro > .catalog-overview {
    margin-top: 18px;
  }
  .catalog-rail {
    position: relative;
    padding: 26px 24px;
    min-height: 0;
    height: 100%;
    border: 0;
    background: white;
  }
  .catalog-rail [role="tab"] {
    border-bottom: 1px solid #e2e8ee;
    padding: 20px 14px;
    font-size: 19px;
  }
  .catalog-detail {
    padding: 28px 24px;
    overflow: visible;
  }
  .catalog-menu[data-mobile-level="categories"] .catalog-detail {
    display: none;
  }
  .catalog-menu[data-mobile-level="details"] .catalog-rail {
    display: none;
  }
  .catalog-columns,
  .catalog-columns.catalog-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .navigation-section > .catalog-columns {
    padding: 28px 24px;
    overflow: visible;
  }
  .catalog-heading {
    display: block;
  }
  .catalog-heading h2 {
    max-width: none;
    font-size: 26px;
  }
  .catalog-heading .catalog-overview {
    margin-top: 18px;
  }
  .catalog-group li a {
    padding: 6px 0;
  }
}
@media (max-width: 600px) {
  :root {
    --header: 76px;
  }
  .catalog-header .nav-inner {
    height: 76px;
    padding: 0 16px;
    gap: 12px;
  }
  .catalog-header .brand {
    width: 122px;
  }
  .catalog-header .nav-actions {
    gap: 7px;
  }
  .catalog-header .nav-actions .button {
    padding: 10px 12px;
  }
  .catalog-header .search-toggle {
    width: 30px;
  }
  .catalog-columns,
  .catalog-columns.catalog-four,
  .catalog-columns.catalog-two {
    grid-template-columns: 1fr;
  }
  .catalog-group-long {
    grid-column: auto;
  }
  .catalog-group-long ul {
    columns: 1;
  }
  .film-hero {
    max-height: none;
  }
}
@media (max-width: 359px) {
  .catalog-header .brand {
    width: 105px;
  }
  .catalog-header .nav-inner {
    padding: 0 10px;
    gap: 6px;
  }
  .catalog-header .nav-actions {
    gap: 3px;
  }
  .catalog-header .nav-actions .button {
    padding: 10px;
    font-size: 18px;
  }
  .catalog-header .mobile-toggle {
    width: 36px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-header .catalog-menu {
    animation: none;
  }
  .film-video {
    display: none;
  }
}
.catalog-header .catalog-menu {
  height: auto;
  gap: 0;
  grid-template-columns: none;
}
.catalog-header .catalog-menu:before {
  content: none;
}
/* Stack each complete group in a column; short groups do not leave empty grid rows. */
.family-panel .catalog-columns {
  display: block;
  columns: 2;
  column-gap: 32px;
}
.family-panel .catalog-group {
  break-inside: avoid;
  margin-bottom: 32px;
}
.family-panel .catalog-group-long {
  column-span: all;
}
.family-panel .catalog-group-long ul {
  columns: 2;
}
@media (max-width: 1535px) {
  .family-panel .catalog-columns,
  .family-panel .catalog-group-long ul {
    columns: 2;
  }
}
@media (max-width: 600px) {
  .family-panel .catalog-columns,
  .family-panel .catalog-group-long ul {
    columns: 1;
  }
}

/* One header row: language selector and global destination share the action area. */
.catalog-header .language-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 44px;
  padding: 0 3px;
  color: var(--nav-ink);
  font-size: 18px;
}
.language-toggle .nav-svg { width: 14px; height: 14px; transform: rotate(90deg); }
.catalog-header .mobile-menu-search { display: none; }
@media (max-width: 600px) {
  .catalog-header .nav-actions > .search-toggle { display: none; }
  .catalog-header .mobile-menu-search {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    min-height: 60px;
    font-size: 20px;
    border-bottom: 1px solid #e2e8ee;
  }
  .catalog-header .brand { width: 108px; }
  .catalog-header .nav-actions .global-link { padding: 11px 14px; }
  .catalog-header .nav-actions { gap: 5px; }
  .catalog-header .nav-inner { gap: 8px; }
}
@media (max-width: 359px) {
  .catalog-header .brand { width: 86px; }
  .catalog-header .nav-actions .global-link { padding: 10px; }
  .catalog-header .nav-inner { padding: 0 8px; gap: 5px; }
  .catalog-header .nav-actions { gap: 2px; }
  .catalog-header .mobile-toggle { width: 32px; }
}

/* Editorial highlights: category hierarchy and imagery stay separate. */
.catalog-features {padding:8px 32px 32px;border-left:1px solid #e6ecef;overflow:auto;overscroll-behavior:contain;}
.catalog-features > div:not([hidden]) {display:grid;gap:30px;}
.catalog-feature {display:grid;grid-template-columns:minmax(125px,42%) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:30px;}
.catalog-features > div .catalog-feature {margin-bottom:0;}
.catalog-feature img {width:100%;height:155px;object-fit:cover;border-radius:5px;background:#f3f7f8;}
.catalog-feature-product img {object-fit:contain;padding:10px;}
.catalog-feature h3 {font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em;color:#163340;margin:0 0 9px;}
.catalog-feature p {font-size:18px;line-height:1.5;color:#52616b;margin:0 0 14px;}
.catalog-feature span {display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:550;line-height:1.4;color:#007e91;}
.catalog-feature span svg {width:16px;height:16px;transition:transform .2s;}
.catalog-feature:hover span svg {transform:translateX(4px);}
.catalog-feature:hover h3 {color:#007e91;}
.catalog-menu :is(a,button):focus-visible {outline:2px solid #009fb5;outline-offset:4px;border-radius:3px;}
.catalog-menu :is(.catalog-detail,.catalog-columns,.catalog-features,.navigation-section) {scrollbar-width:thin;scrollbar-color:#b9cbd3 transparent;}
@media(min-width:1536px) {
 .catalog-header:has(.catalog-menu:not([hidden])) {--nav-ink:#172b3a;background:#fff;}
 .catalog-header:has(.catalog-menu:not([hidden])) .brand img {filter:none;}
 .catalog-intro h2,.catalog-intro img,.catalog-rail h2 {display:none;}
 .catalog-intro p {font-size:20px;line-height:1.5;margin-top:0;color:#203d4b;}
 .catalog-heading {display:block;}
 .catalog-heading h2 {font-size:21px;max-width:none;}
 .catalog-heading .catalog-overview {font-size:18px;margin-top:12px;}
 .catalog-overview {font-size:18px;font-weight:500;border:1px solid #b9cbd3;border-radius:999px;padding:7px 14px;color:#173c4e;}
 .catalog-overview:hover {background:#edf7f9;border-color:#009eb6;}
 .navigation-section:not(#nav-products) {grid-template-columns:19% 46% 35%;}
 .catalog-rail {padding-left:calc(3vw - 12px);padding-right:22px;}
}
@media(min-width:1536px) and (max-width:1700px) {
 .catalog-features {padding-left:24px;padding-right:24px;}
 .catalog-feature {grid-template-columns:40% minmax(0,1fr);gap:18px;}
 .catalog-feature img {height:145px;}
 .catalog-detail,.navigation-section > .catalog-columns {padding-left:24px;padding-right:24px;}
}
@media(max-width:1535px) {
 .catalog-header:has(.catalog-menu:not([hidden])) .main-nav.open {visibility:hidden;}
 .catalog-features {padding:28px 24px;border-left:0;border-top:1px solid #e6ecef;overflow:visible;}
 .catalog-features > div:not([hidden]) {grid-template-columns:repeat(2,minmax(0,1fr));}
 .catalog-menu[data-mobile-level="categories"] #nav-products .catalog-features {display:none;}
 .catalog-feature {max-width:600px;}
}
@media(max-width:600px) {
 .catalog-features > div:not([hidden]) {grid-template-columns:1fr;}
 .catalog-feature {grid-template-columns:110px minmax(0,1fr);gap:18px;}
 .catalog-feature img {height:125px;}
 .catalog-feature h3 {font-size:18px;}
 .catalog-feature p {font-size:18px;}
 .catalog-feature span {font-size:18px;}
}

/* Desktop category columns remain in place; mobile uses one level at a time. */
:is(#nav-products,#nav-technologies) {grid-template-columns:minmax(0,60%) minmax(0,40%);height:min(470px,calc(100dvh - var(--header) - 88px));}
.product-browser {display:grid;grid-template-columns:32% 33% 35%;padding:0 24px 30px 3vw;overflow:hidden;min-height:0;align-items:stretch;}
.product-step {min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9cbd3 transparent;padding:0 18px 12px;}
:is(#nav-products,#nav-technologies) .catalog-rail {grid-column:1;grid-row:1;padding:0 20px 0 0;position:static;min-height:0;height:auto;border:0;}
.product-browser .family-panel {grid-column:2;grid-row:1;border-left:1px solid #edf1f3;}
.product-browser .product-group-step {grid-column:3;grid-row:1;border-left:1px solid #edf1f3;}
.product-menu-list {display:flex;flex-direction:column;gap:0;}
.product-menu-item {display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:7px 0;color:#173c4e;font-size:18px;font-weight:500;line-height:1.5;}
.product-menu-item .nav-svg {width:15px;height:15px;color:#008b9e;}
.product-menu-item:hover,.product-menu-item[aria-expanded="true"] {color:#007e91;}
.product-menu-item:hover span,.product-menu-item[aria-expanded="true"] span {text-decoration:underline;text-underline-offset:4px;}
.product-menu-item:focus-visible {outline-offset:-1px;}
:is(#nav-products,#nav-technologies) .catalog-overview {margin-top:24px;}
:is(#nav-products,#nav-technologies) .catalog-features {padding:0 3vw 32px 26px;}
:is(#nav-products,#nav-technologies) .catalog-feature {grid-template-columns:42% minmax(0,1fr);gap:28px;}
:is(#nav-products,#nav-technologies) .catalog-feature img {height:160px;border-radius:4px;}
.product-return,.product-step-title {display:none;}
.product-all {display:inline-block;font-size:18px;color:#007e91;text-decoration:underline;text-underline-offset:4px;margin-top:20px;}
.product-step:not([hidden]) {animation:product-step-in .16s ease-out;}
@keyframes product-step-in {from {opacity:.3;} to {opacity:1;}}
@media(max-width:1535px) {
 :is(#nav-products,#nav-technologies) {height:calc(100dvh - var(--header) - 62px);}
 .product-browser {display:block;padding:20px 24px 36px;overflow:visible;}
 .product-step {padding:0;overflow:visible;}
 .product-browser .family-panel,.product-browser .product-group-step {border:0;}
 .product-menu-item {font-size:19px;padding:15px 0;min-height:52px;}
 :is(#nav-products,#nav-technologies) .catalog-features {display:none;}
 :is(#nav-products,#nav-technologies) .catalog-rail {display:block;}
 .product-step-title {display:block;font-size:25px!important;margin-bottom:16px;}
 .product-all {margin-top:24px;}
}
@media(prefers-reduced-motion:reduce) {.product-step:not([hidden]) {animation:none;}}
/* Short corporate and news lists stay directly beneath their own heading. */
.catalog-simple {padding:12px;}
.catalog-simple ul {list-style:none;margin:0;padding:0;}
.catalog-simple a {display:block;padding:13px 16px;font-size:18px;line-height:1.45;color:#173c4e;border-radius:5px;}
.catalog-simple a:hover,.catalog-simple a:focus-visible {background:#edf6f8;color:#007e91;}
.navigation-section.navigation-simple {display:block;height:auto;max-height:calc(100dvh - var(--header) - 62px);}
@media(min-width:1536px) {
 .catalog-header .catalog-menu[data-layout="compact"] {left:var(--dropdown-left);right:auto;width:300px;top:calc(var(--header) - 1px);border:1px solid #e3eaee;border-radius:0 0 10px 10px;box-shadow:0 14px 32px #0619231a;}
 .catalog-menu[data-layout="compact"] .catalog-toolbar {display:none;}
 .catalog-menu[data-layout="compact"] .navigation-simple {height:auto;max-height:calc(100dvh - var(--header) - 24px);}
}
@media(max-width:1535px) {.catalog-simple {padding:0 12px 24px;}.catalog-simple a {font-size:19px;padding:18px 12px;}}

@media(min-width:1536px) {
 .navigation-section#nav-technologies {grid-template-columns:60% 40%;}
 .technology-browser {grid-template-columns:40% 60%;}
 .technology-browser .family-panel {padding-left:30px;}
}
/* Every category stays in the menu; longer columns scroll independently. */
.product-step {max-height: min(390px,calc(100dvh - var(--header) - 115px)); overflow-y:auto; overflow-x:hidden; scrollbar-gutter:stable; scrollbar-color:#829eaa #f1f5f6;}
.product-step::-webkit-scrollbar {width:6px;}
.product-step::-webkit-scrollbar-track {background:#f1f5f6; border-radius:6px;}
.product-step::-webkit-scrollbar-thumb {background:#829eaa; border-radius:6px;}
@media(max-width:1535px) {
 .product-step {max-height:calc(100dvh - var(--header) - 140px); padding-right:12px; overflow-y:auto; overscroll-behavior:contain;}
 .product-return {position:sticky;top:0;background:white;z-index:1;}
}

/* Shared navigation accents follow Altium's logo red on every page. */
.catalog-header .main-nav .nav-link:is(:hover,:focus-visible,[aria-expanded="true"]) {color:var(--altium-red);}
.catalog-header .main-nav .nav-link:is(:hover,:focus-visible):after {transform:scaleX(1);}
.catalog-header .product-menu-item:is(:hover,:focus-visible,[aria-expanded="true"]),
.catalog-header .catalog-group a:is(:hover,:focus-visible),
.catalog-header .catalog-feature span,
.catalog-header .catalog-feature:hover h3,
.catalog-header .product-all,
.catalog-header .product-menu-item .nav-svg {color:var(--altium-red);}
.catalog-header .catalog-rail [aria-selected="true"] {background:var(--altium-red-soft);border-left-color:var(--altium-red);color:var(--altium-red);}
.catalog-header .catalog-rail [role="tab"]:hover,
.catalog-header .catalog-simple a:is(:hover,:focus-visible) {background:var(--altium-red-soft);color:var(--altium-red);}
.catalog-header .catalog-menu :is(a,button):focus-visible {outline-color:var(--altium-red);}
.catalog-header :is(.catalog-back,.catalog-close):hover {color:var(--altium-red);}

/* Product discovery, local inquiry flow and shared editorial components. */
.platform-icon{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.platform-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:17px 24px;background:#102f3d;color:white;border-radius:12px;font-size:18px;font-weight:550;border:1px solid transparent;transition:background .2s}
.platform-button:hover{background:#215264}.dialog-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dialog-heading h2{font-size:32px;line-height:1.2;letter-spacing:-.03em}.dialog-heading .icon-button{flex-shrink:0}
.filter-chips{display:flex;flex-wrap:wrap;gap:10px}.filter-chips button{display:inline-flex;align-items:center;gap:12px;border:1px solid #dbe4e8;border-radius:99px;padding:11px 18px;font-size:18px;color:#324d59;background:#fff;transition:background .2s,color .2s}.filter-chips button[aria-pressed=true]{background:#102f3d;color:white;border-color:#102f3d}.filter-chips button span{opacity:.7}.filter-chips button:hover{border-color:#7194a3}
#search-dialog.live-search{width:min(1060px,calc(100% - 32px));max-width:none;max-height:90dvh;padding:32px;border:0;border-radius:20px;background:#f8fafb}.live-search .search-field{margin:26px 0 20px;border:1px solid #d7e2e7;border-radius:12px;background:white;padding:16px 20px;gap:14px}.live-search #search-input{font-size:22px;min-width:0;width:100%;border:0;background:transparent;padding:0}.live-search #search-status{font-size:18px;color:#546b75;margin:20px 0}.live-search .search-results{max-height:52dvh;overflow:auto}.live-search .search-group{margin:0 0 28px}.live-search .search-group h3{display:flex;gap:12px;font-size:19px;margin:0 0 12px}.search-group h3 span{font-weight:400;color:#607782}.live-search .live-result{display:flex;align-items:center;border:1px solid #e2e9ed;background:white;border-radius:10px;margin:8px 0;overflow:hidden}.live-search .live-result a{display:flex;align-items:center;gap:16px;flex:1;min-width:0;padding:15px 18px;border:0;font-size:18px}.live-result a>span{display:grid;gap:5px;min-width:0;flex:1}.live-result strong{font-size:18px;font-weight:550}.live-result a>span>span{font-size:18px;color:#617681}.live-search .live-result img{height:50px;width:64px;object-fit:contain;flex-shrink:0}.live-result:hover{border-color:#8cafbb}.more-results{display:flex;gap:12px;align-items:center;margin-top:12px;color:#086b80;font-size:18px}.search-empty{padding:36px 0}.search-empty p{margin:16px 0 24px}@keyframes drawer-open{from{transform:translateX(100%)}to{transform:translateX(0)}}
.bento-section{background:#f4f6f8;color:#102d3b;padding:100px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;max-width:1660px;margin:0 auto 48px}.section-heading h2{font-size:clamp(36px,3.6vw,64px);line-height:1.12;letter-spacing:-.035em}.section-heading p{font-size:21px;line-height:1.5;color:#607480}.section-heading a{display:flex;align-items:center;gap:16px;font-size:18px}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;max-width:1660px;margin:auto}.bento-card{position:relative;isolation:isolate;min-height:340px;overflow:hidden;border-radius:22px;padding:34px;display:flex;align-items:flex-end;color:#fff;grid-column:span 5;background:#102f3d}.bento-analysis,.bento-kits{grid-column:span 7}.bento-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}.bento-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061923c9,transparent 85%);z-index:-1}.bento-card h3{font-size:clamp(26px,2vw,36px);line-height:1.18;letter-spacing:-.025em;max-width:90%;margin:0}.bento-card p{font-size:18px;margin-top:12px;line-height:1.4;color:#ffffffd6}.bento-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:99px;border:1px solid #ffffff66;position:absolute;top:24px;right:24px}.bento-card:hover>img{transform:scale(1.025)}.bento-analysis{background:#e6edf0;color:#102f3d}.bento-analysis>img{inset:10% 0 auto auto;object-fit:contain;width:60%;height:95%}.bento-analysis::after{background:linear-gradient(90deg,#e6edf0 5%,#e6edf0d9 37%,transparent 75%)}.bento-analysis>div{max-width:58%}.bento-analysis p{color:#45636f}.bento-analysis .bento-arrow{border-color:#92aab5}.bento-research img{object-position:50% 38%}.bento-kits img{object-position:50% 45%}
.home-brands{background:#fff;color:#102f3d;padding:100px 5%;position:relative;z-index:3}.home-brands .brand-directory{grid-template-columns:repeat(6,minmax(0,1fr));max-height:650px;overflow:auto;padding:1px 8px 1px 1px;overscroll-behavior:contain}.brand-filters{margin:28px 0 18px}.brand-directory .brand-card{border:1px solid #e2e8ec;border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}.brand-directory .brand-card:hover{border-color:#7b9daa;box-shadow:0 8px 30px #1638450a}.brand-card h3{font-size:18px;font-weight:500;line-height:1.4}.home-brands .brand-card>div{height:100px}.home-brands .brand-card{min-height:190px;padding:20px}.home-brands .brand-card>svg{display:none}.result-count{font-size:18px;color:#637b86;margin-bottom:22px}.directory-search input{border-radius:10px}.document-toolbar{display:grid;grid-template-columns:1fr 250px 190px;gap:24px;align-items:end;margin-bottom:24px}.document-toolbar .directory-search{margin:0}.document-toolbar label{display:grid;gap:12px;font-size:18px}.document-toolbar select,.world-country-select select{border:1px solid #d7e2e8;border-radius:10px;padding:15px;font:inherit;color:inherit;background:#fff}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}.document-card{border:1px solid #e1e8ed;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.document-photo{display:block;aspect-ratio:1.85;overflow:hidden}.document-photo img{width:100%;height:100%;object-fit:cover}.document-body{padding:26px;display:flex;flex-direction:column;flex:1}.document-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:18px;color:#507180}.document-meta span:last-child{background:#edf5f7;border-radius:6px;padding:3px 8px;color:#17687b}.document-card h2{font-size:24px;line-height:1.35;letter-spacing:-.02em;margin:22px 0}.document-body>p{color:#647d87;font-size:18px;margin:auto 0 22px}.document-download{border-top:1px solid #e0e7ec;padding-top:19px;display:flex;align-items:center;gap:12px;font-size:18px;color:#104957}.document-download span{margin-left:auto;font-size:18px}.document-source-note{font-size:18px;color:#647d87;margin-top:30px}
.inquiry-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px;margin-bottom:100px;scroll-margin-top:130px}.inquiry-copy h2{font-size:42px;line-height:1.15;letter-spacing:-.035em}.inquiry-copy>p{font-size:20px;color:#647983;line-height:1.55;margin:25px 0 30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:grid;gap:10px;font-size:18px}.form-grid input,.form-grid textarea{border:1px solid #cddbe1;background:#f9fbfc;border-radius:10px;padding:14px 16px;min-width:0;width:100%;font:inherit;line-height:1.5;resize:vertical}.form-grid textarea[readonly]{color:#536d78;background:#f0f4f6}.field-full{grid-column:1/-1}.inquiry-section form>.platform-button{margin-top:26px}.form-note{font-size:18px;color:#667e87;line-height:1.5;margin-top:15px}.inquiry-copy .text-link{display:flex;align-items:center;gap:15px;font-size:18px}#inquiry-preview{background:#eff6f8;border:1px solid #c7dfe7;border-radius:12px;padding:24px;margin-top:28px}#inquiry-preview h3{font-size:23px}#inquiry-preview p{font-size:18px;line-height:1.6;margin-top:12px}#inquiry-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;margin-top:20px}
.platform-footer{background:#061923;color:#fff;padding:0 5% 30px}.global-footprint{display:grid;grid-template-columns:.8fr 1.3fr;gap:60px;align-items:center;padding:85px 0 55px;border-bottom:1px solid #ffffff25}.world-copy>p:first-child{font-size:18px;letter-spacing:.15em;color:#63cbdc}.world-copy h2{font-size:clamp(36px,3.2vw,56px);line-height:1.15;letter-spacing:-.035em;margin:20px 0}.world-copy p{font-size:19px;color:#a7bdc8}.world-copy a{display:flex;align-items:center;gap:16px;font-size:18px;margin-top:32px}.world-visual{position:relative}.world-visual>img{width:100%;height:auto}.world-country-select{display:flex;justify-content:space-between;align-items:center;gap:20px}.world-country-select select{font-size:18px;background:#102c3a;color:#fff;border-color:#345260;max-width:72%}.world-country-select>span{font-size:18px;color:#63cbdc}.platform-footer .footer-top{padding-top:45px}.platform-footer .footer-top img{filter:brightness(0) invert(1)}.platform-footer .footer-top a{color:#fff}.platform-footer .footer-links{color:#bdd0d9}.platform-footer .footer-bottom{color:#92acba;border-color:#ffffff20}.platform-footer .footer-links a,.platform-footer .footer-bottom a{font-size:18px}.platform-footer .footer-bottom p{font-size:18px}
@media(max-width:1100px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-brands .brand-directory{grid-template-columns:repeat(4,minmax(0,1fr))}.inquiry-section{gap:35px}.global-footprint{gap:25px}.document-toolbar{grid-template-columns:1fr 1fr}.document-toolbar .directory-search{grid-column:1/-1}}
@media(max-width:700px){.bento-section,.home-brands{padding:65px 22px}.section-heading{display:block;margin-bottom:30px}.section-heading p,.section-heading>a{margin-top:22px}.bento-grid{gap:16px;grid-template-columns:1fr}.bento-card,.bento-analysis,.bento-kits{grid-column:auto;min-height:300px;padding:26px}.bento-card h3{font-size:29px}.home-brands .brand-directory{grid-template-columns:repeat(2,minmax(0,1fr));max-height:660px;gap:14px}.home-brands .brand-card{padding:15px}.filter-chips{gap:8px}.filter-chips button{padding:10px 14px}.document-grid{grid-template-columns:1fr}.document-body{padding:24px}.document-toolbar{gap:15px}.inquiry-section{grid-template-columns:1fr;gap:35px}.inquiry-copy h2{font-size:36px}.form-grid{grid-template-columns:1fr;gap:20px}.global-footprint{grid-template-columns:1fr;gap:30px;padding-top:55px}.platform-footer{padding:0 22px 25px}.world-country-select>span{display:none}.world-country-select select{max-width:100%;width:100%}#search-dialog.live-search{padding:22px;width:calc(100% - 18px);max-height:94dvh;border-radius:14px}.dialog-heading h2{font-size:26px}.live-search #search-input{font-size:18px}.live-search .live-result a{padding:14px 10px;gap:10px}.live-search .live-result img{width:40px;height:40px}.live-result a>svg:last-child{display:none}.live-search .search-field{padding:14px}.live-search .search-results{max-height:50dvh}}
@media(prefers-reduced-motion:reduce){.bento-card>img{transition:none}}

/* The newly added home sections close the editorial sequence. */
.local-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding:130px 5vw 24px;font-size:18px;color:#4e626c}.local-breadcrumb a{color:#007f95}.local-heading{padding:40px 5vw 55px;background:#f4f6f8}.local-heading h1{font-size:clamp(34px,4.3vw,68px);max-width:1150px;line-height:1.13;margin:0 0 22px;overflow-wrap:anywhere}.local-product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6vw;padding:30px 5vw 80px;align-items:start}.local-product-visual{background:#f4f6f8;border-radius:24px;position:sticky;top:120px;display:grid;place-items:center;min-height:460px;padding:42px}.local-product-visual img{width:100%;height:430px;object-fit:contain;mix-blend-mode:multiply}.local-product-hero h1{font-size:clamp(34px,3.4vw,58px);line-height:1.12;margin:15px 0 25px;overflow-wrap:anywhere}.local-brand{color:#007f95;font-weight:600}.source-prose{font-size:18px;line-height:1.75;color:#263b45;overflow-wrap:anywhere}.source-prose p{margin:0 0 20px}.source-prose h2{font-size:32px;margin:42px 0 22px;line-height:1.25}.source-prose h3{font-size:24px;margin:30px 0 18px}.source-prose a{color:#007f95;text-decoration:underline;text-underline-offset:4px}.source-prose ul,.source-prose ol{padding-left:25px;margin:20px 0}.source-prose li{margin:8px 0}.source-prose img{max-width:100%;height:auto;display:block;margin:28px auto;border-radius:12px}.source-prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;margin:25px 0;font-size:18px}.source-prose td,.source-prose th{padding:16px;border:1px solid #dce4e7;text-align:left;min-width:110px}.source-prose th{background:#f4f6f8}.source-prose:empty{display:none}.local-product-details,.imported-article{max-width:1100px;margin:0 auto;padding:35px 40px 80px}.imported-article>div>h2:first-child{display:none}.directory-intro{max-width:1150px;margin:auto;padding:35px 5vw}.directory-intro img{max-width:240px;max-height:130px;object-fit:contain}.local-subcategories{display:flex;flex-wrap:wrap;gap:12px;padding:20px 5vw 45px}.local-subcategories a{padding:13px 20px;border:1px solid #dce4e7;border-radius:30px;font-size:18px}.local-subcategories a:hover{background:#e8f8fb}.local-related{padding:45px 5vw 80px}.local-related>h2{font-size:38px;margin-bottom:35px}.local-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.local-product-card{border:1px solid #e0e7e9;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;min-width:0;background:#fff}.local-product-card>a{display:flex;flex-direction:column;gap:16px;flex:1}.local-product-card img{width:100%;height:230px;object-fit:contain;transition:transform .4s}.local-product-card:hover img{transform:scale(1.04)}.local-product-card span{font-size:18px;color:#55707a}.local-product-card h3{font-size:23px;line-height:1.35;overflow-wrap:anywhere}.local-product-card button{justify-content:space-between;text-align:left;font-size:18px;border-top:1px solid #e0e7e9;padding-top:18px}.product-gallery{display:flex;gap:25px;overflow:auto;padding:30px 5vw}.product-gallery img{max-width:80%;height:350px;object-fit:contain}.product-description{max-height:none;margin-bottom:30px}.global-countries{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.global-countries div{border-top:1px solid #dce4e7;padding:20px 0}.catalog-toolbar-local{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-bottom:30px}.catalog-toolbar-local input{padding:15px 20px;border:1px solid #cbd6db;border-radius:8px;min-width:min(400px,100%);font:inherit}.catalog-more{display:block;margin:35px auto}
@media(max-width:1000px){.local-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-product-hero{gap:30px}.local-product-visual{padding:20px;min-height:300px}.local-product-visual img{height:300px}}
@media(max-width:700px){.local-breadcrumb{padding:100px 24px 20px}.local-product-hero{grid-template-columns:1fr;padding:20px 24px 45px}.local-product-visual{position:static}.local-product-grid{grid-template-columns:1fr}.local-heading{padding:30px 24px}.local-product-details,.imported-article{padding:25px 24px 50px}.local-related{padding:35px 24px}.global-countries{grid-template-columns:1fr 1fr}.source-prose{font-size:18px}.source-prose h2{font-size:27px}.local-product-card img{height:240px}}

.local-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.local-editorial-card{border:1px solid #dce4e7;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:#fff}.local-editorial-card>img,.editorial-symbol{width:100%;height:230px;object-fit:cover;background:#f4f6f8}.editorial-symbol{display:grid;place-items:center;color:#007f95}.local-editorial-card h2{font-size:26px;line-height:1.3;padding:25px 25px 15px;flex:1}.local-editorial-card>span{display:flex;align-items:center;justify-content:space-between;padding:10px 25px 28px;font-size:18px}.local-editorial-card svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.local-editorial-card:hover{border-color:#00b8d9}.imported-article img{max-height:none}.source-prose img[alt="Background Image"]{max-height:350px;object-fit:contain}.product-description [id^="livewire"]{display:none}
@media(max-width:1050px){.local-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.local-editorial-grid{grid-template-columns:1fr}.local-editorial-card h2{font-size:24px}}

/* Coherent photographic category windows, with integrated copy and navigation. */
.bento-grid{gap:20px}.bento-card{min-height:420px;border-radius:16px;padding:38px;isolation:isolate;align-items:flex-end}.bento-card>img,.bento-analysis>img{inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.bento-card::after,.bento-analysis::after{z-index:1;background:linear-gradient(0deg,rgba(4,21,31,.94),rgba(4,21,31,.22) 70%,rgba(4,21,31,.05))}.bento-card>div{position:relative;z-index:2;max-width:90%}.bento-card .bento-arrow{z-index:2;top:30px;right:30px;background:rgba(6,25,35,.22);backdrop-filter:blur(8px);border-color:#ffffff80;width:48px;height:48px;color:white}.bento-analysis{background:#102f3d;color:white}.bento-card h3{font-size:clamp(29px,2.6vw,44px);max-width:90%;letter-spacing:-.025em}.bento-card p,.bento-analysis p{color:#d1dee5;font-size:19px;margin-top:16px}.bento-analysis img{object-position:65% center}.bento-research img{object-position:50% 40%}.bento-kits img{object-position:45% 50%}.bento-card:hover>img{transform:scale(1.04)}
.catalog-header.over-film .nav-actions .global-link{background:#f4f9fa;color:#163340}.catalog-header.over-film .nav-actions .global-link:hover{background:#fff}
@media(max-width:700px){.bento-card{min-height:360px;padding:28px}.bento-card h3{font-size:32px}.bento-card p{font-size:18px}.bento-card .bento-arrow{top:23px;right:23px}.bento-grid{gap:18px}}
/* Country selection has a geographic result and an accompanying local profile. */
.global-footprint{grid-template-columns:minmax(280px,.8fr) minmax(0,1.65fr);gap:5vw;padding:90px 0 75px;align-items:center}.world-copy>p:first-child{font-size:18px;letter-spacing:.16em}.world-copy h2{font-size:clamp(38px,3.1vw,58px);line-height:1.13;margin:25px 0}.world-copy>p{font-size:19px;line-height:1.6;color:#9bb9c5}.world-controls{margin-top:30px}.world-controls label{display:block;font-size:18px;color:#d5e5eb;margin-bottom:12px}.world-controls select{width:100%;max-width:390px;padding:15px 18px;border:1px solid #43606d;background:#12303e;color:white;border-radius:10px;font:inherit;cursor:pointer}.country-profile{border-top:1px solid #284651;margin-top:25px;padding-top:23px;max-width:390px;min-height:195px}.country-profile>#map-country-region{color:#6ccbd8;font-size:18px;margin:0 0 8px}.country-profile h3{font-size:29px;margin:0 0 13px}.country-profile>#map-country-description{font-size:18px;line-height:1.6;color:#a5c0cb;min-height:80px;margin:0 0 14px}.country-profile a{font-size:18px;display:inline-flex;align-items:center;gap:20px}.world-visual{min-width:0;position:relative;background:radial-gradient(ellipse at 65% 45%,#11364270,transparent 65%)}.world-map-canvas{aspect-ratio:1.9;overflow:hidden;border-radius:18px;border:1px solid #23424e;background:#081f2b}.world-map-canvas>img,.world-map-canvas>svg{width:100%;height:100%;display:block}.interactive-world-map path{transition:fill .35s,stroke .35s}.interactive-world-map [role=button]{cursor:pointer}.interactive-world-map [role=button]:hover{fill:#82d6e0}.interactive-world-map .selected-country{fill:#b8f4ff;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.interactive-world-map path:focus-visible{outline:none;fill:#fff;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;color:#9bb9c5;font-size:18px}.map-caption>span{display:flex;align-items:center;gap:9px}.map-caption i{width:8px;height:8px;background:#4fa5b0;border-radius:50%}
@media(max-width:850px){.global-footprint{grid-template-columns:1fr;padding:65px 0 45px;gap:35px}.world-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.world-copy>p:first-child,.world-copy>h2{grid-column:1/-1}.world-controls{margin-top:0}.country-profile{grid-column:1/-1;max-width:none;min-height:0}.country-profile>#map-country-description{min-height:0}.world-map-canvas{aspect-ratio:1.6}}@media(max-width:500px){.world-copy{display:block}.world-controls{margin-top:25px}.world-controls select{max-width:none}.world-map-canvas{aspect-ratio:1.5}.map-caption{font-size:18px}}
.country-picker{position:relative;max-width:390px;z-index:8}.world-controls>label{cursor:default}.country-picker-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 21px;border:1px solid #43606d;background:#12303e;color:#fff;border-radius:10px;text-align:left;font:inherit;cursor:pointer}.country-picker-button>svg{transform:rotate(90deg);flex:0 0 20px;width:20px;height:20px;transition:transform .2s}.country-picker-button[aria-expanded=true]>svg{transform:rotate(-90deg)}.country-picker-button:focus-visible{outline:2px solid #67d5e5;outline-offset:3px}.country-picker-options{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:248px;overflow-y:auto;overscroll-behavior:contain;padding:7px;border:1px solid #43606d;border-radius:12px;background:#102a37;box-shadow:0 18px 45px #0006;scrollbar-width:thin;scrollbar-color:#58828f #102a37;z-index:30}.country-picker-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:44px;padding:11px 13px;text-align:left;border-radius:7px;color:#dbe9ee;font-size:18px;line-height:1.35}.country-picker-options button>svg{opacity:0;flex:0 0 18px}.country-picker-options button[aria-selected=true]{background:#1d4858;color:#fff}.country-picker-options button[aria-selected=true]>svg{opacity:1}.country-picker-options button:hover,.country-picker-options button:focus-visible{background:#285361;color:white;outline:none}.country-picker-options::-webkit-scrollbar{width:7px}.country-picker-options::-webkit-scrollbar-thumb{background:#58828f;border:2px solid #102a37;border-radius:10px}.country-picker-options::-webkit-scrollbar-track{background:#102a37}.world-controls{position:relative;z-index:4}@media(max-width:500px){.country-picker{max-width:none}.country-picker-options{max-height:220px}}
.local-faq{padding:30px 0 50px}.local-faq h2{margin-bottom:30px}.local-faq details{border-top:1px solid #dce4e7;padding:22px 0}.local-faq summary{font-size:21px;font-weight:550;cursor:pointer;line-height:1.5}.local-faq p{padding-top:18px;color:#48606b}

/* Home editorial map is separate from the shared footer. */
.home-world {background:#061923;color:#fff;padding:0 5vw;}
.home-world .global-footprint {max-width:1680px;margin:0 auto;border-bottom:0;}
.altium-footer {background:#040c11;color:#f4f7f8;padding:0;position:relative;}
.altium-footer-main {display:grid;grid-template-columns:1.2fr .9fr 1.35fr 1.6fr .85fr;gap:clamp(28px,3.4vw,66px);max-width:1680px;margin:0 auto;padding:86px 0 80px;width:90%;align-items:start;}
.altium-footer-brand img {width:190px;height:auto;filter:brightness(0) invert(1);}
.altium-footer-rule {display:block;width:48px;height:2px;background:#00b8d9;margin:25px 0 20px;}
.altium-footer-brand p {font-size:18px;line-height:1.65;color:#a4b4bd;margin:0;}
.altium-footer h2 {font-size:18px;font-weight:600;letter-spacing:.06em;line-height:1.4;color:#a1b4be;margin:0 0 28px;}
.altium-footer-nav {display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.altium-footer-nav h2 {margin-bottom:14px;}
.altium-footer-nav a {font-size:18px;line-height:1.55;font-weight:500;}
.altium-footer a {transition:color .2s,border-color .2s,background .2s;}
.altium-footer a:hover {color:#63d7e8;}
.altium-footer a:focus-visible {outline:2px solid #63d7e8;outline-offset:5px;border-radius:3px;}
.altium-footer-contact>a {display:flex;align-items:center;gap:15px;color:#b5c3cb;font-size:18px;line-height:1.65;margin-bottom:18px;}
.footer-contact-icon {width:40px;height:40px;border:1px solid #314049;display:grid;place-items:center;border-radius:50%;flex-shrink:0;}
.altium-footer svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.altium-social-links {display:flex;flex-wrap:wrap;gap:9px;}
.altium-social-links a {width:42px;height:42px;display:grid;place-items:center;border:1px solid #314049;border-radius:50%;}
.altium-social-links a:hover {background:#00b8d9;color:#061923;border-color:#00b8d9;}
.altium-global-footer {display:inline-flex;align-items:center;gap:12px;font-size:18px;margin-top:25px;color:#b5c3cb;}
.altium-footer-bottom {border-top:1px solid #ffffff20;}
.altium-footer-bottom-inner {width:90%;max-width:1680px;margin:0 auto;min-height:90px;display:flex;align-items:center;gap:30px;color:#98abb5;font-size:18px;}
.altium-footer-bottom-inner p {margin:0;line-height:1.55;}
.altium-footer-bottom-inner>a {margin-left:auto;}
.altium-footer .agency-signature {width:120px;height:30px;flex-shrink:0;perspective:200px;color:#fff;margin-left:auto;}
.agency-card {display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;}
.altium-footer .agency-card svg {position:absolute;right:0;top:0;stroke:none;fill:currentColor;backface-visibility:hidden;transition:transform .4s ease;}
.altium-footer .agency-front {width:64px;height:29px;}
.altium-footer .agency-back {width:120px;height:30px;transform:rotateY(180deg);}
.agency-signature:hover .agency-front {transform:rotateY(180deg);}
.agency-signature:hover .agency-back {transform:rotateY(360deg);}
@media(max-width:1300px) {
 .altium-footer-main {grid-template-columns:1.1fr 1fr 1.4fr 1.6fr;gap:30px;}
 .altium-footer-social {grid-column:1;grid-row:2;}
 .altium-footer-nav,.altium-footer-contact {grid-row:1 / span 2;}
 .altium-footer-social h2 {margin-bottom:16px;}
}
@media(max-width:900px) {
 .altium-footer-main {grid-template-columns:1fr 1fr;gap:42px;padding:60px 0;}
 .altium-footer-brand {grid-column:1 / -1;}
 .altium-footer-nav,.altium-footer-contact,.altium-footer-social {grid-column:auto;grid-row:auto;}
 .altium-footer-bottom-inner {flex-wrap:wrap;padding:25px 0 35px;gap:20px;}
 .altium-footer-bottom-inner p {width:100%;}
 .altium-footer-bottom-inner>a {margin-left:0;}
 .altium-footer .agency-signature {margin-left:auto;}
}
@media(max-width:550px) {
 .altium-footer-main,.altium-footer-bottom-inner {width:calc(100% - 48px);}
 .altium-footer-main {column-gap:24px;row-gap:38px;}
 .altium-footer-brand img {width:170px;}
 .altium-footer-nav a {font-size:18px;}
 .altium-footer-contact,.altium-footer-social {grid-column:1 / -1;}
 .altium-footer-social {display:flex;align-items:center;flex-wrap:wrap;column-gap:20px;row-gap:18px;}
 .altium-footer-social h2 {margin:0;}
 .altium-global-footer {margin:0;}
 .altium-footer-bottom-inner {font-size:18px;padding-bottom:84px;}
 .altium-footer .agency-signature {width:80px;margin-left:auto;}
 .altium-footer .agency-back {width:80px;}
}
@media(prefers-reduced-motion:reduce) {.altium-footer .agency-card svg {transition:none;}}

@media(min-width:551px) {}
.home-brands .directory-search,.directory-section:has(.brand-directory) .directory-search {justify-content:flex-start;gap:24px;padding-bottom:22px;margin-bottom:24px;}
.home-brands .directory-search label,.directory-section:has(.brand-directory) .directory-search label {font-size:21px;flex:0 0 auto;}
.home-brands .directory-search input,.directory-section:has(.brand-directory) .directory-search input {font-size:18px;padding:13px 0;border-radius:0;border-bottom-color:#aebec5;transition:border-color .2s,box-shadow .2s;}
.home-brands .directory-search input:focus,.directory-section:has(.brand-directory) .directory-search input:focus {outline:none;border-bottom-color:#102f3d;box-shadow:0 1px 0 #102f3d;}
@media(max-width:600px) {
 .home-brands .directory-search,.directory-section:has(.brand-directory) .directory-search {display:flex;flex-direction:column;align-items:stretch;gap:8px;}
 .home-brands .directory-search input,.directory-section:has(.brand-directory) .directory-search input {width:100%;}
}
/* Inset, centered chevrons for the application filters. */
.document-toolbar label {min-width:0;}
.document-toolbar select {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  min-height:56px;
  padding:15px 48px 15px 18px;
  background-image:url("../icons/chevron-down.svg");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:18px 18px;
  cursor:pointer;
}
.document-toolbar select:focus-visible {outline:2px solid #617f8b;outline-offset:3px;}

/* Clear a country selection and return to the complete world map. */
.map-caption {flex-wrap:wrap;}
.map-caption .world-reset {display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;margin:0;padding:6px 0;flex-shrink:0;border:0;border-radius:0;background:transparent;color:#e7edef;font:400 18px/1.4 Inter,Arial,sans-serif;cursor:pointer;box-shadow:none;}
.map-caption .world-reset svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;}
.map-caption .world-reset:hover:not(:disabled) {color:#fff;text-decoration:underline;text-underline-offset:4px;}
.map-caption .world-reset:focus-visible {outline:2px solid #e7edef;outline-offset:4px;}
.map-caption .world-reset[hidden],.country-profile[hidden] {display:none;}
.world-reset:disabled {opacity:.45;cursor:default;}
.map-caption .world-reset:disabled:hover {background:transparent;}

/* Shared controls. Text actions have one geometry; icon controls are circular. */
:root {
  --altium-red:#d8443a;
  --altium-red-hover:#c4372e;
  --altium-red-soft:#fff3f1;
  --action-height:56px;
  --action-radius:999px;
  --action-font:18px;
  --action-padding:24px;
  --action-gap:14px;
  --action-bg:#102f3d;
  --action-ink:#fff;
  --action-border:#102f3d;
  --action-hover:#234e60;
}
:root :is(.button,.platform-button,.round-link,.product-detail-button,.catalog-overview,.ref-card,.document-download,.more-results,.film-copy .film-cta,.catalog-header .nav-actions .global-link) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-direction:row;
  gap:var(--action-gap);
  min-height:var(--action-height);
  height:var(--action-height);
  width:256px;
  max-width:100%;
  padding:0 var(--action-padding);
  border:1px solid var(--action-border);
  border-radius:var(--action-radius);
  background:var(--action-bg);
  color:var(--action-ink);
  font-family:Inter,Arial,sans-serif;
  font-size:var(--action-font);
  font-weight:500;
  line-height:1.25;
  letter-spacing:0;
  text-decoration:none;
  text-align:center;
  vertical-align:middle;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s;
}
:root :is(.button,.platform-button,.round-link,.product-detail-button,.catalog-overview,.ref-card,.document-download,.more-results,.film-copy .film-cta,.catalog-header .nav-actions .global-link):hover {
  background:var(--action-hover);
  border-color:var(--action-hover);
  color:var(--action-ink);
  transform:none;
  box-shadow:none;
}
:root :is(.button,.platform-button,.round-link,.product-detail-button,.catalog-overview,.ref-card,.document-download,.more-results,.film-copy .film-cta,.catalog-header .nav-actions .global-link):focus-visible {
  outline:2px solid #6d919e;
  outline-offset:4px;
}
:root :is(.button,.platform-button,.round-link,.product-detail-button,.catalog-overview,.ref-card,.document-download,.more-results,.film-cta) svg {
  width:20px;height:20px;flex:0 0 20px;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;
}
:root .film-copy .film-cta-icon,
:root .round-link > span,
:root .product-detail-button > span {
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 20px;width:20px;height:20px;min-width:0;
  padding:0;border:0;border-radius:0;background:transparent;color:inherit;
  transform:none;
}
:root .film-copy .film-cta:hover .film-cta-icon {background:transparent;}
.film-copy .film-cta,.catalog-header.over-film .global-link,.closing-scene .button {
  --action-bg:#fff;--action-ink:#102f3d;--action-border:#fff;--action-hover:#e4f1f3;
}
:root .ref-actions {display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;}
:root .ref-card {width:256px;flex:0 1 auto;}
:root .ref-card > span:not(.ref-card-icon) {display:flex;align-items:center;gap:var(--action-gap);}
:root .ref-card-icon {display:none;}
:root .ref-card svg {stroke:currentColor;}
:root .history-copy .ref-actions {justify-content:center;}
:root .history-copy .ref-card {width:auto;min-width:256px;white-space:nowrap;}
:root .document-download {align-self:flex-start;margin-top:20px;}
:root .document-download span {margin-left:0;font-size:18px;opacity:.8;}
:root :is(.filter-chips button,.filter-tabs button) {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  flex-shrink:0;min-height:var(--action-height);height:var(--action-height);
  padding:0 var(--action-padding);border:1px solid #cedce2;border-radius:var(--action-radius);
  background:#fff;color:#324d59;font:500 var(--action-font)/1.25 Inter,Arial,sans-serif;
  transition:background-color .2s,border-color .2s,color .2s;
}
:root :is(.filter-chips button[aria-pressed=true],.filter-tabs button.active) {background:#102f3d;color:white;border-color:#102f3d;}
:root :is(.filter-chips button,.filter-tabs button):hover {border-color:#587987;}
:root :is(.icon-button,.catalog-close,.circle-button,.application-buttons button,.reference-top,.film-scroll) {
  display:inline-grid;place-items:center;flex-shrink:0;
  width:48px;height:48px;min-width:48px;min-height:48px;
  padding:0;border-radius:50%;
}
:root :is(.icon-button,.catalog-close,.circle-button,.application-buttons button,.reference-top,.film-scroll) svg {width:22px;height:22px;}
:root .country-picker-button {min-height:var(--action-height);height:var(--action-height);padding:0 var(--action-padding);border-radius:var(--action-radius);font-size:var(--action-font);}
:root .document-toolbar select {min-height:var(--action-height);height:var(--action-height);border-radius:var(--action-radius);font-size:var(--action-font);}
:root :is(.button,.platform-button,.filter-chips button,.filter-tabs button,.icon-button,.circle-button,.application-buttons button):disabled {opacity:.4;cursor:default;}
@media(max-width:700px) {
  :root {--action-padding:18px;}
  :root .filter-tabs button {white-space:normal;max-width:min(300px,85vw);}
  :root .catalog-header .nav-actions .global-link {padding-inline:12px;}
  :root .ref-card {width:256px;max-width:100%;}
}
@media(max-width:359px) {
  :root .catalog-header .brand {width:88px;}
  :root .catalog-header .nav-inner {gap:5px;padding-inline:8px;}
  :root .catalog-header .nav-actions {gap:1px;}
  :root .catalog-header .nav-actions .global-link {padding-inline:9px;}
}
@media(prefers-reduced-motion:reduce) {
  :root :is(.button,.platform-button,.round-link,.ref-card,.film-cta,.filter-chips button,.filter-tabs button) {transition:none;}
}

:root .catalog-header .nav-actions .global-link {width:auto;}

/* The shared icon geometry must not expose the mobile menu on desktop. */
@media(min-width:1536px) {:root .catalog-header .mobile-toggle {display:none;}}

/* Match the previously redesigned product/category and technology pages to Altium red. */
.altium-red-theme {
 --action-bg:var(--altium-red);--action-border:var(--altium-red);
 --action-ink:#fff;--action-hover:var(--altium-red-hover);
}
.altium-red-theme .catalog-header .nav-actions .global-link {
 --action-bg:var(--altium-red);--action-border:var(--altium-red);
 --action-ink:#fff;--action-hover:var(--altium-red-hover);
}
.altium-red-theme .microarray-page .ma-cta,
.altium-red-theme .gc-page .gc-button {background:var(--altium-red);border-color:var(--altium-red);color:#fff;}
.altium-red-theme .microarray-page .ma-cta:hover,
.altium-red-theme .gc-page .gc-button:hover {background:var(--altium-red-hover);border-color:var(--altium-red-hover);color:#fff;}
.altium-red-theme .microarray-page .ma-row-link svg {color:var(--altium-red);border-color:var(--altium-red);}
.altium-red-theme .microarray-page .ma-product-row a:hover .ma-row-link svg {background:var(--altium-red);color:#fff;}
.altium-red-theme .ma-inline-link,
.altium-red-theme .ma-back,
.altium-red-theme .gc-variant {color:var(--altium-red);}
.altium-red-theme :is(.global-link,.ma-cta,.gc-button):focus-visible {outline:2px solid var(--altium-red);outline-offset:4px;}

/* Altium home: open scientific compositions inspired by the supplied MYDNA reference.
   Scoped to the homepage; shared navigation, catalog and controls retain their contracts. */
.home-editorial {--home-paper:#fbfcfc;--home-ink:#172b30;--home-muted:#647578;--home-accent:#447d83;--home-line:#dce5e5;background:var(--home-paper);}
.home-editorial .reference-home {background:var(--home-paper);color:var(--home-ink);overflow:clip;}
.home-editorial .catalog-header.over-film:not(:has(.mega-menu:not([hidden]))):not(:has(.main-nav.open)) {--nav-ink:#172b30;--nav-glass:#fbfcfccc;background:var(--nav-glass);border-bottom:1px solid #dce5e580;backdrop-filter:blur(20px);}
.home-editorial .catalog-header.over-film:not(:has(.mega-menu:not([hidden]))):not(:has(.main-nav.open)) .brand img {filter:none;}
.home-editorial .catalog-header.over-film .global-link {--action-bg:#172f36;--action-border:#172f36;--action-ink:#fff;--action-hover:#325963;}
.home-editorial .reference-home h2 {font-size:clamp(34px,3.5vw,62px);line-height:1.1;letter-spacing:-.045em;font-weight:500;}
.home-editorial .reference-home h2 em {font-style:normal;color:var(--home-accent);}
.home-editorial .reference-home p {font-size:18px;line-height:1.65;font-weight:400;}
.home-editorial .reference-home .eyebrow {display:flex;align-items:center;gap:10px;margin:0 0 28px;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:.12em;color:#52696c;text-transform:uppercase;}
.home-editorial .reference-home svg {fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.home-editorial .film-hero {height:auto;min-height:850px;display:block;padding:170px 8vw 0 15vw;background:radial-gradient(ellipse at 77% 42%,#eaf4f0aa,transparent 47%),var(--home-paper);isolation:isolate;}
.home-editorial .film-hero::after {display:none;}
.home-editorial .film-copy {position:relative;width:51%;max-width:none;margin:0;padding:30px 0 95px;z-index:2;animation:none;}
.home-editorial .film-copy h1 {font-size:clamp(52px,4.7vw,82px);font-weight:500;line-height:1.035;letter-spacing:-.055em;color:var(--home-ink);max-width:650px;}
.home-editorial .film-copy h1>span:first-child {color:var(--home-ink);}
.home-editorial .film-copy h1>span:last-child {color:var(--home-accent);}
.home-editorial .film-copy .film-subtitle {color:#5c6f73;font-size:18px;max-width:360px;margin:30px 0 0;line-height:1.7;}
.home-editorial .film-copy .film-cta {--action-bg:#172f36;--action-border:#172f36;--action-ink:#fff;--action-hover:#325963;margin-top:32px;}
.status-dot {width:6px;height:6px;border-radius:50%;background:#3d8b89;box-shadow:0 0 0 4px #dbebe5;}
.hero-index {position:absolute;left:4vw;top:350px;display:flex;flex-direction:column;gap:18px;z-index:3;border-left:1px solid #cddcdd;padding-left:17px;}
.hero-index a {color:#68797b;font-size:18px;line-height:1.5;transition:color .2s;}
.hero-index a:hover {color:#12383f;}
.hero-index a:first-child {color:#172b30;position:relative;}
.hero-index a:first-child::before {content:"";position:absolute;left:-21px;top:5px;width:7px;height:7px;border:1px solid #486d72;border-radius:50%;background:#fbfcfc;}
.molecule-scene {position:absolute;top:45px;right:-1vw;width:57%;height:830px;pointer-events:none;z-index:1;}
.molecule-scene canvas,.molecule-poster {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.molecule-scene canvas {opacity:0;transition:opacity .5s;}
.molecule-scene.is-ready canvas {opacity:1;}
.molecule-scene.is-ready .molecule-poster {opacity:0;}
.molecule-caption {position:absolute;right:15%;bottom:23%;font-size:18px;letter-spacing:.05em;color:#587276;display:flex;align-items:center;gap:7px;}
.molecule-caption i {width:5px;height:5px;border-radius:50%;background:#558f91;}
.home-editorial .film-scroll {bottom:192px;right:5.5vw;color:#294c54;border-color:#c6d7d7;background:#ffffff70;}
.hero-note {position:relative;z-index:2;margin-left:-9vw;margin-right:-2vw;padding:32px 38px;display:grid;grid-template-columns:70px 1.2fr 1fr;align-items:center;gap:25px;border:1px solid #dae5e5;border-bottom:0;border-radius:26px 26px 0 0;background:#ffffff9c;backdrop-filter:blur(18px);}
.note-number {align-self:start;font-size:56px;line-height:1;font-weight:400;letter-spacing:-.06em;}
.home-editorial .hero-note .eyebrow {margin-bottom:12px;font-size:18px;}
.home-editorial .hero-note h2 {font-size:24px;line-height:1.25;letter-spacing:-.025em;}
.home-editorial .hero-note>p {font-size:18px;line-height:1.7;color:var(--home-muted);max-width:320px;justify-self:end;}
.editorial-intro {padding:110px 6vw 0;background:var(--home-paper);}
.editorial-heading {max-width:1600px;margin:0 auto 48px;}
.heading-row {display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end;}
.heading-row>p {max-width:380px;color:var(--home-muted);}
.intro-facts {display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:25px;align-items:end;border-top:1px solid var(--home-line);padding:44px 0 54px;margin-top:54px;}
.intro-facts strong {display:block;font-size:clamp(48px,4.5vw,76px);line-height:1;font-weight:400;letter-spacing:-.06em;}
.intro-facts div>span {display:block;margin-top:16px;color:var(--home-muted);font-size:18px;}
.text-link {display:inline-flex;align-items:center;gap:24px;font-size:18px;justify-self:end;border-bottom:1px solid #aabec0;padding-bottom:10px;}
.editorial-film {height:560px;max-height:65vw;position:relative;overflow:hidden;border-radius:22px;background:#1a343e;margin:0;isolation:isolate;}
.home-editorial .editorial-film .film-video {inset:0;width:100%;height:100%;object-fit:cover;opacity:1;}
.editorial-film::after {content:"";position:absolute;inset:0;background:rgba(6,35,46,.62);pointer-events:none;}
.home-editorial .editorial-film figcaption {position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:white;text-align:center;text-shadow:0 2px 16px #061923b3;}
.editorial-film figcaption>span {font-size:18px;letter-spacing:.12em;}
.home-editorial .editorial-film figcaption p {font-size:clamp(30px,3.5vw,58px);letter-spacing:-.045em;line-height:1.1;margin:24px 0 38px;}
.editorial-film figcaption a {display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:18px;}
.film-footnote {position:absolute;z-index:1;bottom:26px;right:32px;font-size:18px;letter-spacing:.035em;color:#e1edef;}
.home-editorial .applications-band {padding:110px 0 75px;background:var(--home-paper);color:var(--home-ink);height:auto;margin:0;}
.home-editorial .applications-band>.editorial-heading {margin-inline:6vw;}
.home-editorial .applications-stage {position:relative;height:auto;padding:0;}
.home-editorial .application-track {display:flex;gap:28px;padding:0 6vw 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;}
.home-editorial .application-tile {flex:0 0 39%;max-width:none;scroll-snap-align:start;color:var(--home-ink);}
.home-editorial .application-image {position:relative;aspect-ratio:1.3;border-radius:20px;overflow:hidden;background:#e8efee;}
.home-editorial .application-tile img,.home-editorial .application-tile:first-child img {width:100%;height:100%;object-fit:cover;transform:none;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.home-editorial .application-tile:hover img {transform:scale(1.035);}
.tile-index {position:absolute;bottom:22px;left:25px;color:#fff;font-size:46px;line-height:1;letter-spacing:-.06em;z-index:1;text-shadow:0 1px 25px #10283170;}
.application-image::after {content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#09252b40);pointer-events:none;}
.home-editorial .application-tile h3 {font-size:22px;font-weight:500;letter-spacing:-.025em;margin-top:23px;}
.home-editorial .application-tile h3 svg {color:#557a80;width:21px;}
.home-editorial .application-tile>p {font-size:18px;color:var(--home-muted);margin-top:9px;}
.home-editorial .application-controls {margin:36px 6vw 0;}
.home-editorial .application-progress {background:#dce4e4;}
.home-editorial .application-progress span {background:#456d75;}
.home-editorial .application-buttons button {color:#29484e;border-color:#c9d9da;background:transparent;}
.home-editorial .application-buttons button:hover {background:#e9f1ef;}
.expertise-section {display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:75px 6vw 100px;background:#eff4f1;align-items:center;border-radius:36px 36px 0 0;}
.expertise-visual {position:relative;height:680px;overflow:hidden;border-radius:100px 20px 20px 20px;}
.expertise-visual img {height:100%;width:100%;object-fit:cover;object-position:center 33%;}
.image-caption {position:absolute;bottom:24px;left:24px;right:24px;padding:17px 20px;border-radius:40px;backdrop-filter:blur(20px);background:#ffffffb8;color:#203b40;letter-spacing:.06em;font-size:18px;text-align:center;}
.home-editorial .expertise-copy h2 {font-size:clamp(32px,3vw,52px);}
.expertise-copy>p:not(.eyebrow) {max-width:470px;color:var(--home-muted);margin-top:25px;}
.expertise-steps {list-style:none;margin:30px 0;padding:0;}
.expertise-steps li {display:flex;gap:22px;border-top:1px solid #ccdcda;padding:19px 0;}
.expertise-steps li>span {font-size:18px;color:#648085;line-height:25px;}
.expertise-steps h3 {font-size:18px;font-weight:500;}
.home-editorial .expertise-steps p {font-size:18px;color:var(--home-muted);margin-top:5px;}
.knowledge-section {padding:95px 6vw;background:#eff4f1;display:grid;grid-template-columns:1fr 1.25fr;gap:7vw;align-items:center;border-top:1px solid #d7e2dd;}
.knowledge-copy>p:not(.eyebrow) {color:var(--home-muted);max-width:400px;margin:25px 0;}
.knowledge-links {max-width:400px;}
.knowledge-links a {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid #b9cdca;font-size:18px;}
.knowledge-film {position:relative;align-self:stretch;min-height:380px;border-radius:20px;overflow:hidden;background:#dce9eb;margin:0;}
.knowledge-film video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.knowledge-film figcaption {position:absolute;bottom:0;left:0;right:0;padding:65px 25px 25px;color:white;background:linear-gradient(transparent,#082b38b8);font-size:18px;}
.heritage-section {display:grid;grid-template-columns:1fr 1.2fr;column-gap:8vw;row-gap:55px;padding:110px 6vw;background:#fbfcfc;}
.heritage-year {align-self:center;font-size:clamp(110px,16vw,270px);line-height:1;font-weight:400;letter-spacing:-.095em;color:#c1d6ce;}
.heritage-year span {display:block;margin-top:18px;padding-left:5px;font-size:18px;letter-spacing:.025em;color:#607f7b;}
.home-editorial .heritage-copy h2 {font-size:clamp(32px,2.8vw,50px);}
.heritage-copy>p:not(.eyebrow) {margin:25px 0 30px;color:var(--home-muted);max-width:490px;}
.heritage-photo {grid-column:1/-1;width:100%;height:360px;object-fit:cover;object-position:center 42%;border-radius:20px;}
.home-editorial .bento-section {padding:85px 6vw;background:#f0f4f3;color:var(--home-ink);}
.home-editorial .section-heading {align-items:flex-end;max-width:none;}
.home-editorial .section-heading h2 {font-weight:500;}
.home-editorial .section-heading p {color:var(--home-muted);font-size:18px;}
.home-editorial .bento-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.home-editorial .bento-card {grid-column:auto;min-height:360px;border-radius:18px;overflow:hidden;box-shadow:none;}
.home-editorial .bento-card img {height:100%;width:100%;inset:0;object-fit:cover;opacity:1;}
.home-editorial .bento-card::after {background:linear-gradient(180deg,#06232d05 15%,#06232dd9 100%);}
.home-editorial .bento-card h3 {font-size:24px;line-height:1.15;color:white;max-width:100%;}
.home-editorial .bento-card p {font-size:18px;line-height:1.45;margin-top:12px;color:#e3eeef;}
.home-editorial .bento-card>div {left:24px;right:24px;bottom:24px;max-width:none;}
.home-editorial .bento-arrow {width:38px;height:38px;top:18px;right:18px;border-color:#ffffff80;background:#ffffff20;color:white;}
.home-editorial .home-brands {padding:90px 6vw;background:#fbfcfc;color:var(--home-ink);}
.home-editorial .home-brands .brand-directory {grid-template-columns:repeat(6,minmax(0,1fr));gap:0;max-height:440px;border-top:1px solid var(--home-line);border-left:1px solid var(--home-line);}
.home-editorial .home-brands .brand-card {border:0;border-right:1px solid var(--home-line);border-bottom:1px solid var(--home-line);border-radius:0;background:white;box-shadow:none;padding:23px;transition:background .2s;}
.home-editorial .home-brands .brand-card:hover {transform:none;background:#f0f7f4;}
.home-editorial .home-brands .brand-card h3 {font-size:18px;}
.home-editorial .home-brands .brand-card>svg {width:16px;height:16px;}
.home-editorial .reference-contact {background:#eef4f1;color:var(--home-ink);padding:85px 6vw 95px;display:block;text-align:center;border-radius:36px 36px 0 0;}
.home-editorial .reference-contact .eyebrow {justify-content:center;}
.home-editorial .reference-contact h2 {font-size:clamp(50px,6vw,100px);line-height:1.04;}
.home-editorial .reference-contact .button {margin-top:35px;}
.home-editorial .contact-tab {background:#1c454c;color:#fff;border-radius:8px 0 0 8px;}
.home-editorial .reference-top {background:#e3efeb;color:#224a50;border:1px solid #b9d0cc;}
@media(min-width:1800px) {.home-editorial .film-hero {padding-top:190px;min-height:930px;}.molecule-scene {height:910px;}.home-editorial .film-copy {padding-bottom:115px;}}
@media(max-width:1100px) {
 .home-editorial .film-hero {padding-left:7vw;padding-right:7vw;min-height:800px;}
 .hero-index {display:none;}.hero-note {margin-left:0;margin-right:0;grid-template-columns:45px 1.3fr 1fr;padding:25px;gap:18px;}
 .home-editorial .hero-note h2 {font-size:20px;}.note-number {font-size:43px;}
 .molecule-scene {width:57%;right:-4vw;height:750px;top:55px;}
 .home-editorial .film-copy {width:57%;padding-bottom:95px;}.home-editorial .film-copy h1 {font-size:clamp(48px,6vw,68px);}
 .heading-row {gap:40px;grid-template-columns:1.35fr 1fr;}.intro-facts {gap:20px;grid-template-columns:repeat(3,1fr);}.intro-facts .text-link {grid-column:1/-1;margin-top:15px;}
 .expertise-section {gap:5vw;}.expertise-visual {height:650px;border-top-left-radius:65px;}.home-editorial .bento-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .home-editorial .home-brands .brand-directory {grid-template-columns:repeat(4,minmax(0,1fr));}
 .home-editorial .application-tile {flex-basis:55%;}
}
@media(max-width:700px) {
 .home-editorial .film-hero {padding:110px 24px 0;min-height:0;}
 .home-editorial .film-copy {width:100%;padding:20px 0 0;}
 .home-editorial .film-copy h1 {font-size:clamp(45px,11vw,70px);max-width:460px;}
 .home-editorial .film-copy .eyebrow {font-size:18px;margin-bottom:24px;}
 .home-editorial .film-copy .film-subtitle {max-width:330px;margin-top:24px;}
 .home-editorial .film-copy .film-cta {margin-top:26px;}
 .molecule-scene {position:relative;top:auto;right:auto;width:calc(100% + 48px);margin:0 -24px;height:380px;}
 .molecule-caption {right:12%;bottom:17%;font-size:18px;}
 .home-editorial .film-scroll {bottom:215px;right:25px;}
 .hero-note {margin:0 -6px;padding:24px 20px;grid-template-columns:34px 1fr;gap:13px;border-radius:20px 20px 0 0;}
 .note-number {font-size:37px;}.home-editorial .hero-note h2 {font-size:20px;}.home-editorial .hero-note>p {grid-column:2;justify-self:start;font-size:18px;}.home-editorial .hero-note .eyebrow {font-size:18px;margin-bottom:10px;}
 .editorial-intro {padding:65px 24px 0;}.heading-row {grid-template-columns:1fr;gap:24px;}.editorial-heading {margin-bottom:30px;}
 .home-editorial .reference-home h2 {font-size:clamp(32px,8vw,46px);}.home-editorial .reference-home .eyebrow {font-size:18px;margin-bottom:23px;}
 .home-editorial .reference-home p {font-size:18px;}.home-editorial .reference-home .film-subtitle {font-size:18px;}
 .intro-facts {grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:30px;padding:30px 0 40px;}.intro-facts strong {font-size:52px;}.intro-facts div>span {font-size:18px;line-height:1.5;margin-top:10px;}.intro-facts .text-link {grid-column:auto;justify-self:start;font-size:18px;gap:10px;}
 .editorial-film {height:440px;max-height:none;border-radius:16px;}.home-editorial .editorial-film figcaption p {font-size:clamp(28px,7.4vw,38px);}.editorial-film figcaption a {font-size:18px;gap:22px;}.film-footnote {left:24px;right:auto;bottom:22px;font-size:18px;}
 .home-editorial .applications-band {padding:65px 0 55px;}.home-editorial .applications-band>.editorial-heading {margin-inline:24px;}.home-editorial .application-track {padding:0 24px 8px;scroll-padding-inline:24px;gap:20px;}.home-editorial .application-tile {flex-basis:83%;}.home-editorial .application-image {border-radius:16px;aspect-ratio:1.15;}.home-editorial .application-tile h3 {font-size:20px;gap:12px;}.home-editorial .application-tile>p {font-size:18px;}.home-editorial .application-controls {margin:25px 24px 0;}.tile-index {font-size:40px;bottom:18px;left:20px;}
 .expertise-section {grid-template-columns:1fr;padding:45px 24px 55px;gap:35px;border-radius:25px 25px 0 0;}.expertise-visual {height:420px;border-radius:60px 16px 16px 16px;}.expertise-copy>p:not(.eyebrow) {margin-top:20px;}.home-editorial .expertise-steps p {font-size:18px;}.image-caption {font-size:18px;left:15px;right:15px;bottom:18px;}
 .knowledge-section {grid-template-columns:1fr;gap:35px;padding:55px 24px;}.knowledge-film {min-height:340px;border-radius:16px;}.knowledge-film figcaption {font-size:18px;}.knowledge-links a {font-size:18px;}
 .heritage-section {grid-template-columns:1fr;padding:60px 24px;gap:35px;}.heritage-year {font-size:36vw;}.heritage-year span {margin-top:10px;font-size:18px;}.heritage-photo {height:240px;border-radius:16px;}
 .home-editorial .bento-section,.home-editorial .home-brands {padding:60px 24px;}.home-editorial .bento-grid {grid-template-columns:1fr 1fr;gap:14px;}.home-editorial .bento-card {min-height:260px;padding:16px;}.home-editorial .bento-card>div {left:16px;right:16px;bottom:20px;}.home-editorial .bento-card h3 {font-size:20px;}.home-editorial .bento-card p {font-size:18px;}.home-editorial .bento-arrow {top:12px;right:12px;width:30px;height:30px;}.home-editorial .bento-arrow svg {width:18px;}
 .home-editorial .home-brands .brand-directory {grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px;}.home-editorial .home-brands .brand-card {padding:20px 15px;}.home-editorial .section-heading p {font-size:18px;}
 .home-editorial .reference-contact {padding:65px 24px;}.home-editorial .reference-contact h2 {font-size:60px;}
}
@media(max-width:370px) {.home-editorial .bento-grid {grid-template-columns:1fr;}.home-editorial .bento-card {min-height:300px;}.home-editorial .film-copy h1 {font-size:44px;}.home-editorial .film-hero {padding-inline:20px;}}
@media(prefers-reduced-motion:reduce) {.molecule-scene canvas {display:none;}.molecule-scene.is-ready .molecule-poster {opacity:1;}.home-editorial .application-tile img {transition:none;}.home-editorial .application-tile:hover img {transform:none;}}
.home-editorial .editorial-film-poster,.home-editorial .knowledge-film-poster {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Keep the compact chapter card's typography independent of section headings. */
.home-editorial .reference-home .hero-note h2 {font-size:24px;line-height:1.25;}
.home-editorial .reference-home .hero-note>p {font-size:18px;}
@media(min-width:1536px) {.home-editorial .catalog-header .mobile-toggle {display:none;}}
@media(max-width:1100px) {.home-editorial .reference-home .hero-note h2 {font-size:20px;}}
@media(max-width:700px) {
 .home-editorial .reference-home .hero-note>p {font-size:18px;}
 .home-editorial .molecule-scene {height:330px;}
 .home-editorial .film-scroll {bottom:235px;}
 .home-editorial .molecule-caption {right:9%;bottom:16%;}
}
@media(min-width:701px) {.home-editorial .molecule-caption {right:18%;bottom:25%;}}
.home-editorial .application-track {position:relative;}
@media(max-width:700px) {.home-editorial .molecule-caption {display:none;}}
/* Keep the composition aligned after removing the small section labels and index. */
.home-editorial .film-hero {padding-left:6vw;padding-right:6vw;}
.home-editorial .hero-note {margin-inline:0;}
.home-editorial .applications-band .heading-row {grid-template-columns:1fr;}
.home-editorial .editorial-film figcaption p {margin-top:0;}
.home-editorial .intro-facts div>span {line-height:1.5;}
.home-editorial .film-footnote {max-width:calc(100% - 48px);line-height:1.5;}
.home-editorial .reference-home .bento-card h3 {font-size:24px;}
.home-editorial .home-brands .brand-card {min-width:0;overflow-wrap:anywhere;}
@media(max-width:700px) {
 .home-editorial .film-hero {padding-inline:24px;}
 .home-editorial .hero-note {margin-inline:-6px;}
 .home-editorial .intro-facts {grid-template-columns:1fr 1fr;}
 .home-editorial .intro-facts .text-link {grid-column:1/-1;}
 .home-editorial .bento-grid {grid-template-columns:1fr;}
 .home-editorial .bento-card {min-height:320px;}
 .home-editorial .expertise-steps li {gap:16px;}
}
@media(max-width:700px) {
 .home-editorial .film-scroll {position:relative;inset:auto;display:grid;margin:-66px 0 18px auto;}
}
/* Three reference-led compositions: mission/orbit, visual expertise, moving type. */
.home-editorial .editorial-intro {padding-top:105px;padding-bottom:45px;}
.mission-layout {display:grid;grid-template-columns:.95fr 1.2fr;gap:4vw;align-items:center;max-width:1600px;margin:auto;}
.mission-copy {display:flex;flex-direction:column;align-self:stretch;justify-content:space-between;padding:30px 0 70px;}
.mission-copy .editorial-heading {margin:0;}
.home-editorial .mission-copy h2 {font-size:clamp(36px,3.1vw,56px);line-height:1.16;}
.home-editorial .mission-copy .intro-facts {display:grid;grid-template-columns:1fr 1fr;gap:52px 44px;align-items:start;border:0;margin:55px 0 0;padding:0;max-width:550px;}
.home-editorial .mission-copy .intro-facts strong {font-size:clamp(60px,5.3vw,92px);font-weight:400;}
.home-editorial .mission-copy .intro-facts div>span {font-size:18px;line-height:1.5;max-width:210px;margin-top:16px;}
.process-orbit {min-width:0;width:100%;max-width:780px;justify-self:end;}
.orbit-visual {position:relative;width:100%;aspect-ratio:1;}
.orbit-art {display:block;width:100%;height:100%;overflow:visible;}
.home-editorial .reference-home .orbit-art {stroke:none;}
.orbit-steps {position:absolute;inset:0;}
.process-stage {position:absolute;left:var(--stage-x);top:var(--stage-y);transform:translate(-50%,-50%);display:flex;align-items:flex-start;gap:10px;max-width:170px;padding:9px 4px;font-size:18px;font-weight:400;line-height:1.4;text-align:left;color:#526968;background:none;border:0;z-index:1;cursor:pointer;}
.process-stage i {display:block;flex:0 0 7px;width:7px;height:7px;margin-top:9px;background:#93b5a8;border-radius:50%;transition:box-shadow .3s,background .3s;}
.process-stage[aria-selected=true] {color:#173d3a;font-weight:600;}
.process-stage[aria-selected=true] i {background:#487c67;box-shadow:0 0 0 7px #a7cebb45;}
.process-stage:hover {color:#142e2b;}
.process-stage:focus-visible {outline:2px solid #477c73;outline-offset:6px;border-radius:6px;}
.process-panels {min-height:145px;max-width:580px;margin:0 0 0 auto;padding:22px 0 0 24px;border-left:1px solid #bed2c9;}
.process-panel h3 {font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin-bottom:10px;color:#1a443e;}
.home-editorial .process-panel p {font-size:18px;color:#617672;line-height:1.6;}
.orbit-traveler {transform-origin:340px 350px;animation:orbit-travel 32s linear infinite;animation-play-state:paused;}
.process-orbit.is-active .orbit-traveler {animation-play-state:running;}
@keyframes orbit-travel {to{transform:rotate(360deg);}}
.home-editorial .reference-expertise {display:grid;grid-template-columns:.86fr 1.3fr;align-items:stretch;gap:4vw;padding:75px 6vw 40px;background:#fbfcfc;border-radius:0;}
.home-editorial .reference-expertise .expertise-visual {height:auto;min-height:730px;max-height:none;align-self:stretch;border-radius:26px;isolation:isolate;}
.home-editorial .reference-expertise .expertise-visual>img {position:absolute;inset:0;width:100%;height:100%;object-position:48% center;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
.home-editorial .reference-expertise .expertise-visual:hover>img {transform:scale(1.035);}
.expertise-photo-link {position:absolute;left:26px;bottom:28px;right:26px;display:flex;align-items:center;gap:18px;padding:20px 24px;border-radius:22px;background:#fbfcfcd9;backdrop-filter:blur(18px);color:#1e393e;font-size:18px;line-height:1.4;}
.expertise-photo-link>svg:last-child {margin-left:auto;}
.expertise-photo-link>svg:first-child {width:34px;height:34px;}
.expertise-top {display:grid;grid-template-columns:1.12fr 1fr;gap:34px;align-items:start;padding:16px 0 38px;}
.home-editorial .reference-expertise h2 {font-size:clamp(34px,2.7vw,48px);line-height:1.13;}
.expertise-intro>p {margin:24px 0 30px;color:#657876;}
.expertise-feature {display:block;margin:10px 5px 0 0;padding:22px 22px 25px;border-radius:24px;background:#edf2f0;color:#18332e;transform:rotate(3deg);transition:transform .5s;}
.expertise-feature:hover,.expertise-feature:focus-visible {transform:none;}
.expertise-feature>img {display:block;width:100%;height:200px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:22px;}
.expertise-feature h3 {font-size:28px;line-height:1.1;letter-spacing:-.035em;font-weight:500;margin-bottom:22px;}
.expertise-feature>span {display:flex;align-items:center;gap:14px;justify-content:space-between;font-size:18px;line-height:1.5;color:#467664;}
.expertise-accordion {border-top:1px solid #d9e3df;}
.expertise-row {border-bottom:1px solid #d9e3df;}
.expertise-row summary {list-style:none;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;padding:26px 0;cursor:pointer;}
.expertise-row summary::-webkit-details-marker {display:none;}
.expertise-row-title {display:flex;align-items:center;gap:15px;font-size:21px;line-height:1.3;letter-spacing:-.02em;color:#223c36;}
.expertise-row-title i {flex:0 0 26px;width:26px;height:26px;border:1px solid #afc3ba;border-radius:50%;position:relative;}
.expertise-row-title i::before,.expertise-row-title i::after {content:"";position:absolute;background:#597b6d;left:7px;right:7px;top:11px;height:1px;}
.expertise-row-title i::after {transform:rotate(90deg);transition:transform .2s;}
.expertise-row[open] .expertise-row-title i::after {transform:rotate(0);}
.expertise-teaser {font-size:18px;line-height:1.5;color:#63776f;}
.expertise-answer {padding:0 0 28px 41px;}
.home-editorial .expertise-answer p {font-size:18px;line-height:1.6;color:#556b63;}
.expertise-answer a {display:inline-flex;align-items:center;gap:20px;margin-top:18px;padding-bottom:5px;border-bottom:1px solid #a5bfb3;color:#234d3c;font-size:18px;}
.expertise-row summary:focus-visible {outline:2px solid #477c73;outline-offset:4px;border-radius:6px;}
.science-marquee {overflow:hidden;padding:95px 0 110px;background:#fbfcfc;}
.marquee-track {display:flex;width:max-content;animation:science-type 44s linear infinite;animation-play-state:paused;will-change:transform;}
.science-marquee.is-active .marquee-track {animation-play-state:running;}
.science-marquee:hover .marquee-track {animation-play-state:paused;}
.marquee-copy {display:flex;align-items:center;gap:45px;padding-right:45px;white-space:nowrap;}
.marquee-copy>span {font-family:Manrope,Inter,sans-serif;font-size:clamp(48px,5vw,90px);font-weight:400;line-height:1.25;letter-spacing:-.045em;text-transform:uppercase;color:#7f9f90;}
.marquee-copy>span:nth-of-type(2) {color:#28483e;}
.marquee-copy>i {font-size:44px;font-style:normal;font-weight:400;color:#718e80;}
.marquee-copy>b {font-size:58px;font-weight:300;color:#c4d5cc;}
@keyframes science-type {to{transform:translateX(-50%);}}
.editorial-film-section {padding:0 6vw;background:#fbfcfc;}
@media(max-width:1100px) {
 .mission-layout {grid-template-columns:1fr 1.15fr;gap:25px;}.mission-copy {padding:30px 0;}.home-editorial .mission-copy h2 {font-size:38px;}.home-editorial .mission-copy .intro-facts {gap:38px 25px;}.process-stage {max-width:135px;gap:8px;}.process-panels {min-height:175px;margin-top:15px;}
 .home-editorial .reference-expertise {grid-template-columns:.8fr 1.25fr;gap:32px;}.expertise-top {grid-template-columns:1fr;gap:28px;}.expertise-feature {display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:24px;margin:0;transform:none;}.expertise-feature>img {grid-row:1/3;height:180px;margin:0;}.expertise-feature h3 {font-size:28px;margin:0 0 15px;}.expertise-feature>span {font-size:18px;}.expertise-row summary {grid-template-columns:1fr;gap:14px;}.expertise-teaser {padding-left:41px;}.expertise-photo-link {left:18px;right:18px;padding:18px;gap:12px;}.expertise-photo-link>svg:first-child {display:none;}
}
@media(max-width:900px) {
 .mission-layout {grid-template-columns:1fr;gap:25px;}.mission-copy {padding:0;}.home-editorial .mission-copy h2 {font-size:clamp(36px,5.5vw,48px);}.home-editorial .mission-copy .intro-facts {max-width:none;margin-top:40px;gap:35px;}.process-orbit {max-width:650px;justify-self:center;}.process-stage {max-width:165px;}.process-panels {min-height:150px;}
}
@media(max-width:700px) {
 .home-editorial .editorial-intro {padding-top:65px;padding-bottom:10px;}.home-editorial .mission-copy h2 {font-size:36px;}.home-editorial .mission-copy .intro-facts {gap:30px 24px;margin-top:35px;}.home-editorial .mission-copy .intro-facts strong {font-size:60px;}.home-editorial .mission-copy .intro-facts div>span {font-size:18px;margin-top:12px;}
 .process-orbit {max-width:480px;}.orbit-visual {aspect-ratio:auto;}.orbit-art {height:auto;aspect-ratio:1;}.orbit-steps {position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;}.process-stage {position:static;transform:none;max-width:none;min-height:72px;width:100%;padding:14px 0;border-bottom:1px solid #dce7e0;font-size:18px;}.process-panels {margin-top:25px;min-height:185px;padding:4px 0 0 16px;}.process-panel h3 {font-size:24px;}
 .home-editorial .reference-expertise {grid-template-columns:1fr;gap:35px;padding:50px 24px 10px;}.home-editorial .reference-expertise .expertise-visual {min-height:460px;border-radius:24px;}.expertise-photo-link {left:18px;right:18px;bottom:20px;padding:18px;}.expertise-top {padding:0 0 30px;gap:38px;}.home-editorial .reference-expertise h2 {font-size:36px;}.expertise-feature {grid-template-columns:1fr 1fr;gap:18px;padding:20px;border-radius:22px;}.expertise-feature>img {height:185px;}.expertise-feature h3 {font-size:26px;}.expertise-feature>span {font-size:18px;gap:6px;}.expertise-feature>span svg {width:20px;}.expertise-row summary {padding:24px 0;}.expertise-row-title {font-size:22px;}.expertise-teaser {padding-left:41px;}.expertise-answer {padding-left:0;}
 .science-marquee {padding:65px 0 75px;}.marquee-copy {gap:25px;padding-right:25px;}.marquee-copy>span {font-size:50px;}.marquee-copy>i {font-size:30px;}.marquee-copy>b {font-size:40px;}.editorial-film-section {padding:0 24px;}
}
@media(max-width:370px) {.expertise-feature {grid-template-columns:1fr;}.expertise-feature>img {grid-row:auto;height:210px;}.expertise-feature h3 {font-size:28px;}}
@media(prefers-reduced-motion:reduce) {
 .orbit-traveler,.marquee-track {animation:none!important;}
 .science-marquee {padding:60px 24px;}.marquee-track {width:100%;}.marquee-copy {white-space:normal;flex-wrap:wrap;gap:18px;padding:0;}.marquee-copy:nth-child(2) {display:none;}.marquee-copy>b {display:none;}.marquee-copy>span {font-size:clamp(32px,4vw,64px);}
 .expertise-feature {transform:none;transition:none;}.home-editorial .reference-expertise .expertise-visual>img {transition:none;}.home-editorial .reference-expertise .expertise-visual:hover>img {transform:none;}
}
@media(min-width:901px) {
 .process-orbit {max-width:650px;}
 .process-panels {min-height:125px;margin-top:-12px;padding-top:14px;}
}

/* Tangent shells open from one shared point, as in the supplied motion reference. */
.orbit-shell {transform-origin:549px 140px;}
.process-orbit.has-entered .orbit-shell {animation:shell-open 1.65s cubic-bezier(.16,.7,.2,1) var(--shell-delay) both;}
@keyframes shell-open {from {transform:scale(.08);opacity:0;} to {transform:scale(1);opacity:1;}}
.orbit-traveler {transform-origin:549px 140px;animation:orbit-breathe 3s ease-in-out infinite;animation-play-state:paused;}
@keyframes orbit-breathe {50% {opacity:.55;transform:scale(.88);}}
.process-stage {max-width:145px;color:#56615e;gap:8px;}
.process-stage i {background:#8aaca0;flex-basis:5px;width:5px;height:5px;}
.process-stage[aria-selected=true] i {box-shadow:none;}
.process-stage[aria-selected=true] {font-weight:500;}
.process-panels {border:0;padding-left:0;max-width:490px;}
.home-editorial .mission-copy .intro-facts strong {padding-bottom:14px;border-bottom:1px solid #e3e7e5;display:inline-block;min-width:135px;}
/* Real Altium photographs rise in front of the continuous typographic ribbon. */
.science-marquee {position:relative;isolation:isolate;min-height:850px;height:65vw;max-height:1050px;padding:0;display:flex;align-items:center;}
.science-photo-deck {position:absolute;inset:0;z-index:2;pointer-events:none;}
.science-photo-card {position:absolute;top:50%;left:50%;width:clamp(280px,28vw,420px);padding:15px 15px 22px;background:#f2f3f2;border-radius:28px;box-shadow:0 20px 65px #173c3010;transform:translate(-50%,-50%) rotate(var(--card-angle));pointer-events:auto;will-change:transform;}
.science-photo-card:nth-child(2) {transform:translate(-50%,95%) rotate(var(--card-angle));}
.science-photo-card:nth-child(3) {transform:translate(-50%,235%) rotate(var(--card-angle));}
.science-photo-card img {display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;background:#e9eeec;}
.science-photo-card:first-child img {object-fit:contain;background:#fff;}
.science-photo-card h3 {display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 5px 0;font-size:clamp(22px,1.7vw,28px);line-height:1.2;font-weight:500;letter-spacing:-.035em;color:#203d35;}
.science-photo-card svg {flex-shrink:0;}
.science-photo-card:focus-visible {outline:2px solid #638e80;outline-offset:7px;}
.science-photo-card:focus-within {z-index:4;}
@media(max-width:700px) {
 .process-stage {max-width:none;}.process-panels {padding-left:0;}
 .science-marquee {height:780px;min-height:780px;}.science-photo-card {width:270px;padding:12px 12px 20px;border-radius:24px;}.science-photo-card img {border-radius:16px;}.science-photo-card h3 {font-size:22px;}
}
@media(prefers-reduced-motion:reduce) {
 .process-orbit.has-entered .orbit-shell {animation:none;}
 .science-marquee {display:block;height:auto;min-height:0;max-height:none;padding:65px 24px;}
 .science-photo-deck {position:relative;display:flex;gap:28px;flex-wrap:wrap;justify-content:center;margin-top:45px;}
 .science-photo-card,.science-photo-card:nth-child(n) {position:relative;inset:auto;transform:none!important;flex:1 1 270px;max-width:380px;will-change:auto;}
}

/* Photographic direction: dedicated hero, portrait, brand gallery, and closing scene. */
.home-editorial .film-hero {position:relative;display:flex;align-items:center;min-height:760px;height:min(880px,100svh);padding:155px 7vw 90px;background:#0a2228;overflow:hidden;}
.hero-background {position:absolute;inset:0;z-index:-2;}
.hero-background img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-background::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061e2680 0%,#061e261a 62%,transparent),linear-gradient(0deg,#061e2633,transparent 55%);}
.home-editorial .film-copy {width:60%;max-width:850px;padding:0;margin:0;}
.home-editorial .film-copy h1 {font-size:clamp(58px,5.1vw,92px);max-width:850px;line-height:1.07;letter-spacing:-.045em;color:white;}
.home-editorial .film-copy h1>span:first-child {color:white;}
.home-editorial .film-copy h1>span:last-child {color:#bfded0;}
.home-editorial .film-copy .film-subtitle {max-width:550px;font-size:20px;line-height:1.65;color:#e2ece8;margin-top:30px;}
.home-editorial .film-copy .film-cta {--action-bg:#e9f3ed;--action-border:#e9f3ed;--action-ink:#183e39;--action-hover:#fff;margin-top:35px;}
.home-editorial .film-scroll {position:absolute;inset:auto 6vw 36px auto;margin:0;color:white;background:#ffffff10;border-color:#ffffff66;}
.home-editorial .editorial-intro {padding-top:95px;padding-bottom:30px;}
.mission-layout {grid-template-columns:1fr 1fr;gap:7vw;align-items:stretch;}
.mission-copy {padding:30px 0;}
.mission-portrait {position:relative;min-width:0;height:670px;border-radius:120px 24px 24px 24px;overflow:hidden;margin:0;background:#c7d6d2;isolation:isolate;}
.mission-portrait>img {width:100%;height:100%;object-fit:cover;object-position:center 34%;}
.mission-portrait::after {content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#092a30ed,transparent);}
.mission-portrait figcaption {position:absolute;bottom:40px;left:40px;right:35px;z-index:1;color:white;}
.home-editorial .mission-portrait figcaption p {font-size:clamp(32px,3vw,48px);line-height:1.12;letter-spacing:-.035em;}
.mission-portrait figcaption a {display:flex;align-items:center;justify-content:space-between;padding-top:25px;margin-top:25px;border-top:1px solid #ffffff5c;font-size:20px;}
.section-anchor {display:block;position:relative;top:-100px;visibility:hidden;}
.home-editorial .home-brands {padding:95px 6vw;background:radial-gradient(ellipse at top right,#315b50,transparent 60%),#123735;color:#fff;}
.home-editorial .home-brands .brand-intro {display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-bottom:44px;}
.home-editorial .home-brands .brand-intro h2 {color:#fff;}
.home-editorial .home-brands .brand-intro>p {font-size:22px;line-height:1.6;color:#cadbd3;max-width:470px;justify-self:end;}
.brand-tools {padding:30px 0 10px;border-top:1px solid #a3c9b63d;}
.home-editorial .home-brands .directory-search {display:flex;align-items:center;gap:25px;margin:0 0 26px;padding:0;border:0;max-width:660px;}
.home-editorial .home-brands .directory-search label {font-size:20px;color:#e4efea;}
.home-editorial .home-brands .directory-search input {width:100%;min-width:0;background:#ffffff0d;color:white;border:0;border-bottom:1px solid #adccbd;border-radius:0;font-size:20px;padding:14px 10px;}
.home-editorial .home-brands .directory-search input::placeholder {color:#b9cdc3;}
.home-editorial .home-brands .directory-search input:focus {outline:0;border-bottom-color:white;box-shadow:none;}
.home-editorial .home-brands .brand-filters {margin:0 0 20px;gap:10px;}
.home-editorial .home-brands .brand-filters button {background:transparent;color:#e1eae5;border-color:#a7c1b66b;}
.home-editorial .home-brands .brand-filters button[aria-pressed=true] {background:#e4efe8;color:#183d36;border-color:#e4efe8;}
.home-editorial .home-brands .brand-filters button:hover {background:#ffffff20;}
.home-editorial .home-brands .brand-filters button[aria-pressed=true]:hover {background:white;}
.home-editorial .home-brands .result-count {color:#c3d7cd;font-size:18px;margin-bottom:22px;}
.home-editorial .home-brands .brand-directory {grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-height:610px;border:0;padding:0 14px 8px 0;scrollbar-color:#9bc6b4 #284e45;scrollbar-width:thin;}
.home-editorial .home-brands .brand-card {position:relative;min-height:220px;padding:26px;background:#fff;border:0;border-radius:18px;box-shadow:none;color:#193c35;overflow:hidden;transition:background .3s,transform .3s;}
.home-editorial .home-brands .brand-card>div {height:125px;display:grid;place-items:center;}
.home-editorial .home-brands .brand-card img {max-width:85%;max-height:85px;object-fit:contain;transition:transform .4s;}
.home-editorial .home-brands .brand-card h3 {font-size:20px;line-height:1.35;padding-top:18px;padding-right:30px;border-top:1px solid #e5ece7;}
.home-editorial .home-brands .brand-card>svg {display:block;position:absolute;bottom:29px;right:24px;width:22px;height:22px;color:#477b65;}
.home-editorial .home-brands .brand-card:hover {background:#f1f7f3;transform:translateY(-3px);}
.home-editorial .home-brands .brand-card:hover img {transform:scale(1.06);}
.home-editorial .home-brands .brand-directory:focus-visible {outline:2px solid #cee9db;outline-offset:7px;}
.home-editorial .home-brands .directory-empty {color:#e8f4ee;font-size:20px;}
.home-editorial .contact-editorial {position:relative;isolation:isolate;overflow:hidden;background:#092a30;min-height:590px;border-radius:0;padding:95px 7vw;text-align:left;color:white;}
.contact-scene {position:absolute;inset:0 0 0 38%;z-index:-2;}
.contact-scene img {width:100%;height:100%;object-fit:cover;object-position:65% center;}
.contact-editorial::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092a30 26%,#092a30e8 43%,#092a3040 75%,#092a300d);}
.contact-editorial-copy {max-width:830px;}
.home-editorial .contact-editorial h2 {font-size:clamp(44px,5vw,78px);line-height:1.08;color:#fff;}
.home-editorial .contact-editorial h2 em {color:#bfdccc;}
.home-editorial .contact-editorial p {font-size:22px;color:#d1e0dc;margin-top:28px;}
.contact-editorial-actions {display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap;}
.home-editorial .contact-editorial .button {--action-bg:#eaf4ee;--action-border:#eaf4ee;--action-ink:#143d36;--action-hover:#fff;margin:0;}
.contact-phone {font-size:21px;color:#fff;padding:14px 0;border-bottom:1px solid #a4beb3;}
@media(max-width:1100px) {
 .home-editorial .film-copy {width:70%;}.home-editorial .film-copy h1 {font-size:68px;}
 .mission-layout {gap:35px;}.mission-portrait {height:650px;}.mission-portrait figcaption {left:28px;right:28px;bottom:30px;}
 .home-editorial .home-brands .brand-directory {grid-template-columns:repeat(3,minmax(0,1fr));}.home-editorial .home-brands .brand-card {padding:22px;}
}
@media(max-width:900px) {.mission-layout {grid-template-columns:1fr;}.mission-portrait {height:600px;}.mission-copy {padding:0 0 20px;}}
@media(max-width:700px) {
 .home-editorial .film-hero {height:auto;min-height:780px;padding:170px 24px 100px;align-items:center;}
 .hero-background img {object-position:63% center;}.hero-background::after {background:linear-gradient(90deg,#06212bcc,#06212b66),linear-gradient(0deg,#06212b88,transparent 65%);}
 .home-editorial .film-copy {width:100%;padding:0;}.home-editorial .film-copy h1 {font-size:clamp(44px,10.8vw,62px);line-height:1.12;}.home-editorial .film-copy .film-subtitle {font-size:18px;margin-top:25px;}.home-editorial .film-copy .film-cta {margin-top:28px;}.home-editorial .film-scroll {right:24px;bottom:28px;}
 .home-editorial .editorial-intro {padding-top:60px;}.mission-portrait {height:520px;border-radius:80px 20px 20px 20px;}.mission-portrait figcaption {left:24px;right:24px;bottom:26px;}.home-editorial .mission-portrait figcaption p {font-size:36px;}
 .home-editorial .home-brands {padding:60px 24px;}.home-editorial .home-brands .brand-intro {grid-template-columns:1fr;gap:25px;margin-bottom:30px;}.home-editorial .home-brands .brand-intro>p {font-size:20px;justify-self:start;}
 .home-editorial .home-brands .directory-search {display:grid;grid-template-columns:1fr;gap:8px;}.home-editorial .home-brands .directory-search input {font-size:18px;}.home-editorial .home-brands .brand-directory {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:550px;padding-right:8px;}
 .home-editorial .home-brands .brand-card {padding:18px 12px;min-height:180px;border-radius:12px;}.home-editorial .home-brands .brand-card>div {height:90px;}.home-editorial .home-brands .brand-card img {max-width:100%;max-height:70px;}.home-editorial .home-brands .brand-card h3 {font-size:18px;padding-right:0;}.home-editorial .home-brands .brand-card>svg {display:none;}
 .home-editorial .contact-editorial {min-height:620px;padding:65px 24px;}.contact-scene {inset:0;}.contact-scene img {object-position:60% center;}.contact-editorial::before {background:linear-gradient(90deg,#092a30e6,#092a307d),linear-gradient(0deg,#092a30bb,transparent);}.home-editorial .contact-editorial h2 {font-size:clamp(39px,10vw,56px);}.home-editorial .contact-editorial p {font-size:20px;}.contact-editorial-actions {gap:22px;}
}
@media(prefers-reduced-motion:reduce) {.home-editorial .home-brands .brand-card,.home-editorial .home-brands .brand-card img {transition:none;}.home-editorial .home-brands .brand-card:hover,.home-editorial .home-brands .brand-card:hover img {transform:none;}}
@media(max-width:700px) {
 .home-editorial .home-brands .brand-filters {flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#9bc6b4 transparent;}
 .home-editorial .home-brands .brand-filters button {flex-shrink:0;}
}


/* Brand cards and toolbar, following the user's explicit specification. */
.home-editorial .home-brands.brand-showcase {display:block;padding:85px 6vw 95px;background:#f7f8fa;color:#163344;}
.home-editorial .brand-showcase .brand-intro {display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:45px;margin:0 0 40px;}
.home-editorial .brand-showcase .brand-intro h2 {color:#153344;font-size:clamp(38px,3.6vw,60px);line-height:1.12;}
.home-editorial .brand-showcase .brand-intro>p {color:#5d727c;font-size:20px;line-height:1.65;max-width:430px;margin:0;justify-self:end;}
.brand-toolbar {display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:26px;margin-bottom:24px;}
.home-editorial .brand-showcase .brand-filters {display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;padding:5px 0 9px;margin:0;border:0;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c3d1d7 transparent;}
.home-editorial .brand-showcase .brand-filters button {flex:0 0 auto;width:auto;height:56px;min-height:56px;max-width:none;padding:0 21px;white-space:nowrap;border:1px solid #e0e5e9;border-radius:99px;background:#f0f2f5;color:#355262;font-size:18px;line-height:1.3;font-weight:400;box-shadow:none;}
.home-editorial .brand-showcase .brand-filters button[aria-pressed=true] {background:#123040;border-color:#123040;color:#fff;}
.home-editorial .brand-showcase .brand-filters button:hover {background:#e5eaf0;border-color:#bbcbd3;}
.home-editorial .brand-showcase .brand-filters button[aria-pressed=true]:hover {background:#21485c;border-color:#21485c;}
.home-editorial .brand-showcase .directory-search {position:relative;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px;width:100%;max-width:none;margin:0;padding:0 4px;border:0;border-bottom:1px solid #b9c8d1;}
.home-editorial .brand-showcase .directory-search>svg {color:#627f8e;flex:0 0 22px;}
.home-editorial .brand-showcase .directory-search input {width:100%;min-width:0;font-size:18px;height:56px;line-height:1.4;color:#173d51;background:transparent;border:0;border-radius:0;padding:14px 0;outline:none;box-shadow:none;}
.home-editorial .brand-showcase .directory-search input::placeholder {color:#718590;}
.home-editorial .brand-showcase .directory-search input:focus {border:0;outline:0;box-shadow:none;}
.home-editorial .brand-showcase .directory-search:focus-within {border-color:#123040;}
.home-editorial .brand-showcase .result-count {font-size:18px;color:#6d808a;margin:0 0 14px;}
.home-editorial .brand-showcase .brand-directory {grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-height:600px;padding:8px 14px 20px 4px;border:0;align-content:start;overflow:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#b7c6cf #edf0f3;}
.home-editorial .brand-showcase .brand-card {position:relative;display:flex;flex-direction:column;min-width:0;min-height:234px;padding:22px 22px 48px;border:1px solid #eeeeee;border-radius:8px;background:white;color:#224354;box-shadow:0 1px 2px #12304003;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.home-editorial .brand-showcase .brand-card>div {height:112px;display:grid;place-items:center;background:transparent;margin:0 0 14px;}
.home-editorial .brand-showcase .brand-card img {width:100%;max-width:100%;height:112px;max-height:112px;padding:14px;object-fit:contain;transform:none;transition:none;}
.home-editorial .brand-showcase .brand-card h3 {font-size:19px;font-weight:500;line-height:1.35;letter-spacing:-.02em;margin:0;padding:0;border:0;text-align:left;color:#284959;}
.home-editorial .brand-showcase .brand-card>svg {display:none;}
.home-editorial .brand-showcase .brand-card>.brand-category-badge {position:absolute;right:16px;bottom:14px;left:auto;top:auto;max-width:calc(100% - 32px);padding:4px 8px;border-radius:4px;background:#edf1f4cc;color:#5f7482;font-size:13px;line-height:1.4;white-space:nowrap;font-weight:400;letter-spacing:0;}
.home-editorial .brand-showcase .brand-card:hover,.home-editorial .brand-showcase .brand-card:focus-visible {transform:translateY(-4px);background:white;box-shadow:0 9px 22px #12304012;border-color:#d9e2e8;}
.home-editorial .brand-showcase .brand-card:hover img {transform:none;}
.home-editorial .brand-showcase .brand-directory:focus-visible {outline:2px solid #73909f;outline-offset:5px;}
.home-editorial .brand-showcase .directory-empty {color:#5d7582;font-size:20px;padding:30px 0;}
@media(min-width:1700px) {.brand-toolbar {grid-template-columns:minmax(0,1fr) 300px;}}
@media(max-width:1150px) {.brand-toolbar {grid-template-columns:1fr;gap:14px;}.home-editorial .brand-showcase .directory-search {max-width:400px;justify-self:end;}.home-editorial .brand-showcase .brand-directory {grid-template-columns:repeat(3,minmax(0,1fr));}.home-editorial .brand-showcase .brand-intro {gap:30px;}}
@media(max-width:700px) {
 .home-editorial .home-brands.brand-showcase {padding:60px 24px;}.home-editorial .brand-showcase .brand-intro {grid-template-columns:1fr;gap:22px;margin-bottom:28px;}.home-editorial .brand-showcase .brand-intro h2 {font-size:40px;}.home-editorial .brand-showcase .brand-intro>p {font-size:20px;justify-self:start;}
 .brand-toolbar {gap:18px;margin-bottom:20px;}.home-editorial .brand-showcase .directory-search {max-width:none;grid-row:1;}.home-editorial .brand-showcase .brand-filters {padding:0 0 10px;}
 .home-editorial .brand-showcase .brand-directory {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:510px;padding:8px 8px 15px 2px;}.home-editorial .brand-showcase .brand-card {min-height:220px;padding:14px 12px 44px;}.home-editorial .brand-showcase .brand-card>div {height:100px;margin-bottom:14px;}.home-editorial .brand-showcase .brand-card img {height:100px;max-height:100px;padding:8px;}.home-editorial .brand-showcase .brand-card h3 {font-size:18px;}.home-editorial .brand-showcase .brand-card>.brand-category-badge {right:9px;bottom:12px;max-width:calc(100% - 18px);font-size:12px;padding:4px 6px;}
}
@media(prefers-reduced-motion:reduce) {.home-editorial .brand-showcase .brand-card {transition:none;}.home-editorial .brand-showcase .brand-card:hover,.home-editorial .brand-showcase .brand-card:focus-visible {transform:none;}}

/* Shared spacing between homepage sections and their content. */
.home-editorial {--home-section-space:clamp(80px,6vw,108px);}
.home-editorial .reference-home>.editorial-intro {padding-top:var(--home-section-space);padding-bottom:0;}
.home-editorial .reference-home>.reference-expertise {padding-top:var(--home-section-space);padding-bottom:0;}
.home-editorial .reference-home>.editorial-film-section {padding-top:var(--home-section-space);padding-bottom:var(--home-section-space);}
.home-editorial .reference-home>.knowledge-section,
.home-editorial .reference-home>.heritage-section,
.home-editorial .reference-home>.bento-section,
.home-editorial .reference-home>.home-brands.brand-showcase,
.home-editorial .reference-home>.reference-contact {padding-top:var(--home-section-space);padding-bottom:var(--home-section-space);}
.home-editorial .reference-home>.knowledge-section {column-gap:clamp(48px,7vw,120px);row-gap:44px;}
.home-editorial .knowledge-copy>p {margin-top:30px;margin-bottom:30px;}
.home-editorial .knowledge-links a {padding-top:20px;padding-bottom:20px;}
@media(max-width:700px) {
 .home-editorial {--home-section-space:64px;}
 .home-editorial .reference-home>.knowledge-section {gap:40px;}
 .home-editorial .knowledge-copy>p {margin-top:24px;margin-bottom:24px;}
}

/* Original Altium announcement artwork in a quiet, open editorial layout. */
.home-editorial .home-updates {padding:56px 6vw;background:#fff;scroll-margin-top:120px;}
.home-editorial .updates-heading {margin:0;}
.updates-stage {--updates-gap:48px;--updates-image-width:420px;--updates-copy-width:calc(100% - var(--updates-gap) - var(--updates-image-width));max-width:1200px;margin-inline:auto;padding-bottom:64px;position:relative;touch-action:pan-y pinch-zoom;}
.home-editorial .updates-panel {display:grid;grid-template-columns:minmax(0,1fr) var(--updates-image-width);gap:var(--updates-gap);align-items:stretch;background:transparent;}
.home-editorial .updates-panel[hidden],.updates-controls[hidden],.updates-tabs[hidden] {display:none;}
.home-updates:not(.is-enhanced) .updates-panel+.updates-panel {margin-top:64px;}
.home-editorial .updates-copy {position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:0 0 96px;}
.home-editorial .updates-copy::before {content:"";position:absolute;z-index:-1;inset:-20px 8% 105px 38%;background:url(../updates/banner-bg-symbol.svg) center/contain no-repeat;opacity:.45;pointer-events:none;}
.home-editorial .updates-copy h3 {font-size:46px;line-height:1.12;letter-spacing:-.04em;font-weight:400;color:#263e45;margin:0 0 22px;}
.home-editorial .updates-copy .updates-lead {font-size:22px;line-height:1.45;font-weight:500;color:#2e4d55;margin:0 0 16px;max-width:660px;}
.home-editorial .updates-copy .updates-description {font-size:18px;line-height:1.65;color:#5b6c70;margin:0 0 24px;max-width:650px;}
.home-editorial .updates-copy .button {flex-shrink:0;}
.updates-visual {min-width:0;align-self:start;border-radius:24px;overflow:hidden;background:transparent;}
.home-updates.is-enhanced .updates-visual {cursor:grab;user-select:none;}
.home-updates.is-enhanced .is-dragging .updates-visual {cursor:grabbing;}
.updates-visual img {display:block;width:100%;height:auto;aspect-ratio:610/760;object-fit:contain;mix-blend-mode:normal;}
.updates-tabs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:absolute;bottom:64px;left:0;width:var(--updates-copy-width);padding:10px 8px;border-radius:18px;background:#f0f2f3;}
.home-editorial .updates-tabs button {min-width:0;height:56px;padding:0 10px;background:transparent;border:0;border-right:1px solid #d5dddf;border-radius:0;color:#536268;font:500 18px/1.35 Inter,Arial,sans-serif;cursor:pointer;transition:color .2s;}
.home-editorial .updates-tabs button:last-child {border-right:0;}
.home-editorial .updates-tabs button[aria-selected=true] {color:#00798b;}
.home-editorial .updates-tabs button:hover {color:#133c45;}
.updates-controls {position:absolute;right:0;bottom:0;display:flex;gap:12px;}
.home-editorial .updates-controls button {background:#173b45c9;color:white;border:1px solid #ffffffb3;cursor:pointer;transition:background .2s;backdrop-filter:blur(8px);}
.home-editorial .updates-controls button:hover {background:#173b45;}
.updates-controls svg,.floating-contact svg {fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.updates-tabs button:focus-visible,.updates-controls button:focus-visible,.floating-contact:focus-visible {outline:2px solid #6d919e;outline-offset:4px;}
.home-editorial .floating-contact {position:fixed;right:24px;bottom:24px;z-index:65;display:grid;place-items:center;width:48px;height:48px;border:1px solid #91b6b6;border-radius:50%;background:#123b46;color:#fff;box-shadow:0 5px 20px #102f3d26;transition:opacity .2s,visibility .2s,transform .2s,background .2s;}
.home-editorial .floating-contact:hover {background:#285964;transform:translateY(-3px);}
.home-editorial .floating-contact.is-footer-visible {opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);}
@media(max-width:1100px) {
 .updates-stage {--updates-image-width:38%;--updates-gap:32px;padding-bottom:0;}
 .home-editorial .home-updates {padding-block:48px;}
 .home-editorial .updates-copy {padding-top:0;padding-bottom:0;}
 .home-editorial .updates-copy h3 {font-size:40px;margin-bottom:28px;}
 .home-editorial .updates-copy .updates-lead {font-size:22px;margin-bottom:20px;}
 .home-editorial .updates-copy .updates-description {font-size:18px;line-height:1.7;margin-bottom:24px;}
 .updates-tabs {position:static;width:100%;margin-top:28px;}
 .updates-controls {position:static;justify-content:flex-start;margin-top:20px;}
 .home-editorial .updates-controls button {background:transparent;border-color:#adc2c5;color:#173b45;backdrop-filter:none;}
 .home-editorial .updates-controls button:hover {background:#e9f0f0;}
}
@media(max-width:700px) {
 .home-editorial .home-updates {padding:40px 24px;}
 .home-editorial .updates-panel {grid-template-columns:1fr;gap:24px;}
 .home-editorial .updates-copy h3 {font-size:34px;margin-bottom:20px;}
 .home-editorial .updates-copy .updates-lead {font-size:22px;}
 .home-editorial .updates-copy .updates-description {font-size:18px;}
 .home-editorial .updates-copy::before {inset:0 0 0 30%;opacity:.3;}
 .updates-visual {border-radius:18px;max-width:260px;width:100%;justify-self:center;}
 .updates-tabs {display:flex;overflow-x:auto;padding:12px 4px;margin-top:24px;border-radius:16px;scrollbar-width:thin;scrollbar-color:#afc3c5 transparent;}
 .home-editorial .updates-tabs button {flex:0 0 auto;min-width:104px;padding:0 18px;}
 .home-editorial .floating-contact {right:18px;bottom:18px;}
}
@media(prefers-reduced-motion:reduce) {
 .home-editorial .floating-contact,.home-editorial .updates-tabs button,.home-editorial .updates-controls button {transition:none;}
 .home-editorial .floating-contact:hover {transform:none;}
}

/* Altium's logo red supplies the homepage's action and emphasis colors. */
.home-editorial {
 --home-accent:var(--altium-red);
 --home-ink:#2d2d30;
 --home-muted:#68686c;
 --home-line:#e5e5e7;
 --action-bg:var(--altium-red);
 --action-border:var(--altium-red);
 --action-ink:#fff;
 --action-hover:var(--altium-red-hover);
}
.home-editorial .film-copy .film-cta,
.home-editorial .catalog-header .nav-actions .global-link {
 --action-bg:var(--altium-red);--action-border:var(--altium-red);--action-ink:#fff;--action-hover:var(--altium-red-hover);
}
.home-editorial .film-copy h1>span:last-child {color:#fff;}
.home-editorial .knowledge-section,.home-editorial .bento-section {background:#f7f7f7;border-color:#e5e5e7;}
.home-editorial .home-brands.brand-showcase {background:#f8f8f8;}
.home-editorial .brand-showcase .brand-intro h2,
.home-editorial .updates-copy h3 {color:var(--home-ink);}
.home-editorial .updates-copy .updates-lead {color:#424247;}
.home-editorial .updates-copy .updates-description {color:#626269;}
.home-editorial .brand-showcase .brand-filters button[aria-pressed=true] {background:var(--altium-red);border-color:var(--altium-red);color:#fff;}
.home-editorial .brand-showcase .brand-filters button[aria-pressed=true]:hover {background:var(--altium-red-hover);border-color:var(--altium-red-hover);}
.home-editorial .brand-showcase .brand-filters button:not([aria-pressed=true]):hover {background:var(--altium-red-soft);border-color:#ecc1bc;color:var(--altium-red-hover);}
.home-editorial .updates-tabs button[aria-selected=true],
.home-editorial .updates-tabs button:hover {color:var(--altium-red);}
.home-editorial .updates-tabs button[aria-selected=true] {font-weight:600;}
.home-editorial .updates-controls button,
.home-editorial .floating-contact {background:var(--altium-red);border-color:var(--altium-red);color:#fff;}
.home-editorial .updates-controls button:hover,
.home-editorial .floating-contact:hover {background:var(--altium-red-hover);border-color:var(--altium-red-hover);}
.home-editorial .floating-contact {box-shadow:0 5px 18px #d8443a20;}
.home-editorial .film-scroll:hover {background:var(--altium-red);border-color:var(--altium-red);}
.home-editorial .knowledge-links a svg,
.home-editorial .text-link svg,
.home-editorial .expertise-row summary>svg {color:var(--altium-red);}
.home-editorial .knowledge-links a:hover,
.home-editorial .text-link:hover {color:var(--altium-red);border-color:var(--altium-red);}
.home-editorial .bento-card:hover .bento-arrow {background:var(--altium-red);border-color:var(--altium-red);color:#fff;}
.home-editorial .brand-showcase .directory-search:focus-within {border-color:var(--altium-red);}
.home-editorial :is(.updates-tabs button,.updates-controls button,.floating-contact,.button,.film-cta,.global-link):focus-visible {outline-color:var(--altium-red);}
.home-editorial .editorial-film::after {background:rgba(20,20,23,.62);}

/* Section headings stand on their own without supporting promotional copy. */
.home-editorial .brand-showcase .brand-intro,
.home-editorial .bento-section>.section-heading {grid-template-columns:1fr;}
.home-editorial .knowledge-copy .knowledge-links {margin-top:28px;}
.home-editorial .expertise-intro>.button,
.home-editorial .heritage-copy>.button {margin-top:28px;}

/* Hero hierarchy and two compact actions, scoped to this opening section. */
.home-editorial .film-hero {align-items:center;padding:155px 9vw 100px;}
.home-editorial .film-copy {width:60%;max-width:640px;}
.home-editorial .film-copy .hero-preheading {margin:0 0 18px;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:.12em;color:#e0e0e0;}
.home-editorial .film-copy h1 {font-size:clamp(42px,3.4vw,48px);line-height:1.14;letter-spacing:-.035em;max-width:640px;margin:0;}
.home-editorial .film-copy .film-subtitle {max-width:580px;margin:22px 0 0;font-size:19px;line-height:1.6;color:#e0e0e0;}
.home-editorial .hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.home-editorial .hero-action {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border:1px solid transparent;border-radius:6px;font-size:16px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;transition:background-color .2s,border-color .2s;}
.home-editorial .hero-action-primary {background:var(--altium-red);border-color:var(--altium-red);color:#fff;}
.home-editorial .hero-action-primary:hover {background:var(--altium-red-hover);border-color:var(--altium-red-hover);color:#fff;}
.home-editorial .hero-action-secondary {background:transparent;border-color:#ffffffb3;color:#fff;}
.home-editorial .hero-action-secondary:hover {background:#ffffff18;border-color:#fff;color:#fff;}
.home-editorial .hero-action:focus-visible {outline:2px solid #fff;outline-offset:4px;}
@media(max-width:1100px) {.home-editorial .film-copy {width:85%;}}
@media(max-width:700px) {
 .home-editorial .film-hero {min-height:720px;height:auto;max-height:none;padding:150px 24px 116px;}
 .home-editorial .film-copy {width:100%;}
 .home-editorial .film-copy .hero-preheading {font-size:14px;margin-bottom:16px;}
 .home-editorial .film-copy h1 {font-size:clamp(32px,8.5vw,42px);line-height:1.16;letter-spacing:-.04em;}
 .home-editorial .film-copy .film-subtitle {font-size:18px;line-height:1.55;margin-top:20px;}
 .home-editorial .hero-actions {flex-direction:column;align-items:stretch;margin-top:28px;}
 .home-editorial .hero-action {width:100%;}
}
@media(prefers-reduced-motion:reduce) {.home-editorial .hero-action {transition:none;}}
