/* =========================================================
   01. Variables
========================================================= */
:root {
  --font-body: "Manrope", "Segoe UI", Arial, sans-serif;

  --color-brand: #c73342;
  --color-brand-dark: #a62431;

  --color-ink: #171b21;
  --color-text-muted: #66707c;
  --color-line: #e4e7ea;
  --color-bg: #ffffff;
  --color-bg-soft: #f6f7f8;

  --color-graphite: #151d26;
  --color-graphite-2: #1b242d;
  --color-white: #ffffff;
  --color-muted: #c7ced8;
  --color-surface: #151a1e;

  --container-max: 1380px;
  --header-height: 88px;
  --header-height-scrolled: 72px;

  --section-space-y: 96px;

  --ease-smooth: cubic-bezier(.22, .61, .36, 1);
  --ease-sharp: cubic-bezier(.4, 0, .2, 1);
}

/* =========================================================
   02. Reset / Base
========================================================= */
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-bg);
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.container-xl {
  max-width: var(--container-max);
}

/* =========================================================
   03. Header
========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--header-height);
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid rgba(228, 231, 234, .68);
  box-shadow: 0 0 0 rgba(15, 23, 42, 0);
  backdrop-filter: blur(8px) saturate(115%);
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  transition:
    box-shadow .35s var(--ease-smooth),
    background-color .35s var(--ease-smooth),
    border-color .35s var(--ease-smooth),
    backdrop-filter .35s var(--ease-smooth);
}

.site-header.is-sticky {
  background: rgba(255, 255, 255, .98);
  border-bottom-color: rgba(214, 219, 224, .80);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .065);
  backdrop-filter: blur(10px) saturate(118%);
  -webkit-backdrop-filter: blur(10px) saturate(118%);
}

.site-header__inner {
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 28px;
  transition: min-height .3s var(--ease-smooth);
}

.site-header.is-sticky .site-header__inner {
  min-height: var(--header-height);
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: #0d1218;
  min-width: 176px;
  justify-self: start;
}

.brand__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
  letter-spacing: .02em;
}

.brand__text strong {
  font-size: 23px;
  font-weight: 800;
}

.brand__text small {
  margin-top: 4px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .20em;
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 31px;
  justify-self: center;
}

.desktop-nav > .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 31px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.desktop-nav .menu-item { position: relative; list-style: none; }
.desktop-nav .sub-menu {
  position: absolute;
  z-index: 60;
  top: 100%;
  left: -20px;
  min-width: 215px;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  background: #fff;
  box-shadow: 0 14px 32px rgba(15,35,43,.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.desktop-nav .menu-item:hover > .sub-menu,
.desktop-nav .menu-item:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.desktop-nav .sub-menu a { display:block; padding: 12px 20px; }
.desktop-nav .sub-menu a::after { display:none; }

.desktop-nav a {
  position: relative;
  padding: 33px 0;
  color: #303741;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: color .25s ease;
}

.site-header.is-sticky .desktop-nav a {
  padding-top: 33px;
  padding-bottom: 33px;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 24px;
  width: 0;
  height: 1px;
  background: var(--color-brand);
  transition: width .3s var(--ease-smooth);
}

.desktop-nav a:hover,
.desktop-nav a.is-active,
.desktop-nav .current-menu-item > a,
.desktop-nav a[aria-current="page"],
.desktop-nav .current-menu-ancestor > a {
  color: var(--color-brand);
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after,
.desktop-nav .current-menu-item > a::after,
.desktop-nav a[aria-current="page"]::after,
.desktop-nav .current-menu-ancestor > a::after {
  width: 100%;
}

.header-cta {
  justify-self: end;
  min-height: 52px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  flex: 0 0 auto;
  color: #fff;
  background: var(--color-brand);
  font-size: 14px;
  font-weight: 700;
  transition:
    background-color .25s ease,
    transform .25s ease;
}

.header-cta:hover {
  color: #fff;
  background: var(--color-brand-dark);
}

.header-cta i,
.btn-brand i,
.btn-outline-light-custom i,
.mobile-nav__cta i {
  transition: transform .25s var(--ease-smooth);
}

.header-cta:hover i,
.btn-brand:hover i,
.btn-outline-light-custom:hover i,
.mobile-nav__cta:hover i {
  transform: translateX(4px);
}

.menu-toggle {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 9px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

.menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #111;
  transition: transform .25s ease, opacity .25s ease;
}

.menu-toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
  display: none;
}

/* =========================================================
   04. Hero
========================================================= */
.hero-screen {
  height: calc(100svh - var(--header-height));
  min-height: 700px;
  display: flex;
  flex-direction: column;
  background: var(--color-graphite);
}

.hero {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  background: var(--color-graphite);
}

.hero-swiper {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

/* Let Swiper own wrapper/slide transforms.
   V2 positioned the wrapper and slides absolutely, which caused the
   fade slider to lose its active visual layer after initialization. */
.hero-swiper .swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-slide__bg {
  position: absolute;
  inset: -2%;
  background-image: var(--hg20-desktop-image, none);
  background-position: var(--hg20-desktop-focus, center center);
  background-size: cover;
  transform: scale(1);
  transition: transform 8.2s linear;
  will-change: transform;
}

.swiper-slide-active .hero-slide__bg {
  transform: scale(1.085);
}

.hero-slide__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(17, 24, 31, .88) 0%,
      rgba(18, 26, 34, .76) 35%,
      rgba(18, 26, 34, .49) 62%,
      rgba(18, 26, 34, .22) 100%
    ),
    linear-gradient(
      180deg,
      rgba(17, 24, 31, .05) 0%,
      rgba(17, 24, 31, .11) 57%,
      rgba(17, 24, 31, .31) 100%
    );
}

.hero-slide__content,
.hero__fixed {
  position: absolute;
  inset: 0;
  z-index: 4;
  height: 100%;
  pointer-events: none;
}

.hero-slide__content a,
.hero-slide__content button,
.hero__fixed a,
.hero__fixed button {
  pointer-events: auto;
}

.hero__fixed {
  z-index: 6;
}

.hero-copy {
  padding-left: 6px;
  max-width: 800px;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.eyebrow > span {
  display: block;
  width: 40px;
  height: 2px;
  background: var(--color-brand);
}

.hero-title {
  margin: 20px 0 24px;
  color: #fff;
  font-size: clamp(52px, 4.55vw, 76px);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.035em;
}

.hero-title em {
  color: var(--color-brand);
  font-style: normal;
  font-weight: inherit;
}

.hero-lead {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
}


.slide-anim {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .62s var(--ease-smooth),
    transform .62s var(--ease-smooth);
}

.swiper-slide-active .slide-anim {
  opacity: 1;
  transform: translateY(0);
}

.swiper-slide-active .slide-anim--1 { transition-delay: .18s; }
.swiper-slide-active .slide-anim--2 { transition-delay: .27s; }
.swiper-slide-active .slide-anim--3 { transition-delay: .38s; }
.swiper-slide-active .slide-anim--4 { transition-delay: .49s; }

/* In-page CTAs share a diagonal arrow; navigation CTAs keep the right arrow. */
.hg-section-arrow {
  flex: 0 0 auto;
  font-size: 14px;
  rotate: 45deg;
}

.hg-section-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.hg-section-link .hg-section-arrow,
.hg-section-link:hover {
  color: var(--color-brand-dark);
}

.hg-section-link:focus-visible {
  outline: 2px solid var(--color-brand-dark);
  outline-offset: 3px;
}

/* Shared editorial photo dialog. */
.hg-photo-dialog{width:min(1100px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #3a444e;background:#151d26;color:#fff;box-shadow:0 26px 80px rgba(0,0,0,.4)}
.hg-photo-dialog::backdrop{background:rgba(6,11,16,.86)}
.hg-photo-dialog__inner{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;max-height:calc(100dvh - 34px)}
.hg-photo-dialog__inner img{display:block;width:100%;height:auto;max-height:calc(100dvh - 104px);object-fit:contain}
.hg-photo-dialog__close{position:absolute;right:14px;top:14px;z-index:1;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:rgba(21,29,38,.9);color:white;font-size:28px;line-height:1;cursor:pointer}
.hg-photo-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;min-height:64px}
.hg-photo-dialog__footer>span{font-size:13px;color:#e3e8ec}
.hg-photo-dialog__actions{display:flex;align-items:center;gap:14px;flex:none}
.hg-photo-dialog__actions[hidden]{display:none}
.hg-photo-dialog__actions button{width:34px;height:34px;border:1px solid #53616c;background:transparent;color:#fff;font-size:19px;cursor:pointer}
.hg-photo-dialog__actions button:hover,.hg-photo-dialog__close:hover{background:var(--color-brand-dark)}
.hg-photo-dialog__actions span{font-size:12px;color:#e4e9ed;min-width:34px;text-align:center}
.hg-photo-dialog button:focus-visible{outline:2px solid #ff8792;outline-offset:3px}
@media(max-width:600px){
  .hg-photo-dialog__footer{padding:12px;gap:6px}
  .hg-photo-dialog__footer>span{font-size:11px}
}

.btn-brand,
.btn-outline-light-custom {
  min-height: 54px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  font-size: 14px;
  font-weight: 700;
  transition:
    color .25s ease,
    background-color .25s ease,
    border-color .25s ease;
}

.btn-brand {
  color: #fff;
  background: var(--color-brand);
  border: 1px solid var(--color-brand);
}

.btn-brand:hover {
  color: #fff;
  background: var(--color-brand-dark);
  border-color: var(--color-brand-dark);
}

.btn-outline-light-custom {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255,255,255,.02);
}

.btn-outline-light-custom:hover {
  color: #0f172a;
  background: #fff;
  border-color: #fff;
}

/* =========================================================
   05. Hero Capability Card
========================================================= */
.capability-card {
  width: min(100%, 386px);
  margin-left: auto;
  border: 1px solid rgba(255, 255, 255, .075);
  background: rgba(18, 23, 29, .47);
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .12);
}

.capability-card__main {
  padding: 30px 30px 27px;
}

.capability-card__label {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
}

.capability-card__main strong {
  display: block;
  font-size: 44px;
  line-height: 1;
  letter-spacing: -.03em;
}

.capability-card__main p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.64);
  font-size: 14px;
  line-height: 1.4;
}

.capability-card__row {
  min-height: 68px;
  padding: 0 30px;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

.capability-card__value {
  font-size: 21px;
  font-weight: 800;
  white-space: nowrap;
}

.capability-card__text {
  color: rgba(255, 255, 255, .66);
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
}

/* =========================================================
   06. Hero Controls
========================================================= */
.hero-control-shell {
  position: absolute;
  z-index: 9;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.hero-pagination {
  width: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  pointer-events: auto;
}

.hero-pagination .swiper-pagination-bullet {
  width: 24px;
  height: 2px;
  margin: 0 !important;
  border-radius: 0;
  background: rgba(255,255,255,.36);
  opacity: 1;
  transition:
    width .28s var(--ease-smooth),
    background-color .28s ease;
}

.hero-pagination .swiper-pagination-bullet-active {
  width: 40px;
  background: var(--color-brand);
}

/* =========================================================
   07. Initial Entrance Animation
========================================================= */
.hero-anim {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .8s var(--ease-smooth),
    transform .8s var(--ease-smooth);
}

body.is-ready .hero-anim {
  opacity: 1;
  transform: translateY(0);
}

body.is-ready .hero-anim--1 { transition-delay: .12s; }
body.is-ready .hero-anim--2 { transition-delay: .22s; }
body.is-ready .hero-anim--3 { transition-delay: .34s; }
body.is-ready .hero-anim--4 { transition-delay: .45s; }
body.is-ready .hero-anim--5 { transition-delay: .38s; }

/* =========================================================
   08. Mobile Capability
========================================================= */
.capability-mobile {
  padding: 28px 0;
  background: var(--color-graphite);
}

.capability-card--mobile {
  width: 100%;
  max-width: none;
  margin: 0;
  background: var(--color-graphite-2);
}

/* =========================================================
   09. Bottom Capability Strip
========================================================= */
.hero-stats {
  position: relative;
  z-index: 12;
  flex: 0 0 112px;
  background: #151a1e;
}

.stat-item {
  min-height: 112px;
  padding: 24px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #fff;
  border-right: 1px solid rgba(255, 255, 255, .10);
}

.stat-item:last-child {
  border-right: 0;
}

.stat-item__index {
  min-width: 42px;
  color: var(--color-brand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
}

.stat-item strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.25;
}

.stat-item span {
  display: block;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  line-height: 1.45;
}

/* =========================================================
   10. Responsive
========================================================= */
@media (max-width: 1399.98px) {
  .desktop-nav {
    gap: 22px;
  }

  .desktop-nav a {
    font-size: 13px;
  }

  .header-cta {
    padding-inline: 20px;
  }

  .hero-title {
    font-size: clamp(56px, 5vw, 76px);
  }
}

@media (max-width: 1199.98px) {
  :root {
    --header-height: 82px;
  }

  .site-header__inner {
    column-gap: 18px;
  }

  .desktop-nav {
    gap: 16px;
  }

  .desktop-nav a {
    font-size: 12px;
  }

  .brand {
    min-width: 150px;
  }

  .brand__text strong {
    font-size: 20px;
  }

  .header-cta {
    min-height: 48px;
    padding-inline: 16px;
    font-size: 12px;
  }

  .hero-screen {
    height: calc(100svh - var(--header-height));
    min-height: 660px;
  }

  .hero-title {
    font-size: 60px;
  }

}

@media (max-width: 991.98px) {
  :root {
    --header-height: 74px;
    --header-height-scrolled: 66px;
  }

  .site-header__inner {
    min-height: var(--header-height);
  }

  .site-header__inner {
    grid-template-columns: 1fr auto;
  }

  .desktop-nav,
  .header-cta {
    display: none;
  }

  .menu-toggle {
    display: flex;
    justify-self: end;
  }

  .mobile-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: block;
    max-height: 0;
    overflow: hidden;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 20px 40px rgba(15,23,42,.10);
    transition:
      max-height .35s var(--ease-smooth),
      opacity .25s ease,
      visibility .25s ease;
  }

  .mobile-menu.is-open {
    max-height: 620px;
    opacity: 1;
    visibility: visible;
  }

  .mobile-nav {
    padding: 13px 0 24px;
    display: flex;
    flex-direction: column;
  }

  .mobile-nav .menu { margin:0; padding:0; list-style:none; }
  .mobile-nav .menu-item { list-style:none; }
  .mobile-nav .sub-menu { padding: 0 0 0 18px; margin:0; list-style:none; }
  .mobile-nav .menu a { display:block; }
  .mobile-nav a {
    padding: 12px 4px;
    color: #1c2734;
    font-size: 15px;
    font-weight: 600;
    border-bottom: 1px solid #eef1f4;
  }

  .mobile-nav__cta {
    margin-top: 16px;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 18px !important;
    color: #fff !important;
    background: var(--color-brand);
    border-bottom: 0 !important;
  }

  .hero-screen {
    height: auto;
    min-height: 0;
  }

  .hero {
    height: min(760px, calc(100svh - var(--header-height)));
    min-height: 650px;
  }

  .hero-slide__content,
  .hero__fixed {
    height: 100%;
    min-height: 650px;
  }

  .hero-copy {
    max-width: 760px;
    padding-right: 25px;
  }

  .hero-title {
    font-size: clamp(52px, 7vw, 70px);
  }


  .stat-item {
    min-height: 108px;
    justify-content: flex-start;
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  .stat-item:nth-child(2) {
    border-right: 0;
  }

  .stat-item:nth-child(3),
  .stat-item:nth-child(4) {
    border-bottom: 0;
  }
}

@media (max-width: 767.98px) {
  .hero-control-shell {
    bottom: 18px;
  }

  .hero-pagination {
    gap: 6px;
  }

  .hero-pagination .swiper-pagination-bullet {
    width: 20px;
  }

  .hero-pagination .swiper-pagination-bullet-active {
    width: 34px;
  }


  .hero-slide__content .container-xl,
  .hero-control-shell {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero-slide__content .row {
    align-items: center !important;
  }

  .hero-copy {
    padding-top: 12px;
  }
  .brand__text strong {
    font-size: 18px;
  }

  .brand__text small {
    font-size: 8px;
  }

  .hero {
    height: 675px;
    min-height: 675px;
  }

  .hero-slide__content,
  .hero__fixed {
    height: 100%;
    min-height: 675px;
  }

  .hero-slide__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(17,24,31,.94) 0%,
        rgba(17,24,31,.86) 66%,
        rgba(17,24,31,.58) 100%
      ),
      linear-gradient(
        180deg,
        rgba(17,24,31,.10),
        rgba(17,24,31,.34)
      );
  }

  .hero-copy {
    max-width: 650px;
    padding-right: 0;
  }

  .eyebrow {
    font-size: 10px;
    letter-spacing: .06em;
  }

  .eyebrow > span {
    width: 30px;
  }

  .hero-title {
    margin-top: 16px;
    margin-bottom: 20px;
    font-size: clamp(39px, 10vw, 50px);
    line-height: 1.01;
    letter-spacing: -.035em;
  }

  .hero-lead {
    max-width: 560px;
    font-size: 14px;
    line-height: 1.6;
  }

  .hero-actions {
    width: 100%;
    max-width: 408px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin-top: 22px;
  }

  .btn-brand,
  .btn-outline-light-custom {
    min-height: 48px;
    padding-inline: 14px;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
  }


  .capability-mobile {
    padding: 16px 18px 18px;
    background: var(--color-bg-soft);
  }

  .capability-card--mobile {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    color: var(--color-ink);
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .capability-card--mobile .capability-card__main {
    grid-column: 1 / -1;
    margin-bottom: 8px;
    padding: 0 12px 13px;
    text-align: center;
    border-bottom: 1px solid var(--color-line);
  }

  .capability-card--mobile .capability-card__label {
    margin-bottom: 10px;
    color: var(--color-text-muted);
    font-size: 10px;
    letter-spacing: .09em;
  }

  .capability-card--mobile .capability-card__main strong {
    color: var(--color-ink);
    font-size: 32px;
    line-height: 1;
  }

  .capability-card--mobile .capability-card__main p {
    margin-top: 9px;
    color: var(--color-text-muted);
    font-size: 13px;
  }

  .capability-card--mobile .capability-card__row {
    min-height: 68px;
    padding: 8px 8px 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    border-top: 0;
    border-right: 1px solid var(--color-line);
  }

  .capability-card--mobile .capability-card__row:last-child {
    grid-column: auto;
    border-right: 0;
  }

  .capability-card--mobile .capability-card__value {
    display: block;
    margin-bottom: 9px;
    color: var(--color-brand);
    font-size: 20px;
    line-height: 1.1;
  }

  .capability-card--mobile .capability-card__text {
    display: block;
    white-space: normal;
    max-width: 105px;
    color: var(--color-text-muted);
    font-size: 10px;
    line-height: 1.34;
  }

  .stat-item {
    min-height: 98px;
    padding: 16px 14px;
    align-items: flex-start;
    gap: 9px;
  }

  .stat-item__index {
    min-width: 28px;
    font-size: 11px;
  }

  .stat-item strong {
    font-size: 13px;
    line-height: 1.3;
  }

  .stat-item span {
    font-size: 11px;
    line-height: 1.4;
  }
}

@media (max-width: 389.98px) {

  .hero-actions {
    grid-template-columns: 1fr;
    max-width: 290px;
  }

  .btn-brand,
  .btn-outline-light-custom {
    min-height: 48px;
  }



  .hero {
    height: 700px;
    min-height: 700px;
  }

  .hero-slide__content,
  .hero__fixed {
    height: 100%;
    min-height: 700px;
  }

  .hero-title {
    font-size: 39px;
  }

  .hero-lead {
    font-size: 14px;
  }


  .stat-item {
    padding-inline: 14px;
  }

  .stat-item span {
    font-size: 11px;
  }
}



@media (max-width: 359.98px) {
  .product-grid {
    grid-template-columns: 1fr;
  }

  .solution-card--compact {
    grid-column: 1 / -1;
  }

  .footer-main {
    grid-template-columns: 1fr;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom > .footer-legal {
    grid-template-columns: 1fr;
  }

  .knowledge-card,
  .knowledge-card:last-child {
    grid-template-columns: 92px minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .hero-slide__bg {
    background-image: var(--hg20-mobile-image, var(--hg20-desktop-image, none));
    background-position: var(--hg20-mobile-focus, var(--hg20-desktop-focus, center center));
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .hero-slide__bg {
    transform: scale(1.03) !important;
  }
}




/* =========================================================
   11. Whole-site visual direction
   Bright / clean / precise / industrial.
   These tokens will be reused by the following homepage modules.
========================================================= */

.text-muted-site {
  color: var(--color-text-muted);
}

.rule-light {
  border-color: var(--color-line);
}




/* =========================================================
   Vertical Rhythm
   Standard homepage content sections share --section-space-y.
   Hero, Final CTA and Footer intentionally remain exceptions.
========================================================= */

/* =========================================================
   12. Shared Homepage Sections
========================================================= */
.section {
  position: relative;
  padding-block: var(--section-space-y);
}

.section-light {
  background: var(--color-bg);
}

.section-soft {
  background: var(--color-bg-soft);
}

.section-head {
  margin-bottom: 58px;
}

.section-head--split {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(340px, .9fr);
  gap: 64px;
  align-items: end;
}

.section-head__side {
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.section-head__side p,
.production-copy__lead,
.capabilities-intro > p,
.process-head > p {
  margin: 0 0 25px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.75;
}

.section-head__side p,
.capabilities-intro > p,
.process-head > p {
  width: 100%;
  max-width: none;
}

.section-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 18px;
  color: var(--color-brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.section-kicker > span {
  width: 32px;
  height: 1px;
  background: currentColor;
}

.section-kicker--dark {
  color: #ef5965;
}

.section-title {
  margin: 0;
  max-width: 780px;
  color: var(--color-ink);
  font-size: clamp(38px, 3.05vw, 50px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.section-title--xl {
  max-width: 960px;
  font-size: clamp(40px, 3.7vw, 58px);
}

.section-title--dark {
  color: #fff;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 700;
}

.text-link i {
  color: var(--color-brand);
  transition: transform .25s var(--ease-smooth);
}

.text-link:hover {
  color: var(--color-brand);
}

.text-link:hover i {
  transform: translateX(4px);
}


a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
}

.image-frame {
  position: relative;
  overflow: hidden;
  background: #e8eaec;
}

.image-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .8s var(--ease-smooth);
}

.image-frame:hover img {
  transform: scale(1.025);
}

.media-label {
  position: absolute;
  left: 22px;
  bottom: 22px;
  padding: 8px 11px;
  color: #fff;
  background: rgba(20,26,33,.72);
  backdrop-filter: blur(8px);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .72s var(--ease-smooth),
    transform .72s var(--ease-smooth);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   13. About
========================================================= */

.about-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr);
  gap: 42px;
  align-items: stretch;
}

.about-col {
  min-width: 0;
}

.about-col--right {
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.about-title {
  max-width: none;
  width: 100%;
  margin-bottom: 34px;
  font-size: clamp(40px, 3.55vw, 57px);
  line-height: 1.03;
  letter-spacing: -.04em;
}

.about-primary {
  height: 340px;
}

.about-intro {
  width: 100%;
  max-width: none;
  margin: 0 0 28px;
}

.about-intro p {
  margin: 0 0 20px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.72;
}

.about-head__cta {
  min-height: 50px;
  padding-inline: 21px;
}

.about-secondary {
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  overflow: hidden;
}

.about-secondary img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
  object-position: center;
}

.about-points--compact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 16px;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.about-points--compact .about-point {
  min-height: 66px;
  padding: 16px 14px 15px 0;
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid var(--color-line);
}

.about-points--compact .about-point:nth-child(odd) {
  padding-right: 20px;
  border-right: 1px solid var(--color-line);
}

.about-points--compact .about-point:nth-child(even) {
  padding-left: 20px;
}

.about-points--compact .about-point:nth-last-child(-n+2) {
  border-bottom: 0;
}

.about-point span {
  flex: 0 0 auto;
  color: var(--color-brand);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.about-point strong {
  color: var(--color-ink);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 650;
}

/* =========================================================
   14. Products
========================================================= */
.section-products .section-head {
  margin-bottom: 44px;
}

.section-products .section-title {
  max-width: none;
}

.section-products .section-head__side {
  align-self: end;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  background: transparent;
  border: 0;
}

.product-card {
  min-width: 0;
  padding: 0 0 24px;
  color: var(--color-ink);
  background: transparent;
  border-bottom: 1px solid var(--color-line);
  transition:
    transform .3s var(--ease-smooth);
}

.product-card:hover {
  color: var(--color-ink);
  transform: translateY(-2px);
}

.product-card__image {
  aspect-ratio: 4 / 3;
  height: auto;
  overflow: hidden;
  background: #eceeef;
}

.product-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .7s var(--ease-smooth);
}

.product-card:hover .product-card__image img {
  transform: scale(1.045);
}

.product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0 12px;
  color: var(--color-brand);
  font-size: 11px;
  font-weight: 800;
}

.product-card__meta i {
  transition: transform .25s var(--ease-smooth);
}

.product-card:hover .product-card__meta i {
  transform: translateX(4px);
}

.product-card h3 {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.3;
  font-weight: 700;
}

.product-card p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.55;
}

/* =========================================================
   15. Capabilities
========================================================= */
.section-capabilities {
  color: #fff;
  background: #10161d;
}

.capabilities-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(360px, .92fr);
  gap: 56px;
  align-items: end;
  margin-bottom: 52px;
}

.capabilities-intro .section-title--dark {
  font-size: clamp(40px, 3.25vw, 52px);
  line-height: .98;
  letter-spacing: -.03em;
}

.capabilities-intro > p {
  color: rgba(255,255,255,.74);
  font-size: 16px;
  line-height: 1.72;
  margin-bottom: 0;
}

.capabilities-layout {
  display: grid;
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr);
  gap: 0;
  align-items: stretch;
}

.capabilities-visual {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: #0c1218;
}

.capabilities-visual__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.018);
  transition:
    opacity .42s ease,
    transform .72s var(--ease-smooth);
  pointer-events: none;
}

.capabilities-visual__panel.is-active {
  opacity: 1;
  transform: scale(1);
}

.capabilities-visual__panel img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.86) contrast(1.08);
}

.capabilities-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(12,16,22,.02), rgba(12,16,22,.16));
}

.capability-list {
  border-top: 1px solid rgba(255,255,255,.13);
}

.capability-list__item {
  width: 100%;
  min-height: 108px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 52px;
  column-gap: 14px;
  align-items: center;
  padding: 18px 10px 18px 8px;
  color: inherit;
  text-align: left;
  font: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition:
    background-color .25s ease,
    border-color .25s ease;
}

.capability-list__item:hover,
.capability-list__item:focus-visible {
  background: rgba(255,255,255,.03);
  outline: none;
}

.capability-list__item.is-active {
  background: rgba(255,255,255,.045);
  border-bottom-color: rgba(255,255,255,.20);
}

.capability-list__no {
  position: relative;
  left: 6px;
  color: rgba(239,89,101,.78);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .16em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  transition:
    color .25s ease;
}

.capability-list__item:hover .capability-list__no,
.capability-list__item.is-active .capability-list__no {
  color: #ef5965;
}

.capability-list__copy {
  min-width: 0;
  display: block;
}

.capability-list__title {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.88);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.18;
  transition: color .25s ease;
}

.capability-list__text {
  display: block;
  max-width: 680px;
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.68;
  transition: color .25s ease;
}

.capability-list__item:hover .capability-list__title,
.capability-list__item.is-active .capability-list__title {
  color: #fff;
}

.capability-list__item.is-active .capability-list__text {
  color: rgba(255,255,255,.68);
}

.capability-list__arrow {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  color: rgba(255,255,255,.60);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  font-size: 11px;
  transition:
    color .25s ease,
    border-color .25s ease,
    background-color .25s ease,
    transform .25s var(--ease-smooth);
}

.capability-list__item:hover .capability-list__arrow,
.capability-list__item:focus-visible .capability-list__arrow {
  color: #fff;
  border-color: rgba(255,255,255,.44);
  transform: translateX(3px);
}

.capability-list__item.is-active .capability-list__arrow {
  color: #fff;
  border-color: rgba(239,89,101,.70);
  background: rgba(239,89,101,.08);
}

/* =========================================================
   16. Solutions
========================================================= */
.solution-grid--editorial {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.solution-card {
  position: relative;
  min-width: 0;
  color: var(--color-ink);
  background: #fff;
  border: 1px solid rgba(220,224,228,.82);
  transition:
    transform .28s var(--ease-smooth),
    border-color .28s ease,
    box-shadow .28s ease;
}

.solution-card:hover {
  color: var(--color-ink);
  transform: translateY(-3px);
  border-color: rgba(199,51,66,.26);
  box-shadow: 0 18px 40px rgba(20,28,36,.055);
}

.solution-card--feature {
  min-height: 268px;
  padding: 28px;
  grid-column: span 2;
  display: flex;
  flex-direction: column;
}

.solution-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 46px;
}

.solution-card__no {
  color: var(--color-brand);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
}

.solution-card__type {
  color: #929aa4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.solution-card__body {
  max-width: 500px;
}

.solution-card__body h3,
.solution-card--compact h3 {
  margin: 0 0 12px;
  color: var(--color-ink);
  font-weight: 650;
  line-height: 1.25;
}

.solution-card__body h3 {
  font-size: 25px;
}

.solution-card__body p,
.solution-card--compact p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.65;
}

.solution-card__link {
  margin-top: auto;
  padding-top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--color-ink);
  font-size: 12px;
  font-weight: 700;
}

.solution-card__link i,
.solution-card--compact > i {
  color: var(--color-brand);
  transition: transform .25s var(--ease-smooth);
}

.solution-card:hover .solution-card__link i,
.solution-card--compact:hover > i {
  transform: translateX(4px);
}

.solution-card--compact {
  min-height: 164px;
  padding: 24px;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  align-content: start;
}

.solution-card--compact .solution-card__no {
  margin-bottom: 22px;
}

.solution-card--compact h3 {
  padding-right: 25px;
  font-size: 18px;
}

.solution-card--compact > i {
  position: absolute;
  right: 22px;
  bottom: 22px;
  font-size: 10px;
}

/* =========================================================
   18. Production / Quality
========================================================= */
.section-production {
  background: var(--color-bg);
}

.production-layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 52px;
  align-items: stretch;
}

.production-image {
  min-height: 0;
  height: auto;
  overflow: hidden;
}

.production-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.production-copy__lead {
  max-width: 700px;
  margin-top: 22px;
  margin-bottom: 30px;
}

.production-list {
  border-top: 1px solid var(--color-line);
}

.production-list > div {
  display: grid;
  grid-template-columns: 44px 210px 1fr;
  gap: 18px;
  padding: 17px 0;
  border-bottom: 1px solid var(--color-line);
}

.production-list span {
  color: var(--color-brand);
  font-size: 11px;
  font-weight: 800;
}

.production-list strong {
  font-size: 14px;
}

.production-list p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.55;
}

/* =========================================================
   19. Process
========================================================= */
.section-process {
  color: #fff;
  background: #11171d;
}

.process-head {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(340px, .9fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 48px;
}

.process-head > p {
  color: rgba(255,255,255,.68);
  margin-bottom: 4px;
  font-size: 16px;
  line-height: 1.72;
}

.process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.008);
}

.process-step {
  position: relative;
  min-height: 238px;
  padding: 30px 28px 28px;
  border-right: 1px solid rgba(255,255,255,.13);
}

.process-step:last-child {
  border-right: 0;
}

.process-step::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 28px;
  width: 8px;
  height: 8px;
  background: var(--color-brand);
}

.process-step__meta {
  min-height: 18px;
  margin-bottom: 46px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #ef5965;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .10em;
}

.process-step__meta span,
.process-step__meta b {
  font: inherit;
}

.process-step__meta span::after {
  content: " /";
}

.process-step h3 {
  margin: 0 0 13px;
  color: #fff;
  font-size: 23px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.process-step p {
  max-width: 235px;
  margin: 0;
  color: rgba(255,255,255,.60);
  font-size: 13px;
  line-height: 1.65;
}

/* =========================================================
   21. Knowledge
========================================================= */
.knowledge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.knowledge-card {
  min-width: 0;
  color: var(--color-ink);
  transition: transform .28s var(--ease-smooth);
}

.knowledge-card:hover {
  color: var(--color-ink);
  transform: translateY(-2px);
}

.knowledge-card__image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e9ebed;
}

.knowledge-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .65s var(--ease-smooth);
}

.knowledge-card:hover .knowledge-card__image img {
  transform: scale(1.035);
}

.knowledge-card__body {
  padding: 16px 2px 0;
}

.knowledge-type {
  display: block;
  margin-bottom: 9px;
  color: var(--color-brand);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
}

.knowledge-card h3 {
  margin: 0 0 15px;
  color: var(--color-ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.42;
}

.knowledge-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-ink);
  font-size: 11px;
  font-weight: 700;
}

.knowledge-card__link i {
  color: var(--color-brand);
  transition: transform .25s var(--ease-smooth);
}

.knowledge-card:hover .knowledge-card__link i {
  transform: translateX(4px);
}

/* =========================================================
   22. Final CTA
========================================================= */
.final-cta {
  position: relative;
  min-height: 560px;
  padding-block: 64px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #10161d;
}

.final-cta__bg {
  position: absolute;
  inset: 0;
  background:
    url("../images/generated/factory-line-automation.jpg")
    center 48% / cover no-repeat;
}

.final-cta__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(11,16,22,.94) 0%, rgba(11,16,22,.82) 49%, rgba(11,16,22,.55) 100%);
}

.final-cta .container-xl {
  position: relative;
  z-index: 2;
}

.final-cta__content {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, .58fr);
  gap: 70px;
  align-items: center;
}

.final-cta__main {
  min-width: 0;
}

.final-cta h2 {
  max-width: 790px;
  margin: 0 0 28px;
  font-size: clamp(40px, 3.55vw, 56px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.042em;
}

.final-cta p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.72;
}

.final-cta__actions {
  margin-top: 38px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.btn-brand--large,
.btn-outline-light-custom--large {
  min-width: 220px;
  min-height: 58px;
  justify-content: space-between;
}

.final-cta__contact {
  position: relative;
  min-width: 0;
  padding: 6px 0 0 34px;
  border-left: 1px solid var(--color-brand);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-self: end;
  gap: 30px;
}

.final-cta__contact-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.final-cta__contact-label {
  color: rgba(255,255,255,.66);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.45;
  text-transform: uppercase;
}

.final-cta__contact-value {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #fff;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.015em;
  transition: color .2s ease;
}

.final-cta__contact-value::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -5px;
  height: 1px;
  background: var(--color-brand);
  transition: right .28s var(--ease-smooth);
}

.final-cta__contact-value:hover {
  color: #fff;
}

.final-cta__contact-value:hover::after {
  right: 0;
}

/* =========================================================
   23. Footer
========================================================= */
.site-footer {
  padding: 76px 0 26px;
  color: #fff;
  background: #0d1217;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(0, 1fr));
  column-gap: clamp(26px, 3.4vw, 64px);
  padding-bottom: 62px;
}

.brand--footer {
  margin-bottom: 26px;
  color: #fff;
}

.brand--footer .brand__text strong {
  font-size: 23px;
}

.footer-main > * { min-width: 0; }

.footer-brand p {
  max-width: 390px;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.72;
}

 .footer-col .menu, .footer-legal .menu { margin:0; padding:0; list-style:none; }
 .footer-col .menu-item, .footer-legal .menu-item { list-style:none; }
 .footer-legal .menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 24px; }
 .brand__logo { display:block; width:auto; max-width:220px; max-height:48px; height:auto; object-fit:contain; }

.footer-col h3 {
  margin: 2px 0 24px;
  color: rgba(255,255,255,.94);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.footer-col a {
  display: block;
  width: fit-content;
  margin-bottom: 13px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.45;
  transition: color .2s ease, transform .2s var(--ease-smooth);
}

.footer-col a:hover {
  color: #fff;
  transform: translateX(2px);
}


.footer-location {
  margin-top: 24px;
}

.footer-location strong {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.94);
  font-size: 13px;
  font-weight: 650;
}

.footer-location p {
  max-width: 390px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.6;
}

.footer-bottom {
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  border-top: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.38);
  font-size: 11px;
}

.footer-bottom > .footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 24px;
}

.footer-bottom a {
  color: rgba(255,255,255,.48);
  transition: color .2s ease;
}

.footer-bottom a:hover {
  color: rgba(255,255,255,.82);
}

/* =========================================================
   24. Homepage Responsive
========================================================= */
@media (max-width: 1199.98px) {
  :root {
    --section-space-y: 80px;
  }

  .section-head--split,
  .capabilities-intro,
  .process-head {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr);
    gap: 42px;
  }

  .capabilities-layout,
  .production-layout {
    gap: 0;
  }

  .product-card__image {
    height: auto;
  }

  .production-list > div {
    grid-template-columns: 40px 180px 1fr;
  }
}

@media (max-width: 991.98px) {
  :root {
    --section-space-y: 72px;
  }

  .section-head--split,
  .capabilities-intro,
  .process-head,
  .final-cta__content {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .section-head__side {
    max-width: 680px;
    justify-self: start;
  }

  .section-title,
  .section-title--xl {
    font-size: clamp(36px, 5.2vw, 48px);
  }


  .product-grid,
  .solution-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .capabilities-layout,
  .production-layout {
    grid-template-columns: 1fr;
  }

  .capabilities-layout {
    gap: 22px;
  }

  .capabilities-visual {
    height: 470px;
  }

  .production-image {
    min-height: 440px;
  }

  .production-image img {
    height: 440px;
  }

  .process-step:nth-child(2) {
    border-right: 0;
  }

  .article-grid {
    gap: 14px;
  }

  .final-cta__actions {
    min-width: 0;
    max-width: 360px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --section-space-y: 56px;
  }

  .section-head {
    margin-bottom: 38px;
  }

  .section-head--split {
    gap: 22px;
  }

  .section-title,
  .section-title--xl {
    font-size: 34px;
    line-height: 1.06;
  }

  .section-head__side p,
  .production-copy__lead,
  .capabilities-intro > p,
  .process-head > p {
    font-size: 14px;
    line-height: 1.65;
  }


  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product-card {
    min-width: 0;
    padding-bottom: 16px;
  }

  .product-card__image {
    height: auto;
  }

  .product-card__meta {
    padding: 11px 0 8px;
  }

  .product-card h3 {
    margin-bottom: 0;
    font-size: 15.5px;
    line-height: 1.3;
  }

  .product-card p {
    display: none;
  }

  .capabilities-intro {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 34px;
  }

  .capabilities-intro > p {
    font-size: 15px;
  }

  .capabilities-layout {
    gap: 14px;
  }

  .capabilities-visual {
    height: 248px;
  }

  .capability-list__item {
    min-height: 64px;
    grid-template-columns: 38px minmax(0, 1fr) 34px;
    column-gap: 10px;
    padding: 10px 6px 10px 2px;
  }

  .capability-list__item.is-active {
    min-height: 88px;
    padding-top: 13px;
    padding-bottom: 13px;
  }

  .capability-list__no {
    font-size: 11px;
  }

  .capability-list__title {
    margin-bottom: 0;
    font-size: 16.5px;
    line-height: 1.24;
  }

  .capability-list__text {
    display: none;
  }

  .capability-list__item.is-active .capability-list__title {
    margin-bottom: 5px;
  }

  .capability-list__item.is-active .capability-list__text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-top: 0;
    color: rgba(255,255,255,.68);
    font-size: 11.5px;
    line-height: 1.46;
  }

  .capability-list__arrow {
    width: 30px;
    height: 30px;
    font-size: 9px;
  }


  .solution-grid {
    grid-template-columns: 1fr;
  }

  .solution-card {
    min-height: 240px;
    padding: 24px;
  }

  .solution-card__icon {
    margin-bottom: 28px;
  }

  .production-list > div {
    grid-template-columns: 28px 1fr;
    gap: 7px 12px;
    padding: 15px 0;
  }

  .production-list > div span {
    font-size: 10px;
  }

  .production-list > div strong {
    font-size: 14.5px;
    line-height: 1.34;
  }

  .production-list > div p {
    grid-column: 2;
    font-size: 12px;
    line-height: 1.52;
  }






}

@media (max-width: 479.98px) {
  :root {
    --section-space-y: 48px;
  }

  .section-title,
  .section-title--xl {
    font-size: 31px;
  }

  .product-card__image {
    height: auto;
  }

  .capabilities-visual {
    height: 220px;
  }

  .capability-list__item {
    grid-template-columns: 34px minmax(0, 1fr) 32px;
    column-gap: 8px;
    padding-left: 0;
    padding-right: 2px;
  }

  .capability-list__title {
    font-size: 15px;
  }

  .capability-list__arrow {
    width: 28px;
    height: 28px;
  }
}


/* =========================================================
   25. About Responsive
   Consolidated responsive rules for this module only.
========================================================= */
@media (max-width: 1199.98px) {
  .about-two-col {
    grid-template-columns: minmax(0, 1.56fr) minmax(285px, .84fr);
    gap: 30px;
  }

  .section-about .about-title {
    font-size: clamp(40px, 4vw, 53px);
  }

  .about-primary {
    height: 315px;
  }
}

@media (max-width: 991.98px) {
  .about-two-col {
    grid-template-columns: minmax(0, 1.3fr) minmax(255px, .7fr);
    gap: 22px;
  }

  .section-about .about-title {
    font-size: clamp(38px, 5vw, 48px);
  }

  .about-primary {
    height: 285px;
  }

  .about-intro p {
    font-size: 15px;
  }
}

@media (max-width: 767.98px) {
  .about-two-col {
    display: block;
  }

  .about-col--left,
  .about-col--right {
    width: 100%;
  }

  .section-about .section-kicker {
    margin-bottom: 15px;
  }

  .section-about .about-title {
    margin-bottom: 20px;
    font-size: 35px;
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  .about-primary {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .about-primary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .about-points--compact {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .about-points--compact .about-point,
  .about-points--compact .about-point:nth-child(odd),
  .about-points--compact .about-point:nth-child(even) {
    min-height: 60px;
    padding: 12px 0;
    gap: 14px;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }

  .about-points--compact .about-point:last-child {
    border-bottom: 0;
  }

  .about-point span {
    min-width: 28px;
    font-size: 10px;
  }

  .about-point strong {
    font-size: 15px;
    line-height: 1.4;
  }

  .about-col--right {
    display: block;
    margin-top: 22px;
  }

  .about-intro {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .about-intro p {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.68;
  }

  .about-head__cta {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    gap: 10px;
    padding-inline: 20px;
    font-size: 13px;
    font-weight: 700;
  }

  .about-head__cta i {
    font-size: 11px;
  }

  .about-secondary {
    display: none;
  }
}

@media (max-width: 479.98px) {
  .section-about .about-title {
    font-size: 32px;
  }

  .about-primary {
    aspect-ratio: 1.22 / 1;
  }

  .about-points--compact .about-point,
  .about-points--compact .about-point:nth-child(odd),
  .about-points--compact .about-point:nth-child(even) {
    min-height: 58px;
    padding: 11px 0;
  }

  .about-col--right {
    margin-top: 20px;
  }
}



@media (max-width: 359.98px) {
  .capability-card--mobile {
    grid-template-columns: 1fr;
  }

  .capability-card--mobile .capability-card__row {
    min-height: 72px;
    padding: 13px 0;
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }

  .capability-card--mobile .capability-card__row:last-child {
    border-bottom: 0;
  }

  .capability-card--mobile .capability-card__text {
    max-width: none;
  }
}

/* =========================================================
   26. Design-pass responsive refinements
========================================================= */
@media (max-width: 1199.98px) {
  .solution-grid--editorial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-card--feature,
  .solution-card--compact {
    grid-column: span 1;
  }

  .solution-card--compact {
    min-height: 210px;
  }

  .production-layout {
    gap: 42px;
  }

}

@media (max-width: 767.98px) {
  .solution-grid--editorial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .solution-card--feature {
    grid-column: 1 / -1;
    min-height: 176px;
    padding: 18px 18px 17px;
    box-shadow: none;
  }

  .solution-card__top {
    margin-bottom: 19px;
  }

  .solution-card__body h3 {
    font-size: 20px;
  }

  .solution-card--feature .solution-card__body p {
    font-size: 12px;
    line-height: 1.52;
  }

  .solution-card--compact {
    grid-column: span 1;
    min-height: 132px;
    padding: 14px 10px 15px;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--color-line);
    box-shadow: none;
  }

  .solution-card--compact:hover {
    transform: none;
    box-shadow: none;
  }

  .solution-card--compact .solution-card__no {
    margin-bottom: 14px;
  }

  .solution-card--compact h3 {
    padding-right: 12px;
    font-size: 15.5px;
    line-height: 1.28;
  }

  .solution-card--compact p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 11px;
    line-height: 1.42;
  }

  .solution-card--compact > i {
    right: 14px;
    bottom: 14px;
  }

  .production-image,
  .production-image img {
    min-height: 260px;
    height: 260px;
  }
}



@media (max-width: 767.98px) {
  .final-cta__brief {
    margin-top: 22px;
  }

  .final-cta__brief span {
    font-size: 9px;
  }
}


/* Process panel responsive refinements */
@media (max-width: 991.98px) {
  .process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-step {
    min-height: 220px;
  }

  .process-step:nth-child(2n) {
    border-right: 0;
  }

  .process-step:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.13);
  }

  .process-step__meta {
    margin-bottom: 36px;
  }
}

@media (max-width: 767.98px) {
  .process-head {
    margin-bottom: 28px;
  }

  .process-steps {
    position: relative;
    display: block;
    padding-left: 20px;
    border: 0;
    background: transparent;
  }

  .process-steps::before {
    content: "";
    position: absolute;
    top: 7px;
    bottom: 8px;
    left: 4px;
    width: 1px;
    background: rgba(255,255,255,.18);
  }

  .process-step,
  .process-step:nth-child(3) {
    position: relative;
    min-height: 0;
    padding: 0 0 25px 20px;
    border: 0;
  }

  .process-step:last-child {
    padding-bottom: 0;
  }

  .process-step::before {
    top: 4px;
    left: -20px;
    width: 9px;
    height: 9px;
  }

  .process-step__meta {
    min-height: 0;
    margin-bottom: 9px;
    font-size: 9.5px;
  }

  .process-step h3 {
    margin-bottom: 7px;
    font-size: 19.5px;
  }

  .process-step p {
    max-width: 520px;
    font-size: 12.5px;
    line-height: 1.55;
  }
}


/* Compact Knowledge responsive */
@media (max-width: 991.98px) {
  .knowledge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .knowledge-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 9px);
  }
}

@media (max-width: 767.98px) {
  .knowledge-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .knowledge-card,
  .knowledge-card:last-child {
    grid-column: auto;
    max-width: none;
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    min-height: 118px;
    align-items: stretch;
    border-bottom: 1px solid var(--color-line);
  }

  .knowledge-card__image {
    height: 118px;
    aspect-ratio: auto;
  }

  .knowledge-card__body {
    min-width: 0;
    padding: 8px 0 10px 14px;
    display: flex;
    flex-direction: column;
  }

  .knowledge-type {
    margin-bottom: 6px;
    font-size: 8px;
  }

  .knowledge-card h3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-bottom: 8px;
    font-size: 14.5px;
    line-height: 1.34;
  }

  .knowledge-card__link {
    margin-top: auto;
    font-size: 10.5px;
  }
}

/* =========================================================
   28. Final CTA + Footer refined responsive
========================================================= */
@media (max-width: 1199.98px) {
  .final-cta__content {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 48px;
  }

  .footer-main {
    grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: 38px;
  }
}

@media (max-width: 991.98px) {
  .final-cta {
    min-height: 580px;
  }

  .final-cta__contact {
    align-self: start;
  }

  .final-cta__content {
    grid-template-columns: 1fr;
  }

  .final-cta h2 {
    max-width: 760px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 42px 28px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-brand p {
    max-width: 560px;
  }
}

@media (max-width: 767.98px) {
  .final-cta {
    min-height: 0;
    padding: 64px 0 62px;
  }

  .final-cta__overlay {
    background: rgba(11,16,22,.86);
  }

  .final-cta__content {
    gap: 36px;
  }

  .final-cta h2 {
    font-size: 34px;
    line-height: 1.05;
    font-weight: 500;
  }

  .final-cta p {
    font-size: 13px;
    line-height: 1.6;
  }

  .final-cta__actions {
    width: 100%;
    max-width: none;
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
  }

  .btn-brand--large,
  .btn-outline-light-custom--large {
    width: 100%;
    min-width: 0;
    min-height: 56px;
  }

  .final-cta__contact {
    max-width: none;
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(216,48,65,.72);
    gap: 22px;
  }

  .final-cta__contact-label {
    font-size: 9px;
  }

  .site-footer {
    padding-top: 48px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 30px 22px;
    padding-bottom: 38px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-col h3 {
    margin-bottom: 18px;
    font-size: 13px;
  }

  .footer-col a {
    margin-bottom: 10px;
    font-size: 12.5px;
    line-height: 1.5;
  }

  .footer-brand p,
  .footer-location p {
    font-size: 12.5px;
    line-height: 1.6;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 18px;
    padding-top: 20px;
  }

  .footer-bottom > .footer-legal {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: 9px 18px;
  }

  .footer-bottom .footer-legal .menu {
    justify-content: flex-start;
  }

  .footer-bottom a {
    line-height: 1.45;
  }
}

@media (max-width: 479.98px) {
  .final-cta h2 {
    font-size: 31px;
  }

  .final-cta__contact {
    padding-left: 0;
  }

  .final-cta__contact-value {
    font-size: 18px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 26px 18px;
  }

  .footer-bottom > .footer-legal {
    gap: 8px 14px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .knowledge-card,
  .knowledge-card:last-child {
    grid-template-columns: 104px minmax(0, 1fr);
    min-height: 108px;
  }

  .knowledge-card__image {
    height: 108px;
  }
}






/* V29 final CTA balance */
@media (max-width: 991.98px) {
  .final-cta__content {
    gap: 36px;
  }

  .final-cta__contact {
    max-width: 620px;
  }
}




/* V31 footer balance */
@media (min-width: 1200px) {
  .footer-col {
    padding-left: 8px;
  }
}


/* Content-dedup pass: four homepage solution entrances only. */
@media (min-width: 768px) {
  .solution-grid--editorial .solution-card--compact {
    grid-column: span 2;
  }
}

/* =========================================================
   Shared inner-page states and buttons
========================================================= */
.mobile-nav .current-menu-item > a,
.mobile-nav a[aria-current="page"] {
  color: var(--color-brand);
}

.btn-outline-dark-custom {
  min-height: 54px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: var(--color-ink);
  border: 1px solid #adb4bb;
  font-size: 14px;
  font-weight: 700;
  transition:
    color .25s ease,
    border-color .25s ease,
    background-color .25s ease;
}

.btn-outline-dark-custom:hover {
  color: #fff;
  border-color: var(--color-ink);
  background: var(--color-ink);
}


/* =========================================================
   Product archive page
========================================================= */
/* =========================================================
   Hugornis Product Listing
   Page-specific styles only. Shared site system remains in main.css.
========================================================= */

body.products-page {
  background: var(--color-bg);
}

/* Intro */
.catalog-hero {
  position: relative;
  overflow: hidden;
  padding: 96px 0 84px;
  background: #f4f5f6;
}

.catalog-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 76px;
  align-items: center;
}

.catalog-breadcrumb {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
  color: #929aa3;
  font-size: 12px;
  font-weight: 600;
}

.catalog-breadcrumb a {
  color: #69737e;
}

.catalog-breadcrumb i {
  font-size: 8px;
  align-self: center;
}

.catalog-hero .section-kicker {
  margin-bottom: 20px;
}

.catalog-hero h1 {
  max-width: 780px;
  margin: 0;
  color: var(--color-ink);
  font-size: clamp(52px, 4.6vw, 76px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.055em;
}

.catalog-hero__lead {
  max-width: 690px;
  margin: 28px 0 0;
  color: var(--color-text-muted);
  font-size: 17px;
  line-height: 1.72;
}

.catalog-hero__actions {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

.catalog-hero__visual {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(160px, .78fr);
  grid-template-rows: repeat(2, 210px);
  gap: 12px;
}

.catalog-hero__image {
  position: relative;
  overflow: hidden;
  background: #dfe2e4;
}

.catalog-hero__image--main {
  grid-row: 1 / 3;
}

.catalog-hero__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.catalog-hero__note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 16px 17px;
  color: #fff;
  background: rgba(15,21,27,.82);
  backdrop-filter: blur(10px);
}

.catalog-hero__note b {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
}

.catalog-hero__note span {
  display: block;
  color: rgba(255,255,255,.68);
  font-size: 11px;
  line-height: 1.45;
}

.catalog-principles {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 12px 28px;
}

.catalog-principles span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #5e6873;
  font-size: 12px;
  font-weight: 650;
}

.catalog-principles i {
  color: var(--color-brand);
  font-size: 8px;
}

/* Catalog */
.catalog-section {
  padding: 86px 0 104px;
  background: #fff;
}

.catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 42px;
}

.catalog-head h2 {
  max-width: 760px;
}

.catalog-head__side {
  max-width: 470px;
  justify-self: end;
}

.catalog-head__side p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.7;
}

.catalog-toolbar {
  position: sticky;
  top: var(--header-height);
  z-index: 20;
  margin-bottom: 38px;
  padding: 16px 0;
  background: rgba(255,255,255,.96);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  backdrop-filter: blur(10px);
}

.catalog-toolbar__inner {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Product categories and advanced filters share the same sticky toolbar. */
.catalog-refine-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--color-line);
}
.catalog-refine-toggle {
  display: none;
}
.catalog-toolbar .catalog-refine {
  margin: 0;
}

.catalog-filters {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.catalog-filters::-webkit-scrollbar {
  display: none;
}

.catalog-filter {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 15px;
  color: #56616c;
  background: #f5f6f7;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease;
}

.catalog-filter:hover {
  color: var(--color-ink);
  border-color: #d8dde1;
}

.catalog-filter.is-active {
  color: #fff;
  background: var(--color-brand);
  border-color: var(--color-brand);
}

.catalog-count {
  flex: 0 0 auto;
  color: #7e8790;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px 22px;
}

.catalog-card {
  min-width: 0;
  color: var(--color-ink);
  border-bottom: 1px solid var(--color-line);
  transition: transform .3s var(--ease-smooth);
}

.catalog-card:hover {
  color: var(--color-ink);
  transform: translateY(-3px);
}

.catalog-card__image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eceeef;
}

.catalog-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .65s var(--ease-smooth);
}

.catalog-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 10px;
}

.catalog-card__type {
  color: var(--color-brand);
  font-size: 9px;
  text-transform: uppercase;
}

.catalog-card__arrow {
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-brand);
  border: 1px solid #d6dbe0;
  border-radius: 50%;
  font-size: 10px;
  transition:
    color .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    transform .25s ease;
}

.catalog-card:hover .catalog-card__arrow {
  color: #fff;
  border-color: var(--color-brand);
  background: var(--color-brand);
  transform: translateX(2px);
}

.catalog-card h3 {
  margin: 0 0 9px;
  color: var(--color-ink);
  font-size: 20px;
  line-height: 1.28;
}

.catalog-card__meta {
  margin: 0;
  color: var(--color-text-muted);
}

/* Custom project bridge */
.catalog-custom {
  display: grid;
  align-items: center;
  gap: 56px;
  color: #fff;
  background: var(--color-graphite);
}

.catalog-custom__kicker {
  margin-bottom: 12px;
  color: #ef5965;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.catalog-custom h3 {
  margin: 0;
  font-size: clamp(30px, 2.6vw, 42px);
  font-weight: 550;
  line-height: 1.05;
  letter-spacing: -.04em;
}

.catalog-custom__side {
  justify-self: end;
}

.catalog-custom__side p {
  margin: 0 0 19px;
  color: rgba(255,255,255,.67);
  font-size: 13px;
  line-height: 1.65;
}

.catalog-custom__side a {
  color: #fff;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .catalog-hero {
    padding: 78px 0 72px;
  }

  .catalog-hero__grid {
    gap: 46px;
  }

  .catalog-hero__visual {
    grid-template-rows: repeat(2, 180px);
  }

  .catalog-principles {
    grid-template-columns: repeat(2, max-content);
  }

  .catalog-grid {
    gap: 34px 18px;
  }
}

@media (max-width: 991.98px) {
  .catalog-hero__grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .catalog-hero h1 {
    max-width: 840px;
    font-size: clamp(48px, 7vw, 66px);
  }

  .catalog-hero__visual {
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr);
    grid-template-rows: repeat(2, 190px);
  }

  .catalog-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .catalog-head__side {
    max-width: 680px;
    justify-self: start;
  }

  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-custom {
    gap: 36px;
  }
}

@media (max-width: 767.98px) {
  .catalog-hero {
    padding: 50px 0 52px;
  }

  .catalog-breadcrumb {
    margin-bottom: 22px;
  }

  .catalog-hero h1 {
    font-size: 40px;
    line-height: 1.02;
  }

  .catalog-hero__lead {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.62;
  }

  .catalog-hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 24px;
  }

  .catalog-hero__actions .btn-brand,
  .catalog-hero__actions .catalog-principles {
    margin-top: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
  }

  .catalog-principles span {
    font-size: 11px;
  }

  .catalog-hero__visual {
    grid-template-columns: 1fr;
    grid-template-rows: 260px;
  }

  .catalog-hero__image--main {
    grid-row: auto;
  }

  .catalog-hero__image:not(.catalog-hero__image--main) {
    display: none;
  }

  .catalog-section {
    padding: 58px 0 72px;
  }

  .catalog-head {
    margin-bottom: 28px;
  }

  .catalog-head__side p {
    font-size: 13px;
    line-height: 1.62;
  }

  .catalog-toolbar {
    top: var(--header-height);
    margin-bottom: 28px;
    padding: 12px 0;
  }

  .catalog-toolbar__inner {
    gap: 10px;
  }

  .catalog-filter {
    min-height: 38px;
    padding: 0 13px;
    font-size: 11px;
  }

  .catalog-count {
    display: none;
  }

  /* Compact sticky category bar; advanced filters expand only when needed. */
  html.hg-catalog-enhanced .catalog-refine-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 10px 2px 1px;
    border: 0;
    background: transparent;
    color: var(--color-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
  }
  .catalog-refine-toggle:focus-visible {
    outline: 2px solid var(--color-brand);
    outline-offset: 3px;
  }
  .catalog-refine-panel {
    margin-top: 10px;
    padding-top: 12px;
  }
  .hg-catalog-enhanced .catalog-refine-panel:not(.is-open) {
    display: none;
  }
  .hg-catalog-enhanced .catalog-refine-panel.is-open {
    max-height: calc(100dvh - var(--header-height) - 145px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 12px;
  }

  .catalog-card__top {
    padding: 11px 0 8px;
  }

  .catalog-card__type {
    font-size: 7.5px;
  }

  .catalog-card__arrow {
    width: 26px;
    height: 26px;
    font-size: 8px;
  }

  .catalog-card h3 {
    font-size: 15px;
    line-height: 1.28;
  }

  .catalog-card__meta {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .catalog-custom {
    gap: 22px;
  }

  .catalog-custom h3 {
    font-size: 28px;
  }

  .catalog-custom__side {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 575.98px) {
  .catalog-hero__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .catalog-hero__actions > .btn-brand,
  .catalog-hero__actions > .btn-outline-dark-custom {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    margin: 0;
    padding: 0 18px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    white-space: nowrap;
  }
}

@media (max-width: 389.98px) {
  .catalog-hero h1 {
    font-size: 36px;
  }

  .catalog-hero__visual {
    grid-template-rows: 230px;
  }
}

@media (max-width: 359.98px) {
  .catalog-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Products V2 — catalog refinement
========================================================= */

.catalog-grid {
  row-gap: 50px;
}

.catalog-card__top {
  padding-top: 18px;
}

.catalog-card h3 {
  margin-bottom: 11px;
}

.catalog-card__meta {
  padding-bottom: 22px;
}

.catalog-custom {
  padding-top: 48px;
  padding-bottom: 48px;
}

.catalog-custom__side p {
  margin-bottom: 22px;
}

.catalog-custom__cta {
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  background: var(--color-brand);
  font-size: 12px;
  font-weight: 750;
  transition:
    background-color .22s ease,
    transform .22s ease;
}

.catalog-custom__cta:hover {
  color: #fff;
  background: #bd2939;
  transform: translateY(-1px);
}

@media (max-width: 767.98px) {
  .catalog-grid {
    row-gap: 30px;
  }

  .catalog-card__top {
    padding-top: 12px;
  }

  .catalog-card h3 {
    margin-bottom: 7px;
  }

  .catalog-card__meta {
    padding-bottom: 15px;
  }

  .catalog-custom {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .catalog-custom__cta {
    width: 100%;
    min-height: 52px;
  }

  .site-footer {
    margin-top: 56px;
  }
}


/* =========================================================
   Products V3 — final catalog behaviour
========================================================= */

.catalog-grid {
  align-items: stretch;
  transition:
    opacity .2s ease,
    transform .2s ease;
}

.catalog-grid.is-updating {
  opacity: .18;
  transform: translateY(6px);
}

.catalog-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  opacity: 1;
  transform: translateY(0);
}

.catalog-card[hidden] {
  display: none !important;
}

.catalog-card h3 {
  min-height: 52px;
  display: flex;
  align-items: flex-start;
}

.catalog-card__meta {
  min-height: 42px;
  margin-top: auto;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.catalog-pagination[hidden] {
  display: none;
}

.catalog-page {
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6f7881;
  background: transparent;
  border: 1px solid transparent;
  font-weight: 700;
  transition:
    color .2s ease,
    border-color .2s ease,
    background-color .2s ease;
}

.catalog-page:hover {
  color: var(--color-ink);
  border-color: #d8dde1;
}

.catalog-page.is-active {
  color: #fff;
  background: var(--color-brand);
  border-color: var(--color-brand);
}

.catalog-page--arrow {
  color: var(--color-ink);
  border-color: #dfe3e6;
}

.catalog-page:disabled {
  color: #c2c8cd;
  border-color: #eef0f2;
  cursor: default;
}

.catalog-empty {
  margin: 48px 0 8px;
  padding: 68px 28px;
  text-align: center;
  background: #f6f7f8;
  border: 1px solid var(--color-line);
}

.catalog-empty[hidden] {
  display: none;
}

.catalog-empty__icon {
  margin-bottom: 18px;
  color: var(--color-brand);
  font-size: 24px;
}

.catalog-empty h3 {
  margin: 0 0 10px;
  color: var(--color-ink);
  font-size: 24px;
  font-weight: 650;
}

.catalog-empty p {
  max-width: 520px;
  margin: 0 auto 22px;
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.65;
}

.catalog-empty__reset {
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #fff;
  background: var(--color-brand);
  border: 0;
  font-size: 12px;
  font-weight: 750;
}

.catalog-custom {
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
}

.catalog-custom__side {
  max-width: 430px;
}

@media (max-width: 767.98px) {
  .catalog-card h3 {
    min-height: 40px;
  }

  .catalog-card__meta {
    min-height: 38px;
  }

  .catalog-empty {
    margin-top: 34px;
    padding: 48px 20px;
  }

  .catalog-empty h3 {
    font-size: 20px;
  }

  .catalog-custom {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Products V4 — final visual polish
========================================================= */

/* Stronger scan hierarchy without adding more information */
.catalog-card__type {
  font-weight: 850;
  letter-spacing: .11em;
}

.catalog-card h3 {
  color: #171c21;
  font-weight: 700;
  letter-spacing: -.02em;
}

.catalog-card__meta {
  color: #69737d;
  font-size: 12.5px;
  line-height: 1.58;
}

/* Page-one demo image variation.
   These are presentation crops only; final WordPress products
   will use their own real featured images. */
.catalog-card.visual-a .catalog-card__image img { object-position: 50% 48%; transform: scale(1.00); }
.catalog-card.visual-b .catalog-card__image img { object-position: 58% 50%; transform: scale(1.03); }
.catalog-card.visual-c .catalog-card__image img { object-position: 46% 54%; transform: scale(1.02); }
.catalog-card.visual-d .catalog-card__image img { object-position: 66% 48%; transform: scale(1.09); }
.catalog-card.visual-e .catalog-card__image img { object-position: 52% 42%; transform: scale(1.04); }
.catalog-card.visual-f .catalog-card__image img { object-position: 56% 57%; transform: scale(1.08); }
.catalog-card.visual-g .catalog-card__image img { object-position: 42% 46%; transform: scale(1.07); }
.catalog-card.visual-h .catalog-card__image img { object-position: 62% 52%; transform: scale(1.03); }
.catalog-card.visual-i .catalog-card__image img { object-position: 50% 44%; transform: scale(1.08); }
.catalog-card.visual-j .catalog-card__image img { object-position: 45% 58%; transform: scale(1.06); }
.catalog-card.visual-k .catalog-card__image img { object-position: 60% 46%; transform: scale(1.05); }
.catalog-card.visual-l .catalog-card__image img { object-position: 54% 54%; transform: scale(1.10); }

.catalog-card:hover .catalog-card__image img {
  transform: scale(1.08);
}

.catalog-card.visual-d:hover .catalog-card__image img,
.catalog-card.visual-f:hover .catalog-card__image img,
.catalog-card.visual-i:hover .catalog-card__image img,
.catalog-card.visual-l:hover .catalog-card__image img {
  transform: scale(1.13);
}

/* Pagination: still quiet, but no longer visually undersized */
.catalog-pagination {
  margin-top: 58px;
  gap: 8px;
}

.catalog-page {
  width: 44px;
  height: 44px;
  font-size: 12.5px;
  border-color: #e1e5e8;
}

.catalog-page:not(.catalog-page--arrow):not(.is-active) {
  background: #fff;
}

.catalog-page--arrow {
  color: #59636d;
  background: #fafbfb;
}

.catalog-page.is-active {
  box-shadow: 0 8px 20px rgba(216,48,65,.12);
}

/* Compact page ending: custom CTA -> footer, without an empty white canyon */
.catalog-section {
  padding-bottom: 58px;
}

.site-footer {
  margin-top: 0;
}

/* CTA receives a touch more presence now that it is the only conversion block */
.catalog-custom {
  margin-top: 76px;
  padding: 46px 48px;
}

.catalog-custom h3 {
  max-width: 720px;
}

.catalog-custom__cta {
  min-height: 50px;
  padding-inline: 20px;
}

/* Improve keyboard focus for product browsing */
.catalog-filter:focus-visible,
.catalog-page:focus-visible,
.catalog-custom__cta:focus-visible,
.catalog-card:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
}

@media (max-width: 767.98px) {
  .catalog-card h3 {
    font-weight: 700;
  }

  .catalog-card__meta {
    font-size: 11px;
    line-height: 1.5;
  }

  .catalog-pagination {
    margin-top: 38px;
    gap: 5px;
  }

  .catalog-page {
    width: 42px;
    height: 42px;
    font-size: 11.5px;
  }

  .catalog-section {
    padding-bottom: 42px;
  }

  .catalog-custom {
    margin-top: 48px;
    padding: 30px 24px;
  }
}

/* =========================================================
   Product detail page
========================================================= */
/* =========================================================
   Hugornis Product Detail V1
   Shared visual system comes from main.css.
========================================================= */

body.product-detail-page {
  background: #fff;
}

/* Current nav */
/* Breadcrumb */
.product-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
  color: #929aa3;
  font-size: 12px;
  font-weight: 600;
}

.product-breadcrumb a {
  color: #69737e;
}

.product-breadcrumb i {
  font-size: 7px;
}

/* =========================================================
   Product hero
========================================================= */
.product-hero {
  padding: 64px 0 78px;
  background: #f4f5f6;
}

.product-hero__grid {
  display: grid;
  align-items: start;
}

.product-gallery {
  min-width: 0;
}

.product-gallery__stage {
  display: grid;
  align-items: start;
}

.product-gallery.is-single .product-gallery__stage {
  grid-template-columns: minmax(0, 1fr);
}

.product-gallery.is-single .product-gallery__thumbs {
  display: none;
}

.product-gallery__main {
  position: relative;
  height: 520px;
  overflow: hidden;
  display: block;
  color: inherit;
  background: #eaedef;
  cursor: zoom-in;
}

.product-gallery__main::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(18,24,30,.06);
}

.product-gallery__main img {
  width: 100%;
  height: 100%;
  display: block;
  transition:
    opacity .22s ease,
    transform .5s var(--ease-smooth);
}

.product-gallery__main:hover img {
  transform: scale(1.012);
}

.product-gallery__main.is-changing img {
  opacity: .12;
  transform: scale(1.01);
}

.product-gallery__tag {
  position: absolute;
  left: 16px;
  bottom: 16px;
  max-width: calc(100% - 88px);
}

.product-gallery__zoom-icon {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.28);
  font-size: 13px;
  transition:
    background-color .22s ease,
    transform .22s ease,
    border-color .22s ease;
}

.product-gallery__main:hover .product-gallery__zoom-icon {
  transform: translateY(-1px);
}

.product-gallery__thumbs {
  max-height: 520px;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 3px;
  scrollbar-width: thin;
  scrollbar-color: #b9c0c6 transparent;
}

.product-gallery__thumbs::-webkit-scrollbar {
  width: 4px;
}

.product-gallery__thumbs::-webkit-scrollbar-track {
  background: transparent;
}

.product-gallery__thumbs::-webkit-scrollbar-thumb {
  background: #b9c0c6;
}

.product-gallery__thumb {
  position: relative;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
  background: #eceeef;
  border: 1px solid transparent;
  cursor: pointer;
  transition:
    border-color .2s ease,
    opacity .2s ease,
    transform .2s ease;
}

.product-gallery__thumb:hover {
  border-color: #aeb6bd;
}

.product-gallery__thumb.is-active {
  border-color: var(--color-brand);
}

.product-gallery__thumb.is-active::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: -1px;
  top: -1px;
  bottom: -1px;
  width: 3px;
  background: var(--color-brand);
}

.product-gallery__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* PhotoSwipe caption */
.pswp__custom-caption {
  width: min(720px, calc(100% - 40px));
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  padding: 10px 14px;
  color: rgba(255,255,255,.86);
  background: rgba(13,18,23,.72);
  backdrop-filter: blur(8px);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  pointer-events: none;
}

.product-summary {
  padding-top: 3px;
}

.product-summary .section-kicker {
  margin-bottom: 18px;
}

.product-summary h1 {
  margin: 0;
  color: var(--color-ink);
  font-weight: 600;
}

.product-summary__lead {
  max-width: 650px;
  margin: 26px 0 0;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.72;
}

.product-summary__facts {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #d8dde1;
}

.product-summary__fact {
  min-height: 88px;
  padding: 16px 18px 15px 0;
  border-bottom: 1px solid #d8dde1;
}

.product-summary__fact:nth-child(odd) {
  padding-right: 24px;
  border-right: 1px solid #e1e5e8;
}

.product-summary__fact:nth-child(even) {
  padding-left: 24px;
}

.product-summary__fact span {
  display: block;
  margin-bottom: 8px;
  color: #8b949d;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.product-summary__fact strong {
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.42;
}

.product-summary__actions {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}

.product-summary__actions .btn-brand,
.product-summary__actions .btn-outline-dark-custom {
  min-height: 54px;
}

.product-summary__note {
  margin: 18px 0 0;
  padding-left: 16px;
  color: #7b858e;
  border-left: 1px solid var(--color-brand);
  font-size: 11px;
  line-height: 1.58;
}

/* =========================================================
   Specifications
========================================================= */
.product-specs {
  padding: 92px 0 100px;
  background: #fff;
}

.product-specs__head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .68fr);
  gap: 70px;
  align-items: end;
}

.product-specs__intro {
  max-width: 520px;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.72;
}

.product-specs__grid {
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
}

.product-spec {
  display: grid;
  align-items: center;
  border-right: 1px solid var(--color-line);
}

.product-spec dt {
  margin: 0;
}

.product-spec dd {
  margin: 0;
  color: var(--color-ink);
}

/* =========================================================
   Customization interactive block
========================================================= */
.product-custom {
  padding: 94px 0 102px;
  color: #fff;
  background: var(--color-graphite);
}

.product-custom__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 46px;
}

.product-custom .section-title {
  max-width: 760px;
  color: #fff;
}

.product-custom__intro {
  max-width: 520px;
  justify-self: end;
  color: rgba(255,255,255,.64);
  font-size: 14px;
  line-height: 1.72;
}

.product-custom__body {
  display: grid;
  grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
  gap: 0;
  align-items: stretch;
}

.product-custom__visual {
  position: relative;
  min-height: 625px;
  overflow: hidden;
  background: #0c1116;
}

.product-custom__panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .38s ease;
}

.product-custom__panel.is-active {
  opacity: 1;
  pointer-events: auto;
}

.product-custom__panel img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.product-custom__list {
  border-top: 1px solid rgba(255,255,255,.14);
}

.product-custom__item {
  width: 100%;
  min-height: 104px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 36px;
  gap: 18px;
  align-items: center;
  padding: 18px 16px 18px 22px;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  text-align: left;
  cursor: pointer;
  transition: background-color .25s ease;
}

.product-custom__item:hover,
.product-custom__item.is-active {
  background: rgba(255,255,255,.035);
}

.product-custom__no {
  color: #ef5965;
  font-size: 11px;
  font-weight: 800;
}

.product-custom__copy strong {
  display: block;
  margin-bottom: 5px;
  font-size: 17px;
  font-weight: 650;
}

.product-custom__copy span {
  display: block;
  color: rgba(255,255,255,.58);
  font-size: 11.5px;
  line-height: 1.5;
}

.product-custom__arrow {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  font-size: 9px;
}

.product-custom__item.is-active .product-custom__arrow {
  color: #fff;
  border-color: var(--color-brand);
}

/* =========================================================
   Applications
========================================================= */
.product-use {
  padding: 90px 0 98px;
  background: #f5f6f7;
}

.product-use__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
  gap: 70px;
  align-items: end;
}

.product-use__intro {
  max-width: 490px;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.7;
}

.product-use__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-left: 1px solid var(--color-line);
}

.product-use__card {
  background: #fff;
}

.product-use__no {
  display: block;
  color: var(--color-brand);
  font-size: 10px;
  font-weight: 800;
}

.product-use__card h3 {
  margin: 0 0 10px;
  color: var(--color-ink);
  font-weight: 650;
}

.product-use__card p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 12px;
  line-height: 1.6;
}

/* =========================================================
   Quote preparation
========================================================= */
.product-brief {
  padding: 92px 0 102px;
  background: #fff;
}

.product-brief__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
  gap: 70px;
  align-items: end;
}

.product-brief__intro {
  max-width: 500px;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.7;
}

.product-brief__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
}

.product-brief__item span {
  display: block;
}

.product-brief__item strong {
  display: block;
  color: var(--color-ink);
}

.product-brief__item p {
  margin: 0;
  color: var(--color-text-muted);
}

/* =========================================================
   FAQ
========================================================= */
.product-faq {
  padding: 92px 0 100px;
  color: #fff;
  background: var(--color-graphite);
}

.product-faq__grid {
  display: grid;
  grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr);
  gap: 84px;
}

.product-faq__intro {
  max-width: 420px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.7;
}

.product-faq .section-title {
  color: #fff;
}

.product-faq__list {
  border-top: 1px solid rgba(255,255,255,.15);
}

.product-faq__item {
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.product-faq__button {
  width: 100%;
  min-height: 78px;
  padding: 18px 4px 18px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 20px;
  align-items: center;
  color: #fff;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}

.product-faq__button strong {
  font-size: 15px;
  font-weight: 650;
}

.product-faq__button i {
  justify-self: end;
  color: #ef5965;
  transition: transform .25s ease;
}

.product-faq__item.is-open .product-faq__button i {
  transform: rotate(45deg);
}

.product-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}

.product-faq__item.is-open .product-faq__answer {
  grid-template-rows: 1fr;
}

.product-faq__answer > div {
  overflow: hidden;
}

.product-faq__answer p {
  max-width: 760px;
  margin: 0;
  padding: 0 54px 24px 0;
  color: rgba(255,255,255,.6);
  font-size: 12.5px;
  line-height: 1.65;
}

/* =========================================================
   Related products
========================================================= */
.related-products {
  padding: 92px 0 98px;
  background: #fff;
}

.related-products__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 36px;
}

.related-products__head .text-link {
  margin-bottom: 6px;
}

.related-products__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.related-product {
  color: var(--color-ink);
  border-bottom: 1px solid var(--color-line);
}

.related-product__image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eceeef;
}

.related-product__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .5s ease;
}

.related-product:hover .related-product__image img {
  transform: scale(1.035);
}

.related-product__meta {
  margin-top: 14px;
  color: var(--color-brand);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

.related-product h3 {
  min-height: 50px;
  margin: 8px 0 16px;
  color: var(--color-ink);
  font-size: 19px;
  font-weight: 650;
  line-height: 1.3;
}

/* =========================================================
   Product-specific CTA
========================================================= */
.product-cta-wrap {
  padding-bottom: 72px;
  background: #fff;
}

.product-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
  gap: 50px;
  align-items: center;
  padding: 42px 46px;
  color: #fff;
  background: var(--color-graphite);
}

.product-cta__kicker {
  margin-bottom: 10px;
  color: #ef5965;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.product-cta h2 {
  max-width: 750px;
  margin: 0;
  font-size: 36px;
  font-weight: 550;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.product-cta__side {
  max-width: 390px;
  justify-self: end;
}

.product-cta__side p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.64);
  font-size: 12.5px;
  line-height: 1.65;
}

.product-cta__side .btn-brand {
  min-height: 50px;
}

/* Focus */
.product-gallery__thumb:focus-visible,
.product-custom__item:focus-visible,
.product-faq__button:focus-visible,
.related-product:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 1199.98px) {
  .product-hero__grid {
    gap: 42px;
  }

  .product-gallery__main {
    height: 480px;
  }

  .product-gallery__thumbs {
    max-height: 480px;
  }

  .product-custom__visual {
    min-height: 590px;
  }

  .product-brief__grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  }
}

@media (max-width: 991.98px) {

  .product-gallery {
    max-width: 760px;
  }

  .product-gallery__main {
    height: 520px;
  }

  .product-gallery__thumbs {
    max-height: 520px;
  }

  .product-summary h1 {
    max-width: 780px;
  }

  .product-specs__head,
  .product-custom__head,
  .product-use__head,
  .product-brief__head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .product-specs__intro,
  .product-custom__intro,
  .product-use__intro,
  .product-brief__intro {
    max-width: 680px;
    justify-self: start;
  }

  .product-custom__body {
    grid-template-columns: 1fr;
  }

  .product-custom__visual {
    min-height: 420px;
  }

  .product-use__grid {
    grid-template-columns: 1fr 1fr;
  }

  .product-faq__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .related-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .related-product:nth-child(n+3) {
    display: none;
  }

  .product-cta {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .product-cta__side {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 767.98px) {
  .product-hero {
    padding: 42px 0 54px;
  }

  .product-breadcrumb {
    margin-bottom: 22px;
    font-size: 10px;
  }

  .product-gallery__stage,
  .product-gallery.is-single .product-gallery__stage {
    gap: 8px;
  }

  .product-gallery__main {
    order: 1;
    width: 100%;
    height: clamp(300px, 78vw, 430px);
  }

  .product-gallery__thumbs {
    order: 2;
    width: 100%;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    flex-direction: row;
    gap: 7px;
    padding: 0 0 4px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  .product-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .product-gallery__thumb {
    scroll-snap-align: start;
  }

  .product-gallery__tag {
    left: 12px;
    bottom: 12px;
    max-width: calc(100% - 72px);
  }

  .product-gallery__zoom-icon {
    right: 12px;
    bottom: 12px;
    width: 40px;
    height: 40px;
    font-size: 12px;
  }

  .product-gallery.is-single .product-gallery__thumbs {
    display: none;
  }

  .pswp__custom-caption {
    bottom: 12px;
    width: calc(100% - 24px);
    font-size: 11px;
  }

  .product-summary {
    padding-top: 8px;
  }

  .product-summary__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.62;
  }

  .product-summary__facts {
    margin-top: 24px;
  }

  .product-summary__fact {
    min-height: 82px;
    padding: 14px 13px;
  }

  .product-summary__fact strong {
    font-size: 12.5px;
  }

  .product-summary__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 22px;
  }

  .product-specs,
  .product-custom,
  .product-use,
  .product-brief,
  .product-faq,
  .related-products {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .product-specs__head,
  .product-use__head,
  .product-brief__head {
    margin-bottom: 28px;
  }

  .product-spec {
    min-height: 0;
  }

  .product-spec dt {
    text-transform: uppercase;
    letter-spacing: .08em;
  }

  .product-custom__head {
    margin-bottom: 28px;
  }

  .product-custom__visual {
    min-height: 260px;
  }

  .product-custom__item {
    min-height: 72px;
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    gap: 10px;
    padding: 12px 7px 12px 5px;
  }

  .product-custom__copy strong {
    margin-bottom: 0;
    font-size: 15px;
  }

  .product-custom__copy span {
    display: none;
  }

  .product-custom__item.is-active {
    min-height: 90px;
  }

  .product-custom__item.is-active .product-custom__copy span {
    display: block;
    margin-top: 5px;
    font-size: 10.5px;
  }

  .product-use__card {
    min-height: 0;
    padding: 24px 20px;
  }

  .product-faq__button {
    min-height: 70px;
  }

  .product-faq__button strong {
    font-size: 14px;
  }

  .product-faq__answer p {
    padding-right: 34px;
    font-size: 12px;
  }

  .related-products__head {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 28px;
  }

  .related-products__grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .related-product__meta {
    font-size: 7.5px;
  }

  .related-product h3 {
    min-height: 42px;
    font-size: 14.5px;
  }

  .product-cta-wrap {
    padding-bottom: 48px;
  }

  .product-cta {
    padding: 30px 24px;
  }

  .product-cta h2 {
    font-size: 29px;
  }

  .product-cta__side .btn-brand {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 389.98px) {
  .product-gallery__main {
    height: 286px;
  }

  .product-gallery__thumb {
    width: 62px;
    min-width: 62px;
    min-height: 62px;
  }

  .product-summary__facts {
    grid-template-columns: 1fr;
  }

  .related-products__grid {
    grid-template-columns: 1fr;
  }

  .related-product:nth-child(n+3) {
    display: block;
  }
}


/* =========================================================
   Product Detail V3 — mid-page refinement
========================================================= */

/* Hero balance: gallery grows slightly, without returning to an oversized image */
.product-hero__grid {
  grid-template-columns: minmax(0, 1.07fr) minmax(430px, .93fr);
  gap: 50px;
}

/* Slightly more tactile thumbnail rail */
.product-gallery__stage {
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 12px;
}

.product-gallery__thumb {
  width: 80px;
  min-width: 80px;
  min-height: 80px;
}

/* Default photography uses cover, isolated/cutout imagery can opt into contain */
.product-gallery__main img {
  object-fit: cover;
  object-position: center;
}

.product-gallery__main.fit-contain {
  background: #edf0f2;
}

.product-gallery__main.fit-contain img {
  object-fit: contain;
  padding: 18px;
}

.product-gallery__main.fit-cover img {
  object-fit: cover;
  padding: 0;
}

/* ---------------------------------------------------------
   Specifications: keep two-column density, remove ERP-table feel
--------------------------------------------------------- */
.product-specs {
  padding-top: 82px;
  padding-bottom: 90px;
}

.product-specs__head {
  margin-bottom: 34px;
}

.product-specs__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 64px;
  border: 0;
}

.product-spec {
  min-height: 82px;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 22px;
  padding: 17px 0;
  border: 0;
  border-bottom: 1px solid var(--color-line);
}

.product-spec dt {
  color: #8b949c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.product-spec dd {
  color: #20262c;
  font-size: 13.5px;
  font-weight: 520;
  line-height: 1.58;
}

/* ---------------------------------------------------------
   Applications: a light transition block, not a major destination
--------------------------------------------------------- */
.product-use {
  padding-top: 66px;
  padding-bottom: 70px;
}

.product-use__head {
  margin-bottom: 26px;
}

.product-use__grid {
  border-top: 1px solid var(--color-line);
  border-left: 0;
}

.product-use__card {
  min-height: 170px;
  padding: 24px 26px;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.product-use__card:first-child {
  border-left: 1px solid var(--color-line);
}

.product-use__no {
  margin-bottom: 30px;
}

.product-use__card h3 {
  font-size: 19px;
}

.product-use__card p {
  max-width: 330px;
}

/* ---------------------------------------------------------
   Quote-preparation: visually reads as 01 → 05 steps
--------------------------------------------------------- */
.product-brief {
  padding-top: 78px;
  padding-bottom: 88px;
}

.product-brief__head {
  margin-bottom: 32px;
}

.product-brief__grid {
  position: relative;
  border: 0;
  border-top: 1px solid #dfe3e6;
}

.product-brief__grid::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 20%;
  height: 2px;
  background: var(--color-brand);
}

.product-brief__item {
  position: relative;
  min-height: 176px;
  padding: 23px 22px 20px;
  border: 0;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.product-brief__item:first-child {
  border-left: 1px solid var(--color-line);
}

.product-brief__item::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 20px;
  width: 7px;
  height: 7px;
  background: var(--color-brand);
}

.product-brief__item span {
  margin-bottom: 34px;
  color: var(--color-brand);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
}

.product-brief__item strong {
  margin-bottom: 7px;
  font-size: 16px;
  font-weight: 680;
}

.product-brief__item p {
  color: #717b84;
  font-size: 10.8px;
  line-height: 1.5;
}

/* WordPress product editorial content: paragraphs are not the five quote steps. */
.product-brief__editor {
  width: 100%;
  max-width: none;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.78;
}
.product-brief__editor > :first-child { margin-top: 0; }
.product-brief__editor > :last-child { margin-bottom: 0; }
.product-brief__grid--sections + .product-brief__editor { margin-top: 32px; }
.product-brief__editor p,
.product-brief__editor li { font-size: 16px; line-height: 1.78; }
.product-brief__editor p { margin: 0 0 1em; }
.product-brief__editor h3 { margin: 1.3em 0 .5em; font-size: 22px; line-height: 1.3; }
.product-brief__editor ul,
.product-brief__editor ol { padding-left: 1.5em; margin: 0 0 1em; }
.product-brief__editor img { max-width: 100%; height: auto; }
.product-brief__editor a { color: var(--color-brand); text-decoration: underline; }
.product-brief__grid--sections .product-brief__item { min-height: 0; }
.product-brief__grid--sections .product-brief__item span { margin-bottom: 20px; }
.product-brief__copy { max-width: 900px; color: var(--color-text-muted); line-height: 1.68; }
.product-brief__copy p:last-child { margin-bottom: 0; }
.product-summary__fact strong { overflow-wrap: anywhere; }

/* Mid-page rhythm: keep the two dark anchor sections dominant */
.product-custom {
  padding-top: 88px;
  padding-bottom: 94px;
}

.product-faq {
  padding-top: 84px;
  padding-bottom: 90px;
}

@media (max-width: 1199.98px) {
  .product-gallery__stage {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
  }

  .product-gallery__thumb {
    width: 72px;
    min-width: 72px;
    min-height: 72px;
  }

  .product-specs__grid {
    column-gap: 42px;
  }

  .product-spec {
    grid-template-columns: 132px minmax(0, 1fr);
  }
}

@media (max-width: 991.98px) {
  .product-hero__grid {
    grid-template-columns: 1fr;
  }

  .product-gallery__stage {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .product-gallery__thumb {
    width: 74px;
    min-width: 74px;
    min-height: 74px;
  }

  .product-specs__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .product-spec {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  /* Mobile remains main image + horizontal swipe thumbnails */
  .product-gallery__stage,
  .product-gallery.is-single .product-gallery__stage {
    display: flex;
    flex-direction: column;
  }

  .product-gallery__thumb {
    width: 68px;
    min-width: 68px;
    min-height: 68px;
  }

  .product-gallery__main.fit-contain img {
    padding: 12px;
  }

  .product-specs,
  .product-use,
  .product-brief {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .product-spec {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 15px 0;
  }

  .product-spec dt {
    font-size: 8.5px;
  }

  .product-spec dd {
    font-size: 12.5px;
  }

  .product-use__head,
  .product-brief__head {
    margin-bottom: 24px;
  }

  .product-use__grid {
    grid-template-columns: 1fr;
  }

  .product-use__card,
  .product-use__card:first-child {
    min-height: 0;
    padding: 20px 18px;
    border-left: 1px solid var(--color-line);
  }

  .product-use__no {
    margin-bottom: 20px;
  }

  .product-brief__grid {
    grid-template-columns: 1fr;
    border-top: 1px solid #dfe3e6;
  }

  .product-brief__grid::before {
    width: 50%;
  }

  .product-brief__item {
    min-height: 148px;
    padding: 18px 15px 16px;
  }

  .product-brief__item::before {
    left: 14px;
  }

  .product-brief__item span {
    margin-bottom: 24px;
    font-size: 10px;
  }

  .product-brief__item strong {
    font-size: 14px;
  }

  .product-brief__item p {
    font-size: 10px;
  }
}

@media (max-width: 389.98px) {
  .product-brief__grid {
    grid-template-columns: 1fr;
  }

  .product-brief__grid::before {
    width: 100%;
  }

  .product-brief__item {
    min-height: 0;
  }
}


/* =========================================================
   Product Detail V4 — consolidated client feedback
========================================================= */

/* ---------------------------------------------------------
   1) Hero: lighter image overlays, smaller H1, sticky gallery
--------------------------------------------------------- */

.product-gallery__tag {
  padding: 7px 9px;
  color: rgba(255,255,255,.9);
  background: rgba(15,21,27,.48);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(7px);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .055em;
}

.product-gallery__zoom-icon {
  color: rgba(255,255,255,.9);
  background: rgba(15,21,27,.40);
  border-color: rgba(255,255,255,.20);
  backdrop-filter: blur(7px);
}

.product-gallery__main:hover .product-gallery__zoom-icon {
  background: rgba(15,21,27,.68);
  border-color: rgba(255,255,255,.34);
}

@media (min-width: 992px) {
  .product-gallery {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    align-self: start;
  }
}

/* ---------------------------------------------------------
   2) Customization: move only 01–06 a little away from image
--------------------------------------------------------- */

.product-custom__no {
  transform: translateX(8px);
}

/* ---------------------------------------------------------
   3) Quote preparation: default = quiet "02" state,
      hover = stronger "01" state
--------------------------------------------------------- */

/* Remove the permanent red strip that previously made card 01 look selected. */
.product-brief__grid::before {
  display: none;
}

.product-brief__item--interactive {
  overflow: hidden;
  background: #fff;
  transition:
    background-color .22s ease,
    border-color .22s ease;
}

/* Every card keeps only the small red registration square by default. */
.product-brief__item--interactive::before {
  z-index: 2;
  transition:
    transform .22s ease,
    background-color .22s ease;
}

/* Hidden red top rule, revealed per-card on hover. */
.product-brief__item--interactive::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-brand);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .26s var(--ease-smooth);
}

@media (hover: hover) and (pointer: fine) {
  .product-brief__item--interactive:hover {
    background: #fafbfb;
  }

  .product-brief__item--interactive:hover::after {
    transform: scaleX(1);
  }

  .product-brief__item--interactive:hover::before {
    transform: scale(1.08);
  }

  .product-brief__item--interactive:hover strong {
    color: #11171d;
  }
}

/* Mobile: sticky gallery is intentionally disabled and overlays stay subtle. */
@media (max-width: 991.98px) {
  .product-gallery {
    position: static;
  }
}

@media (max-width: 767.98px) {

  .product-gallery__tag {
    padding: 7px 8px;
    font-size: 7.5px;
  }

  .product-gallery__zoom-icon {
    background: rgba(15,21,27,.44);
  }

  .product-custom__no {
    transform: translateX(5px);
  }
}


/* =========================================================
   Product Detail V5 — final H1 + mobile CTA alignment
========================================================= */

/* Desktop/tablet product title: one final step lighter and smaller */
.product-summary h1 {
  max-width: 600px;
  font-size: clamp(38px, 3vw, 52px);
  line-height: 1.03;
  letter-spacing: -.045em;
}

/* Mobile: keep the current layout, only center button content */
@media (max-width: 767.98px) {
  .product-summary h1 {
    font-size: 34px;
    line-height: 1.04;
  }

  .product-summary__actions .btn-brand,
  .product-summary__actions .btn-outline-dark-custom,
  .product-cta__side .btn-brand {
    justify-content: center;
    gap: 11px;
    text-align: center;
  }
}

@media (max-width: 389.98px) {
  .product-summary h1 {
    font-size: 32px;
  }
}

/* =========================================================
   V4 Hero interaction state
   The active fade slide gets an explicit interaction/stacking layer.
========================================================= */
.hero-swiper .swiper-slide {
  z-index: 0 !important;
  pointer-events: none;
}

.hero-swiper .swiper-slide.is-hero-interactive {
  z-index: 3 !important;
  pointer-events: auto;
}

.hero-slide__bg,
.hero-slide__overlay {
  pointer-events: none;
}

.hero-swiper .swiper-slide.is-hero-interactive .hero-slide__content {
  pointer-events: auto;
}

.hero-actions {
  position: relative;
  z-index: 8;
}

.hero-actions a {
  position: relative;
  z-index: 2;
  pointer-events: auto;
}

/* =========================================================
   V8 Shared inner-page editorial heading
========================================================= */
.solutions-list-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 48px;
}

.solutions-list-head > p {
  max-width: 560px;
  margin: 0;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 14px;
  line-height: 1.72;
}

/* =========================================================
   About company
========================================================= */
.about-page-hero {
  padding: 54px 0 82px;
  background: #f4f5f6;
}

.about-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(460px, .92fr);
  gap: 72px;
  align-items: center;
}

.about-page-hero__copy h1 {
  max-width: 790px;
  margin: 0;
  color: var(--color-ink);
  font-size: clamp(52px, 4.5vw, 74px);
  font-weight: 560;
  line-height: .99;
  letter-spacing: -.055em;
}

.about-page-hero__copy > p {
  max-width: 740px;
  margin: 26px 0 30px;
  color: var(--color-text-muted);
  font-size: 15px;
  line-height: 1.72;
}

.about-page-hero__image {
  height: 510px;
  overflow: hidden;
}

.about-page-hero__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-metrics {
  color: #fff;
  background: var(--color-graphite);
}

.about-metrics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-left: 1px solid rgba(255,255,255,.13);
}

.about-metrics__grid > div {
  min-height: 150px;
  padding: 28px 26px;
  border-right: 1px solid rgba(255,255,255,.13);
}

.about-metrics__grid strong {
  display: block;
  margin-bottom: 10px;
  font-size: 35px;
  font-weight: 550;
  line-height: 1;
  letter-spacing: -.04em;
}

.about-metrics__grid span {
  display: block;
  max-width: 210px;
  color: rgba(255,255,255,.58);
  font-size: 11.5px;
  line-height: 1.5;
}

.about-company-focus {
  padding: 92px 0 100px;
  background: #fff;
}

.about-company-focus__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
}

.about-company-focus__grid article {
  min-height: 260px;
  padding: 28px 24px;
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.about-company-focus__grid article > span {
  display: block;
  margin-bottom: 66px;
  color: var(--color-brand);
  font-size: 10px;
  font-weight: 800;
}

.about-company-focus__grid h3 {
  margin: 0 0 11px;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.3;
}

.about-company-focus__grid p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 11.5px;
  line-height: 1.62;
}

.about-factory-base {
  padding: 92px 0 100px;
  background: #f5f6f7;
}

.about-factory-base__grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  grid-template-rows: minmax(360px, auto) 260px;
  gap: 18px;
}

.about-factory-base__image {
  overflow: hidden;
}

.about-factory-base__image--large {
  grid-row: 1 / span 2;
}

.about-factory-base__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about-factory-base__copy {
  padding: 36px 38px;
  background: #fff;
}

.about-factory-base__copy > p {
  max-width: 620px;
  margin: 20px 0 28px;
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.68;
}

.about-factory-base__links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.about-factory-base__links a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--color-ink);
  font-size: 12px;
  font-weight: 700;
}

.about-factory-base__links i {
  color: var(--color-brand);
}

.about-partners {
  padding: 90px 0 98px;
  background: #fff;
}

.about-partners__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
}

.about-partners__grid > div {
  min-height: 110px;
  padding: 26px 24px;
  display: flex;
  align-items: center;
  color: var(--color-ink);
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  font-size: 15px;
  font-weight: 650;
}

/* =========================================================
   About company responsive
========================================================= */
@media (max-width: 1199.98px) {
  .about-page-hero__grid {
    gap: 46px;
  }

  .about-page-hero__copy h1 {
    font-size: 58px;
  }

  .about-company-focus__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .about-page-hero__grid {
    grid-template-columns: 1fr;
  }

  .about-page-hero__image {
    min-height: 0;
    height: 430px;
  }

  .about-metrics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-factory-base__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 360px auto 240px;
  }

  .about-factory-base__image--large {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .about-factory-base__copy {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .about-page-hero {
    padding: 38px 0 54px;
  }

  .about-page-breadcrumb {
    margin-bottom: 24px;
    font-size: 9px;
  }

  .about-page-hero__copy h1 {
    font-size: 38px;
    line-height: 1.02;
  }

  .about-page-hero__copy > p {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.62;
  }

  .about-page-hero__copy .btn-brand {
    width: 100%;
    justify-content: center;
  }

  .about-page-hero__image {
    height: 310px;
  }

  .about-company-focus,
  .about-factory-base,
  .about-partners {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .about-metrics__grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-metrics__grid > div {
    min-height: 130px;
    padding: 22px 18px;
  }

  .about-metrics__grid strong {
    font-size: 28px;
  }

  .about-company-focus__grid {
    grid-template-columns: 1fr;
  }

  .about-company-focus__grid article {
    min-height: 200px;
    padding: 22px 20px;
  }

  .about-company-focus__grid article > span {
    margin-bottom: 40px;
  }

  .about-factory-base__grid {
    grid-template-columns: 1fr;
    grid-template-rows: 300px auto 220px 220px;
  }

  .about-factory-base__image--large,
  .about-factory-base__copy {
    grid-column: auto;
  }

  .about-factory-base__copy {
    padding: 28px 22px;
  }

  .about-partners__grid {
    grid-template-columns: 1fr 1fr;
  }

  .about-partners__grid > div {
    min-height: 92px;
    padding: 20px 16px;
    font-size: 13px;
  }

  .about-final {
    padding: 48px 0;
  }

  .about-final__box {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px 24px;
  }

  .about-final h2 {
    font-size: 29px;
  }

  .about-final__side {
    max-width: none;
    justify-self: stretch;
  }

  .about-final__side .btn-brand {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 389.98px) {
  .about-page-hero__copy h1 {
    font-size: 34px;
  }

  .about-metrics__grid,
  .about-partners__grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Solutions V14 — Interactive Route Map
========================================================= */
.sol14-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 34px;
  color: #929aa3;
  font-size: 10px;
}

.sol14-breadcrumb a { color: #69737e; }
.sol14-breadcrumb i { font-size: 7px; }

/* Hero */
.sol14-hero {
  padding: 54px 0 84px;
}

.sol14-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
  gap: 70px;
  align-items: center;
}

.sol14-hero__copy h1 {
  max-width: 820px;
  margin: 0;
  color: var(--color-ink);
  font-size: clamp(52px, 4.3vw, 72px);
  font-weight: 560;
  line-height: .98;
  letter-spacing: -.056em;
}

.sol14-hero__copy > p {
  max-width: 700px;
  margin: 25px 0 28px;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

.sol14-hero__actions {
  display: flex;
  align-items: center;
  gap: 26px;
}

.sol14-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-ink);
  font-size: 12px;
  font-weight: 700;
}

.sol14-text-link i { color: var(--color-brand); }

.sol14-hero__signal {
  margin-top: 38px;
  display: grid;
  grid-template-columns: 32px 1fr 32px 1fr;
  gap: 11px 10px;
  max-width: 560px;
  padding-top: 19px;
  border-top: 1px solid #d5dadd;
}

.sol14-hero__signal span {
  color: var(--color-brand);
  font-size: 9px;
  font-weight: 800;
}

.sol14-hero__signal strong {
  color: #56616b;
  font-size: 10.5px;
  font-weight: 650;
}

.sol14-hero__visual {
  position: relative;
  height: 500px;
  overflow: hidden;
}

.sol14-hero__visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.sol14-hero__plate {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  padding: 17px 20px;
  color: #fff;
  border-left: 2px solid var(--color-brand);
  background: rgba(17,24,31,.9);
  backdrop-filter: blur(9px);
}

.sol14-hero__plate span,
.sol14-hero__plate strong {
  display: block;
}

.sol14-hero__plate span {
  margin-bottom: 5px;
  color: rgba(255,255,255,.52);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .13em;
}

.sol14-hero__plate strong {
  font-size: 13px;
  font-weight: 600;
}

/* Scroll-synced route map */
.sol14-routes {
  padding: 82px 0 92px;
  background: #fff;
}

.sol14-routes__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 56px;
}

.sol14-routes__heading h2,
.sol14-output__copy h2 {
  max-width: 760px;
  margin: 0;
  color: var(--color-ink);
  font-size: 42px;
  font-weight: 560;
  line-height: 1.04;
  letter-spacing: -.046em;
}

.sol14-routes__heading > p {
  max-width: 560px;
  margin: 0;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 12.5px;
  line-height: 1.68;
}

.sol14-routes__layout {
  display: grid;
  grid-template-columns: minmax(430px, .94fr) minmax(0, 1.06fr);
  gap: 68px;
  align-items: start;
}

.sol14-stage {
  position: sticky;
  top: calc(var(--header-height) + 26px);
  height: 560px;
  overflow: hidden;
  color: #fff;
  background: var(--color-graphite);
}

.sol14-stage__images {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.sol14-stage__images img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.045);
  clip-path: inset(100% 0 0 0);
  transition:
    opacity .45s ease,
    transform 1s var(--ease-smooth),
    clip-path .72s var(--ease-smooth);
}

.sol14-stage__images img.is-active {
  opacity: 1;
  transform: scale(1);
  clip-path: inset(0 0 0 0);
}

.sol14-stage__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(9,14,18,.06) 35%, rgba(9,14,18,.82) 100%);
  pointer-events: none;
}

.sol14-stage__number {
  position: absolute;
  top: 24px;
  left: 26px;
  z-index: 2;
}

.sol14-stage__number span {
  color: rgba(255,255,255,.92);
  font-size: 82px;
  font-weight: 520;
  line-height: .9;
  letter-spacing: -.08em;
}

.sol14-stage__caption {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 86px;
  bottom: 34px;
}

.sol14-stage__caption small {
  display: block;
  margin-bottom: 8px;
  color: #ef5965;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
}

.sol14-stage__caption strong {
  display: block;
  max-width: 520px;
  font-size: 29px;
  font-weight: 550;
  line-height: 1.14;
  letter-spacing: -.03em;
}

.sol14-stage__chips {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.sol14-stage__chips span {
  padding: 7px 9px;
  color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 8.5px;
  font-weight: 650;
}

.sol14-stage__rail {
  position: absolute;
  z-index: 3;
  top: 22px;
  right: 18px;
  display: grid;
  gap: 8px;
}

.sol14-stage__rail button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.48);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(15,21,27,.34);
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.sol14-stage__rail button:hover,
.sol14-stage__rail button.is-active {
  color: #fff;
  border-color: #d82d3b;
  background: rgba(216,45,59,.16);
}

.sol14-stage__rail span {
  font-size: 9px;
  font-weight: 800;
}

.sol14-chapters {
  min-width: 0;
}

.sol14-chapter {
  min-height: 620px;
  padding: 34px 0 62px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--color-line);
  opacity: .64;
  transform: translateY(12px);
  transition: opacity .28s ease, transform .28s ease;
}

.sol14-chapter:last-child {
  border-bottom: 1px solid var(--color-line);
}

.sol14-chapter.is-active {
  opacity: 1;
  transform: translateY(0);
}

.sol14-chapter__topline {
  margin-bottom: 15px;
  color: var(--color-brand);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
}

.sol14-chapter__topline span {
  margin-right: 12px;
  color: #9aa2a9;
}

.sol14-chapter h3 {
  max-width: 660px;
  margin: 0;
  color: var(--color-ink);
  font-size: 35px;
  font-weight: 570;
  line-height: 1.06;
  letter-spacing: -.043em;
}

.sol14-chapter > p {
  max-width: 650px;
  margin: 18px 0 24px;
  color: var(--color-text-muted);
  font-size: 13px;
  line-height: 1.68;
}

.sol14-chapter__decision {
  max-width: 650px;
  margin-bottom: 24px;
  padding: 17px 18px;
  border-left: 2px solid var(--color-brand);
  background: #f5f6f7;
}

.sol14-chapter__decision span {
  display: block;
  margin-bottom: 5px;
  color: #9aa1a8;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
}

.sol14-chapter__decision strong {
  color: var(--color-ink);
  font-size: 13px;
  font-weight: 650;
}

.sol14-chapter__facts {
  max-width: 650px;
  border-top: 1px solid var(--color-line);
}

.sol14-chapter__facts > div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--color-line);
}

.sol14-chapter__facts span {
  color: var(--color-brand);
  font-size: 8px;
  font-weight: 800;
}

.sol14-chapter__facts p {
  margin: 0;
  color: #59636c;
  font-size: 11.5px;
  line-height: 1.5;
}

.sol14-chapter > a {
  margin-top: 23px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  color: var(--color-ink);
  font-size: 11.5px;
  font-weight: 700;
}

.sol14-chapter > a i {
  color: var(--color-brand);
  transition: transform .2s ease;
}

.sol14-chapter > a:hover i {
  transform: translateX(4px);
}

.sol14-chapter__mobile-image {
  display: none;
}

/* Technical project output */
.sol14-output {
  padding: 96px 0 104px;
  color: #fff;
  background: var(--color-graphite);
}

.sol14-output__grid {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(500px, 1.16fr);
  gap: 82px;
  align-items: start;
}

.sol14-output__copy h2 {
  color: #fff;
}

.sol14-output__copy > p {
  max-width: 570px;
  margin: 21px 0 0;
  color: rgba(255,255,255,.58);
  font-size: 12.5px;
  line-height: 1.68;
}

.sol14-blueprint {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 25% 100%,
    rgba(255,255,255,.015);
}

.sol14-blueprint::before,
.sol14-blueprint::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.055);
  transform: rotate(45deg);
}

.sol14-blueprint::before {
  width: 190px;
  height: 190px;
  right: -96px;
  top: -96px;
}

.sol14-blueprint::after {
  width: 120px;
  height: 120px;
  left: -62px;
  bottom: -62px;
}

.sol14-blueprint__header {
  min-height: 64px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.sol14-blueprint__header span {
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.sol14-blueprint__header strong {
  color: rgba(255,255,255,.46);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
}

.sol14-blueprint__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px 180px 1fr;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.sol14-blueprint__row span {
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
}

.sol14-blueprint__row strong {
  color: #fff;
  font-size: 13px;
  font-weight: 650;
}

.sol14-blueprint__row p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 10.5px;
  line-height: 1.5;
}

.sol14-blueprint__footer {
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: rgba(255,255,255,.29);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .1em;
}

/* CTA */
.sol14-cta {
  padding: 72px 0 80px;
  background: #fff;
}

.sol14-cta__box {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: 52px;
  align-items: center;
  padding: 44px 48px;
  color: #fff;
  background: #111921;
}

.sol14-cta__kicker {
  margin-bottom: 10px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.sol14-cta h2 {
  max-width: 780px;
  margin: 0;
  font-size: 35px;
  font-weight: 550;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.sol14-cta__side {
  max-width: 430px;
  justify-self: end;
}

.sol14-cta__side p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.6);
  font-size: 12px;
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .sol14-hero {
    background: #f4f5f6;
  }

  .sol14-hero__grid {
    gap: 46px;
  }

  .sol14-hero__copy h1 {
    font-size: 58px;
  }

  .sol14-routes__layout {
    gap: 50px;
  }

  .sol14-stage {
    height: 520px;
  }

  .sol14-chapter {
    min-height: 570px;
  }
}

@media (max-width: 991.98px) {
  .sol14-hero__grid,
  .sol14-routes__layout,
  .sol14-output__grid,
  .sol14-routes__heading,
  .sol14-cta__box {
    grid-template-columns: 1fr;
  }

  .sol14-hero__visual {
    height: 420px;
  }

  .sol14-routes__heading > p,
  .sol14-cta__side {
    justify-self: start;
  }

  .sol14-stage {
    position: relative;
    top: auto;
    height: 500px;
  }

  .sol14-chapter {
    min-height: 470px;
  }
}

@media (max-width: 767.98px) {
  .sol14-hero {
    padding: 38px 0 56px;
  }

  .sol14-breadcrumb {
    margin-bottom: 24px;
    font-size: 9px;
  }

  .sol14-hero__copy h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .sol14-hero__copy > p {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.62;
  }

  .sol14-hero__actions {
    display: grid;
    gap: 14px;
  }

  .sol14-hero__actions .btn-brand {
    width: 100%;
    justify-content: center;
  }

  .sol14-hero__signal {
    grid-template-columns: 28px 1fr;
  }

  .sol14-hero__visual {
    height: 310px;
    box-shadow: none;
  }

  .sol14-routes,
  .sol14-output {
    padding-top: 60px;
    padding-bottom: 68px;
  }

  .sol14-routes__heading {
    gap: 18px;
    margin-bottom: 30px;
  }

  .sol14-routes__heading h2,
  .sol14-output__copy h2 {
    font-size: 31px;
    line-height: 1.06;
  }

  .sol14-stage {
    display: none;
  }

  .sol14-chapter {
    min-height: 0;
    padding: 28px 0 36px;
    opacity: 1;
    transform: none;
  }

  .sol14-chapter h3 {
    font-size: 27px;
  }

  .sol14-chapter__mobile-image {
    margin: 22px 0 0;
    display: block;
    height: 235px;
    overflow: hidden;
  }

  .sol14-chapter__mobile-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .sol14-output__grid {
    gap: 30px;
  }

  .sol14-blueprint__row {
    grid-template-columns: 30px 128px 1fr;
    gap: 10px;
    padding: 16px 14px;
  }

  .sol14-blueprint__header,
  .sol14-blueprint__footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  .sol14-cta {
    padding: 48px 0;
  }

  .sol14-cta__box {
    gap: 24px;
    padding: 30px 24px;
  }

  .sol14-cta h2 {
    font-size: 28px;
  }

  .sol14-cta__side {
    max-width: none;
  }

  .sol14-cta__side .btn-brand {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 389.98px) {
  .sol14-hero__copy h1 {
    font-size: 33px;
  }

  .sol14-blueprint__row {
    grid-template-columns: 28px 1fr;
  }

  .sol14-blueprint__row p {
    grid-column: 2;
  }
}

/* =========================================================
   Solutions V15 — final polish
========================================================= */

/* Unify the hero with the Product archive inner-page background. */
.sol14-hero {
  background: #f4f5f6;
}

/* Slightly reduce the visual card shadow so it matches the restrained site system. */
.sol14-hero__visual {
  box-shadow: 0 18px 44px rgba(16,24,31,.075);
}

/* =========================================================
   Shared inner-page breadcrumb
========================================================= */
.site-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
  color: #929aa3;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
}

.site-breadcrumb a {
  color: #69737e;
  transition: color .2s ease;
}

.site-breadcrumb a:hover {
  color: var(--color-brand);
}

.site-breadcrumb i {
  color: #a6adb4;
  font-size: 7px;
}

.site-breadcrumb span {
  color: #929aa3;
}

/* =========================================================
   About V16
========================================================= */
.about16-hero {
  padding: 52px 0 86px;
  background: #f4f5f6;
}

.about16-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(450px, .97fr);
  gap: 68px;
  align-items: center;
}

.about16-hero__copy {
  padding-right: 34px;
}

.about16-hero__copy h1 {
  margin: 0;
  color: var(--color-ink);
  font-weight: 560;
  line-height: .98;
  letter-spacing: -.057em;
}

.about16-hero__copy > p {
  margin: 26px 0 30px;
  color: var(--color-text-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

.about16-hero__actions {
  display: flex;
  align-items: center;
  gap: 26px;
}

.about16-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-ink);
  font-size: 12px;
  font-weight: 700;
}

.about16-text-link i {
  color: var(--color-brand);
}

.about16-hero__visual {
  position: relative;
  height: 520px;
  overflow: hidden;
  background: #dfe3e6;
}

.about16-hero__visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.about16-hero__plate {
  position: absolute;
  left: 20px;
  bottom: 20px;
  padding: 16px 18px;
  color: #fff;
  border-left: 2px solid var(--color-brand);
  background: rgba(17,24,31,.9);
  backdrop-filter: blur(8px);
}

.about16-hero__plate span,
.about16-hero__plate strong {
  display: block;
}

.about16-hero__plate span {
  margin-bottom: 5px;
  color: rgba(255,255,255,.52);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.about16-hero__plate strong {
  font-size: 12px;
  font-weight: 650;
}

.about16-profile {
  position: absolute;
  z-index: 4;
  color: #fff;
  background: var(--color-graphite);
  box-shadow: 0 20px 46px rgba(14,21,28,.12);
}

.about16-profile__label {
  margin-bottom: 13px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.about16-profile__row {
  display: grid;
  gap: 14px;
  align-items: baseline;
  border-top: 1px solid rgba(255,255,255,.13);
}

.about16-profile__row strong {
  font-weight: 560;
  letter-spacing: -.035em;
}

.about16-profile__row span {
  color: rgba(255,255,255,.58);
  font-size: 10px;
}

/* Interactive system */
.about16-system {
  padding: 94px 0 104px;
  color: #fff;
  background: var(--color-graphite);
}

.about16-system__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 68px;
  align-items: end;
}

.about16-system__head h2 {
  color: #fff;
}

.about16-system__head > p {
  max-width: 560px;
  margin: 0;
  justify-self: end;
  color: rgba(255,255,255,.58);
  font-size: 12.5px;
  line-height: 1.68;
}

.about16-system__layout {
  display: grid;
  gap: 0;
  border: 1px solid rgba(255,255,255,.13);
}

.about16-system__tabs {
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,.13);
}

.about16-system__tabs button {
  position: relative;
  padding: 24px 24px;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-content: center;
  text-align: left;
  color: rgba(255,255,255,.54);
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
  background: transparent;
  transition: color .24s ease, background-color .24s ease;
}

.about16-system__tabs button:last-child {
  border-bottom: 0;
}

.about16-system__tabs button::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--color-brand);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .25s ease;
}

.about16-system__tabs button:hover,
.about16-system__tabs button.is-active {
  color: #fff;
  background: rgba(255,255,255,.025);
}

.about16-system__tabs button.is-active::before {
  transform: scaleY(1);
}

.about16-system__tabs button > span {
  grid-row: 1 / span 2;
  color: #ef5965;
  font-size: 9px;
  font-weight: 800;
}

.about16-system__tabs strong {
  font-size: 15px;
  font-weight: 650;
}

.about16-system__tabs small {
  margin-top: 6px;
  color: rgba(255,255,255,.4);
  font-size: 9.5px;
}

.about16-system__stage {
  position: relative;
  overflow: hidden;
}

.about16-system__images {
  position: absolute;
  inset: 0;
}

.about16-system__images img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.025);
  clip-path: inset(0 100% 0 0);
  transition:
    opacity .35s ease,
    transform .8s var(--ease-smooth),
    clip-path .65s var(--ease-smooth);
}

.about16-system__images img.is-active {
  opacity: 1;
  transform: scale(1);
  clip-path: inset(0 0 0 0);
}

.about16-system__caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  padding: 19px 21px;
  color: #fff;
  background: rgba(17,24,31,.88);
  backdrop-filter: blur(8px);
}

.about16-system__caption small {
  display: block;
  margin-bottom: 7px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .11em;
}

.about16-system__caption strong {
  display: block;
  max-width: 650px;
  font-size: 22px;
  font-weight: 570;
  line-height: 1.2;
}

.about16-system__caption p {
  max-width: 640px;
  margin: 8px 0 0;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  line-height: 1.55;
}

/* Clients */
.about16-clients {
  padding: 92px 0 100px;
  background: #f4f5f6;
}

.about16-clients__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 68px;
  align-items: end;
  margin-bottom: 42px;
}

.about16-clients__head > p {
  max-width: 540px;
  margin: 0;
  justify-self: end;
  color: var(--color-text-muted);
  font-size: 12.5px;
  line-height: 1.68;
}

.about16-clients__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #cfd4d8;
}

.about16-clients__list > div {
  display: grid;
  grid-template-columns: 38px 190px 1fr;
  gap: 17px;
  min-height: 108px;
  padding: 22px 20px 22px 0;
  border-bottom: 1px solid #cfd4d8;
}

.about16-clients__list > div:nth-child(odd) {
  padding-right: 28px;
  border-right: 1px solid #cfd4d8;
}

.about16-clients__list > div:nth-child(even) {
  padding-left: 28px;
}

.about16-clients__list span {
  color: var(--color-brand);
  font-size: 9px;
  font-weight: 800;
}

.about16-clients__list strong {
  color: var(--color-ink);
  font-size: 13.5px;
  font-weight: 650;
}

.about16-clients__list p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 10.8px;
  line-height: 1.55;
}

/* Location anchor */
.about16-location {
  padding: 0;
  background: #f4f5f6;
}

.about16-location__box {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: 58px;
  align-items: center;
  padding: 46px 48px;
  color: #fff;
  background: var(--color-graphite);
}

.about16-location__label {
  display: block;
  margin-bottom: 10px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.about16-location h2 {
  margin: 0;
  font-size: 38px;
  font-weight: 550;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.about16-location__side {
  max-width: 470px;
  justify-self: end;
}

.about16-location__side p {
  margin: 0 0 16px;
  color: rgba(255,255,255,.58);
  font-size: 11.5px;
  line-height: 1.62;
}

.about16-location__side a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-size: 11.5px;
  font-weight: 700;
}

.about16-location__side i {
  color: #ef5965;
}

/* CTA */
.about16-cta {
  padding: 70px 0 78px;
  background: #fff;
}

.about16-cta__box {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: 52px;
  align-items: center;
  padding: 42px 46px;
  color: #fff;
  background: #111921;
}

.about16-cta__kicker {
  margin-bottom: 10px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.about16-cta h2 {
  max-width: 760px;
  margin: 0;
  font-size: 35px;
  font-weight: 550;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.about16-cta__side {
  max-width: 430px;
  justify-self: end;
}

.about16-cta__side p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.6);
  font-size: 12px;
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .about16-hero__grid {
    gap: 46px;
  }

  .about16-hero__copy h1 {
    font-size: 58px;
  }

  .about16-profile {
    right: 0;
    bottom: -54px;
  }

  .about16-identity__grid {
    gap: 56px;
  }
}

@media (max-width: 991.98px) {
  .about16-hero__grid,
  .about17-intro__grid,
  .about16-system__head,
  .about16-clients__head,
  .about16-location__box,
  .about16-cta__box {
    grid-template-columns: 1fr;
  }

  .about16-hero__copy {
    padding-right: 0;
  }

  .about16-profile {
    position: static;
    margin-top: -20px;
    box-shadow: none;
  }

  .about16-system__head > p,
  .about16-clients__head > p,
  .about16-location__side,
  .about16-cta__side {
    justify-self: start;
  }

  .about16-system__layout {
    grid-template-columns: 1fr;
  }

  .about16-system__tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.13);
  }

  .about16-system__tabs button {
    min-height: 125px;
    border-right: 1px solid rgba(255,255,255,.13);
    border-bottom: 0;
  }

  .about16-system__tabs button:last-child {
    border-right: 0;
  }

  .about16-system__stage {
    height: 460px;
  }

  .about16-clients__list {
    grid-template-columns: 1fr;
  }

  .about16-clients__list > div:nth-child(odd),
  .about16-clients__list > div:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
    border-right: 0;
  }
}

@media (max-width: 767.98px) {
  .site-breadcrumb {
    margin-bottom: 22px;
    font-size: 9px;
  }

  .about16-hero {
    padding: 38px 0 56px;
  }

  .about16-hero__copy h1 {
    line-height: 1.02;
  }

  .about16-hero__copy > p {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.62;
  }

  .about16-hero__actions {
    display: grid;
    gap: 14px;
  }

  .about16-hero__actions .btn-brand {
    width: 100%;
    justify-content: center;
  }

  .about16-hero__visual {
    height: 310px;
  }

  .about16-profile {
    margin-top: 12px;
    padding: 18px 18px;
  }

  .about16-profile__row {
    grid-template-columns: 82px 1fr;
  }

  .about16-identity,
  .about16-system,
  .about16-clients {
    padding-top: 60px;
    padding-bottom: 68px;
  }

  .about17-intro__grid,
  .about16-system__head,
  .about16-clients__head {
    gap: 24px;
  }

  .about17-intro__side h2,
  .about16-system__head h2,
  .about16-clients__head h2 {
    font-size: 31px;
    line-height: 1.06;
  }

    .about16-system__tabs {
    grid-template-columns: 1fr;
  }

  .about16-system__tabs button {
    min-height: 96px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.13);
  }

  .about16-system__caption {
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 15px 16px;
  }

  .about16-system__caption strong {
    font-size: 18px;
  }

  .about16-clients__list > div {
    grid-template-columns: 28px 1fr;
    gap: 10px;
    min-height: 0;
    padding: 18px 0;
  }

  .about16-clients__list p {
    grid-column: 2;
  }

  .about16-location__box,
  .about16-cta__box {
    gap: 24px;
    padding: 30px 24px;
  }

  .about16-location h2,
  .about16-cta h2 {
    font-size: 29px;
  }

  .about16-location__side,
  .about16-cta__side {
    max-width: none;
  }

  .about16-cta {
    padding: 48px 0;
  }

  .about16-cta__side .btn-brand {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 389.98px) {
  .about16-hero__copy h1 {
    font-size: 34px;
  }
}

/* =========================================================
   About V17 — editable company introduction
========================================================= */
.about17-intro { padding: 104px 0 110px; background: #fff; }
.about17-intro__grid { display:grid; align-items:start; }
.about17-intro__side { position:sticky; top:calc(var(--header-height) + 28px); }
.about17-intro__side h2 { margin:0; color:var(--color-ink); font-weight:560; line-height:1.05; letter-spacing:-.045em; }
.about17-intro__meta { margin-top:38px; border-top:1px solid var(--color-line); }
.about17-intro__meta > div { display:grid; grid-template-columns:116px 1fr; gap:18px; padding:15px 0; border-bottom:1px solid var(--color-line); }
.about17-intro__meta span { color:#9aa2aa; font-size:8px; font-weight:800; letter-spacing:.09em; }
.about17-intro__meta strong { color:#303942; font-size:11.5px; font-weight:650; line-height:1.5; }
.about17-intro__content { max-width:790px; padding-top:3px; }
.about17-intro__content > p { max-width:760px; margin:0 0 24px; color:#636d76; font-size:14px; line-height:1.82; }
.about17-intro__content > p:last-of-type { margin-bottom:0; }
.about17-intro__content > p + p { padding-top:24px; border-top:1px solid #e1e5e8; }
.about17-intro__lead { color:var(--color-ink)!important; font-weight:500; letter-spacing:-.015em; }
.about17-intro__note { margin-top:38px; padding:22px 24px; border-left:2px solid var(--color-brand); background:#f4f5f6; }
.about17-intro__note span { display:block; margin-bottom:7px; color:#9a6268; font-size:8px; font-weight:800; letter-spacing:.11em; }
.about17-intro__note strong { display:block; max-width:650px; color:var(--color-ink); font-size:15px; font-weight:650; line-height:1.5; }
.about16-system__head > p { margin-bottom:14px; }
.about17-system-link { display:inline-flex; align-items:center; gap:9px; justify-self:end; color:#fff; font-size:11px; font-weight:700; }
.about17-system-link i { color:#ef5965; transition:transform .2s ease; }
.about17-system-link:hover i { transform:translateX(4px); }
@media (max-width:1199.98px){ .about17-intro__grid{gap:58px;} }
@media (max-width:991.98px){ .about17-intro__grid{grid-template-columns:1fr;gap:40px;} .about17-intro__side{position:static;} .about17-intro__content{max-width:none;} .about17-system-link{justify-self:start;} }
@media (max-width:767.98px){
  .about17-intro{padding:60px 0 68px;}
  .about17-intro__grid{gap:30px;}
  .about17-intro__side h2{font-size:31px;line-height:1.06;}
  .about17-intro__meta{margin-top:28px;}
  .about17-intro__meta > div{grid-template-columns:92px 1fr;gap:12px;padding:13px 0;}
  .about17-intro__content > p{margin-bottom:18px;font-size:13px;line-height:1.72;}
  .about17-intro__content > p + p{padding-top:18px;}
  .about17-intro__lead{font-size:16px!important;line-height:1.65!important;}
  .about17-intro__note{margin-top:28px;padding:18px;}
}

/* =========================================================
   About V18 — streamlined final-site composition
========================================================= */

/* Hero */
.about16-hero {
  padding-bottom: 78px;
}

.about16-hero__copy h1 {
  max-width: 760px;
  font-size: clamp(50px, 4.05vw, 68px);
}

.about16-hero__copy > p {
  max-width: 690px;
}

.about16-hero__actions {
  margin-top: 2px;
}

/* Profile is now a compact proof panel rather than a competing hero block. */
.about16-profile {
  width: 330px;
  right: -18px;
  bottom: -28px;
  padding: 20px 22px;
}

.about16-profile__row {
  grid-template-columns: 88px 1fr;
  padding: 9px 0;
}

.about16-profile__row strong {
  font-size: 20px;
}

/* Company introduction is the main body of the About page. */
.about17-intro {
  padding-top: 102px;
  padding-bottom: 104px;
}

.about17-intro__grid {
  grid-template-columns: minmax(340px, .84fr) minmax(520px, 1.16fr);
  gap: 86px;
}

.about17-intro__side h2 {
  max-width: 570px;
  font-size: 38px;
}

.about17-intro__content > p {
  margin-bottom: 22px;
}

.about17-intro__lead {
  font-size: 18px !important;
  line-height: 1.7 !important;
}

/* The manufacturing system is the only supporting proof module. */
.about16-system {
  padding-top: 90px;
  padding-bottom: 98px;
}

.about16-system__head {
  margin-bottom: 38px;
}

.about16-system__head h2 {
  max-width: 760px;
  font-size: 40px;
}

.about16-system__layout {
  grid-template-columns: minmax(270px, .64fr) minmax(0, 1.36fr);
}

.about16-system__tabs button {
  min-height: 132px;
}

.about16-system__stage {
  height: 500px;
}

/* CTA now follows the proof section directly. */
.about16-cta {
  padding-top: 66px;
  padding-bottom: 74px;
}

.about16-cta__box {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (max-width: 991.98px) {
  .about16-profile {
    width: 100%;
    right: auto;
    bottom: auto;
  }
}

@media (max-width: 767.98px) {
  .about16-hero {
    padding-bottom: 54px;
  }

  .about16-hero__copy h1 {
    font-size: 36px;
  }

  .about17-intro {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .about17-intro__side h2 {
    font-size: 30px;
  }

  .about16-system {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .about16-system__stage {
    height: 310px;
  }

  .about16-cta {
    padding-top: 46px;
    padding-bottom: 50px;
  }
}



/* =========================================================
   V20 Complete-site shared components
========================================================= */
.site-cta-strip{padding:68px 0 76px;background:#fff}.site-cta-strip__box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:48px;align-items:center;padding:40px 44px;color:#fff;background:#111921}.site-cta-strip__box>div:first-child>span{display:block;margin-bottom:9px;color:#ef5965;font-size:8px;font-weight:800;letter-spacing:.12em}.site-cta-strip h2{max-width:760px;margin:0;font-size:34px;font-weight:550;line-height:1.08;letter-spacing:-.04em}.site-cta-strip__box>div:last-child{max-width:430px;justify-self:end}.site-cta-strip p{margin:0 0 17px;color:rgba(255,255,255,.6);font-size:11.5px;line-height:1.62}

/* Capabilities */
.cap20-hero{padding:52px 0 84px;background:#f4f5f6}.cap20-hero__grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);gap:68px;align-items:center}.cap20-hero__copy h1{max-width:820px;margin:0;font-size:clamp(50px,4.2vw,70px);font-weight:560;line-height:.99;letter-spacing:-.055em}.cap20-hero__copy>p{max-width:700px;margin:24px 0 28px;color:var(--color-text-muted);font-size:14px;line-height:1.7}.cap20-hero__visual{position:relative;height:500px;overflow:hidden}.cap20-hero__visual img{width:100%;height:100%;object-fit:cover}.cap20-hero__plate{position:absolute;left:20px;right:20px;bottom:20px;padding:17px 19px;color:#fff;border-left:2px solid var(--color-brand);background:rgba(17,24,31,.89)}.cap20-hero__plate span,.cap20-hero__plate strong{display:block}.cap20-hero__plate span{margin-bottom:5px;color:#ef5965;font-size:8px;font-weight:800;letter-spacing:.1em}.cap20-hero__plate strong{font-size:12px;font-weight:600}.cap20-config{padding:92px 0 100px;color:#fff;background:var(--color-graphite)}.cap20-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:66px;align-items:end;margin-bottom:42px}.cap20-head h2{max-width:760px;margin:0;color:#fff;font-size:40px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.cap20-head>p{max-width:550px;margin:0;justify-self:end;color:rgba(255,255,255,.57);font-size:12px;line-height:1.68}.cap20-config__grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);gap:0;border:1px solid rgba(255,255,255,.12)}.cap20-config .capabilities-visual{position:relative;min-height:560px;overflow:hidden}.cap20-config .capabilities-visual__panel{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .35s ease}.cap20-config .capabilities-visual__panel.is-active{opacity:1;pointer-events:auto}.cap20-config .capabilities-visual__panel img{width:100%;height:100%;object-fit:cover}.cap20-config .capabilities-visual__panel>div{position:absolute;left:20px;right:20px;bottom:20px;padding:17px 18px;background:rgba(17,24,31,.88);backdrop-filter:blur(8px)}.cap20-config .capabilities-visual__panel span{color:#ef5965;font-size:8px;font-weight:800}.cap20-config .capabilities-visual__panel strong{display:block;margin:5px 0 4px;font-size:19px;font-weight:600}.cap20-config .capabilities-visual__panel p{margin:0;color:rgba(255,255,255,.58);font-size:10px}.cap20-config .capability-list{border-left:1px solid rgba(255,255,255,.12)}.cap20-config .capability-list__item{width:100%;min-height:93px;padding:17px 20px;display:grid;grid-template-columns:36px 1fr 24px;gap:12px;align-items:center;color:#fff;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;transition:background .2s ease}.cap20-config .capability-list__item:last-child{border-bottom:0}.cap20-config .capability-list__item:hover,.cap20-config .capability-list__item.is-active{background:rgba(255,255,255,.035)}.cap20-config .capability-list__item>span{color:#ef5965;font-size:8px;font-weight:800}.cap20-config .capability-list__item strong{display:block;font-size:13px;font-weight:650}.cap20-config .capability-list__item small{display:block;margin-top:5px;color:rgba(255,255,255,.42);font-size:9px}.cap20-config .capability-list__item i{justify-self:end;color:rgba(255,255,255,.35);font-size:10px}.cap20-options{padding:92px 0 100px;background:#f4f5f6}.cap20-head--light h2{color:var(--color-ink)}.cap20-head--light>p{color:var(--color-text-muted)}.cap20-options__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d6dbe0;border-left:1px solid #d6dbe0}.cap20-options__grid article{min-height:210px;padding:25px 24px;background:#fff;border-right:1px solid #d6dbe0;border-bottom:1px solid #d6dbe0}.cap20-options__grid span{display:block;margin-bottom:54px;color:var(--color-brand);font-size:9px;font-weight:800}.cap20-options__grid h3{margin:0 0 9px;font-size:17px;font-weight:650}.cap20-options__grid p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.58}

/* Production */
.prod20-hero{padding:52px 0 82px;background:#f4f5f6}.prod20-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,1fr);gap:66px;align-items:center}.prod20-hero h1{max-width:800px;margin:0;font-size:clamp(50px,4.15vw,70px);font-weight:560;line-height:.99;letter-spacing:-.055em}.prod20-hero p{max-width:700px;margin:24px 0 28px;color:var(--color-text-muted);font-size:14px;line-height:1.7}.prod20-hero__visual{position:relative;height:510px;overflow:hidden}.prod20-hero__visual>img{width:100%;height:100%;object-fit:cover}.prod20-hero__stats{position:absolute;left:20px;right:20px;bottom:20px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(17,24,31,.9);backdrop-filter:blur(8px)}.prod20-hero__stats div{padding:17px;border-right:1px solid rgba(255,255,255,.13)}.prod20-hero__stats div:last-child{border-right:0}.prod20-hero__stats strong,.prod20-hero__stats span{display:block}.prod20-hero__stats strong{color:#fff;font-size:18px;font-weight:600}.prod20-hero__stats span{margin-top:4px;color:rgba(255,255,255,.5);font-size:8px}.prod20-flow{padding:92px 0 100px;background:#fff}.prod20-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:66px;align-items:end;margin-bottom:42px}.prod20-head h2{max-width:760px;margin:0;font-size:40px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.prod20-head>p{max-width:550px;margin:0;justify-self:end;color:var(--color-text-muted);font-size:12px;line-height:1.68}.prod20-flow__grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--color-line);border-left:1px solid var(--color-line)}.prod20-flow__grid article{position:relative;min-height:180px;padding:23px 19px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);cursor:pointer;transition:background .2s ease}.prod20-flow__grid article.is-active,.prod20-flow__grid article:hover{background:#f5f6f7}.prod20-flow__grid article.is-active:after{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--color-brand)}.prod20-flow__grid span{color:var(--color-brand);font-size:9px;font-weight:800}.prod20-flow__grid h3{margin:50px 0 8px;font-size:15px;font-weight:650}.prod20-flow__grid p{margin:0;color:var(--color-text-muted);font-size:9.5px;line-height:1.52}.prod20-flow__visual{position:relative;height:480px;margin-top:18px;overflow:hidden}.prod20-flow__visual img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .6s ease}.prod20-flow__visual>div{position:absolute;left:22px;bottom:22px;max-width:600px;padding:18px 20px;color:#fff;background:rgba(17,24,31,.89)}.prod20-flow__visual span{display:block;margin-bottom:5px;color:#ef5965;font-size:8px;font-weight:800}.prod20-flow__visual strong{font-size:17px;font-weight:600}.prod20-quality{padding:92px 0 100px;color:#fff;background:var(--color-graphite)}.prod20-head--dark h2{color:#fff}.prod20-head--dark>p{color:rgba(255,255,255,.57)}.prod20-quality__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.prod20-quality__grid>div{min-height:180px;padding:24px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.prod20-quality__grid span{color:#ef5965;font-size:8px;font-weight:800}.prod20-quality__grid strong{display:block;margin:56px 0 7px;font-size:15px;font-weight:650}.prod20-quality__grid p{margin:0;color:rgba(255,255,255,.48);font-size:10px;line-height:1.55}.prod20-shipping{padding:92px 0 100px;background:#f4f5f6}.prod20-shipping__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:70px;align-items:center}.prod20-shipping h2{max-width:620px;margin:0;font-size:39px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.prod20-shipping p{max-width:610px;margin:20px 0 24px;color:var(--color-text-muted);font-size:12.5px;line-height:1.68}.prod20-shipping a{display:inline-flex;align-items:center;gap:9px;color:var(--color-ink);font-size:11.5px;font-weight:700}.prod20-shipping a i{color:var(--color-brand)}.prod20-shipping img{width:100%;height:430px;object-fit:cover}

/* Projects */
.project20-hero{padding:52px 0 72px;background:#f4f5f6}.project20-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:68px;align-items:end}.project20-hero h1{max-width:840px;margin:0;font-size:clamp(48px,4vw,67px);font-weight:560;line-height:1;letter-spacing:-.055em}.project20-hero__grid>p{max-width:550px;margin:0 0 4px;justify-self:end;color:var(--color-text-muted);font-size:12.5px;line-height:1.68}.project20-gallery{padding:72px 0 100px;background:#fff}.project20-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--color-line)}.project20-filters{display:flex;flex-wrap:wrap;gap:8px}.project20-filters button{padding:9px 13px;color:#68717a;border:1px solid #e0e4e7;background:#fff;font-size:9.5px;font-weight:650}.project20-filters button.is-active{color:#fff;border-color:var(--color-brand);background:var(--color-brand)}.project20-toolbar>span{color:#9aa1a8;font-size:10px}.project20-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project20-card{position:relative;color:inherit;border:1px solid #e0e4e7;background:#fff;transition:transform .25s ease,box-shadow .25s ease}.project20-card[hidden]{display:none}.project20-card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(15,23,30,.08)}.project20-card__image{position:relative;height:360px;overflow:hidden}.project20-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-smooth)}.project20-card:hover img{transform:scale(1.025)}.project20-card__image span{position:absolute;left:18px;bottom:18px;padding:8px 10px;color:#fff;background:rgba(17,24,31,.88);font-size:8px;font-weight:700}.project20-card__body{position:relative;padding:26px 28px 28px}.project20-card__body small{color:var(--color-brand);font-size:8px;font-weight:800;letter-spacing:.09em}.project20-card h3{max-width:540px;margin:10px 54px 9px 0;font-size:25px;font-weight:600;line-height:1.16;letter-spacing:-.035em}.project20-card p{max-width:560px;margin:0;color:var(--color-text-muted);font-size:11.5px;line-height:1.58}.project20-card__body>i{position:absolute;right:26px;top:30px;color:var(--color-brand);font-size:11px}.case20-hero{padding:52px 0 86px;background:#f4f5f6}.case20-hero__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:68px;align-items:center}.case20-hero h1{max-width:700px;margin:0;font-size:clamp(48px,4vw,68px);font-weight:560;line-height:1;letter-spacing:-.055em}.case20-hero p{margin:22px 0 0;color:var(--color-text-muted);font-size:13px}.case20-hero img{width:100%;height:520px;object-fit:cover}.case20-story{padding:90px 0 96px;background:#fff}.case20-story__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-line);border-left:1px solid var(--color-line)}.case20-story__grid>div{min-height:300px;padding:28px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.case20-story span{color:var(--color-brand);font-size:8px;font-weight:800}.case20-story h2{margin:76px 0 12px;font-size:24px;font-weight:600;line-height:1.18;letter-spacing:-.035em}.case20-story p{margin:0;color:var(--color-text-muted);font-size:11.5px;line-height:1.65}.case20-spec{padding:90px 0 96px;color:#fff;background:var(--color-graphite)}.case20-spec__head{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end;margin-bottom:40px}.case20-spec__head h2{max-width:650px;margin:0;color:#fff;font-size:39px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.case20-spec__head>p{max-width:540px;margin:0;justify-self:end;color:rgba(255,255,255,.55);font-size:11.5px;line-height:1.62}.case20-spec__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.case20-spec__grid div{min-height:120px;padding:22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.case20-spec__grid span{display:block;color:rgba(255,255,255,.4);font-size:8px;font-weight:800}.case20-spec__grid strong{display:block;margin-top:30px;font-size:13px;font-weight:650}

/* Knowledge */
.knowledge20-hero{padding:52px 0 76px;background:#f4f5f6}.knowledge20-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:68px;align-items:end}.knowledge20-hero h1{max-width:820px;margin:0;font-size:clamp(48px,4vw,67px);font-weight:560;line-height:1;letter-spacing:-.055em}.knowledge20-hero__grid>p{max-width:560px;margin:0;justify-self:end;color:var(--color-text-muted);font-size:12.5px;line-height:1.68}.knowledge20-index{padding:72px 0 100px;background:#fff}.knowledge20-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--color-line)}.knowledge20-filters{display:flex;gap:8px;flex-wrap:wrap}.knowledge20-filters button,.knowledge20-filters a{padding:9px 13px;color:#68717a;border:1px solid #e0e4e7;background:#fff;font-size:9.5px;font-weight:650}.knowledge20-filters button.is-active,.knowledge20-filters a.is-active{color:#fff;border-color:var(--color-brand);background:var(--color-brand)}.knowledge20-toolbar label{min-width:280px;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #dfe3e6}.knowledge20-toolbar input{width:100%;border:0;outline:0;font:inherit;font-size:10px}.knowledge20-toolbar i{color:#8e969e;font-size:10px}.knowledge20-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.knowledge20-card{display:grid;grid-template-columns:230px 1fr;min-height:260px;color:inherit;border:1px solid #e0e4e7;background:#fff;transition:transform .24s ease,box-shadow .24s ease}.knowledge20-card[hidden]{display:none}.knowledge20-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(15,23,30,.07)}.knowledge20-card img{width:100%;height:100%;object-fit:cover}.knowledge20-card>div{position:relative;padding:24px 24px}.knowledge20-card span{color:var(--color-brand);font-size:8px;font-weight:800}.knowledge20-card h3{margin:28px 30px 10px 0;font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.03em}.knowledge20-card p{margin:0;color:var(--color-text-muted);font-size:10.5px;line-height:1.58}.knowledge20-card i{position:absolute;right:22px;top:24px;color:var(--color-brand);font-size:10px}.knowledge20-empty{margin:32px 0 0;color:var(--color-text-muted);font-size:12px}.article20-hero{padding:52px 0 82px;background:#f4f5f6}.article20-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:72px;align-items:end}.article20-hero h1{max-width:850px;margin:0;font-size:clamp(48px,4vw,66px);font-weight:560;line-height:1;letter-spacing:-.055em}.article20-hero p{max-width:760px;margin:22px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.68}.article20-hero aside{padding:24px;color:#fff;background:var(--color-graphite)}.article20-hero aside span{display:block;color:#ef5965;font-size:8px;font-weight:800;letter-spacing:.1em}.article20-hero aside strong{display:block;margin:44px 0 14px;font-size:18px;font-weight:600}.article20-hero aside a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:10px;font-weight:700}.article20-hero aside i{color:#ef5965}.article20-body{padding:86px 0 100px;background:#fff}.article20-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:92px;justify-content:center}.article20-toc{position:sticky;top:calc(var(--header-height) + 30px);align-self:start;border-top:1px solid var(--color-line)}.article20-toc>span{display:block;padding:16px 0;color:var(--color-brand);font-size:8px;font-weight:800}.article20-toc a{display:block;padding:11px 0;color:#65707a;border-top:1px solid var(--color-line);font-size:10.5px;line-height:1.45}.article20-toc a[aria-current="location"]{color:#c93242;border-top-color:#c93242;font-weight:750}.article20-toc a:focus-visible{outline:2px solid #c93242;outline-offset:3px}.article20-copy h2[id]{scroll-margin-top:calc(var(--header-height,80px) + 28px)}.article20-copy section{padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--color-line)}.article20-copy h2{margin:0 0 16px;font-size:29px;font-weight:600;line-height:1.16;letter-spacing:-.035em}.article20-copy p{margin:0;color:#59636c;font-size:14px;line-height:1.85}.article20-callout{padding:24px;border-left:2px solid var(--color-brand);background:#f4f5f6}.article20-callout strong{display:block;margin-bottom:8px;font-size:13px}.article20-callout p{font-size:12px;line-height:1.65}

/* Cooperation */
.coop20-hero{padding:52px 0 84px;background:#f4f5f6}.coop20-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}.coop20-hero h1{max-width:800px;margin:0;font-size:clamp(50px,4.1vw,68px);font-weight:560;line-height:1;letter-spacing:-.055em}.coop20-hero p{max-width:700px;margin:24px 0 28px;color:var(--color-text-muted);font-size:13.5px;line-height:1.7}.coop20-hero img{width:100%;height:500px;object-fit:cover}.coop20-steps{padding:90px 0 100px}.coop20-head{display:grid;grid-template-columns:1.15fr .85fr;gap:66px;align-items:end;margin-bottom:42px}.coop20-head h2{max-width:760px;margin:0;font-size:40px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.coop20-head>p{max-width:550px;margin:0;justify-self:end;color:var(--color-text-muted);font-size:12px;line-height:1.68}.coop20-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-line);border-left:1px solid var(--color-line)}.coop20-steps__grid>div{min-height:220px;padding:25px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.coop20-steps__grid span{color:var(--color-brand);font-size:8px;font-weight:800}.coop20-steps__grid strong{display:block;margin:70px 0 9px;font-size:16px;font-weight:650}.coop20-steps__grid p{margin:0;color:var(--color-text-muted);font-size:10.5px;line-height:1.58}.coop20-logistics{padding:90px 0 98px;color:#fff;background:var(--color-graphite)}.coop20-logistics__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}.coop20-logistics h2{max-width:650px;margin:0;color:#fff;font-size:39px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.coop20-logistics p{max-width:620px;margin:20px 0 0;color:rgba(255,255,255,.55);font-size:12px;line-height:1.68}.coop20-logistics__modes{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.coop20-logistics__modes>div{min-height:150px;padding:22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.coop20-logistics__modes i{color:#ef5965;font-size:16px}.coop20-logistics__modes strong,.coop20-logistics__modes span{display:block}.coop20-logistics__modes strong{margin-top:42px;font-size:14px}.coop20-logistics__modes span{margin-top:5px;color:rgba(255,255,255,.45);font-size:9px}.coop20-docs{padding:90px 0 100px;background:#f4f5f6}.coop20-docs__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #ced4d9}.coop20-docs__grid>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid #ced4d9}.coop20-docs__grid>div:nth-child(odd){padding-right:28px;border-right:1px solid #ced4d9}.coop20-docs__grid>div:nth-child(even){padding-left:28px}.coop20-docs__grid span{color:var(--color-brand);font-size:8px;font-weight:800}.coop20-docs__grid strong{font-size:13px;font-weight:650}


/* Knowledge and cooperation: content-only additions, no previous-selector overrides. */
.knowledge21-search{display:flex;align-items:center;gap:7px;min-width:250px;padding:8px 12px;border:1px solid #dfe3e6;background:#fff}
.knowledge21-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:12px}
.knowledge21-search button{flex:none;color:#c93245;background:transparent;border:0;cursor:pointer;padding:6px}
.knowledge21-card__fallback{margin:0;height:100%;min-height:210px;display:grid;place-items:center;background:linear-gradient(145deg,#24313c,#10181e)}
.knowledge21-card__fallback span{font-size:86px;font-weight:700;color:rgba(255,255,255,.13)}
.knowledge21-article-meta{margin-top:22px;color:#8b939d;font-size:11px}
.knowledge21-featured{padding:34px 0 0;background:#fff}
.knowledge21-featured img{display:block;width:100%;max-height:540px;object-fit:cover}
.article20-copy :is(h2,h3){scroll-margin-top:120px}
.article20-copy :is(p,ul,ol,blockquote){margin-bottom:1.3em}
.article20-copy :is(ul,ol){padding-left:1.4em}
.article20-copy a{color:#c93245;text-underline-offset:3px}
.article20-copy figure{max-width:100%}
.article20-copy figure img{height:auto;max-width:100%}
.knowledge21-article-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e0e4e7;padding-top:30px;margin-top:58px;color:#8b939d;font-size:11px}
.knowledge21-article-end a{color:#c93245;font-weight:650}
.knowledge21-related{padding:70px 0 95px;background:#f4f5f6}
.knowledge21-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.knowledge21-related__grid>a{display:block;min-width:0;text-decoration:none;color:inherit}
.knowledge21-related__grid img{width:100%;height:220px;object-fit:cover;display:block;margin-bottom:18px}
.knowledge21-related__grid span{display:block;color:#c93245;font-size:10px;margin-bottom:8px}
.knowledge21-related__grid h3{font-size:20px;line-height:1.3;margin:0}
.coop21-hero__media{overflow:hidden}
.coop21-hero__media img{display:block;width:100%;height:500px;object-fit:cover;object-position:var(--coop-x,50%) var(--coop-y,50%)}
.coop21-hero__outline{display:flex;flex-direction:column;justify-content:center;min-height:450px;padding:50px;background:#141e28;color:#fff}
.coop21-hero__outline>div{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.coop21-hero__outline>div:last-child{border-bottom:0}
.coop21-hero__outline span,.coop21-num{color:#e55364;font-size:13px;font-weight:750}
.coop21-hero__outline strong{font-size:23px;font-weight:550;line-height:1.3}
.coop20-logistics__modes .coop21-num{font-size:12px;color:#e55364}
.coop20-logistics__modes>div>span:last-child{font-size:11px;line-height:1.55}
.coop20-docs__grid p{margin:8px 0 0;color:#68737d;font-size:12px;line-height:1.7}
.coop21-faq{padding:82px 0 94px;background:#fff}
.coop21-faq__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:76px}
.coop21-faq h2{font-size:clamp(28px,3vw,42px);font-weight:560;line-height:1.08;margin:0;letter-spacing:-.035em}
.coop21-faq details{border-top:1px solid #dfe3e6}
.coop21-faq details:last-child{border-bottom:1px solid #dfe3e6}
.coop21-faq summary{list-style:none;cursor:pointer;font-weight:600;font-size:14px;padding:23px 35px 23px 0;position:relative}
.coop21-faq summary::-webkit-details-marker{display:none}
.coop21-faq summary::after{content:'+';position:absolute;right:6px;top:19px;color:#c93245;font-size:20px;font-weight:400}
.coop21-faq details[open] summary::after{content:'−'}
.coop21-faq details p{font-size:12px;line-height:1.8;color:#58646f;margin:0 0 22px}
@media(max-width:1100px){.coop21-hero__outline{min-height:360px;padding:30px}.coop21-hero__outline strong{font-size:20px}.knowledge21-related__grid img{height:175px}}
@media(max-width:767.98px){.knowledge20-toolbar{flex-direction:column;align-items:stretch}.knowledge21-search{width:100%}.knowledge20-grid{grid-template-columns:1fr}.knowledge20-card{grid-template-columns:130px 1fr;min-height:190px}.knowledge20-card h3{font-size:16px;margin-top:14px}.knowledge20-card>div{padding:17px}.knowledge21-card__fallback{min-height:180px}.knowledge21-article-meta{margin-top:16px}.knowledge21-featured{padding-top:18px}.article20-layout{grid-template-columns:1fr;gap:34px}.article20-toc{position:static}.article20-body{padding:46px 0 65px}.knowledge21-related__grid{grid-template-columns:1fr}.knowledge21-related__grid img{height:210px}.coop20-hero__grid,.coop20-logistics__grid,.coop20-head,.coop21-faq__grid{grid-template-columns:1fr;gap:30px}.coop21-hero__media img{height:300px;object-position:var(--coop-mx,50%) var(--coop-my,50%)}.coop21-hero__outline{min-height:270px;padding:24px}.coop21-hero__outline>div{padding:17px 0}.coop21-hero__outline strong{font-size:17px}.coop20-steps__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coop20-logistics__modes{grid-template-columns:1fr 1fr}.coop20-docs__grid{grid-template-columns:1fr}.coop20-docs__grid>div:nth-child(odd),.coop20-docs__grid>div:nth-child(even){padding:18px 0;border-right:0}.coop21-faq{padding:54px 0}.coop21-faq h2{font-size:29px}}
@media(max-width:420px){.knowledge20-card{grid-template-columns:1fr}.knowledge20-card img,.knowledge21-card__fallback{height:185px}.coop20-steps__grid,.coop20-logistics__modes{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.knowledge20-card{transition:none}}

/* Contact */
.contact20-hero{padding:52px 0 82px;background:#f4f5f6}.contact20-hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:72px;align-items:end}.contact20-hero__grid--single{grid-template-columns:minmax(0,1fr)}.contact20-hero h1{max-width:820px;margin:0;font-size:clamp(50px,4.1vw,68px);font-weight:560;line-height:1;letter-spacing:-.055em}.contact20-hero p{max-width:730px;margin:22px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.7}
.contact20-hero__card { padding: 28px 30px; min-width: 0; color: #fff; background: var(--color-graphite); }
.contact20-hero__card > span { display: block; margin-bottom: 18px; color: #ff838d; font-size: 11px; font-weight: 750; letter-spacing: .1em; }
.contact20-hero__channels { display: grid; gap: 11px; margin: 0; }
.contact20-hero__channels > div { display: grid; grid-template-columns: 6em minmax(0, 1fr); gap: 4px 14px; align-items: baseline; }
.contact20-hero__channels dt, .contact20-hero__location > span { color: #bcc6d0; font-size: var(--hg-type-hint, 12px); line-height: 1.5; }
.contact20-hero__channels dd { margin: 0; min-width: 0; }
.contact20-hero__card a { color: inherit; font-weight: 650; overflow-wrap: anywhere; text-decoration: none; }
.contact20-hero__card a:hover { text-decoration: underline; text-underline-offset: 3px; }
.contact20-hero__card a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.contact20-hero__channels + .contact20-hero__location { margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .2); }
.contact20-hero__location { display: grid; gap: 5px; }
.contact20-hero__location strong { font-size: var(--hg-type-card, 14px); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.contact20-hero__card small { display: block; margin-top: 12px; color: #bcc6d0; }
.contact20-form{padding:90px 0 104px;background:#fff}.contact20-form__grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(560px,1.28fr);gap:90px;align-items:start}.contact20-form__intro{position:sticky;top:calc(var(--header-height) + 28px)}.contact20-form__intro h2{max-width:500px;margin:0;font-size:39px;font-weight:560;line-height:1.05;letter-spacing:-.045em}.contact20-form__intro>p{max-width:500px;margin:20px 0 30px;color:var(--color-text-muted);font-size:12px;line-height:1.68}.contact20-checklist{border-top:1px solid var(--color-line)}.contact20-checklist div{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--color-line);color:#55606a;font-size:10.5px}.contact20-checklist span{color:var(--color-brand);font-size:8px;font-weight:800}.contact20-form__body{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 18px;padding:34px;border:1px solid #dfe3e6;background:#fafbfb}.contact20-field{display:grid;gap:8px}.contact20-field--wide{grid-column:1/-1}.contact20-field label{color:#4f5962;font-size:9px;font-weight:700}.contact20-field input,.contact20-field select,.contact20-field textarea{width:100%;padding:12px 13px;color:var(--color-ink);border:1px solid #d6dce0;background:#fff;font:inherit;font-size:11px;outline:none}.contact20-field textarea{resize:vertical}.contact20-field input:focus,.contact20-field select:focus,.contact20-field textarea:focus{border-color:#aeb6bd}.contact20-upload{display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:66px;border:1px dashed #cfd5da!important;background:#fff;cursor:pointer}.contact20-upload input{display:none}.contact20-upload i{color:var(--color-brand)}.contact20-consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;color:#6a747d;font-size:9.5px;line-height:1.5}.contact20-consent input{margin-top:3px}.contact20-consent a{color:var(--color-ink);text-decoration:underline}.contact20-form__body>.btn-brand{justify-self:start}

/* Legal */
.legal20-hero{padding:52px 0 72px;background:#f4f5f6}.legal20-hero h1{max-width:900px;margin:0;font-size:clamp(46px,3.8vw,64px);font-weight:560;line-height:1;letter-spacing:-.05em}.legal20-hero>div>p{max-width:760px;margin:22px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.7}.legal20-body{padding:80px 0 100px;background:#fff}.legal20-layout{display:grid;grid-template-columns:260px minmax(0,820px);gap:90px;justify-content:center}.legal20-layout>aside{position:sticky;top:calc(var(--header-height) + 28px);align-self:start;border-top:1px solid var(--color-line)}.legal20-layout>aside>span{display:block;padding:16px 0;color:var(--color-brand);font-size:8px;font-weight:800}.legal20-layout>aside a{display:block;padding:10px 0;color:#65707a;border-top:1px solid var(--color-line);font-size:10px;line-height:1.45}.legal20-layout article section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--color-line)}.legal20-layout article h2{margin:0 0 15px;font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.03em}.legal20-layout article p{margin:0 0 12px;color:#59636c;font-size:12.5px;line-height:1.8}.legal20-layout article a{color:var(--color-brand);text-decoration:underline}

/* State pages */
.state20{min-height:64vh;padding:100px 0;background:#f4f5f6;display:grid;align-items:center}.state20-box{max-width:850px;padding:52px 56px;background:#fff;border:1px solid #dde2e6}.state20-box>span{color:var(--color-brand);font-size:9px;font-weight:800;letter-spacing:.1em}.state20-box h1{margin:22px 0 16px;font-size:48px;font-weight:560;line-height:1.05;letter-spacing:-.05em}.state20-box p{max-width:680px;margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.7}.state20-box>div{margin-top:28px;display:flex;align-items:center;gap:24px}.state20-box>div>a:not(.btn-brand){color:var(--color-ink);font-size:11px;font-weight:700}

@media(max-width:767.98px){.cap20-hero,.prod20-hero,.project20-hero,.knowledge20-hero,.article20-hero,.coop20-hero,.contact20-hero,.case20-hero{padding:38px 0 54px}.cap20-hero__copy h1,.prod20-hero h1,.project20-hero h1,.knowledge20-hero h1,.article20-hero h1,.coop20-hero h1,.contact20-hero h1,.case20-hero h1{font-size:36px;line-height:1.02}.cap20-hero__visual,.prod20-hero__visual,.coop20-hero img,.case20-hero img{height:310px}.prod20-hero__stats{grid-template-columns:1fr;left:12px;right:auto;bottom:12px}.prod20-hero__stats div{min-width:170px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);padding:10px 12px}.prod20-hero__stats div:last-child{border-bottom:0}.cap20-config,.cap20-options,.prod20-flow,.prod20-quality,.prod20-shipping,.project20-gallery,.knowledge20-index,.article20-body,.coop20-steps,.coop20-logistics,.coop20-docs,.contact20-form,.legal20-body,.case20-story,.case20-spec{padding-top:58px;padding-bottom:64px}.cap20-head,.prod20-head,.coop20-head{gap:18px;margin-bottom:28px}.cap20-head h2,.prod20-head h2,.prod20-shipping h2,.coop20-head h2,.coop20-logistics h2,.contact20-form__intro h2,.case20-spec__head h2{font-size:30px}.cap20-config .capabilities-visual{min-height:330px}.cap20-config .capability-list__item{min-height:80px}.cap20-options__grid,.prod20-quality__grid,.coop20-steps__grid,.case20-spec__grid{grid-template-columns:1fr}.prod20-flow__grid{grid-template-columns:repeat(2,1fr)}.prod20-flow__grid article{min-height:155px}.prod20-flow__grid h3{margin-top:38px}.prod20-flow__visual{height:300px}.prod20-shipping img{height:300px}.project20-toolbar,.knowledge20-toolbar{align-items:flex-start;flex-direction:column}.project20-card__image{height:240px}.knowledge20-card{grid-template-columns:1fr}.knowledge20-card img{height:220px}.article20-hero aside{margin-top:10px}.article20-copy h2{font-size:25px}.article20-copy p{font-size:13px}.coop20-logistics__modes{grid-template-columns:1fr 1fr}.contact20-form__body{grid-template-columns:1fr;padding:22px 18px}.contact20-field--wide,.contact20-consent{grid-column:auto}.case20-story h2{margin-top:42px}.site-cta-strip{padding:48px 0}.site-cta-strip__box{gap:24px;padding:30px 24px}.site-cta-strip h2{font-size:28px}.legal20-hero h1{font-size:35px}.state20{padding:70px 0}.state20-box{padding:36px 24px}.state20-box h1{font-size:35px}}

/* =========================================================
   Cookie consent V21 — compact privacy dock + preference panel
========================================================= */
.cookie21 {
  position: fixed;
  z-index: 1600;
  color: var(--color-ink);
  border: 1px solid #dde2e6;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease, transform .28s var(--ease-smooth);
}
.cookie21.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.cookie21::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  background: var(--color-brand);
}
.cookie21__eyebrow {
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  color: var(--color-brand);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cookie21__eyebrow::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}
.cookie21 h2 {
  margin: 0;
  color: var(--color-ink);
}
.cookie21 p {
  margin: 12px 0 0;
}
.cookie21 p a {
  color: var(--color-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie21__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.cookie21__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #d8dde1;
  color: var(--color-ink);
  font-weight: 750;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}
.cookie21__button--primary:hover { border-color: var(--color-brand); }
.cookie21__settings-link {
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  font-weight: 700;
}
.cookie21__settings-link i { color: var(--color-brand); transition: transform .18s ease; }
.cookie21__settings-link:hover i { transform: translateX(3px); }

.cookie21-panel {
  position: fixed;
  z-index: 1610;
  right: 28px;
  bottom: 28px;
  width: min(430px, calc(100vw - 56px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  color: #fff;
  background: #111921;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  opacity: 0;
  transform: translateX(24px);
  pointer-events: none;
  transition: opacity .28s ease, transform .32s var(--ease-smooth);
}
.cookie21-panel.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.cookie21-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 24px 20px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.cookie21-panel__head small {
  display: block;
  margin-bottom: 8px;
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}
.cookie21-panel__head h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.cookie21-panel__close {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.14);
  background: transparent;
}
.cookie21-panel__close:hover { color: #fff; border-color: rgba(255,255,255,.3); }
.cookie21-panel__intro {
  margin: 0;
  padding: 18px 24px;
  color: rgba(255,255,255,.56);
  font-size: 10.5px;
  line-height: 1.62;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.cookie21-panel__group { padding: 0 24px; }
.cookie21-panel__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.cookie21-panel__row strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
}
.cookie21-panel__row p {
  margin: 0;
  max-width: 280px;
  color: rgba(255,255,255,.48);
  font-size: 9.5px;
  line-height: 1.55;
}
.cookie21-panel__required {
  color: #ef5965;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}
.cookie21-switch {
  position: relative;
  width: 42px;
  height: 24px;
  flex: 0 0 42px;
}
.cookie21-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.cookie21-switch span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.06);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}
.cookie21-switch span::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 14px;
  height: 14px;
  background: rgba(255,255,255,.72);
  transition: transform .22s ease, background-color .22s ease;
}
.cookie21-switch input:checked + span {
  border-color: var(--color-brand);
  background: rgba(216,45,59,.22);
}
.cookie21-switch input:checked + span::after {
  transform: translateX(18px);
  background: #fff;
}
.cookie21-panel__foot {
  padding: 20px 24px 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
}
.cookie21-panel__foot a {
  color: rgba(255,255,255,.62);
  font-size: 9px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie21-panel__save {
  min-height: 40px;
  padding: 10px 16px;
  color: #fff;
  border: 1px solid var(--color-brand);
  background: var(--color-brand);
  font-size: 9px;
  font-weight: 750;
}
.footer-cookie-settings { cursor: pointer; }

@media (max-width: 767.98px) {
  .cookie21-panel {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    max-height: calc(100vh - 20px);
    transform: translateY(24px);
  }
  .cookie21-panel.is-visible { transform: translateY(0); }
  .cookie21-panel__head,
  .cookie21-panel__intro,
  .cookie21-panel__group,
  .cookie21-panel__foot { padding-left: 18px; padding-right: 18px; }
  .cookie21-panel__foot { grid-template-columns: 1fr; }
  .cookie21-panel__save { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie21,
  .cookie21-panel,
  .cookie21__button,
  .cookie21-switch span,
  .cookie21-switch span::after { transition: none !important; }
}

/* =========================================================
   Cookie consent V22 — compact native card
========================================================= */
.cookie21 {
  left: 22px;
  bottom: 22px;
  width: min(364px, calc(100vw - 44px));
  background: rgba(247,247,245,.965);
  border-color: rgba(30,39,47,.14);
  box-shadow:
    0 14px 34px rgba(15,23,30,.12),
    0 2px 8px rgba(15,23,30,.05);
  backdrop-filter: blur(14px);
  transform: translateY(12px);
}

.cookie21::before {
  width: 46px;
  height: 2px;
}

.cookie21__body {
  padding: 18px 18px 15px;
}

.cookie21__eyebrow {
  display: none;
}

.cookie21 h2 {
  max-width: none;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.14;
  letter-spacing: -.025em;
}

.cookie21 p {
  margin-top: 9px;
  color: #66717a;
  font-size: 9.5px;
  line-height: 1.5;
}

.cookie21 p a {
  color: #3d474f;
}

.cookie21__actions {
  gap: 7px;
  margin-top: 14px;
}

.cookie21__button {
  min-height: 38px;
  padding: 8px 10px;
  background: rgba(255,255,255,.62);
  border-color: #d3d8dc;
  font-size: 8.5px;
}

.cookie21__button:hover {
  transform: none;
  border-color: #b7c0c7;
  background: rgba(255,255,255,.9);
}

.cookie21__button--primary {
  color: #fff;
  border-color: var(--color-brand);
  background: var(--color-brand);
}

.cookie21__button--primary:hover {
  color: #fff;
  border-color: #bd2733;
  background: #bd2733;
}

.cookie21__settings-link {
  margin-top: 10px;
  color: #606b74;
  font-size: 8.5px;
}

.cookie21__settings-link i {
  font-size: 8px;
}

/* Mobile: compact bottom sheet, not a full-screen legal block. */
@media (max-width: 767.98px) {
  .cookie21 {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    max-height: 32vh;
    border-radius: 0;
  }

  .cookie21__body {
    padding: 16px 16px 13px;
  }

  .cookie21 h2 {
    font-size: 17px;
  }

  .cookie21 p {
    margin-top: 7px;
    font-size: 9px;
    line-height: 1.45;
  }

  .cookie21__actions {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-top: 12px;
  }

  .cookie21__button {
    min-height: 36px;
    padding: 7px 8px;
    font-size: 8px;
  }

  .cookie21__settings-link {
    margin-top: 9px;
    font-size: 8px;
  }
}

@media (max-width: 389.98px) {
  .cookie21__actions {
    grid-template-columns: 1fr;
  }

  .cookie21 {
    max-height: none;
  }
}

/* =========================================================
   V25 — Back to top / scroll progress
========================================================= */
.back-to-top {
  --scroll-progress: 0;
  position: fixed;
  z-index: 940;
  right: 24px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #202a33;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .26s var(--ease-smooth),
    color .2s ease,
    border-color .2s ease,
    background-color .2s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover {
  color: var(--color-brand);
}

.back-to-top:focus-visible {
  outline: 2px solid var(--color-brand);
  outline-offset: 3px;
}

.back-to-top__progress {
  position: absolute;
  inset: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  transform: rotate(-90deg);
  pointer-events: none;
}

.back-to-top__track,
.back-to-top__value {
  fill: none;
  stroke-width: 1.5;
}

.back-to-top__track {
  stroke: rgba(32,42,51,.13);
}

.back-to-top__value {
  stroke: var(--color-brand);
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: calc(100 - var(--scroll-progress));
  transition: stroke-dashoffset .08s linear;
}

.back-to-top__arrow {
  position: relative;
  font-size: 13px;
  transition: transform .2s var(--ease-smooth);
}

.back-to-top:hover .back-to-top__arrow {
  transform: translateY(-2px);
}

/* Eight desktop navigation items now include "Главная".
   Slightly tighten the middle range so the header keeps breathing room. */
@media (max-width: 1399.98px) and (min-width: 1200px) {
  .desktop-nav {
    gap: 18px;
  }

  .desktop-nav a {
    font-size: 12.5px;
  }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
  .desktop-nav {
    gap: 11px;
  }

  .desktop-nav a {
    font-size: 11.5px;
  }

  .header-cta {
    padding-inline: 14px;
  }
}

@media (max-width: 767.98px) {
  .back-to-top {
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
  }

  .back-to-top__arrow {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top,
  .back-to-top__value,
  .back-to-top__arrow {
    transition: none !important;
  }
}

/* =========================================================
   V26 — Back-to-top circular polish
   Remove the square card so only the circular progress control remains.
========================================================= */
.back-to-top {
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.back-to-top::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: rgba(247,247,245,.96);
  box-shadow:
    0 7px 20px rgba(15,23,30,.10),
    0 1px 4px rgba(15,23,30,.05);
  transition:
    background-color .2s ease,
    box-shadow .2s ease;
}

.back-to-top:hover {
  background: transparent;
  border-color: transparent;
}

.back-to-top:hover::before {
  background: #fff;
  box-shadow:
    0 9px 24px rgba(15,23,30,.12),
    0 1px 5px rgba(15,23,30,.06);
}

.back-to-top__progress {
  z-index: 1;
}

.back-to-top__arrow {
  z-index: 2;
}

/* WordPress dynamic content */
/* Dynamic WordPress components. Namespaced hg- classes only; original prototype CSS is unchanged. */
.hg-home-hero{background:#122a32;color:#fff;min-height:600px;display:flex;align-items:center;padding:110px 0 84px}
.hg-home-hero__grid,.hg-page-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center}
.hg-home-hero__copy h1{font-size:clamp(2.7rem,5vw,5.8rem);line-height:1.12;font-weight:750;letter-spacing:-.04em;max-width:800px;margin:20px 0 22px}
.hg-home-hero__copy p{max-width:650px;line-height:1.8;color:#d7e2e3;font-size:1.09rem}
.hg-home-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hg-home-hero__media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:8px}
.hg-page-hero{padding:100px 0 70px;background:#f4f6f5}
.hg-page-hero h1{font-size:clamp(2.4rem,4.2vw,4.5rem);max-width:1050px;line-height:1.15;letter-spacing:-.035em;margin:20px 0}
.hg-page-hero p{font-size:1.1rem;line-height:1.8;max-width:720px;color:#56636a}
.hg-page-hero__image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.hg-list-section{padding:85px 0;background:#fff}
.hg-list-section:nth-of-type(even){background:#f6f8f7}
.hg-heading{max-width:800px;margin-bottom:34px}
.hg-heading h2{font-size:clamp(2rem,3vw,3rem);line-height:1.18;margin:14px 0}
.hg-heading p{color:#69757b;font-size:1.06rem;line-height:1.7}
.hg-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.hg-card{min-width:0;background:#fff;border:1px solid #e5eae8;transition:transform .25s ease,box-shadow .25s ease}
.hg-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(16,45,52,.10)}
.hg-card__link{display:block;color:inherit;text-decoration:none;height:100%}
.hg-card__media{background:#eef2f1;overflow:hidden;aspect-ratio:4/3}
.hg-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.hg-card:hover img{transform:scale(1.035)}
.hg-card__body{padding:25px}.hg-card__body h3{font-size:1.25rem;line-height:1.35;color:#172e37;margin:0 0 13px}
.hg-card__body p{font-size:.96rem;color:#6c777c;line-height:1.65}
.hg-card__more{color:#b0834d;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:12px;margin-top:12px}
.hg-center{text-align:center;margin-top:35px}.hg-pagination{margin-top:42px}.hg-pagination .nav-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.hg-pagination a,.hg-pagination span{padding:8px 13px;border:1px solid #dbe3e0}
.hg-filter{display:flex;flex-wrap:wrap;align-items:end;gap:15px;margin-bottom:32px;padding:22px;background:#f5f7f6}
.hg-filter label{display:flex;flex-direction:column;gap:7px;min-width:155px;color:#4d6066;font-size:.85rem}
.hg-filter select{min-height:44px;padding:8px;background:white;border:1px solid #d5dddb}
.hg-filter__reset{padding:12px;color:#4c5c61}
.hg-content-section{padding:72px 0;background:#fff}.hg-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.hg-feature--right .hg-feature__media{order:2}.hg-feature--right .hg-feature__text{order:1}
.hg-feature__media img{width:100%;height:auto;max-height:620px;object-fit:cover}
.hg-feature__text h2{font-size:clamp(1.8rem,2.6vw,3rem);line-height:1.2;margin:0 0 20px}
.hg-prose{max-width:900px;line-height:1.85;color:#465961;font-size:1.04rem;overflow-wrap:anywhere}
.hg-prose h2,.hg-prose h3{color:#17333c;line-height:1.26;margin:1.4em 0 .7em}.hg-prose p{margin-bottom:1em}.hg-prose img{max-width:100%;height:auto}
.hg-editor-content{max-width:900px}.hg-cta{padding:65px 0;background:#102e37;text-align:center}
.hg-steps__grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:6%;align-items:start}
.hg-steps__menu{display:flex;flex-direction:column;gap:10px}
.hg-steps__tab{background:#f3f5f4;border:1px solid #e5e9e8;text-align:left;display:flex;align-items:center;gap:22px;padding:20px 24px;color:#26363c;font-weight:650;cursor:pointer;transition:background .2s,border-color .2s}
.hg-steps__tab span{color:#bc3345;font-size:.9rem}
.hg-steps__tab.is-active,.hg-steps__tab:hover{background:#fff;border-color:#bc3345}
.hg-steps__content>[hidden]{display:none}
.hg-steps__visual img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hg-steps__content h3{margin:23px 0 10px;font-size:clamp(1.35rem,2vw,1.85rem)}
.hg-steps__content p{line-height:1.75;color:#5a666c}
.hg-contact-grid{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);gap:9%}
.hg-contact-form{background:#f5f7f6;padding:30px}.hg-contact-form input,.hg-contact-form textarea,.hg-contact-form select{max-width:100%}
.hg-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hg-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.hg-article-cover{padding:30px 0}.hg-article-cover img{display:block;width:100%;max-height:650px;object-fit:cover}
.hg-error{text-align:center}.hg-error h1{font-size:8rem}.hg-error p{margin:20px auto}
@media(max-width:991px){.hg-steps__grid{grid-template-columns:1fr}.hg-steps__menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hg-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hg-home-hero__grid,.hg-page-hero__grid,.hg-feature,.hg-contact-grid{grid-template-columns:1fr}.hg-home-hero{min-height:auto;padding:80px 0}.hg-home-hero__media{margin-top:35px}.hg-feature--right .hg-feature__media,.hg-feature--right .hg-feature__text{order:initial}}
@media(max-width:640px){.hg-steps__menu{grid-template-columns:1fr}.hg-card-grid,.hg-gallery{grid-template-columns:1fr}.hg-page-hero{padding:72px 0 52px}.hg-list-section,.hg-content-section{padding:52px 0}.hg-filter label{width:100%}.hg-home-hero__copy h1{font-size:2.7rem}}

/* WordPress link treatment, breadcrumb and 1380px container */
/* Hugornis HTML visual parity: preserve original link treatment in global navigation/footer.
   Intentionally leaves article body, privacy consent, and in-text links unchanged. */
.site-header .desktop-nav a,
.site-header .mobile-nav a,
.site-header .header-cta,
.site-header .brand,
.site-footer .brand,
.site-footer .footer-col a,
.site-footer .footer-bottom a,
.site-footer .footer-legal a {
    text-decoration: none !important;
    text-underline-offset: initial;
}
.site-header .desktop-nav a:hover,
.site-header .desktop-nav .current-menu-item > a,
.site-header .desktop-nav .current_page_item > a {
    text-decoration: none !important;
}
/* Keep the original HTML active-link indicator (pseudo-element), not browser underline. */
.site-header .desktop-nav .current-menu-item > a::after,
.site-header .desktop-nav .current_page_item > a::after { opacity: 1; }

/* v0.9.4: approved HTML breadcrumb links are never underlined.
   Scope is intentionally limited to the visual breadcrumb component. */
.site-breadcrumb a,
.site-breadcrumb a:visited,
.site-breadcrumb a:hover,
.site-breadcrumb a:focus-visible {
    text-decoration: none !important;
}

/* HG-HTML-BASELINE-v0.9.5-BEGIN
   Approved 1380px visual grid and Manrope type; no prototype CSS overwritten. */
body { font-family: var(--font-body) !important; }
.site-header .container-xl,
.site-footer .container-xl,
.contact20-hero .container-xl,
.contact20-form .container-xl {
  max-width: var(--container-max) !important;
}
/* HG-HTML-BASELINE-v0.9.5-END */
/* HG_PRODUCT_CATALOG_V010_BEGIN: WordPress server-rendered catalog adapters. */
.catalog-refine{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:0}
.catalog-refine label{display:flex;flex-direction:column;gap:6px;min-width:142px;flex:1 1 152px;max-width:240px}
.catalog-refine label span{font-size:13px;font-weight:700;color:#55616b}
.catalog-refine select{min-height:44px;width:100%;border:1px solid #d5dce2;background-color:#fff;color:#21272e;padding:0 38px 0 12px;font:inherit;font-size:14px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2356616c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.catalog-refine__submit,.catalog-refine__reset{min-height:44px;display:inline-flex;align-items:center;padding:0 17px;border:1px solid #c9d1d8;background:#fff;color:#202a33;text-decoration:none;font-size:14px;font-weight:700}
.catalog-refine__submit{border-color:var(--color-brand);background:var(--color-brand);color:#fff}
.catalog-refine__submit:hover{filter:brightness(.92)}
.catalog-card__placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-weight:800;letter-spacing:.1em;color:#69717a;background:#edf0f2}
.catalog-card__placeholder small{font-size:11px;letter-spacing:.16em}
.catalog-pagination .navigation{display:block;width:100%;margin:0}
.catalog-pagination .nav-links{display:flex;width:100%;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin-inline:auto}
.catalog-pagination .page-numbers{min-width:44px;min-height:44px;padding:0 12px;border:1px solid #d8dfe4;display:inline-flex;align-items:center;justify-content:center;color:#29333d;text-decoration:none}
.catalog-pagination .page-numbers.current{color:#fff;border-color:var(--color-brand);background:var(--color-brand)}
.catalog-filters a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.35;text-align:center}
.catalog-hero__visual:has(.catalog-hero__image:only-child){grid-template-rows:1fr}
.catalog-hero__visual:has(.catalog-hero__image:only-child) .catalog-hero__image--main{grid-row:1 / -1}
@media(max-width:700px){.catalog-refine{gap:10px;margin:0}.catalog-refine label{flex:1 1 calc(50% - 10px);min-width:0;max-width:none}.catalog-refine__submit,.catalog-refine__reset{flex:1 1 auto;justify-content:center}}
/* HG_PRODUCT_CATALOG_V010_END */
/* Catalog cards stay link-like for accessibility without browser-default underlines. */
.catalog-card,.catalog-card:hover{text-decoration:none}

/* HG-404-v0.10.10-BEGIN: isolated 404 page treatment. */
.hg-not-found {
  background: #f4f5f6;
  padding: 56px 0 112px;
}
.hg-not-found .site-breadcrumb { margin-bottom: 62px; }
.hg-not-found__grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
  gap: clamp(48px, 7vw, 120px);
  align-items: center;
}
.hg-not-found__number {
  position: relative;
  color: #d9dde0;
  font-size: clamp(140px, 17vw, 260px);
  font-weight: 650;
  letter-spacing: -.095em;
  line-height: .95;
  white-space: nowrap;
}
.hg-not-found__number span {
  display: block;
  width: 74px;
  height: 3px;
  margin-top: 28px;
  background: var(--color-brand);
}
.hg-not-found__content { max-width: 650px; }
.hg-not-found__content h1 {
  margin: 26px 0 22px;
  font-size: clamp(40px, 4.2vw, 66px);
  font-weight: 560;
  line-height: 1.07;
  letter-spacing: -.05em;
}
.hg-not-found__content p {
  margin: 0;
  max-width: 560px;
  color: var(--color-text-muted);
  font-size: 16px;
  line-height: 1.75;
}
.hg-not-found__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 30px;
  margin-top: 34px;
}
.hg-not-found__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  color: var(--color-ink);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}
.hg-not-found__link:hover { color: var(--color-brand); }
.hg-not-found a:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 4px; }
@media (max-width: 767px) {
  .hg-not-found { padding: 30px 0 76px; }
  .hg-not-found .site-breadcrumb { margin-bottom: 34px; }
  .hg-not-found__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hg-not-found__number { font-size: clamp(112px, 28vw, 170px); }
  .hg-not-found__number span { margin-top: 16px; width: 56px; }
  .hg-not-found__content h1 { margin: 20px 0 18px; }
  .hg-not-found__actions { margin-top: 28px; }
}
/* HG-404-v0.10.10-END */

/* HG-CTA-MOBILE-v0.12.2-START */
/* Shared CTA: one column on phones, with natural content and button heights. */
@media (max-width: 767.98px) {
  .site-cta-strip__box {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }
  .site-cta-strip__box > div {
    min-width: 0;
    width: 100%;
  }
  .site-cta-strip__box > div:last-child {
    max-width: none;
    justify-self: stretch;
  }
  .site-cta-strip__box h2 {
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .site-cta-strip__box .btn-brand {
    display: inline-flex;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 48px;
    padding: 12px 20px;
    align-items: center;
    justify-content: center;
    white-space: normal;
  }
}
/* HG-CTA-MOBILE-v0.12.2-END */
