/* =========================================================================
   Frontline Electronics Ltd. — Design System v3
   Editorial · Industrial · Premium. Deep Blue · White · Black.
   Built mobile-first, fully responsive, accessible.
   ========================================================================= */

/* ---------- Tokens ---------- */
:root {
  /* Surfaces */
  --paper:    #FFFFFF;
  --mist:     #FAFAFA;
  --cloud:    #F4F4F5;
  --line:     #E5E7EB;
  --line-2:   #D4D4D8;

  /* Ink (text & dark surfaces) */
  --ink:      #0A0A0A;
  --carbon:   #1A1A1A;
  --graphite: #404040;
  --slate:    #6B7280;
  --silver:   #9CA3AF;

  /* Brand Blue (legacy token names kept for templates) */
  --red:        #1E40AF;
  --red-bright: #3B82F6;
  --red-deep:   #1E3A8A;
  --red-dark:   #1c274d;
  --red-soft:   #DBEAFE;
  --red-tint:   #EFF6FF;

  /* Legacy aliases (keep templates working) */
  --violet:      var(--red);
  --violet-soft: var(--red-soft);
  --violet-deep: var(--red-deep);
  --purple-600:  var(--red);
  --purple-500:  var(--red-bright);
  --purple-400:  #93C5FD;

  /* Shape */
  --r-xs: 6px;
  --r-sm: 10px;
  --r:    16px;
  --r-lg: 24px;
  --r-xl: 32px;

  /* Shadow */
  --shadow-sm:   0 1px 2px rgba(10,10,15,.04), 0 4px 12px rgba(10,10,15,.04);
  --shadow:      0 4px 16px rgba(10,10,15,.06), 0 24px 48px rgba(10,10,15,.08);
  --shadow-lift: 0 12px 32px rgba(10,10,15,.10), 0 32px 80px rgba(10,10,15,.10);
  --shadow-red:  0 14px 36px rgba(30, 64, 175, .28);

  /* Layout */
  --container: 1280px;
  --nav-h: 56px;
}
@media (min-width: 768px) {
  :root { --nav-h: 64px; }
}

/* ---------- Reset / base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (max-width: 899.9px) {
  html { scroll-behavior: auto; }
}
html, body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  max-width: 100%;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video, canvas { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }

::selection { background: var(--red); color: var(--paper); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #D4D4D8; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--graphite); }

/* ---------- Layout primitives ---------- */
.wrap,
.container-x {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 640px)  { .wrap, .container-x { padding-inline: 1.5rem; } }
@media (min-width: 768px)  { .wrap, .container-x { padding-inline: 2rem; } }
@media (min-width: 1280px) { .wrap, .container-x { padding-inline: 2.5rem; } }

.section { padding-block: 3.5rem; }
@media (min-width: 640px)  { .section { padding-block: 4.5rem; } }
@media (min-width: 768px)  { .section { padding-block: 6rem; } }
@media (min-width: 1024px) { .section { padding-block: 8rem; } }

.section--tight { padding-block: 2.5rem; }
@media (min-width: 768px)  { .section--tight { padding-block: 3.5rem; } }
@media (min-width: 1024px) { .section--tight { padding-block: 5rem; } }

.section--mist { background: var(--mist); }
.section--before-plants { padding-bottom: 1.5rem; }
.section--plants {
  padding-top: 2.75rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .section--before-plants { padding-bottom: 2rem; }
  .section--plants {
    padding-top: 3.25rem;
    padding-bottom: 2.25rem;
  }
}
@media (min-width: 1024px) {
  .section--plants { padding-bottom: 2.5rem; }
}

/* ---------- Intro page — plant preview cards ---------- */
.plant-preview-grid .plant-preview-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.plant-preview-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--mist);
  flex-shrink: 0;
}
.plant-preview-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.plant-preview-card__body {
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-height: 0;
}
.plant-preview-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0;
}
.plant-preview-card__blocks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  flex: 1;
  align-items: stretch;
  min-height: 0;
}
.plant-preview-card__block {
  padding: 0.625rem 0.75rem;
  background: var(--mist);
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.plant-preview-card__block p {
  margin: 0;
  color: var(--graphite);
  font-size: 0.9375rem;
  line-height: 1.6;
}
.plant-preview-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  flex: 1;
}
.plant-preview-card__list li {
  color: var(--graphite);
  font-size: 0.875rem;
  line-height: 1.4;
}
.plant-preview-card__block--meta {
  background: var(--paper);
}
.plant-preview-card__block--meta .plant-preview-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
.plant-preview-card__block--meta p,
.plant-preview-card__block--meta .plant-preview-card__list li {
  font-size: 0.75rem;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  line-height: 1.35;
}

body.page-discover .discover-main > .section:last-child {
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  body.page-discover .discover-main > .section:last-child {
    padding-bottom: 2.25rem;
  }
}
@media (min-width: 1024px) {
  body.page-discover .discover-main > .section:last-child {
    padding-bottom: 2.5rem;
  }
}
.section--cloud { background: var(--cloud); }
.section--dark { background: var(--ink); color: var(--paper); }
.on-dark, .on-dark * { color: var(--paper); }
.on-dark .muted { color: rgba(255,255,255,.65); }

/* ---------- Typography ---------- */
h1, h2, h3, h4, h5,
.display,
.headline {
  font-family: 'Manrope', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: var(--ink);
  margin: 0;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--red);
}
.eyebrow::before {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--red);
}
.on-dark .eyebrow,
.eyebrow--light { color: var(--red-bright); }
.on-dark .eyebrow::before,
.eyebrow--light::before { background: var(--red-bright); }

.lede {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.7;
  color: var(--graphite);
}
.muted   { color: var(--slate); }
.accent  { color: var(--red); }
.red-em  { color: var(--red); }
.b-line  { color: var(--ink); border-bottom: 3px solid var(--red); padding-bottom: 2px; }

/* Headline scale.
   The duplicated class selectors (.h-1.h-1, .h-2.h-2, …) raise specificity
   to (0,2,0) so these rules always win over Tailwind's same-named height
   utilities (.h-1 = height:0.25rem etc.), even though Tailwind's CDN
   injects its stylesheet after style.css. `height: auto` is set explicitly
   as a final guarantee that no Tailwind utility can collapse the heading
   box and cause the headline text to overflow on top of sibling content. */
.h-display { font-size: clamp(2.25rem, 6.6vw, 5.25rem); letter-spacing: -0.04em; line-height: 1.02; }
.h-1.h-1 { font-size: clamp(2rem,   4.8vw, 3.75rem); letter-spacing: -0.035em; line-height: 1.05; height: auto; }
.h-2.h-2 { font-size: clamp(1.625rem, 3.4vw, 2.625rem); letter-spacing: -0.03em;  line-height: 1.1;  height: auto; }
.h-3.h-3 { font-size: clamp(1.25rem, 2.2vw, 1.625rem); letter-spacing: -0.02em;  line-height: 1.2;  height: auto; }
.h-4.h-4 { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); letter-spacing: -0.015em; line-height: 1.3;  height: auto; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.9375rem 1.625rem;
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: background .25s ease, color .25s ease, border-color .25s ease,
              transform .25s ease, box-shadow .25s ease;
  min-height: 48px;
}
.btn svg { width: 16px; height: 16px; }

.btn-red,
.btn-violet,
.btn-primary  { background: var(--red); color: var(--paper); border-color: var(--red); }
.btn-red:hover,
.btn-violet:hover,
.btn-primary:hover {
  background: var(--red-deep);
  border-color: var(--red-deep);
  transform: translateY(-1px);
  box-shadow: var(--shadow-red);
}

.btn-dark    { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.btn-dark:hover {
  background: var(--red);
  border-color: var(--red);
  transform: translateY(-1px);
  box-shadow: var(--shadow-red);
}

.btn-line    { background: transparent; color: var(--ink); border-color: var(--line-2); }
.btn-line:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.btn-white   { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn-white:hover { background: var(--red); color: var(--paper); border-color: var(--red); }

.btn-ghost-light { background: rgba(255,255,255,.08); color: var(--paper); border-color: rgba(255,255,255,.2); }
.btn-ghost-light:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }

.btn-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.9375rem; font-weight: 600;
  color: var(--ink);
  padding-bottom: 4px;
  border-bottom: 2px solid var(--ink);
  transition: gap .25s ease, color .25s ease, border-color .25s ease;
}
.btn-arrow svg { width: 16px; height: 16px; transition: transform .25s ease; }
.btn-arrow:hover { gap: 14px; color: var(--red); border-color: var(--red); }
.btn-arrow:hover svg { transform: translateX(2px); }
.on-dark .btn-arrow { color: var(--paper); border-color: var(--paper); }
.on-dark .btn-arrow:hover { color: var(--red-bright); border-color: var(--red-bright); }

/* ---------- Header / full-width bar ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 90;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(160%) blur(18px);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  border-bottom: 1px solid rgba(10,10,15,.06);
  transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.98);
  box-shadow: 0 4px 18px rgba(10,10,15,.06);
  border-bottom-color: rgba(10,10,15,.08);
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding: 0.375rem 1rem;
  min-height: 56px;
}
@media (min-width: 768px)  { .site-nav { padding: 0.375rem 1.5rem; min-height: 64px; } }
@media (min-width: 1280px) { .site-nav { padding: 0.375rem 2rem; } }
@media (min-width: 1200px) {
  .site-nav {
    align-items: center;
    min-height: 64px;
  }
}
.site-nav--menu-only {
  justify-content: flex-start;
  max-width: none;
  width: 100%;
  height: auto;
  min-height: 64px;
  padding-block: 0.5625rem;
}
@media (min-width: 768px) {
  .site-nav--menu-only { min-height: 72px; }
}
.site-nav--menu-only .nav-links {
  flex: 1 1 auto;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  row-gap: 0;
  column-gap: 0.25rem;
  align-items: flex-start;
}
.site-nav--menu-only .nav-cta {
  margin-left: auto;
}
@media (min-width: 1200px) {
  .site-nav--menu-only .nav-cta {
    display: none;
  }
}

.brand {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 0.9375rem;
  letter-spacing: -0.02em;
  color: var(--ink);
  flex-shrink: 0;
}
.brand-text {
  display: none;
  line-height: 1.1;
}
.brand-text small {
  display: block;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--slate);
  margin-top: 2px;
}
@media (min-width: 480px) { .brand-text { display: inline-block; } }

.brand-mark {
  width: 36px; height: 36px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 8px;
  display: grid; place-items: center;
  font-weight: 900; font-size: 15px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.brand-mark::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 30%;
  background: var(--red);
}
.brand-mark span {
  display: inline-block;
  position: relative;
  z-index: 2;
  transform: translateY(-1px);
}

.brand--image {
  flex-shrink: 0;
}
.brand-logo {
  display: block;
  width: auto;
  height: 44px;
  max-width: 118px;
  object-fit: contain;
}
@media (min-width: 768px) {
  .brand-logo {
    height: 50px;
    max-width: 132px;
  }
}

/* ---------- Discover page — fixed left sidebar ---------- */
body.page-discover {
  --discover-sidebar-w: 320px;
  --discover-content-gap: 3mm;
  --discover-mobile-photo-h: 14rem;
  --site-widgets-size: 2.5rem;
  --site-widgets-inset: 0.75rem;
  --site-widgets-content-gap: 1rem;
  --discover-rail-space: calc(var(--site-widgets-inset) + var(--site-widgets-size) + var(--site-widgets-content-gap));
  --discover-content-inset-end: var(--discover-rail-space);
  --header-ticker-gap: 0.375rem;
  --ems-ticker-h: 2.375rem;
  --ems-ticker-inset-x: var(--discover-content-inset-end);
  --header-stack-h: calc(var(--nav-h) + var(--header-ticker-gap) + var(--ems-ticker-h));
  --header-content-gap: 0.75rem;
}
.discover-shell {
  position: relative;
}

/* ---------- EMS ticker — global scrolling bar ---------- */
.ems-ticker {
  position: fixed;
  left: 0;
  right: 0;
  top: calc(var(--nav-h) + var(--header-ticker-gap, 0px));
  bottom: auto;
  z-index: 55;
  height: var(--ems-ticker-h);
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(
    90deg,
    #0a2548 0%,
    #1e4a8a 22%,
    #38bdf8 45%,
    #cbd5e1 58%,
    #60a5fa 72%,
    #0f3d6e 100%
  );
  background-size: 320% 100%;
  animation: ems-ticker-bg 14s ease-in-out infinite;
  box-shadow: 0 4px 18px rgba(10, 37, 72, 0.18);
}
body.page-discover .ems-ticker {
  left: var(--ems-ticker-inset-x);
  right: var(--ems-ticker-inset-x);
  width: auto;
  border-radius: var(--r-xs);
}
.ems-ticker__viewport {
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.ems-ticker__track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: ems-ticker-scroll 28s linear infinite;
  will-change: transform;
}
.ems-ticker__text {
  flex: 0 0 auto;
  padding-inline: 2.5rem;
  white-space: nowrap;
  font-family: 'Manrope', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f8fafc;
  text-shadow: 0 1px 2px rgba(10, 37, 72, 0.35);
}
.ems-ticker__star {
  display: inline-block;
  margin-inline: 1.75em 0;
  letter-spacing: 0;
  text-transform: none;
}
@keyframes ems-ticker-scroll {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
@keyframes ems-ticker-bg {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@media (min-width: 768px) {
  .ems-ticker__text {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }
}
@media (min-width: 1024px) {
  body.page-discover .ems-ticker {
    left: calc(var(--discover-sidebar-w) + var(--discover-content-gap));
    right: var(--discover-content-inset-end);
    width: auto;
    z-index: 50;
    box-shadow: 0 4px 14px rgba(10, 37, 72, 0.14);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ems-ticker__track,
  .ems-ticker {
    animation: none;
  }
  .ems-ticker__track {
    justify-content: center;
    width: 100%;
  }
  .ems-ticker__text[aria-hidden="true"] {
    display: none;
  }
}

body.page-discover .home-showcase,
body.page-discover .plant-preview-showcase {
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0;
}

body.page-discover .discover-main > .plant-preview-showcase {
  padding-bottom: 0;
}

.discover-sidebar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: min(72vh, 640px);
  padding: 1.5rem 1rem 0.75rem;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.discover-sidebar__logo-wrap {
  flex: 0 1 60%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.3rem;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--ink);
  border-radius: 0.375rem;
}
.discover-sidebar__logo-wrap a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.discover-sidebar__logo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center center;
}
.discover-sidebar__promoters-wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  padding-top: 0.75rem;
}
.discover-sidebar__promoters-card {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  width: 100%;
  border: 1px solid var(--silver);
  border-radius: 0.375rem;
  background: var(--paper);
  overflow: hidden;
}
.discover-sidebar__promoters-heading {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.25rem 0.5rem 0.25rem;
  font-family: 'Manrope', sans-serif;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.1;
  color: var(--red-deep);
  border-bottom: 1px solid var(--line);
}
.discover-promoter-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.discover-promoter-slide {
  display: none;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.discover-promoter-slide.is-active:not([hidden]) {
  display: flex;
}
.discover-promoter-slide__visual {
  position: relative;
  display: block;
  width: 100%;
  height: var(--discover-mobile-photo-h);
  overflow: hidden;
  flex: 0 0 auto;
  background: var(--mist);
}
.discover-promoter-slide__visual--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1px;
  background: var(--line);
  height: var(--discover-mobile-photo-h);
}
.discover-promoter-slide__portrait {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-width: 0;
  background: var(--paper);
}
.discover-sidebar__promoter-photo {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  object-fit: cover;
  object-position: center top;
}
.discover-sidebar__promoter-photo--blank {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, var(--mist) 0%, #ececec 100%);
}
.discover-promoter-caption {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.5rem 0.625rem 0.5625rem;
  background: var(--paper);
  border-top: 1px solid var(--line);
  text-align: left;
}
.discover-promoter-caption--row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.25rem 0.5rem;
  align-items: start;
}
.discover-promoter-caption__person + .discover-promoter-caption__person {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: 1px solid var(--line);
}
.discover-promoter-caption--row .discover-promoter-caption__person + .discover-promoter-caption__person {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  padding-left: 0.5rem;
  border-left: 1px solid var(--line);
}
.discover-promoter-caption--row .discover-promoter-caption__name {
  font-size: 0.6875rem;
  line-height: 1.2;
}
.discover-promoter-caption--row .discover-promoter-caption__education,
.discover-promoter-caption--row .discover-promoter-caption__designation {
  font-size: 0.6875rem;
  line-height: 1.3;
}
.discover-promoter-caption__name {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: var(--ink);
}
.discover-sidebar__promoters-card .discover-sidebar__promoters-heading {
  color: var(--red-deep);
}
.discover-promoter-slide[data-heading="Independent Director"] .discover-promoter-caption__education {
  color: var(--red-deep);
  font-weight: 500;
}
.discover-promoter-slide[data-heading="Independent Director"] .discover-promoter-caption__designation {
  color: var(--red-deep);
  font-weight: 600;
}
.discover-promoter-caption__education {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink);
}
.discover-promoter-caption__person:not(:has(.discover-promoter-caption__designation)) .discover-promoter-caption__education {
  color: var(--red-deep);
  font-weight: 500;
}
.discover-promoter-caption__designation {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--red-deep);
}
@media (max-width: 1023.9px) {
  .discover-sidebar {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: calc(var(--header-stack-h) + 0.625rem) 1rem 0.75rem;
  }
  .discover-sidebar__logo-wrap {
    flex: 0 0 auto;
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.3rem;
  }
  .discover-sidebar__logo-wrap a {
    height: auto;
  }
  .discover-sidebar__logo {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 10rem;
    object-fit: contain;
    object-position: center center;
  }
  .discover-sidebar__promoters-wrap {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    padding-top: 0.5rem;
  }
  .discover-sidebar__promoters-card {
    flex: 0 0 auto;
    min-height: 0;
    overflow: hidden;
  }
  .discover-promoter-carousel {
    height: auto;
  }
  .discover-promoter-caption {
    width: 100%;
    text-align: left;
  }
  .discover-promoter-caption--row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.25rem 0.5rem;
  }
  .discover-promoter-caption--row .discover-promoter-caption__person + .discover-promoter-caption__person {
    margin-top: 0;
    padding-top: 0;
    padding-left: 0.5rem;
    border-left: 1px solid var(--line);
    border-top: 0;
  }
}
@media (min-width: 560px) and (max-width: 1023.9px) {
  body.page-discover {
    --discover-mobile-photo-h: 16rem;
  }
}
@media (max-width: 559.9px) {
  body.page-discover {
    --discover-mobile-photo-h: 12.5rem;
  }
  .discover-sidebar {
    padding-top: calc(var(--header-stack-h) + 0.75rem);
  }
  .discover-sidebar__logo {
    max-height: 8.5rem;
  }
  .discover-promoter-caption--row .discover-promoter-caption__name {
    font-size: 0.625rem;
  }
  .discover-promoter-caption--row .discover-promoter-caption__education,
  .discover-promoter-caption--row .discover-promoter-caption__designation {
    font-size: 0.625rem;
  }
}
.discover-main {
  min-width: 0;
}
@media (min-width: 1024px) {
  .discover-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    max-height: 100vh;
    z-index: 56;
    width: var(--discover-sidebar-w);
    padding: 0.625rem 0.75rem 0.5rem;
    border-bottom: 0;
    border-right: 1px solid var(--line);
    background: var(--paper);
    overflow: hidden;
    align-items: stretch;
    gap: 0;
    box-sizing: border-box;
  }
  .discover-sidebar__logo-wrap {
    flex: 0 1 60%;
    min-height: 0;
  }
  .discover-sidebar__logo {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .discover-sidebar__promoters-wrap {
    flex: 1 1 0;
    min-height: 0;
    padding-top: 0.5rem;
    gap: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .discover-sidebar__promoters-card {
    flex: 1 1 0;
    min-height: 0;
  }
  .discover-promoter-carousel {
    flex: 1 1 0;
    min-height: 0;
    height: 100%;
  }
  .discover-promoter-slide {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease, visibility 0.45s ease;
  }
  .discover-promoter-slide[hidden] {
    display: none !important;
  }
  .discover-promoter-slide.is-active:not([hidden]) {
    opacity: 1;
    visibility: visible;
    z-index: 1;
  }
  .discover-promoter-slide__visual {
    flex: 1 1 0;
    min-height: 0;
    height: auto;
  }
  .discover-promoter-slide__visual--split {
    height: auto;
    flex: 1 1 0;
    min-height: 0;
  }
  .discover-main {
    margin-left: var(--discover-sidebar-w);
    width: calc(100% - var(--discover-sidebar-w));
    max-width: calc(100% - var(--discover-sidebar-w));
    box-sizing: border-box;
    overflow-x: clip;
    min-height: 100vh;
  }
  body.page-discover .site-footer {
    margin-left: var(--discover-sidebar-w);
    width: calc(100% - var(--discover-sidebar-w));
    max-width: calc(100% - var(--discover-sidebar-w));
    box-sizing: border-box;
  }
  body.page-discover .site-header {
    padding-left: var(--discover-sidebar-w);
    background: linear-gradient(
      90deg,
      transparent 0,
      transparent var(--discover-sidebar-w),
      rgba(255, 255, 255, 0.92) var(--discover-sidebar-w),
      rgba(255, 255, 255, 0.92) 100%
    );
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.page-discover .site-header.is-scrolled {
    background: linear-gradient(
      90deg,
      transparent 0,
      transparent var(--discover-sidebar-w),
      rgba(255, 255, 255, 0.98) var(--discover-sidebar-w),
      rgba(255, 255, 255, 0.98) 100%
    );
  }
  body.page-discover .site-nav {
    max-width: none;
    width: 100%;
    margin-inline: 0;
    padding-inline: var(--discover-content-gap) var(--discover-content-inset-end);
    padding-block: 0.5625rem;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 0;
    height: auto;
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
  }
  body.page-discover .site-nav .nav-links {
    justify-content: space-between;
    width: 100%;
  }
  body.page-discover .discover-main .wrap,
  body.page-discover .discover-main > .wrap,
  body.page-discover .discover-main :is(.wrap, .container-x) {
    max-width: none;
    width: 100%;
    margin-inline: 0;
    padding-inline: var(--discover-content-gap) var(--discover-content-inset-end);
    box-sizing: border-box;
  }
}

.nav-links {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.25rem;
  align-items: flex-start;
  justify-content: center;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  min-width: 0;
  max-width: 100%;
  --nav-line-h: 1.3125rem;
  --nav-stack-gap: 0.125rem;
  --nav-stack-pad-block: 0.5rem;
  --nav-item-inner-h: var(--nav-line-h);
  --nav-item-stack-h: calc(var(--nav-line-h) * 2 + var(--nav-stack-gap) + var(--nav-stack-pad-block) * 2);
  --nav-item-h: var(--nav-item-stack-h);
}
@media (min-width: 1320px) {
  .nav-links {
    --nav-line-h: 1.375rem;
    --nav-stack-pad-block: 0.5625rem;
  }
}
@media (min-width: 1440px) {
  .nav-links {
    --nav-line-h: 1.4375rem;
    --nav-stack-pad-block: 0.625rem;
  }
}
@media (min-width: 1600px) {
  .nav-links {
    --nav-line-h: 1.5rem;
    --nav-stack-pad-block: 0.6875rem;
  }
}
@media (min-width: 1200px) {
  .nav-links {
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap: nowrap;
    row-gap: 0;
  }
}

.nav-item {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  min-height: 0;
}
.nav-item--stack,
.nav-item.has-children {
  flex: 0 0 auto;
}
.nav-stack {
  display: grid;
  grid-template-rows: var(--nav-line-h);
  gap: var(--nav-stack-gap);
  align-items: center;
  justify-items: center;
  min-height: var(--nav-item-inner-h);
}
.nav-stack--inline {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  min-height: var(--nav-item-stack-h);
  padding-block: var(--nav-stack-pad-block);
  white-space: nowrap;
  box-sizing: border-box;
}
.nav-stack--inline .nav-link--stack-row {
  height: auto;
  min-height: 0;
  max-height: none;
  padding-block: var(--nav-stack-pad-block);
}
.nav-link__line {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--nav-line-h);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}
.nav-link--stack-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--nav-line-h);
  min-height: var(--nav-line-h);
  max-height: var(--nav-line-h);
  padding: 0 0.8125rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
}
.nav-link.is-disabled,
.nav-link--stack-row.is-disabled {
  color: var(--slate);
  opacity: 0.55;
  cursor: not-allowed;
  user-select: none;
  pointer-events: none;
}
.nav-item.has-children::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 0.875rem;
  z-index: 94;
}

.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.5625rem 0.8125rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--graphite);
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: 999px;
  letter-spacing: -0.01em;
  line-height: 1;
  transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.nav-item.has-children > .nav-link {
  min-height: 0;
  padding-block: var(--nav-stack-pad-block);
  align-items: flex-start;
  box-sizing: border-box;
}
@media (min-width: 1320px) {
  .nav-link {
    padding: 0.625rem 0.875rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 1440px) {
  .nav-link {
    padding: 0.6875rem 0.9375rem;
    font-size: 1.125rem;
  }
}
@media (min-width: 1600px) {
  .nav-link {
    padding: 0.75rem 1rem;
    font-size: 1.1875rem;
  }
}
@media (min-width: 1760px) {
  .nav-link {
    padding: 0.8125rem 1.0625rem;
    font-size: 1.25rem;
  }
}
.nav-link.nav-link--stack {
  display: inline-flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--nav-stack-gap);
  padding-block: var(--nav-stack-pad-block);
  padding-inline: 0.8125rem;
  line-height: 1;
  text-align: center;
  min-height: 0;
  box-sizing: border-box;
  white-space: nowrap;
}
.nav-link.nav-link--stack-2,
.nav-link--stack:has(> .nav-link__line:nth-child(2)) {
  min-height: var(--nav-item-stack-h);
}
.nav-link--stack,
.nav-item.has-children > .nav-link {
  padding-block: var(--nav-stack-pad-block);
}
@media (min-width: 1320px) {
  .nav-link--stack,
  .nav-item.has-children > .nav-link {
    padding-inline: 0.875rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 1440px) {
  .nav-link--stack,
  .nav-item.has-children > .nav-link {
    padding-inline: 0.9375rem;
    font-size: 1.125rem;
  }
}
@media (min-width: 1600px) {
  .nav-link--stack,
  .nav-item.has-children > .nav-link {
    padding-inline: 1rem;
    font-size: 1.1875rem;
  }
}
@media (min-width: 1760px) {
  .nav-link--stack,
  .nav-item.has-children > .nav-link {
    padding-inline: 1.0625rem;
    font-size: 1.25rem;
  }
}
/* Discover layout: larger menu text that scales with viewport, still one row. */
@media (min-width: 1200px) {
  body.page-discover .nav-links {
    --nav-menu-size: clamp(0.9375rem, 0.55vw + 0.42rem, 1.25rem);
    --nav-line-h: calc(var(--nav-menu-size) * 1.1);
    --nav-stack-pad-block: clamp(0.3125rem, 0.1vw + 0.22rem, 0.5625rem);
    --nav-stack-gap: 0.0625rem;
    column-gap: clamp(0.0625rem, 0.1vw, 0.3125rem);
  }
  body.page-discover .nav-link,
  body.page-discover .nav-link.nav-link--stack,
  body.page-discover .nav-item.has-children > .nav-link {
    font-size: var(--nav-menu-size);
    padding-block: var(--nav-stack-pad-block);
    padding-inline: clamp(0.25rem, 0.14vw + 0.12rem, 0.625rem);
  }
}
.nav-link--stack-row {
  padding-block: 0;
  font-size: 1rem;
}
@media (min-width: 1320px) {
  .nav-link--stack-row {
    padding-inline: 0.875rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 1440px) {
  .nav-link--stack-row {
    padding-inline: 0.9375rem;
    font-size: 1.125rem;
  }
}
@media (min-width: 1600px) {
  .nav-link--stack-row {
    padding-inline: 1rem;
    font-size: 1.1875rem;
  }
}
@media (min-width: 1760px) {
  .nav-link--stack-row {
    padding-inline: 1.0625rem;
    font-size: 1.25rem;
  }
}
.nav-link::after {
  content: '';
  position: absolute;
  left: 0.625rem; right: 0.625rem;
  bottom: 3px;
  height: 2px;
  background: var(--red);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
.nav-link:hover {
  color: var(--ink);
  background: rgba(10, 10, 15, 0.04);
  border-color: rgba(10, 10, 15, 0.06);
}
.nav-link:hover::after { transform: scaleX(0); }
.nav-link.is-active {
  color: var(--ink);
  font-weight: 600;
  background: rgba(30, 64, 175, 0.07);
  border-color: rgba(30, 64, 175, 0.14);
  box-shadow: 0 1px 2px rgba(30, 64, 175, 0.06);
}
.nav-link.is-active::after { transform: scaleX(0); }
.nav-link.is-active:hover {
  background: rgba(30, 64, 175, 0.1);
  border-color: rgba(30, 64, 175, 0.18);
}
button.nav-link {
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  cursor: pointer;
}
.nav-dropdown a.is-active {
  color: var(--ink);
  font-weight: 600;
  background: rgba(30, 64, 175, 0.07);
}

.nav-chevron {
  width: 1rem;
  height: 1rem;
  opacity: 0.55;
  transition: transform .2s ease;
}
.nav-item.has-children:hover .nav-chevron,
.nav-item.has-children:focus-within .nav-chevron {
  transform: rotate(180deg);
}

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 11.5rem;
  margin: 0;
  padding: 0.5rem 0.375rem 0.375rem;
  list-style: none;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(10,10,15,.08);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(10,10,15,.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .15s ease, visibility .15s ease;
  z-index: 95;
}
.nav-dropdown::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -0.875rem;
  height: 0.875rem;
}
.nav-item.has-children:hover .nav-dropdown,
.nav-item.has-children:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.nav-item.has-children:hover,
.nav-item.has-children:focus-within {
  z-index: 96;
}
@media (min-width: 1200px) {
  .nav-item.has-children:nth-last-child(-n+3) .nav-dropdown {
    left: auto;
    right: 0;
    transform: none;
  }
}
.nav-dropdown a {
  display: block;
  padding: 0.5625rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--graphite);
  cursor: pointer;
  pointer-events: auto;
  transition: color .2s ease, background .2s ease;
}
.nav-dropdown a:hover {
  color: var(--ink);
  background: var(--mist);
}
.nav-dropdown__light {
  font-weight: 400;
  color: var(--slate);
}
.nav-dropdown__bold {
  font-weight: 700;
  color: var(--ink);
}
.nav-dropdown a:hover .nav-dropdown__light {
  color: var(--graphite);
}
.nav-dropdown a.is-active .nav-dropdown__light {
  color: var(--graphite);
}
.nav-dropdown .is-disabled,
.mobile-nav-sub .is-disabled {
  display: block;
  padding: 0.5625rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--slate);
  opacity: 0.55;
  cursor: not-allowed;
  user-select: none;
}
.mobile-nav-sub .is-disabled {
  padding: 0.75rem 0 0.75rem 1rem;
  font-size: 1.0625rem;
}

.nav-cta { display: inline-flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
.nav-cta .btn {
  padding: 0.625rem 1.125rem;
  font-size: 0.875rem;
  min-height: 40px;
}
@media (max-width: 559.9px) { .nav-cta .btn { display: none; } }

/* ---------- Site widgets (play / pause / mute / tour) ---------- */
.site-widgets {
  position: fixed;
  right: var(--site-widgets-inset, 0.75rem);
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  z-index: 70;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  overflow: visible;
  width: var(--site-widgets-size, 2.5rem);
}
@media (min-width: 1024px) {
  body.page-discover .discover-main {
    padding-inline-end: 0;
  }
  body.page-discover.auto-tour-active .discover-main {
    padding-inline-end: 0;
  }
}
@media (max-width: 559.9px) {
  .site-widgets {
    right: 0.5rem;
    top: auto;
    bottom: 0.75rem;
    transform: none;
  }
}
.site-widget-btn {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(10, 10, 15, 0.1);
  color: var(--ink);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.site-widget-btn svg {
  width: 15px;
  height: 15px;
  color: var(--red);
}
.site-widget-btn:hover {
  border-color: var(--red);
  background: var(--paper);
}
body.site-autoplay-paused .site-widget-btn--pause {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
  box-shadow: 0 10px 28px rgba(10, 10, 15, 0.22);
}
body.site-autoplay-paused .site-widget-btn--pause svg {
  color: var(--paper);
}
body:not(.site-autoplay-paused) .site-widget-btn--play {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
  box-shadow: 0 10px 28px rgba(30, 64, 175, 0.28);
}
body:not(.site-autoplay-paused) .site-widget-btn--play svg {
  color: var(--paper);
}

/* ---------- Background music ---------- */
.bg-music {
  display: contents;
}
.bg-music__toggle {
  gap: 0;
}
.bg-music__toggle svg {
  width: 15px;
  height: 15px;
  color: var(--red);
}
.bg-music__toggle:hover {
  border-color: var(--red);
  background: var(--paper);
}
.bg-music__toggle[aria-pressed="true"] {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
  box-shadow: 0 10px 28px rgba(30, 64, 175, 0.28);
}
.bg-music__toggle[aria-pressed="true"] svg {
  color: var(--paper);
}
.bg-music__icon--off {
  display: none;
}
.bg-music__toggle[aria-pressed="false"] .bg-music__icon--on {
  display: none;
}
.bg-music__toggle[aria-pressed="false"] .bg-music__icon--off {
  display: block;
}
.bg-music__toggle.is-waiting {
  opacity: 0.92;
}

/* ---------- Auto tour (optional header-menu slideshow) ---------- */
.auto-tour {
  display: flex;
  align-items: center;
  width: 2.5rem;
}
.auto-tour__toggle {
  gap: 0;
  flex-shrink: 0;
}
.auto-tour__toggle svg {
  width: 15px;
  height: 15px;
  color: var(--red);
}
.auto-tour__toggle:hover {
  border-color: var(--red);
  background: var(--paper);
}
.auto-tour__toggle[aria-pressed="true"] {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
  box-shadow: 0 10px 28px rgba(30, 64, 175, 0.28);
}
.auto-tour__toggle[aria-pressed="true"] svg {
  color: var(--paper);
}

.menu-btn {
  display: inline-grid;
  place-items: center;
  width: 44px; height: 44px;
  border-radius: 999px;
  background: transparent;
  border: 1px solid var(--line);
}
@media (min-width: 1200px) { .menu-btn { display: none; } }
.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
  display: block; width: 18px; height: 2px; background: var(--ink); border-radius: 2px;
  transition: transform .3s ease, opacity .3s ease, background .3s ease;
}
.menu-btn span { position: relative; }
.menu-btn span::before,
.menu-btn span::after { content: ''; position: absolute; left: 0; }
.menu-btn span::before { top: -6px; }
.menu-btn span::after  { top:  6px; }
body.menu-open .menu-btn span { background: transparent; }
body.menu-open .menu-btn span::before { transform: translateY(6px) rotate(45deg); background: var(--red); }
body.menu-open .menu-btn span::after  { transform: translateY(-6px) rotate(-45deg); background: var(--red); }

/* ---------- Mobile menu ---------- */
.mobile-menu {
  position: fixed; inset: 0;
  z-index: 55;
  background: var(--paper);
  display: flex; flex-direction: column;
  padding: 5rem 1.5rem 2rem;
  transform: translateX(100%);
  transition: transform .45s cubic-bezier(.16,1,.3,1);
  overflow-y: auto;
}
.mobile-menu.is-open { transform: translateX(0); }
.mobile-menu ul { list-style: none; padding: 0; margin: 0; }
.mobile-menu li { margin-block: 0.25rem; border-bottom: 1px solid var(--line); }
.mobile-menu li:last-child { border-bottom: 0; }
.mobile-menu > ul > li > a,
.mobile-nav-parent-link {
  display: block;
  padding: 1rem 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: -0.03em;
  color: var(--ink);
  transition: color .2s ease, padding-left .3s ease;
}
.mobile-menu > ul > li > a:hover,
.mobile-nav-parent-link:hover { color: var(--red); padding-left: 0.5rem; }
.mobile-nav-parent-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.mobile-nav-parent-link {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.375rem;
  padding-bottom: 0.5rem;
}
.mobile-nav-expand {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--mist);
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.mobile-nav-expand:hover {
  border-color: var(--red);
  background: var(--red-tint);
  color: var(--red);
}
.mobile-nav-chevron {
  width: 18px;
  height: 18px;
  transition: transform .25s ease;
}
.mobile-nav-item.is-open .mobile-nav-chevron {
  transform: rotate(180deg);
}
.mobile-nav-sub {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0 0 0.75rem 1rem;
  border-left: 2px solid var(--line);
}
.mobile-nav-sub[hidden] { display: none; }
.mobile-nav-sub li { border-bottom: 0; margin-block: 0; }
.mobile-nav-sub a {
  display: block;
  padding: 0.5rem 0;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0;
  color: var(--slate);
  transition: color .2s ease, padding-left .3s ease;
}
.mobile-nav-sub a:hover {
  color: var(--red);
  padding-left: 0.375rem;
}
.mobile-menu .m-foot {
  margin-top: auto;
  padding-top: 2rem;
  border-top: 2px solid var(--ink);
  font-size: 0.875rem;
  color: var(--slate);
}
.mobile-menu .m-foot p { margin: 0.25rem 0; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  padding: 6rem 0 3rem;
  overflow: hidden;
}
@media (min-width: 768px)  { .hero { padding: 8rem 0 4.5rem; } }
@media (min-width: 1024px) { .hero { padding: 10rem 0 6rem; } }

.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(10,10,15,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,10,15,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 55% at 50% 35%, black, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 70% 55% at 50% 35%, black, transparent 78%);
  pointer-events: none;
}
.hero-glow {
  position: absolute;
  left: 50%; top: 0;
  width: 80vw; max-width: 900px; aspect-ratio: 1/1;
  transform: translate(-50%, -45%);
  background: radial-gradient(circle, rgba(30, 64, 175,.25), transparent 65%);
  filter: blur(60px);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  text-align: center;
  max-width: 960px;
  margin-inline: auto;
}
.hero-inner--discover {
  text-align: left;
  max-width: none;
  margin-inline: 0;
}
.hero-inner--discover .hero-eyebrow { justify-content: flex-start; }
.hero-inner--discover .hero-sub { margin-inline: 0; }
.hero-inner--discover .hero-cta { justify-content: flex-start; }
.hero-inner--discover .hero-trust { justify-content: flex-start; }
@media (max-width: 1023.9px) {
  .hero-inner--discover {
    text-align: center;
  }
  .hero-inner--discover .hero-eyebrow { justify-content: center; }
  .hero-inner--discover .hero-sub { margin-inline: auto; }
  .hero-inner--discover .hero-cta { justify-content: center; }
  .hero-inner--discover .hero-trust { justify-content: center; }
}

/* ---------- Discover introduction ---------- */
.hero--discover-intro {
  padding-top: calc(var(--nav-h) + 0.75rem);
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .hero--discover-intro {
    padding-top: calc(var(--nav-h) + 1rem);
    padding-bottom: 3rem;
  }
}
.discover-intro {
  position: relative;
  max-width: none;
  text-align: left;
}
.discover-intro__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: stretch;
}
.discover-intro__figure {
  margin: 0;
  min-height: 0;
}
.discover-intro__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  box-shadow: 0 12px 40px rgba(10, 10, 10, 0.1);
}
.discover-intro__title {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 3.2vw, 2.25rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
  margin: 0 0 1.5rem;
}
.discover-intro__text,
.discover-intro__body {
  color: var(--graphite);
  font-size: 0.9375rem;
  line-height: 1.7;
}
.discover-intro__text {
  margin-top: 0;
}
.discover-intro__text p,
.discover-intro__body p {
  margin: 0 0 0.875rem;
}
.discover-intro__text p:last-child,
.discover-intro__body p:last-child {
  margin-bottom: 0;
}
.discover-intro__text strong {
  font-weight: 700;
  color: var(--ink);
}
.discover-intro__body {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}
@media (min-width: 900px) {
  .hero--discover-intro {
    min-height: calc(100svh - var(--nav-h));
    padding-top: calc(var(--nav-h) + 1rem);
    padding-bottom: 1.5rem;
    overflow: hidden;
    box-sizing: border-box;
  }
  .hero--discover-intro > .wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: calc(100svh - var(--nav-h) - 2.5rem);
  }
  .discover-intro {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    justify-content: flex-start;
  }
  .discover-intro__title {
    font-size: clamp(1.375rem, 2.15vw, 2rem);
    margin-bottom: 1.25rem;
    line-height: 1.14;
  }
  .discover-intro__top {
    grid-template-columns: min(58%, 640px) 1fr;
    gap: 1.25rem 1.75rem;
    align-items: stretch;
    min-height: 0;
    flex: 1;
  }
  .discover-intro__figure {
    display: block;
    width: 100%;
    margin: 0;
    align-self: start;
    overflow: hidden;
    line-height: 0;
  }
  .discover-intro__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top center;
  }
  .discover-intro__text,
  .discover-intro__body {
    font-size: clamp(0.8125rem, 1.05vw, 0.9375rem);
    line-height: 1.5;
  }
  .discover-intro__text p,
  .discover-intro__body p {
    margin-bottom: 0.625rem;
  }
}
@media (max-width: 899.9px) {
  .discover-intro__title {
    text-align: center;
  }
}

/* ---------- Home page — intro + manufacturing slider ---------- */
.home-showcase {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100svh;
  max-height: 100svh;
  padding-top: var(--nav-h);
  box-sizing: border-box;
  overflow: hidden;
  background: var(--paper);
  --showcase-arrow-space: 3.25rem;
  --showcase-widgets-space: 0.75rem;
}
.home-showcase__viewport {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.home-showcase__slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  overflow: hidden;
}
.home-showcase__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.home-showcase__slide-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.home-showcase__slide-inner {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 0.75rem;
  padding-bottom: 0.5rem;
  overflow: hidden;
  box-sizing: border-box;
}
.home-showcase__slide--intro .home-showcase__slide-inner {
  justify-content: flex-start;
  padding-top: 0.375rem;
}
.home-showcase__slide--intro .discover-intro {
  flex: 0 1 auto;
  margin-top: 0;
  min-height: 0;
  width: 100%;
}
@media (min-width: 900px) {
  .home-showcase__slide-inner {
    padding-inline-end: calc(var(--showcase-arrow-space) + 0.75rem);
    padding-bottom: var(--showcase-widgets-space);
  }
  body.page-discover .discover-main .home-showcase__slide-inner,
  body.page-discover .discover-main .plant-preview-showcase__inner {
    padding-inline-end: var(--discover-content-inset-end);
  }
  .home-showcase__slide--intro .discover-intro {
    flex: 0 1 auto;
    margin-top: 0;
  }
}
.home-showcase__slide-inner--plants {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.site-slide-next {
  gap: 0;
  flex-shrink: 0;
  transition: background-color 0.45s ease, color 0.45s ease, box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.site-slide-next svg {
  width: 1rem;
  height: 1rem;
  stroke: currentColor;
  color: var(--red);
  transition: stroke 0.45s ease, color 0.45s ease;
}
.site-slide-next.is-color-white {
  background: #fff;
  color: var(--ink);
}
.site-slide-next.is-color-white svg {
  stroke: var(--ink);
}
.site-slide-next.is-color-red {
  background: var(--red-bright);
  color: #fff;
  border-color: var(--red-bright);
}
.site-slide-next.is-color-red svg {
  stroke: #fff;
}
.site-slide-next.is-color-green {
  background: #22C55E;
  color: #fff;
  border-color: #22C55E;
}
.site-slide-next.is-color-green svg {
  stroke: #fff;
}
.site-slide-next:hover {
  transform: scale(1.05);
}
@media (max-width: 899.9px) {
  .site-slide-next svg {
    width: 0.875rem;
    height: 0.875rem;
  }

  /* Mobile — stack content vertically; page scrolls naturally */
  .home-showcase {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }
  body.page-discover .discover-main {
    overflow: visible;
  }
  .home-showcase .reveal-up,
  .home-showcase .reveal-fade,
  .home-showcase .split-line > span {
    opacity: 1 !important;
    transform: none !important;
    will-change: auto;
  }
  .home-showcase__viewport {
    position: relative;
    min-height: 0;
    height: auto;
    overflow: visible;
  }
  .home-showcase__slide {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: visible;
    display: none;
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
  }
  .home-showcase__slide.is-active {
    display: flex;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
  }
  .home-showcase__slide-inner {
    flex: none;
    min-height: auto;
    overflow: visible;
    padding-top: 0.5rem;
    padding-bottom: 2.5rem;
  }

  /* Intro slide — image then text, one below the other */
  .home-showcase__slide--intro .discover-intro {
    display: block;
    flex: none;
    min-height: auto;
  }
  .home-showcase__slide--intro .discover-intro__title {
    margin-bottom: 1rem;
    font-size: clamp(1.125rem, 4.5vw, 1.625rem);
    line-height: 1.2;
    white-space: normal;
    text-align: center;
  }
  .home-showcase__slide--intro .discover-intro__top {
    display: flex;
    flex-direction: column;
    flex: none;
    min-height: auto;
    gap: 1.25rem;
  }
  .home-showcase__slide--intro .discover-intro__figure {
    order: 1;
    width: 100%;
    margin: 0;
    flex: none;
  }
  .home-showcase__slide--intro .discover-intro__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(42vh, 16rem);
    object-fit: cover;
    object-position: center center;
  }
  .home-showcase__slide--intro .discover-intro__text {
    order: 2;
    flex: none;
    font-size: 0.875rem;
    line-height: 1.6;
  }
  .home-showcase__slide--intro .discover-intro__text p {
    margin-bottom: 0.75rem;
  }

  /* Plants slide — cards stacked vertically */
  .home-showcase__slide--plants .home-showcase__slide-inner {
    display: block;
  }
  .home-showcase__slide--plants .home-plants-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .home-showcase__slide--plants .home-plants-head__title {
    flex: none;
    max-width: none;
  }
  .home-showcase__slide--plants .home-plants-head__aside {
    justify-content: flex-start;
  }
  .home-showcase__slide--plants .home-plants-grid,
  .plant-preview-showcase .home-plants-grid {
    display: flex !important;
    flex-direction: column !important;
    flex: none !important;
    min-height: auto !important;
    width: 100%;
    overflow: visible !important;
    gap: 0.875rem;
    grid-template-columns: none !important;
  }
  .home-showcase__slide--plants .plant-preview-card,
  .plant-preview-showcase .plant-preview-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto !important;
    min-height: auto !important;
    flex-shrink: 0;
  }
  .home-showcase__slide--plants .plant-preview-card__media,
  .plant-preview-showcase .plant-preview-card__media {
    flex: none !important;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 9.5rem;
    min-height: auto !important;
  }
  .home-showcase__slide--plants .plant-preview-card__media img,
  .plant-preview-showcase .plant-preview-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .home-showcase__slide--plants .plant-preview-card__body,
  .plant-preview-showcase .plant-preview-card__body {
    padding: 1rem 0.875rem 1.125rem;
  }
  .home-showcase__slide--plants .plant-preview-card__title,
  .plant-preview-showcase .plant-preview-card__title {
    font-size: 1.0625rem;
  }
  .home-showcase__slide--plants .plant-preview-card__list li,
  .home-showcase__slide--plants .plant-preview-card__block p,
  .plant-preview-showcase .plant-preview-card__list li,
  .plant-preview-showcase .plant-preview-card__block p {
    font-size: 0.8125rem;
  }

  .plant-preview-showcase {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }
  .plant-preview-showcase__inner {
    flex: none;
    min-height: auto;
    overflow: visible;
    padding-bottom: 2rem;
  }
  .plant-preview-showcase .home-plants-grid {
    flex: none;
    min-height: auto;
    overflow: visible !important;
  }
  .plant-preview-showcase .home-plants-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .plant-preview-showcase .home-plants-head__aside {
    justify-content: flex-start;
  }
}
@media (min-width: 900px) {
.home-showcase__slide--intro .discover-intro {
  flex: 0 1 auto;
  margin-top: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.home-showcase__slide--intro .discover-intro__top {
  flex: 0 1 auto;
  min-height: 0;
}
.home-showcase__slide--plants .home-plants-head,
.plant-preview-showcase .home-plants-head {
  flex-shrink: 0;
  margin-bottom: 0.625rem;
  gap: 0.75rem 1.5rem;
  align-items: center;
}
.home-showcase__slide--plants .home-plants-head__aside,
.plant-preview-showcase .home-plants-head__aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem 1.25rem;
  flex: 0 0 auto;
  align-self: center;
}
.home-showcase__slide--plants .home-plants-head > :last-child,
.plant-preview-showcase .home-plants-head > :last-child {
  align-self: center;
}
.home-showcase__slide--plants .home-plants-head .eyebrow,
.plant-preview-showcase .home-plants-head .eyebrow {
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  gap: 0.625rem;
}
.home-showcase__slide--plants .home-plants-head .eyebrow::before,
.plant-preview-showcase .home-plants-head .eyebrow::before {
  width: 1.25rem;
}
.home-showcase__slide--plants .home-plants-head__title,
.plant-preview-showcase .home-plants-head__title {
  margin-top: 0 !important;
  font-size: clamp(1.25rem, 2vw, 1.75rem) !important;
  line-height: 1.15;
  letter-spacing: -0.025em;
  flex: 1 1 auto;
  min-width: 0;
}
.home-showcase__slide--plants .home-plants-head .btn-arrow,
.plant-preview-showcase .home-plants-head .btn-arrow {
  font-size: 0.875rem;
  padding-bottom: 3px;
  border-bottom-width: 2px;
}
.home-showcase__slide--plants .home-plants-head .btn-arrow svg,
.plant-preview-showcase .home-plants-head .btn-arrow svg {
  width: 15px;
  height: 15px;
}
.home-showcase__slide--plants .home-plants-grid,
.plant-preview-showcase .home-plants-grid {
  flex: 1;
  min-height: 0;
  align-items: stretch;
  align-content: stretch;
  grid-template-rows: 1fr;
  gap: 0.75rem;
  overflow: hidden;
}
.home-showcase__slide--plants .plant-preview-card,
.plant-preview-showcase .plant-preview-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.home-showcase__slide--plants .plant-preview-card__media,
.plant-preview-showcase .plant-preview-card__media {
  flex: 1.7 1 0;
  width: 100%;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;
}
.home-showcase__slide--plants .plant-preview-card__media img,
.plant-preview-showcase .plant-preview-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.home-showcase__slide--plants .plant-preview-card__body,
.plant-preview-showcase .plant-preview-card__body {
  flex: 1 1 0;
  min-height: 0;
  padding: 0.375rem;
  gap: 0.3125rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.home-showcase__slide--plants .plant-preview-card__blocks,
.plant-preview-showcase .plant-preview-card__blocks {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr;
  gap: 0.3125rem;
  align-items: stretch;
  overflow: hidden;
}
.home-showcase__slide--plants .plant-preview-card__title,
.plant-preview-showcase .plant-preview-card__title {
  font-size: 0.9375rem;
  line-height: 1.2;
}
.home-showcase__slide--plants .plant-preview-card__block,
.plant-preview-showcase .plant-preview-card__block {
  padding: 0.375rem 0.4375rem;
  min-height: 0;
  min-width: 0;
  height: 100%;
}
.home-showcase__slide--plants .plant-preview-card__block--meta,
.plant-preview-showcase .plant-preview-card__block--meta {
  padding-bottom: 0.4375rem;
}
.home-showcase__slide--plants .plant-preview-card__list,
.plant-preview-showcase .plant-preview-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
  flex: 1;
}
.home-showcase__slide--plants .plant-preview-card__block--meta .plant-preview-card__list,
.plant-preview-showcase .plant-preview-card__block--meta .plant-preview-card__list {
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
}
.home-showcase__slide--plants .plant-preview-card__list li,
.home-showcase__slide--plants .plant-preview-card__block p,
.plant-preview-showcase .plant-preview-card__list li,
.plant-preview-showcase .plant-preview-card__block p {
  font-size: 0.75rem;
  line-height: 1.4;
}
.home-showcase__slide--plants .plant-preview-card__block--meta .plant-preview-card__list li,
.plant-preview-showcase .plant-preview-card__block--meta .plant-preview-card__list li {
  font-size: 0.6875rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.plant-preview-showcase {
  display: flex;
  flex-direction: column;
  height: 100svh;
  max-height: 100svh;
  padding-top: calc(var(--header-stack-h, calc(var(--nav-h) + var(--ems-ticker-h, 0px))) + var(--header-content-gap, 0.5rem));
  box-sizing: border-box;
  overflow: hidden;
  background: var(--paper);
  margin: 0;
  --showcase-arrow-space: 3.25rem;
  --showcase-widgets-space: 0.75rem;
}
.home-showcase__slide--plants {
  overflow: hidden;
}
.home-showcase__slide--plants .home-showcase__slide-inner {
  overflow: hidden;
  min-height: 0;
}
.plant-preview-showcase__inner {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-inline-start: var(--discover-content-gap, 0);
  padding-inline-end: var(--discover-content-inset-end, 0);
  overflow: hidden;
  box-sizing: border-box;
}
.plant-preview-showcase .home-plants-grid {
  flex: 1;
  min-height: 0;
}
}
.plant-preview-card--active {
  border-color: var(--red);
  box-shadow: 0 0 0 1px var(--red), var(--shadow-sm);
}
@media (min-width: 1200px) {
  .home-showcase__slide--plants .plant-preview-card__list li,
  .home-showcase__slide--plants .plant-preview-card__block p,
  .plant-preview-showcase .plant-preview-card__list li,
  .plant-preview-showcase .plant-preview-card__block p {
    font-size: 0.8125rem;
  }
  .home-showcase__slide--plants .plant-preview-card__block--meta .plant-preview-card__list li,
  .plant-preview-showcase .plant-preview-card__block--meta .plant-preview-card__list li {
    font-size: 0.75rem;
  }
  .home-showcase__slide--intro .discover-intro__top,
  .discover-intro__top {
    grid-template-columns: min(62%, 720px) 1fr;
  }
  .home-showcase__slide--intro .discover-intro__title {
    font-size: clamp(1.0625rem, 1.35vw, 1.75rem);
    white-space: nowrap;
  }
  .home-showcase__slide--intro .discover-intro__image,
  .discover-intro__image {
    max-height: none;
  }
}
@media (min-width: 900px) {
  .home-showcase__slide-inner {
    padding-inline-end: calc(var(--showcase-arrow-space) + 0.75rem);
    padding-bottom: var(--showcase-widgets-space);
  }
  body.page-discover .discover-main .home-showcase__slide-inner,
  body.page-discover .discover-main .plant-preview-showcase__inner {
    padding-inline-end: var(--discover-content-inset-end);
  }
  .home-showcase__slide--intro .home-showcase__slide-inner {
    padding-top: 0.5rem;
  }
  .home-showcase__slide--intro .discover-intro__title {
    font-size: clamp(1.25rem, 2vw, 1.875rem);
    margin-bottom: 0.625rem;
    line-height: 1.14;
    white-space: nowrap;
  }
  .home-showcase__slide--intro .discover-intro__top {
    grid-template-columns: min(58%, 640px) 1fr;
    gap: 0.875rem 1.25rem;
    align-items: start;
  }
  .home-showcase__slide--intro .discover-intro__figure {
    display: block;
    width: 100%;
    margin: 0;
    align-self: start;
    overflow: hidden;
    line-height: 0;
  }
  .home-showcase__slide--intro .discover-intro__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top center;
  }
  .home-showcase__slide--intro .discover-intro__text {
    align-self: start;
    font-size: clamp(0.75rem, 0.95vw, 0.875rem);
    line-height: 1.45;
  }
  .home-showcase__slide--intro .discover-intro__text p {
    margin-bottom: 0.375rem;
  }
}
@media (min-width: 1200px) {
  .home-showcase {
    --showcase-arrow-space: 3.5rem;
  }
  .plant-preview-showcase {
    --showcase-arrow-space: 3.5rem;
  }
  .site-slide-next svg {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/* Discover main column — align content to the sidebar edge (minimal gap). */
@media (min-width: 1024px) {
  body.page-discover .discover-main .home-showcase,
  body.page-discover .discover-main .home-showcase__viewport,
  body.page-discover .discover-main .home-showcase__slide,
  body.page-discover .discover-main .plant-preview-showcase {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  body.page-discover .discover-main .home-showcase__slide-inner,
  body.page-discover .discover-main .plant-preview-showcase__inner {
    max-width: none;
    width: 100%;
    margin-inline: 0;
    padding-inline-start: var(--discover-content-gap);
    padding-inline-end: var(--discover-content-inset-end);
    box-sizing: border-box;
  }
}

.hero-eyebrow { justify-content: center; }
.hero-headline {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(2.125rem, 6.5vw, 5rem);
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin-top: 1.25rem;
  color: var(--ink);
}
.hero-headline em {
  font-style: normal;
  color: var(--red);
  position: relative;
}
.hero-headline em::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0.05em;
  height: 0.12em;
  background: var(--red-soft);
  z-index: -1;
}
.hero-sub {
  margin: 1.5rem auto 0;
  max-width: 680px;
  color: var(--graphite);
  font-size: clamp(0.9375rem, 1.3vw, 1.125rem);
  line-height: 1.7;
}
.hero-cta {
  margin-top: 2rem;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
@media (min-width: 768px) { .hero-cta { margin-top: 2.5rem; } }
.hero-trust {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem 2rem;
  flex-wrap: wrap;
  color: var(--slate);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 500;
}
@media (min-width: 768px) { .hero-trust { margin-top: 4.5rem; } }
.hero-trust span { color: var(--ink); font-weight: 700; }

/* ---------- Marquee ---------- */
.marquee {
  overflow: hidden;
  overflow-x: clip;
  contain: paint;
  border-block: 1px solid var(--line);
  padding-block: 1.75rem;
  background: var(--paper);
}
.marquee-track {
  display: flex;
  gap: 3rem;
  width: max-content;
  animation: marquee 40s linear infinite;
  white-space: nowrap;
}
.marquee-item {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--silver);
  letter-spacing: -0.015em;
  flex-shrink: 0;
  transition: color .3s ease;
}
.marquee-item--logo {
  display: inline-flex;
  align-items: center;
  height: 48px;
}
.marquee-item__logo {
  display: block;
  height: 36px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}
@media (min-width: 640px) { .marquee-item { font-size: 1.25rem; } }
.marquee-item:hover { color: var(--red); }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- Section header ----------
   Use an explicit flex column so the eyebrow, headline and lede
   ALWAYS stack vertically and can never visually collide — even
   if some other stylesheet, animation or browser quirk tries to
   collapse the heading box. Children inherit normal block flow
   with the margins below for spacing. */
.section-head {
  max-width: 760px;
  margin-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.section-head > * { width: 100%; max-width: 100%; }
@media (min-width: 768px) { .section-head { margin-bottom: 3.25rem; } }
.section-head .eyebrow { width: auto; }
.section-head h1,
.section-head h2,
.section-head h3 { margin-top: 0.875rem; }
.section-head p {
  margin-top: 1.125rem;
  color: var(--graphite);
  max-width: 600px;
  font-size: 1rem;
  line-height: 1.7;
}
@media (min-width: 768px) { .section-head p { font-size: 1.0625rem; } }

/* Row variant overrides the column flow for header + CTA pairs.
   Use full container width so the headline has room to breathe and
   the trailing CTA can sit on the far right edge. */
.section-head--row {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem 2.5rem;
  max-width: none;
  width: 100%;
}
.section-head--row > * { width: auto; }
.section-head--row > :first-child { flex: 1 1 480px; min-width: 0; max-width: 760px; }
.section-head--row > :last-child  { flex: 0 0 auto; align-self: flex-end; }

/* ---------- Stats strip ---------- */
.stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem 1.25rem;
}
@media (min-width: 768px)  { .stats { grid-template-columns: repeat(4, 1fr); gap: 2rem; } }
.stat {
  border-top: 2px solid var(--ink);
  padding-top: 1.25rem;
}
.stat-num {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.875rem, 4vw, 2.875rem);
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--ink);
  margin: 0;
}
.stat-num em {
  font-style: normal;
  color: var(--red);
}
.stat-label {
  margin: 0.625rem 0 0;
  font-size: 0.8125rem;
  color: var(--slate);
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* Stats block — editorial side-by-side layout
   (heading on the left, stats on the right) so wrapped
   headings can never visually collide with the stat grid. */
.stats-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .stats-block {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 4rem;
  }
}
.stats-block__head { max-width: 560px; min-width: 0; }
.stats-block__title { margin-top: 0.875rem; }

/* On the side-by-side layout the right column is narrower,
   so render stats as 2×2 to keep numbers readable. */
@media (min-width: 1024px) {
  .stats-block .stats--paired {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.75rem 2rem;
  }
}

/* ---------- Bento ---------- */
.bento {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px)  { .bento { grid-template-columns: repeat(2, 1fr); gap: 1.125rem; } }
@media (min-width: 1024px) { .bento { grid-template-columns: repeat(6, 1fr); } }
.bento-card {
  position: relative;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .3s ease, transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;
  overflow: hidden;
}
@media (min-width: 768px) { .bento-card { padding: 1.875rem; } }
.bento-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.bento-card::after {
  content: '';
  position: absolute; inset: auto -40% -40% auto;
  width: 60%; height: 60%;
  background: radial-gradient(circle, rgba(30, 64, 175,.10), transparent 60%);
  opacity: 0; transition: opacity .4s ease;
  pointer-events: none;
}
.bento-card:hover::after { opacity: 1; }

@media (min-width: 1024px) {
  .bento-card.col-3 { grid-column: span 3; }
  .bento-card.col-4 { grid-column: span 4; }
  .bento-card.col-2 { grid-column: span 2; }
}
@media (min-width: 640px) and (max-width: 1023.9px) {
  .bento-card.col-3, .bento-card.col-4, .bento-card.col-2 { grid-column: span 1; }
}

/* Uniform bento — 3 equal columns on desktop, 2 on tablet, 1 on mobile.
   `grid-auto-rows: 1fr` + flex card body keeps every card the exact same
   height so the row reads as a neat 3×2 / 2×3 grid. */
.bento--uniform { grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) {
  .bento--uniform { grid-template-columns: repeat(2, 1fr); gap: 1.125rem; }
}
@media (min-width: 1024px) {
  .bento--uniform { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; grid-auto-rows: 1fr; }
}
.bento--uniform .bento-card {
  grid-column: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  text-align: center;
  border: 2px solid var(--red-deep);
  box-shadow: none;
}
.bento--uniform .bento-card:hover {
  border-color: var(--red);
  box-shadow: var(--shadow-red);
}
.bento--uniform .bento-text { flex: 1 1 auto; }

/* Light grey borders for product / content bento grids on mist backgrounds */
.bento--light-border .bento-card {
  border: 1.5px solid var(--line-2);
  box-shadow: none;
}
.bento--light-border .bento-card:hover {
  border-color: var(--red-soft);
  box-shadow: var(--shadow-sm);
}
.bento-title--sm {
  margin-top: 0.5rem;
  font-size: 1.125rem;
}
.bento--uniform .bento-icon {
  margin-left: auto;
  margin-right: auto;
}
.bento--uniform .bento-title {
  width: 100%;
  text-align: center;
}
.bento-icon {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  background: var(--red-soft);
  border-radius: 12px;
  color: var(--red);
  margin-bottom: 1.25rem;
  transition: background .3s ease, color .3s ease;
}
.bento-card:hover .bento-icon { background: var(--red); color: var(--paper); }
.bento-title { font-size: 1.1875rem; letter-spacing: -0.02em; }
.bento-text {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  color: var(--graphite);
  line-height: 1.65;
}
.bento-list {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}
.bento-list li {
  position: relative;
  padding-left: 1.125rem;
  font-size: 0.875rem;
  color: var(--graphite);
}
.bento-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.6em;
  width: 6px; height: 6px;
  background: var(--red);
  border-radius: 50%;
}

/* ---------- Work / case studies ---------- */
.work-grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (min-width: 768px)  { .work-grid { gap: 4.5rem; } }
@media (min-width: 1024px) { .work-grid { gap: 6rem; } }

.work-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .work-item { grid-template-columns: 1.05fr 1fr; gap: 3.5rem; }
  .work-item:nth-child(even) .work-visual { order: 2; }
}
.work-visual {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--mist);
  aspect-ratio: 4/3;
}
.work-visual img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}
.work-item:hover .work-visual img { transform: scale(1.04); }
.work-tag {
  position: absolute; top: 1rem; left: 1rem;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink);
}
.work-tag::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%;
  background: var(--red);
}
.work-title {
  margin-top: 1rem;
  font-size: clamp(1.5rem, 3.2vw, 2.25rem);
  letter-spacing: -0.03em;
}
.work-summary {
  margin-top: 1.125rem;
  color: var(--graphite);
  line-height: 1.7;
  font-size: 0.9375rem;
}
@media (min-width: 768px) { .work-summary { font-size: 1rem; } }
.work-stats {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}
.work-stat-num {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.375rem;
  letter-spacing: -0.025em;
  color: var(--red);
  margin: 0;
}
.work-stat-label {
  margin: 0.25rem 0 0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--slate);
  font-weight: 600;
}
.work-cta { margin-top: 1.75rem; }

/* ---------- Industries pill grid ---------- */
.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.75rem 1.25rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ink);
  transition: all .25s ease;
  min-height: 44px;
}
.pill .pill-num {
  font-size: 11px; font-weight: 800;
  color: var(--red);
  letter-spacing: 0.06em;
}
.pill:hover {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
  transform: translateY(-1px);
}
.pill:hover .pill-num { color: var(--red-bright); }

/* ---------- Process / steps ---------- */
.steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px)  { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .steps { grid-template-columns: repeat(4, 1fr); gap: 1.75rem; } }
.step {
  padding: 1.5rem 0 0;
  border-top: 2px solid var(--ink);
  position: relative;
}
.step-num {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: var(--red);
  letter-spacing: 0.14em;
  margin: 0;
}
.step-title {
  margin-top: 0.625rem;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
}
.step-text {
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  color: var(--graphite);
  line-height: 1.6;
}

/* ---------- Certifications row ---------- */
.cert-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media (min-width: 640px)  { .cert-row { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cert-row { grid-template-columns: repeat(6, 1fr); } }
.cert {
  display: grid; place-items: center;
  padding: 1.25rem 0.875rem;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: -0.01em;
  color: var(--graphite);
  text-align: center;
  transition: all .25s ease;
  min-height: 70px;
}
.cert:hover {
  border-color: var(--red);
  color: var(--red);
  transform: translateY(-2px);
}

/* ---------- Doc cards (investor / downloads) ---------- */
.doc-card {
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem 1.125rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: all .25s ease;
}
.doc-card:hover {
  border-color: var(--red);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}
.doc-icon {
  flex-shrink: 0;
  width: 44px; height: 52px;
  display: grid; place-items: center;
  background: var(--ink);
  color: var(--paper);
  border-radius: 6px;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 0.1em;
  position: relative;
}
.doc-icon::after {
  content: ''; position: absolute; top: 0; right: 0;
  width: 12px; height: 12px;
  background: var(--paper);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.doc-card:hover .doc-icon { background: var(--red); }
.doc-main { flex: 1; min-width: 0; }
.doc-cat {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--red); font-weight: 700; margin: 0;
}
.doc-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: -0.015em;
  margin: 4px 0 0;
  color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.doc-date { font-size: 12px; color: var(--slate); margin: 2px 0 0; }
.doc-arrow {
  flex-shrink: 0;
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 999px;
  background: var(--mist);
  color: var(--ink);
  transition: background .25s ease, color .25s ease;
}
.doc-card:hover .doc-arrow { background: var(--red); color: var(--paper); }

/* ---------- Investor relations page (documents) ---------- */
.doc-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.375rem;
  margin-bottom: 2rem;
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
}
.doc-filter {
  padding: 0.625rem 1.125rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--graphite);
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
  white-space: nowrap;
}
.doc-filter:hover { color: var(--ink); }
.doc-filter.is-active {
  background: var(--red);
  color: var(--paper);
  box-shadow: var(--shadow-red);
}

.inv-doc-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 640px)  { .inv-doc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .inv-doc-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }

.inv-doc-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
  min-height: 100%;
}
.inv-doc-card:hover {
  border-color: var(--red-deep);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.inv-doc-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.125rem;
}
.inv-doc-card__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: var(--red-tint);
  border: 1px solid var(--red-soft);
  border-radius: 10px;
  color: var(--red);
}
.inv-doc-card:hover .inv-doc-card__icon {
  background: var(--red);
  border-color: var(--red);
  color: var(--paper);
}
.inv-doc-card__badge {
  flex-shrink: 0;
  padding: 0.3125rem 0.625rem;
  border: 1px solid var(--red-soft);
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red-deep);
  background: var(--red-tint);
}
.inv-doc-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--ink);
}
.inv-doc-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--graphite);
  flex: 1 1 auto;
}
.inv-doc-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
}
.inv-doc-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 1rem;
  padding-top: 1rem;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}
.inv-doc-card:hover .inv-doc-card__foot { color: var(--ink); }
.inv-doc-card__arrow {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--mist);
  color: var(--ink);
  transition: background .25s ease, color .25s ease;
}
.inv-doc-card:hover .inv-doc-card__arrow {
  background: var(--red);
  color: var(--paper);
}

.inv-doc-count {
  margin: 2rem 0 0;
  font-size: 0.8125rem;
  color: var(--slate);
  text-align: center;
}

.inv-empty {
  text-align: center;
  padding: 4rem 1.5rem;
  background: var(--mist);
  border: 1px dashed var(--line-2);
  border-radius: var(--r-lg);
}
.inv-empty-title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.inv-empty-text {
  margin: 0.75rem auto 0;
  max-width: 480px;
  color: var(--graphite);
  line-height: 1.7;
}

body.inv-modal-open { overflow: hidden; }

.inv-download-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 1.25rem;
}
.inv-download-modal[hidden] { display: none; }
.inv-download-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(10, 10, 10, 0.55);
  backdrop-filter: blur(4px);
  cursor: pointer;
}
.inv-download-modal__panel {
  position: relative;
  width: min(100%, 480px);
  max-height: calc(100vh - 2.5rem);
  overflow: auto;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
}
@media (min-width: 640px) {
  .inv-download-modal__panel { padding: 1.75rem; }
}
.inv-download-modal__close {
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--graphite);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.inv-download-modal__close:hover {
  border-color: var(--red);
  color: var(--red);
  background: var(--red-tint);
}
.inv-download-modal__title {
  margin: 0 2rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.inv-download-modal__lead {
  margin: 0.625rem 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}
.inv-download-form .brochure-submit { margin-top: 1.25rem; }

/* ---------- Dark CTA band ---------- */
.cta-band {
  position: relative;
  margin-inline: auto;
  max-width: var(--container);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
  padding: 2rem 1.25rem;
  text-align: center;
}
@media (min-width: 768px)  { .cta-band { padding: 2.5rem 2rem; border-radius: var(--r-xl); } }
@media (min-width: 1024px) { .cta-band { padding: 3rem 2.5rem; } }
.cta-band::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(30, 64, 175,.45), transparent 60%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(30, 64, 175,.25), transparent 60%);
  pointer-events: none;
}
.cta-band > * { position: relative; }
.cta-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.375rem, 3vw, 2.125rem);
  letter-spacing: -0.03em;
  line-height: 1.12;
  max-width: 720px;
  margin-inline: auto;
  color: var(--paper);
}
.cta-sub {
  margin: 0.875rem auto 0;
  color: rgba(255,255,255,.75);
  max-width: 520px;
  line-height: 1.65;
  font-size: 0.875rem;
}
@media (min-width: 768px) { .cta-sub { font-size: 0.9375rem; } }
.cta-actions {
  margin-top: 1.25rem;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
}
.cta-actions .btn-ghost-light {
  white-space: normal;
  word-break: break-word;
  line-height: 1.4;
}

/* Tighter section spacing around page-end CTA bands */
.section--cta {
  padding-block: 1.5rem 3rem;
}
@media (min-width: 768px) { .section--cta { padding-block: 2rem 3.5rem; } }

/* ---------- About teaser (image + copy) ---------- */
.about-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .about-split { grid-template-columns: 1fr 1fr; gap: 4rem; }
}

.about-visual {
  position: relative;
}
.about-visual__frame {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--ink);
  box-shadow: var(--shadow);
}
.about-visual__frame::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 45%;
  background: linear-gradient(to top, rgba(10,10,10,.5), transparent);
  pointer-events: none;
  z-index: 1;
}
.about-visual__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  animation: about-visual-pan 18s ease-in-out infinite alternate;
}
.about-visual:hover .about-visual__frame img {
  animation-play-state: paused;
  transform: scale(1.1);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}

@keyframes about-visual-pan {
  from { transform: scale(1.04) translate(0, 0); }
  to   { transform: scale(1.1) translate(-1.5%, -1%); }
}

.about-visual__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink);
}
.about-visual__badge::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--red);
  animation: about-pulse 2s ease-in-out infinite;
}

@keyframes about-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.55; transform: scale(0.85); }
}

.about-visual__chip {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.875rem 1.125rem;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-radius: var(--r-sm);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  line-height: 1.2;
}
.about-visual__chip strong {
  font-family: 'Manrope', sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--red);
}
.about-visual__chip span {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--slate);
}

.about-copy p {
  color: var(--graphite);
  line-height: 1.8;
  font-size: 1.0625rem;
  margin: 0;
}
.about-copy p + p { margin-top: 1rem; }
.about-copy__cta { margin-top: 1.75rem; }

@media (prefers-reduced-motion: reduce) {
  .about-visual__frame img { animation: none; transform: none; }
  .about-visual__badge::before { animation: none; }
}

/* ---------- Contact two-up ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 1024px) { .contact-grid { grid-template-columns: 1fr 1fr; gap: 4.5rem; } }

/* ---------- Email brochure page ---------- */
.brochure-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
.brochure-grid > * { min-width: 0; }
@media (min-width: 1024px) {
  .brochure-grid {
    grid-template-columns: 1fr min(400px, 38%);
    gap: 4rem;
  }
}

.brochure-copy-text {
  margin-top: 1rem;
  max-width: 520px;
  color: var(--graphite);
  line-height: 1.7;
  font-size: 0.9375rem;
}

.brochure-points {
  list-style: none;
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.brochure-points li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  font-size: 0.9375rem;
  color: var(--graphite);
  line-height: 1.55;
}
.brochure-points li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  margin-top: 0.55rem;
  flex-shrink: 0;
}

.brochure-form-wrap {
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .brochure-form-wrap {
    justify-self: end;
    max-width: none;
    margin-inline: 0;
  }
}

.brochure-form-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  box-shadow: 0 8px 32px rgba(10, 10, 10, 0.06);
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 768px) {
  .brochure-form-card { padding: 1.75rem; }
}

.brochure-form-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.brochure-form-lead {
  margin-top: 0.375rem;
  margin-bottom: 1.25rem;
  font-size: 0.8125rem;
  color: var(--graphite);
  line-height: 1.6;
}

.brochure-form { display: flex; flex-direction: column; min-width: 0; width: 100%; }

.brochure-field {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.brochure-field label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--graphite);
  margin-bottom: 0.375rem;
}
.brochure-form .form-row label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--graphite);
  margin-bottom: 0.375rem;
}
.brochure-field + .brochure-field { margin-top: 0.875rem; }

.brochure-form .input,
.brochure-form .select,
.brochure-form .brochure-select-trigger {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.brochure-custom-select {
  position: relative;
  width: 100%;
  min-width: 0;
}

.brochure-select-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.brochure-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.9375rem 1.125rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  font-size: 0.9375rem;
  text-align: left;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.brochure-select-trigger.is-placeholder { color: var(--silver); }

.brochure-select-trigger:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(30, 64, 175, .12);
}

.brochure-select-trigger svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--graphite);
  transition: transform .2s ease;
}

.brochure-custom-select.is-open .brochure-select-trigger svg {
  transform: rotate(180deg);
}

.brochure-select-menu {
  position: absolute;
  top: calc(100% + 0.375rem);
  left: 0;
  right: 0;
  z-index: 30;
  margin: 0;
  padding: 0.375rem 0;
  list-style: none;
  width: 100%;
  max-width: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(10, 10, 10, 0.1);
  max-height: min(240px, 50vh);
  overflow-y: auto;
  overflow-x: hidden;
}

.brochure-select-menu [role="option"] {
  padding: 0.75rem 1.125rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--ink);
  cursor: pointer;
  overflow-wrap: anywhere;
}

.brochure-select-menu [role="option"]:hover,
.brochure-select-menu [role="option"].is-selected {
  background: var(--mist);
}

.brochure-select-menu [role="option"].is-disabled {
  color: var(--silver);
  cursor: default;
}

.brochure-submit {
  width: 100%;
  margin-top: 1.25rem;
  padding: 0.875rem 1rem;
  font-weight: 700;
  justify-content: center;
}

/* ---------- Brochure / Financial — one-view horizontal layout ---------- */
.brochure-oneview {
  min-height: calc(100svh - var(--nav-h));
  padding-top: calc(var(--nav-h) + 1.25rem);
  padding-bottom: 1.25rem;
  display: flex;
  align-items: flex-start;
}
body.page-discover .discover-main > .brochure-oneview {
  min-height: calc(100svh - var(--header-stack-h));
  padding-top: calc(var(--header-stack-h) + 0.75rem);
  padding-bottom: 0.75rem;
  box-sizing: border-box;
}
body.page-discover .discover-main > .brochure-oneview:last-child {
  padding-bottom: 0.75rem;
}
.brochure-oneview > .wrap {
  width: 100%;
}
.brochure-oneview__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .brochure-oneview__grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
    gap: 2rem 2.5rem;
    align-items: center;
  }
}
.brochure-oneview__copy {
  padding-top: 1.25rem;
}
@media (min-width: 768px) {
  .brochure-oneview__copy { padding-top: 1.375rem; }
}
.brochure-oneview__title {
  margin: 0.625rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
}
.brochure-oneview__points {
  margin-top: 1rem;
  gap: 0.625rem;
}
.brochure-oneview__points li {
  font-size: 0.875rem;
}
.brochure-oneview__copy .brochure-copy-text {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.6;
  max-width: none;
}
.brochure-oneview__form {
  padding: 1.25rem 1.375rem;
}
@media (min-width: 768px) {
  .brochure-oneview__form { padding: 1.375rem 1.5rem; }
}
.brochure-oneview__form-head {
  margin-bottom: 0.875rem;
}
.brochure-oneview__form .brochure-form-lead {
  margin-bottom: 0;
}
.brochure-oneview__flash {
  margin-bottom: 0.875rem;
}

/* ---------- Plant Details — location cards ---------- */
.plant-details-page.section {
  display: flex;
  flex-direction: column;
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
  height: 100svh;
  max-height: 100svh;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}
body.page-discover .discover-main > .plant-details-page.section {
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
}
body.page-discover .discover-main > .plant-details-page.section:last-child {
  padding-bottom: 0.375rem;
}
.plant-details-page__wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
}
.plant-details-page__head {
  flex: 0 0 auto;
  margin-bottom: 0.5rem;
  min-width: 0;
}
.plant-details-page__head-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.625rem 0.875rem;
  min-width: 0;
}
.plant-details-page__eyebrow {
  flex: 0 0 auto;
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
.plant-details-page__eyebrow::before {
  width: 1rem;
}
.plant-details-page__title {
  flex: 0 0 auto;
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(0.9375rem, 1.35vw, 1.375rem);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--ink);
  white-space: nowrap;
}
.plant-details-page__lead {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  font-size: clamp(0.6875rem, 0.95vw, 0.8125rem);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plant-details-grid {
  flex: 1;
  min-height: 0;
  height: 100%;
  align-items: stretch;
  align-content: stretch;
  overflow: hidden;
}
.plant-details-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
}
.plant-details-card__title {
  margin: 0;
  padding: 0.5rem 0.625rem;
  font-family: 'Manrope', sans-serif;
  font-size: clamp(0.75rem, 1.1vw, 0.9375rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--red-deep);
  border-bottom: 1px solid var(--line);
  flex: 0 0 auto;
}
.plant-details-card__map {
  position: relative;
  flex: 1 1 0;
  min-height: 5.5rem;
  background: var(--mist);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.plant-details-card__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.plant-details-card__map-link {
  position: absolute;
  right: 0.375rem;
  bottom: 0.375rem;
  padding: 0.25rem 0.4375rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--red-deep);
  box-shadow: var(--shadow-sm);
}
.plant-details-card__map-link:hover {
  border-color: var(--red);
  color: var(--red);
}
.plant-details-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.5rem 0.625rem 0.625rem;
  flex: 0 0 auto;
  overflow: visible;
}
.plant-details-card__block {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.plant-details-card__label {
  margin: 0;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--slate);
}
.plant-details-card__address {
  margin: 0;
  font-style: normal;
  font-size: 0.6875rem;
  line-height: 1.35;
  color: var(--graphite);
}
.plant-details-card__address span {
  display: block;
}
.plant-details-card__link {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--red-deep);
  word-break: break-word;
}
.plant-details-card__link:hover {
  color: var(--red);
}
@media (max-width: 1023.9px) {
  .plant-details-page.section {
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
    padding-bottom: 1rem;
  }
  .plant-details-page__wrap {
    flex: none;
    min-height: 0;
  }
  .plant-details-page__head-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .plant-details-page__lead {
    flex: 1 1 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .plant-details-grid {
    flex: none;
    height: auto;
    overflow: visible;
  }
  .plant-details-card {
    min-height: 0;
    height: auto;
    overflow: visible;
  }
  .plant-details-card__map {
    flex: none;
    aspect-ratio: 16 / 10;
    min-height: 8rem;
  }
}
@media (min-width: 1024px) {
  body.page-discover .discover-main > .plant-details-page.section {
    padding-bottom: 0.375rem;
  }
  .plant-details-grid {
    grid-template-rows: minmax(0, 1fr);
    grid-auto-rows: minmax(0, 1fr);
  }
}

/* ---------- Team — one-view photo layout ---------- */
.team-oneview.section {
  display: flex;
  flex-direction: column;
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.25rem;
  height: 100svh;
  max-height: 100svh;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}
body.page-discover .discover-main > .team-oneview.section {
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.25rem;
  padding-inline-end: 0;
  --discover-content-inset-end: calc(var(--site-widgets-inset) + var(--site-widgets-size) + 0.25rem);
}
body.page-discover .discover-main > .team-oneview.section:last-child {
  padding-bottom: 0.25rem;
}
body.page-discover .discover-main > .team-oneview .team-oneview__wrap {
  padding-inline-end: var(--discover-content-inset-end);
}
.team-oneview__wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
}
.team-oneview__head {
  flex: 0 0 auto;
}
.team-oneview__headline {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  flex-wrap: nowrap;
}
.team-oneview__eyebrow {
  flex-shrink: 0;
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
.team-oneview__eyebrow::before {
  width: 16px;
}
.team-oneview__title {
  margin: 0;
  flex-shrink: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(0.875rem, 1.65vw, 1.25rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
  white-space: nowrap;
}
.team-oneview__divider {
  width: 1px;
  height: 1.125rem;
  flex-shrink: 0;
  background: var(--line);
}
.team-oneview__lead {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(0.6875rem, 1.1vw, 0.8125rem);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.team-oneview__content {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 0;
}
.team-plants-grid {
  flex: 0 0 auto;
  min-height: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.375rem;
  align-content: start;
  align-items: start;
}
@media (min-width: 768px) {
  .team-plants-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.375rem;
  }
}
.team-org-chart {
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.team-org-chart img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center center;
}
.team-plant-card {
  display: flex;
  flex-direction: column;
  height: auto;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow-sm);
  transition: border-color .28s ease, transform .28s ease, box-shadow .28s ease;
}
.team-plant-card:hover {
  border-color: var(--red-soft);
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.team-plant-card__top {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
  padding: 0.5rem 0.75rem;
  background: linear-gradient(135deg, var(--red-deep) 0%, var(--red) 55%, var(--red-bright) 100%);
  color: var(--paper);
}
.team-plant-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.625rem;
  height: 1.625rem;
  padding: 0 0.3125rem;
  flex-shrink: 0;
  border-radius: 6px;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 0.625rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--paper);
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.team-plant-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(0.875rem, 1.35vw, 0.9875rem);
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--paper);
}
.team-plant-card__stat {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  margin: 0.5rem 0.75rem 0;
  padding: 0.4375rem 0.625rem;
  border-radius: 8px;
  background: linear-gradient(180deg, var(--red-tint) 0%, #fff 100%);
  border: 1px solid var(--red-soft);
}
.team-plant-card__stat-value {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--red-deep);
}
.team-plant-card__stat-label {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
}
.team-plant-card__list {
  list-style: none;
  margin: 0.375rem 0 0;
  padding: 0 0.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.team-plant-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.4375rem;
  font-size: clamp(0.625rem, 0.95vw, 0.75rem);
  line-height: 1.35;
  color: var(--graphite);
}
.team-plant-card__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  margin-top: 0.0625rem;
  border-radius: 999px;
  color: var(--red);
  background: var(--red-tint);
  border: 1px solid var(--red-soft);
}
.team-plant-card__check svg {
  width: 0.625rem;
  height: 0.625rem;
}
@media (max-width: 1023.9px) {
  .team-oneview.section {
    padding-top: calc(var(--header-stack-h) + 0.375rem);
    padding-bottom: 0;
    padding-inline: 0;
    height: auto;
    max-height: none;
    min-height: calc(100svh - var(--header-stack-h));
    overflow-y: auto;
  }
  .team-oneview__wrap {
    padding-inline: 1rem;
    flex: none;
    height: auto;
    min-height: calc(100svh - var(--header-stack-h) - 1rem);
  }
  .team-oneview__content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  .team-oneview__headline {
    flex-wrap: wrap;
    row-gap: 0.25rem;
  }
  .team-oneview__title,
  .team-oneview__lead {
    white-space: normal;
  }
  .team-oneview__divider {
    display: none;
  }
  .team-oneview__title {
    font-size: clamp(0.9375rem, 4.2vw, 1.125rem);
    line-height: 1.15;
    width: 100%;
  }
  .team-oneview__lead {
    font-size: 0.6875rem;
    line-height: 1.35;
    width: 100%;
  }
  .team-oneview__head .eyebrow {
    font-size: 0.625rem;
    letter-spacing: 0.14em;
  }
  .team-org-chart {
    flex: 1 1 0;
    min-height: clamp(240px, 48vh, 640px);
  }
  .team-org-chart img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .team-plants-grid {
    gap: 0.5rem;
  }
}
@media (min-width: 1024px) {
  body.page-discover .discover-main > .team-oneview.section {
    padding-inline-end: 0;
  }
}

.brochure-form--horizontal .brochure-form-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .brochure-form--horizontal .brochure-form-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .brochure-form--horizontal .brochure-form-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem 0.875rem;
  }
}
.brochure-form--horizontal .brochure-field + .brochure-field {
  margin-top: 0;
}
.brochure-form--horizontal .brochure-field label {
  font-size: 10px;
  margin-bottom: 0.3rem;
}
.brochure-form--horizontal .input,
.brochure-form--horizontal .textarea,
.brochure-form--horizontal .brochure-select-trigger {
  padding: 0.6875rem 0.875rem;
  font-size: 0.875rem;
  border-radius: 10px;
}
.brochure-form--horizontal .brochure-field--purpose,
.brochure-form--horizontal .brochure-field--wide {
  grid-column: 1 / -1;
}
.brochure-form-actions {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.brochure-submit--centered {
  width: auto;
  min-width: min(100%, 14rem);
  margin-top: 0;
  padding: 0.75rem 1.75rem;
  font-size: 0.875rem;
}

/* ---------- Forms ---------- */
.input, .textarea, .select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0.9375rem 1.125rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  font-size: 0.9375rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.125rem center;
  background-size: 1rem;
  padding-right: 2.75rem;
  cursor: pointer;
  text-overflow: ellipsis;
}
.input::placeholder, .textarea::placeholder { color: var(--silver); }
.input:focus, .textarea:focus, .select:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(30, 64, 175,.12);
}
.textarea { resize: vertical; min-height: 140px; }

.form-row { display: grid; grid-template-columns: 1fr; gap: 0.875rem; }
@media (min-width: 640px) { .form-row.row-2 { grid-template-columns: 1fr 1fr; } }

/* ---------- Footer ---------- */
.site-footer {
  border-top: 1px solid var(--line);
  padding-block: 2.5rem 1.75rem;
  background: var(--paper);
}
@media (min-width: 768px)  { .site-footer { padding-block: 3rem 1.75rem; } }
@media (min-width: 1024px) { .site-footer { padding-block: 3.5rem 2rem; } }
.footer-mega {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 4.2vw, 2.75rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--ink);
  max-width: 720px;
  margin: 0;
}
.footer-mega em {
  font-style: normal;
  color: var(--red);
}
.footer-mega-cta {
  margin-top: 1.25rem;
}
.footer-cols {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}
@media (min-width: 640px)  { .footer-cols { grid-template-columns: repeat(2, 1fr); gap: 2.25rem; } }
@media (min-width: 1024px) { .footer-cols { grid-template-columns: 1.5fr 1fr 1fr 1fr; margin-top: 2.5rem; } }
.footer-col h4 {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--slate);
  font-weight: 700;
  margin: 0 0 1.125rem;
}
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-block: 0.5rem; }
.footer-col a {
  font-size: 0.9375rem;
  color: var(--ink);
  transition: color .2s ease;
}
.footer-col a:hover { color: var(--red); }
.footer-col .muted { font-size: 0.9375rem; color: var(--slate); line-height: 1.6; display: block; }
.footer-col__heading-spacer {
  visibility: hidden;
}
.footer-nav-sub a,
.footer-nav-sub .muted {
  font-size: 0.875rem;
  padding-left: 0.75rem;
}
@media (max-width: 639.9px) {
  .footer-col__heading-spacer {
    display: none;
  }
}
.footer-bottom {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.8125rem;
  color: var(--slate);
}
.footer-bottom a { color: var(--slate); }
.footer-bottom a:hover { color: var(--red); }
.footer-bottom .links { display: flex; gap: 1.25rem; flex-wrap: wrap; }

/* ---------- Loader ---------- */
#page-loader {
  position: fixed; inset: 0;
  z-index: 100;
  display: grid; place-items: center;
  background: var(--paper);
  transition: opacity .5s ease, visibility .5s ease;
}
#page-loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-mark { display: flex; gap: 6px; }
.loader-bar {
  width: 4px; height: 28px; border-radius: 4px;
  background: var(--ink);
  animation: loader 1s ease-in-out infinite;
}
.loader-bar:nth-child(2) { animation-delay: .12s; background: var(--red); }
.loader-bar:nth-child(3) { animation-delay: .24s; background: var(--graphite); }
@keyframes loader {
  0%, 100% { transform: scaleY(.4); }
  50%      { transform: scaleY(1);  }
}

/* ---------- Animation helpers ---------- */
.reveal-up   { opacity: 0; transform: translateY(28px); }
.reveal-fade { opacity: 0; }
/* split-line MUST be safe for multi-line text — no overflow:hidden,
   no vertical-align tricks, no negative margins. Otherwise wrapped
   headings collapse onto themselves and overlap surrounding content. */
.split-line  { display: inline-block; line-height: inherit; }
.split-line > span { display: inline-block; will-change: transform; }

.no-js .reveal-up,
.no-js .reveal-fade { opacity: 1 !important; transform: none !important; }
.no-js .split-line > span { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal-up, .reveal-fade { opacity: 1 !important; transform: none !important; }
  .split-line { overflow: visible; }
  .marquee-track { animation: none; }
}

/* ---------- Focus ---------- */
button:focus-visible, a:focus-visible, .input:focus-visible, .textarea:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
  border-radius: 6px;
}

/* ---------- Page heading (reusable on subpages) ---------- */
.page-hero {
  position: relative;
  padding: 5rem 0 1.75rem;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
@media (min-width: 768px)  { .page-hero { padding: 6rem 0 2rem; } }
@media (min-width: 1024px) { .page-hero { padding: 6.5rem 0 2.25rem; } }
.page-hero .hero-grid { position: absolute; inset: 0; }
.page-hero-inner { position: relative; max-width: 920px; }
.page-hero h1 {
  margin-top: 0.875rem;
  font-size: clamp(1.625rem, 3.6vw, 2.75rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.page-hero p {
  margin-top: 1rem;
  max-width: 600px;
  color: var(--graphite);
  font-size: 0.9375rem;
  line-height: 1.65;
}
@media (min-width: 768px) { .page-hero p { font-size: 1rem; margin-top: 1.125rem; } }

.page-hero--compact { padding-bottom: 1.5rem; }
@media (min-width: 768px)  { .page-hero--compact { padding: 5rem 0 1.75rem; } }
@media (min-width: 1024px) { .page-hero--compact { padding: 5.5rem 0 2rem; } }

/* ---------- Generic card (reused) ---------- */
.card {
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease,
              transform .35s cubic-bezier(.16,1,.3,1),
              box-shadow .35s ease;
}
@media (min-width: 768px) { .card { padding: 1.875rem; } }
.card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.card-num {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 12px;
  color: var(--red);
  letter-spacing: 0.12em;
  margin: 0;
}
.card-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  margin: 0.625rem 0 0;
  color: var(--ink);
}
.card-text {
  margin: 0.75rem 0 0;
  color: var(--graphite);
  font-size: 0.9375rem;
  line-height: 1.65;
}

/* ---------- Service card alias ---------- */
.service-card { /* same as .card */
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
@media (min-width: 768px) { .service-card { padding: 1.875rem; } }
.service-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

/* ---------- Project card ---------- */
.project-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--paper);
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.project-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.proj-img {
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--mist);
}
.proj-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}
.project-card:hover .proj-img img { transform: scale(1.04); }

/* ---------- Job row (Careers page) ---------- */
.job-row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-block: 1.5rem;
  border-radius: 6px;
  transition: padding-inline .35s ease, background .25s ease;
}
@media (min-width: 768px) {
  .job-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-block: 1.75rem;
  }
}
.job-row:hover { padding-inline: 0.75rem; }

/* ---------- Dark band section (forms / CTAs on sub-pages) ---------- */
.dark-section {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
  border-radius: var(--r-lg);
  margin-inline: 1rem;
}
@media (min-width: 768px)  { .dark-section { margin-inline: 1.5rem; border-radius: var(--r-xl); } }
@media (min-width: 1280px) {
  .dark-section {
    margin-inline: auto;
    max-width: calc(var(--container) - 1rem);
  }
}
.dark-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 0% 100%, rgba(30, 64, 175,.40), transparent 60%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(30, 64, 175,.22), transparent 60%);
  pointer-events: none;
}
.dark-section > * { position: relative; z-index: 1; }
.dark-section .eyebrow { color: var(--red-bright); }
.dark-section .eyebrow::before { background: var(--red-bright); }
.dark-section .container-x { max-width: 100%; }

.dark-section input[type="text"],
.dark-section input[type="email"],
.dark-section input[type="tel"],
.dark-section input[type="url"],
.dark-section input[type="number"],
.dark-section input[type="search"],
.dark-section input[type="password"],
.dark-section input:not([type]),
.dark-section textarea {
  width: 100%;
  padding: 0.9375rem 1.125rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  color: var(--paper);
  font: inherit;
  font-size: 0.9375rem;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.dark-section input::placeholder,
.dark-section textarea::placeholder { color: rgba(255,255,255,.42); }
.dark-section input:focus,
.dark-section textarea:focus {
  outline: none;
  border-color: var(--red-bright);
  background: rgba(255,255,255,.08);
  box-shadow: 0 0 0 4px rgba(30, 64, 175,.20);
}
.dark-section textarea { resize: vertical; min-height: 140px; }
.dark-section input[type="file"] {
  width: 100%;
  padding: 0.5rem 0;
  color: rgba(255,255,255,.75);
  font: inherit;
  font-size: 0.875rem;
}

/* ---------- Image reveal ---------- */
.reveal-scale {
  opacity: 0;
  transform: scale(.96);
  transition: opacity .9s cubic-bezier(.16,1,.3,1),
              transform .9s cubic-bezier(.16,1,.3,1);
}
.reveal-scale.is-in { opacity: 1; transform: none; }
.no-js .reveal-scale { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal-scale { opacity: 1 !important; transform: none !important; }
}

/* ---------- Stagger ---------- */
[data-stagger-item] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s ease,
              transform .8s cubic-bezier(.16,1,.3,1);
}
[data-stagger-item].is-in { opacity: 1; transform: none; }
.no-js [data-stagger-item] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-stagger-item] { opacity: 1 !important; transform: none !important; }
}

/* ---------- Native input safety on light pages ---------- */
main section:not(.dark-section) input[type="text"]:not(.input),
main section:not(.dark-section) input[type="email"]:not(.input),
main section:not(.dark-section) input[type="tel"]:not(.input),
main section:not(.dark-section) input[type="url"]:not(.input),
main section:not(.dark-section) input[type="number"]:not(.input),
main section:not(.dark-section) input[type="search"]:not(.input),
main section:not(.dark-section) input[type="password"]:not(.input),
main section:not(.dark-section) input:not([type]):not(.input),
main section:not(.dark-section) textarea:not(.textarea) {
  width: 100%;
  padding: 0.9375rem 1.125rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  font: inherit;
  font-size: 0.9375rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
main section:not(.dark-section) input:focus,
main section:not(.dark-section) textarea:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(30, 64, 175,.12);
}

/* ---------- Plant showcase (Chakan / SMT highlight) ---------- */
.plant-showcase {
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
}
.plant-showcase__inner {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}
.plant-showcase__title {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}
.plant-showcase__heading {
  margin: 1rem auto 0;
  max-width: 720px;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  letter-spacing: -0.02em;
  line-height: 1.45;
  color: var(--red);
}
.plant-showcase__heading--solo {
  margin-top: 0;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  font-weight: 800;
  color: var(--ink);
}
.plant-showcase__figure {
  margin: 1.75rem auto 0;
  max-width: 880px;
}
.plant-showcase__image {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  box-shadow: 0 12px 40px rgba(10, 10, 10, 0.08);
}

/* ---------- Plant card ---------- */
.plant-card {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
@media (min-width: 1024px) { .plant-card { grid-template-columns: 0.85fr 1.15fr; } }
.plant-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.plant-img {
  background: var(--ink);
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
@media (min-width: 1024px) { .plant-img { aspect-ratio: auto; } }
.plant-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.plant-img::after {
  content: '';
  position: absolute; inset: auto 0 0 0;
  height: 40%;
  background: linear-gradient(to top, rgba(10,10,10,.55), transparent);
  pointer-events: none;
}
.plant-card:hover .plant-img img { transform: scale(1.06); }
.plant-tag {
  position: absolute; top: 1rem; left: 1rem;
  z-index: 1;
  padding: 6px 12px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--red-deep);
}
.plant-body { padding: 1.75rem; }
@media (min-width: 768px)  { .plant-body { padding: 2rem; } }
@media (min-width: 1024px) { .plant-body { padding: 2.5rem; } }
.plant-name {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 2.6vw, 2.125rem);
  letter-spacing: -0.03em;
  color: var(--ink);
  margin: 0.5rem 0 0;
}
.plant-desc {
  color: var(--graphite);
  line-height: 1.7;
  margin: 1rem 0 0;
  font-size: 0.9375rem;
}
.plant-features {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.625rem;
}
@media (min-width: 640px) { .plant-features { grid-template-columns: 1fr 1fr; } }
.plant-features li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 0.875rem;
  color: var(--graphite);
  line-height: 1.5;
}
.plant-features li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.55em;
  width: 12px; height: 2px;
  background: var(--red);
}

/* ---------- Plants page — auto carousel ---------- */
.plants-page.section {
  padding-block: 0;
  padding-top: calc(var(--nav-h) + 0.75rem);
  padding-bottom: 0.75rem;
}
body.page-discover .discover-main > .plants-page.section {
  height: 100svh;
  max-height: 100svh;
  min-height: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
  overflow: hidden;
}
body.page-discover .discover-main > .plants-page.section:last-child {
  padding-bottom: 0.5rem;
}
body.page-discover .plants-page > .wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-inline-start: var(--discover-content-gap, 1rem);
  padding-inline-end: var(--discover-content-inset-end, 1rem);
}
@media (min-width: 1024px) {
  body.page-discover .plants-page > .wrap {
    padding-inline-start: var(--discover-content-gap);
    padding-inline-end: var(--discover-content-inset-end);
  }
}
body.page-discover .plants-carousel {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.plants-carousel {
  display: flex;
  flex-direction: column;
}
.plants-carousel .plant-card {
  box-shadow: 0 18px 56px rgba(10, 10, 10, 0.09);
  height: 100%;
}
.plants-carousel .plant-card:hover {
  transform: none;
}
.plants-carousel .plant-card:hover .plant-img img {
  transform: none;
}
.plants-carousel .plant-img {
  aspect-ratio: unset;
  min-height: 0;
  background: var(--mist);
  overflow: hidden;
  position: relative;
  padding: 0;
}
.plants-carousel .plant-img::after {
  display: none;
}
.plants-carousel .plant-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 1023.9px) {
  body.page-discover .discover-main > .plants-page.section {
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
  }
}
.plants-carousel__viewport {
  position: relative;
  flex: 1 1 auto;
  height: min(36rem, calc(100svh - var(--nav-h) - 1.25rem));
  min-height: 18rem;
}
@media (min-width: 768px) {
  .plants-carousel__viewport {
    height: min(38rem, calc(100svh - var(--nav-h) - 1.25rem));
    min-height: 20rem;
  }
}
@media (min-width: 1024px) {
  .plants-carousel__viewport {
    height: min(40rem, calc(100svh - var(--nav-h) - 1.25rem));
    min-height: 22rem;
  }
}
body.page-discover .plants-carousel__viewport {
  flex: 1 1 0;
  height: auto;
  min-height: 0;
  max-height: none;
}
body.page-discover .plants-carousel__nav {
  margin-top: 0.625rem;
  padding-bottom: 0;
}
.plants-carousel__slide {
  position: absolute;
  inset: 0;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  transform: none;
  box-shadow: none;
  overflow: hidden;
}
.plants-carousel__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
  overflow: hidden;
}
.plants-carousel__slide:hover {
  transform: none;
  box-shadow: none;
}
/* Mobile — stack slides in document flow (rules must follow absolute desktop carousel) */
@media (max-width: 1023.9px) {
  .plants-carousel__viewport,
  body.page-discover .plants-carousel__viewport {
    position: relative;
    flex: none;
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .plants-carousel__slide {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    display: none;
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    overflow: visible;
  }
  .plants-carousel__slide.is-active {
    display: grid;
    grid-template-columns: 1fr;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
    overflow: visible;
  }
  .plants-carousel .plant-card {
    height: auto;
  }
  .plants-carousel .plant-img {
    aspect-ratio: auto;
    height: auto;
    line-height: 0;
    background: var(--ink);
  }
  .plants-carousel .plant-img img {
    width: 100%;
    height: auto;
    max-height: min(40vh, 14rem);
    object-fit: cover;
    object-position: center;
  }
  .plants-carousel .plant-body {
    height: auto;
    max-height: none;
    overflow: visible;
    min-height: 0;
  }
  body.page-discover .plants-carousel {
    flex: none;
    min-height: 0;
  }
}
@media (min-width: 1024px) {
  .plants-carousel__slide {
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.62fr);
    grid-template-rows: 1fr;
    align-items: stretch;
  }
  .plants-carousel .plant-img {
    height: 100%;
    min-height: 0;
  }
  .plants-carousel .plant-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .plants-carousel .plant-body {
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.plants-carousel .plant-body {
  padding: 1.125rem 1.125rem;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
@media (min-width: 768px) {
  .plants-carousel .plant-body { padding: 1.25rem 1.375rem; }
}
@media (min-width: 1024px) {
  .plants-carousel .plant-body { padding: 1.375rem 1.5rem; }
}
.plants-carousel .card-num {
  font-size: 0.75rem;
}
.plants-carousel .plant-name {
  font-size: clamp(1.375rem, 2.2vw, 1.875rem);
  margin-top: 0.375rem;
  line-height: 1.15;
}
.plants-carousel__sub {
  margin: 0.25rem 0 0;
  color: var(--red);
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.plants-carousel .plant-desc {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.plants-carousel .plant-features--compact {
  margin-top: 0.625rem;
  gap: 0.3rem;
  grid-template-columns: 1fr;
}
.plants-carousel .plant-features--compact li {
  font-size: 0.75rem;
  padding-left: 1.25rem;
  line-height: 1.4;
}
.plants-carousel .plant-features--compact li:nth-child(n+6) {
  display: none;
}
.plants-carousel .plant-features--compact li::before {
  width: 10px;
  top: 0.5em;
}
.plants-carousel__foot {
  margin-top: 0.75rem;
  padding-top: 0.625rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  border-top: 1px solid var(--line);
}
.plants-carousel__meta {
  margin: 0;
  font-size: 0.6875rem;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 1.35;
}
.plants-carousel .btn-arrow {
  font-size: 0.875rem;
  gap: 0.375rem;
}
.plants-carousel .btn-arrow svg {
  width: 1rem;
  height: 1rem;
}
.plants-carousel__nav {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.875rem;
  padding-bottom: 0.25rem;
}
@media (min-width: 768px) {
  .plants-carousel__nav { margin-top: 1rem; gap: 0.625rem; }
}
.plants-carousel__tab {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--graphite);
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.plants-carousel__tab.is-active {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}
.plants-carousel__tab.is-active.is-animating::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: rgba(255, 255, 255, 0.55);
  transform-origin: left center;
  animation: plants-tab-progress var(--plants-interval, 6s) linear forwards;
}
@keyframes plants-tab-progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ---------- Leader card ---------- */
.leader-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 2rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.leader-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.leader-avatar {
  width: 96px; height: 96px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--red), var(--red-deep));
  display: grid; place-items: center;
  color: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.leader-name {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.375rem;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0;
}
.leader-role {
  font-size: 0.875rem;
  color: var(--red);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0.375rem 0 0;
}
.leader-edu {
  font-size: 0.8125rem;
  color: var(--slate);
  margin: 0.5rem 0 0;
}
.leader-bio {
  color: var(--graphite);
  line-height: 1.7;
  font-size: 0.9375rem;
  margin: 1rem 0 0;
}
.leader-email {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--red);
  font-weight: 600;
  word-break: break-all;
  transition: color .2s ease;
}
.leader-email:hover { color: var(--red-deep); }

/* ---------- Customer logo grid ---------- */
.cust-grid {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--paper);
}
.cust-item {
  display: grid;
  place-items: center;
  flex: 0 0 50%;
  box-sizing: border-box;
  padding: 1.25rem 1rem;
  background: var(--paper);
  text-align: center;
  transition: background .25s ease;
  min-height: 100px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
@media (min-width: 640px)  { .cust-item { flex: 0 0 33.3333%; } }
@media (min-width: 1024px) { .cust-item { flex: 0 0 20%; } }
.cust-item__logo {
  display: block;
  max-width: 100%;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.cust-item:hover { background: var(--mist); }

/* ---------- Why-choose feature grid ---------- */
.why-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px)  { .why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .why-grid { grid-template-columns: repeat(4, 1fr); } }
.why-item {
  padding: 1.5rem;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: var(--r);
  transition: all .25s ease;
}
.why-item:hover { border-color: var(--red); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.why-num {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.625rem;
  color: var(--red);
  letter-spacing: -0.03em;
  margin: 0;
}
.why-text {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: -0.015em;
  color: var(--ink);
  line-height: 1.4;
  margin: 0.625rem 0 0;
}

/* ---------- Flash messages ---------- */
.flash {
  margin-bottom: 1.25rem;
  padding: 1rem 1.125rem;
  border-radius: 12px;
  font-size: 0.9375rem;
  border: 1px solid transparent;
}
.flash-ok { background: rgba(34,197,94,.12); color: #166534; border-color: rgba(34,197,94,.3); }
.flash-error { background: rgba(30, 64, 175,.10); color: var(--red-deep); border-color: rgba(30, 64, 175,.3); }
.dark-section .flash-ok { color: #86EFAC; background: rgba(34,197,94,.10); }
.dark-section .flash-error { color: #93C5FD; background: rgba(30, 64, 175,.15); border-color: rgba(30, 64, 175,.4); }

/* ---------- One-off page grids (replaces inline <style> blocks) ---------- */
.grid-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.125rem;
}
@media (min-width: 640px)  { .grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } }

.grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) { .grid-2 { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }

.grid-form-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.875rem;
}
@media (min-width: 640px) { .grid-form-2 { grid-template-columns: 1fr 1fr; } }

/* ---------- Mobile refinements ---------- */
@media (max-width: 639.9px) {
  .dark-section { margin-inline: 0.75rem; border-radius: var(--r-lg); }
  .footer-bottom { justify-content: center; text-align: center; }
  .footer-bottom .links { justify-content: center; }
  .section--cta > .wrap { padding-inline: 1rem; }
  .cta-band {
    border-radius: var(--r-lg);
    margin-inline: 0;
    padding: 2rem 1.125rem 2.25rem;
  }
  .cta-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.625rem;
  }
  .cta-actions .btn {
    width: 100%;
    white-space: normal;
    min-width: 0;
  }
  .cta-actions .btn-ghost-light {
    font-size: 0.8125rem;
    padding-inline: 1rem;
  }
}

/* ---------- Pune Manufacturing Facility page ---------- */
.section-head--center {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  align-items: center;
}
.pune-hero {
  position: relative;
  min-height: clamp(520px, 85vh, 760px);
  display: flex;
  align-items: flex-end;
  padding: 6rem 0 3rem;
  overflow: hidden;
  color: var(--paper);
}
.pune-hero__media { position: absolute; inset: 0; z-index: 0; }
.pune-hero__bg { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.pune-hero__overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(105deg, rgba(10,10,10,.72) 0%, rgba(10,10,10,.38) 42%, rgba(10,10,10,.12) 72%, rgba(10,10,10,.22) 100%),
    linear-gradient(to top, rgba(10,10,10,.55) 0%, transparent 55%),
    radial-gradient(ellipse 70% 55% at 85% 25%, rgba(30,64,175,.18), transparent 65%);
}
.pune-hero__content { position: relative; z-index: 1; max-width: 880px; }
.pune-hero__eyebrow { justify-content: flex-start; }
.pune-hero__title {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(2.25rem, 6vw, 4.25rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin-top: 1rem;
  color: var(--paper);
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.pune-hero__subtitle {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1.0625rem, 2.5vw, 1.5rem);
  color: var(--red-bright);
  letter-spacing: -0.02em;
}
.pune-hero__desc {
  margin: 1.125rem 0 0;
  max-width: 640px;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
}
.pune-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .pune-hero__stats { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
}
.pune-stat-card {
  padding: 1rem 1.125rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.pune-stat-card:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.3);
  transform: translateY(-2px);
}
.pune-stat-card strong {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--paper);
}
.pune-stat-card span {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,.7);
  font-weight: 600;
}
.pune-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .pune-split { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
.pune-split__visual {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.pune-split__visual img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.pune-split__visual:hover img { transform: scale(1.04); }
.pune-checklist {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.pune-checklist li {
  position: relative;
  padding-left: 1.25rem;
  color: var(--graphite);
  line-height: 1.65;
  font-size: 0.9375rem;
}
.pune-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}
.pune-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.pune-badge {
  padding: 0.4rem 0.75rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--red-deep);
  background: var(--red-tint);
  border: 1px solid var(--red-soft);
  border-radius: 999px;
}
.pune-cap-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px)  { .pune-cap-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pune-cap-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.pune-cap-card {
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.pune-cap-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pune-cap-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.pune-cap-card__icon svg { width: 22px; height: 22px; }
.pune-cap-card__title {
  margin: 1rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.pune-cap-card__desc {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--graphite);
}
.pune-smt__sub {
  margin: 0.75rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--red);
  letter-spacing: 0.02em;
}
.pune-timeline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-top: 2.5rem;
  max-width: 280px;
  margin-inline: auto;
}
@media (min-width: 900px) {
  .pune-timeline {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    max-width: none;
    gap: 0.25rem 0;
  }
  .pune-timeline__arrow svg { transform: rotate(-90deg); }
}
.pune-timeline__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.75rem;
  min-width: 120px;
}
.pune-timeline__num {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.75rem;
  font-weight: 800;
}
.pune-timeline__label {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--graphite);
  line-height: 1.35;
  max-width: 140px;
}
.pune-timeline__arrow { display: flex; color: var(--red); opacity: 0.6; }
.pune-timeline__arrow svg { width: 20px; height: 20px; }
.pune-smt__visual {
  margin: 2.5rem auto 0;
  max-width: 960px;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.pune-smt__visual img { display: block; width: 100%; height: auto; }
.pune-infra {
  padding-bottom: 1.25rem;
}
.pune-smt {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pune-machines {
  padding-top: 1.25rem;
}
@media (min-width: 768px) {
  .pune-infra { padding-bottom: 1.75rem; }
  .pune-smt {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
  .pune-machines { padding-top: 1.75rem; }
}
.pune-smt .section-head {
  margin-bottom: 1.75rem;
}
@media (min-width: 768px) {
  .pune-smt .section-head { margin-bottom: 2rem; }
}
.pune-machines .section-head {
  margin-bottom: 1.75rem;
}
@media (min-width: 768px) {
  .pune-machines .section-head { margin-bottom: 2rem; }
}
.pune-machine-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 2.5rem;
}
.pune-machine {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .pune-machine { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .pune-machine--reverse .pune-machine__visual { order: 2; }
  .pune-machine--reverse .pune-machine__body { order: 1; }
}
.pune-machine__visual {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  aspect-ratio: 16/10;
  background: var(--mist);
}
.pune-machine__visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(.16,1,.3,1);
}
.pune-machine__visual--contain {
  aspect-ratio: auto;
  height: auto;
  background: var(--paper);
}
.pune-machine__visual--contain > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  padding: 0.75rem;
}
.pune-machine__visual--gallery {
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  max-width: 100%;
}
.pune-machine__visual--gallery .pune-machine-swiper,
.pune-machine__visual--gallery .swiper-wrapper,
.pune-machine__visual--gallery .swiper-slide {
  width: 100%;
  max-width: 100%;
}
.pune-machine__visual--gallery .pune-machine-swiper {
  position: relative;
  width: 100%;
  min-height: 300px;
}
.pune-machine__visual--gallery .swiper-wrapper {
  align-items: stretch;
}
.pune-machine__visual--gallery .swiper-slide {
  height: auto;
}
.pune-machine__slide {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.pune-machine__visual--gallery .pune-machine__slide img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 260px;
  max-height: 420px;
  object-fit: contain;
  padding: 0.75rem;
  background: var(--paper);
}
.pune-machine__slide-caption {
  padding: 0.5rem 0.875rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  color: var(--slate);
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.pune-machine-swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.75rem;
  line-height: 0;
}
.pune-machine-swiper-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  background: var(--line);
  opacity: 1;
}
.pune-machine-swiper-pagination .swiper-pagination-bullet-active {
  background: var(--red);
}
.pune-machine-swiper-nav {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.pune-machine-swiper-prev,
.pune-machine-swiper-next {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.pune-machine-swiper-prev:hover,
.pune-machine-swiper-next:hover {
  border-color: var(--red);
  color: var(--red);
  background: var(--red-tint);
}
.pune-machine-swiper-prev svg,
.pune-machine-swiper-next svg { width: 16px; height: 16px; }
.pune-machine:hover .pune-machine__visual > img { transform: scale(1.04); }
.pune-machine:hover .pune-machine__visual--contain > img,
.pune-machine:hover .pune-machine__visual--gallery img { transform: none; }
.pune-machine__subtitle {
  margin: 0.5rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  color: var(--red);
}
.pune-machine__highlights {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pune-machine__highlights li {
  padding: 0.625rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ink);
  background: color-mix(in srgb, var(--red) 6%, var(--paper));
  border: 1px solid color-mix(in srgb, var(--red) 18%, var(--line));
  border-radius: var(--r-md);
}
.pune-machine__features {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.5rem 1.25rem;
}
@media (min-width: 640px) {
  .pune-machine__features { grid-template-columns: 1fr 1fr; }
}
.pune-machine__features li {
  position: relative;
  padding-left: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--graphite);
}
.pune-machine__features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red);
}
.pune-machine__specs {
  margin-top: 1.25rem;
  max-width: 100%;
}
.pune-machine__specs .pune-equip-table-wrap {
  max-width: 100%;
}
.pune-equip-table--compact th,
.pune-equip-table--compact td {
  padding: 0.625rem 0.75rem;
  font-size: 0.8125rem;
}
.pune-equip-table--compact th {
  font-size: 0.625rem;
}
.pune-machine__title {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  letter-spacing: -0.03em;
  color: var(--ink);
  margin: 0;
}
.pune-machine__desc {
  margin: 0.875rem 0 0;
  color: var(--graphite);
  line-height: 1.7;
  font-size: 0.9375rem;
}
.pune-machine__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.pune-machine__visual,
.pune-machine__body {
  min-width: 0;
  max-width: 100%;
}
.pune-machine__body {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 1023px) {
  .pune-machine-list {
    gap: 2.5rem;
    margin-top: 2rem;
  }
  .pune-machine {
    gap: 1.25rem;
  }
  .pune-machine--reverse .pune-machine__visual,
  .pune-machine--reverse .pune-machine__body {
    order: unset;
  }
  .pune-machine__visual--gallery .pune-machine-swiper {
    min-height: 0;
  }
  .pune-machine__visual--gallery .pune-machine__slide img {
    min-height: 0;
    max-height: min(340px, 52vh);
    width: 100%;
    height: auto;
    object-fit: contain;
    padding: 0.5rem;
  }
  .pune-machine__visual--contain > img {
    max-height: min(340px, 52vh);
    width: 100%;
    height: auto;
    object-fit: contain;
    padding: 0.5rem;
  }
  .pune-machine__subtitle {
    font-size: 0.8125rem;
    line-height: 1.5;
  }
  .pune-machine__desc {
    font-size: 0.875rem;
    line-height: 1.65;
  }
  .pune-machine__highlights li {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }
  .pune-equip-table--compact th,
  .pune-equip-table--compact td {
    padding: 0.5rem 0.625rem;
    font-size: 0.75rem;
    white-space: normal;
  }
  .pune-machine__specs .pune-equip-table {
    min-width: 520px;
  }
}
.pune-tag {
  padding: 0.35rem 0.7rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--slate);
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: 999px;
}
.pune-halls-swiper { overflow: hidden; padding-bottom: 0.5rem; }
.pune-hall-card {
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.pune-hall-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pune-hall-card__img {
  aspect-ratio: 16/9;
  background: var(--mist);
  overflow: hidden;
}
.pune-hall-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pune-hall-card__body { padding: 1.25rem 1.5rem 1.5rem; }
.pune-hall-card__body h3 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--ink);
}
.pune-hall-card__body p {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--graphite);
}
.pune-halls-nav {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.25rem;
  justify-content: flex-end;
}
.pune-halls-prev,
.pune-halls-next {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.pune-halls-prev:hover,
.pune-halls-next:hover {
  border-color: var(--red);
  color: var(--red);
  background: var(--red-tint);
}
.pune-halls-prev svg,
.pune-halls-next svg { width: 18px; height: 18px; }
.pune-solder__intro {
  margin: 1rem 0 0;
  max-width: 720px;
  color: var(--graphite);
  line-height: 1.75;
  font-size: 0.9375rem;
}
.pune-solder-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 640px)  { .pune-solder-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 1024px) { .pune-solder-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.pune-pcba-grid {
  margin-top: 2.5rem;
}
@media (min-width: 1280px) {
  .pune-pcba-grid { grid-template-columns: repeat(4, 1fr); }
}
.pune-solder-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.pune-solder-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pune-solder-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--ink);
  flex-shrink: 0;
}
.pune-solder-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,.45) 0%, transparent 55%);
  pointer-events: none;
  transition: opacity .35s ease;
}
.pune-solder-card:hover .pune-solder-card__media::after {
  opacity: 0.85;
}
.pune-solder-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.pune-solder-card:hover .pune-solder-card__media img { transform: scale(1.06); }
.pune-solder-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.25rem 1.375rem 1.5rem;
}
.pune-solder-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--ink);
}
.pune-solder-card__desc {
  margin: 0.625rem 0 0;
  flex: 1 1 auto;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--graphite);
}
.pune-solder-highlight {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
  margin-top: 2.5rem;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
@media (min-width: 768px) {
  .pune-solder-highlight {
    grid-template-columns: min(220px, 32%) 1fr;
    gap: 2rem;
    padding: 2rem 2.25rem;
  }
}
.pune-solder-highlight__stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--line);
}
@media (min-width: 768px) {
  .pune-solder-highlight__stat {
    padding-bottom: 0;
    border-bottom: 0;
    border-right: 1px solid var(--line);
    padding-right: 2rem;
    align-self: stretch;
    justify-content: center;
  }
}
.pune-solder-highlight__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.875rem;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.pune-solder-highlight__icon svg { width: 22px; height: 22px; }
.pune-solder-highlight__stat strong {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--red);
}
.pune-solder-highlight__stat > span:last-child {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--slate);
}
.pune-solder-highlight__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1.125rem, 2.2vw, 1.375rem);
  letter-spacing: -0.02em;
  color: var(--ink);
}
.pune-solder-highlight__copy p {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--graphite);
}
.pune-solder.section {
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .pune-solder.section { padding-bottom: 2.5rem; }
}
@media (min-width: 1024px) {
  .pune-solder.section { padding-bottom: 3rem; }
}
.pune-halls.section {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .pune-halls.section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .pune-halls.section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.pune-workforce__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .pune-workforce__grid { grid-template-columns: 1.1fr 0.9fr; gap: 4rem; }
}
.pune-workforce__visual {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  aspect-ratio: 4 / 3;
  max-height: 420px;
}
.pune-workforce__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pune-workforce__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
.pune-workforce-stat strong {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -0.03em;
  color: var(--red);
  line-height: 1;
}
.pune-workforce-stat span {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: var(--slate);
}
.pune-workforce__text {
  margin: 1.5rem 0 0;
  color: var(--graphite);
  line-height: 1.75;
  font-size: 0.9375rem;
}
.pune-workforce.section {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .pune-workforce.section {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  .pune-workforce.section {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }
}
.pune-quality.section {
  padding-top: 2.5rem;
}
@media (min-width: 768px) {
  .pune-quality.section { padding-top: 3rem; }
}
@media (min-width: 1024px) {
  .pune-quality.section { padding-top: 3.5rem; }
}
.pune-quality-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px)  { .pune-quality-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pune-quality-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .pune-quality-grid { grid-template-columns: repeat(4, 1fr); } }
.pune-quality-card {
  padding: 1.25rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: border-color .25s ease;
}
.pune-quality-card:hover { border-color: var(--red); }
.pune-quality-card__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: var(--red);
}
.pune-quality-card__icon svg { width: 20px; height: 20px; }
.pune-quality-card h3 {
  margin: 0.75rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--ink);
  line-height: 1.35;
}
.pune-quality-card p {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--graphite);
}

/* Bengaluru facility (extends Pune facility styles) */
.bengaluru-facility .bengaluru-factory {
  background: var(--mist);
}
.bengaluru-factory__inner {
  max-width: 920px;
  margin-inline: auto;
}
.bengaluru-factory__title {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--ink);
}
.bengaluru-factory__intro {
  margin: 1.25rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--graphite);
}
.bengaluru-factory__list {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bengaluru-factory__list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--graphite);
}
@media (min-width: 768px) {
  .bengaluru-factory__list li { font-size: 0.9375rem; }
}
.bengaluru-factory__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}
.bengaluru-factory__list li strong {
  font-weight: 700;
  color: var(--ink);
}
.pune-highlight-box {
  margin-top: 2rem;
  padding: 1.375rem 1.5rem;
  background: var(--mist);
  border: 1px solid var(--line);
  border-left: 3px solid var(--red);
  border-radius: var(--r-lg);
}
.pune-highlight-box__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.pune-checklist--compact {
  margin-top: 0.875rem;
  gap: 0.5rem;
}
.pune-excellence-tag {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  letter-spacing: 0.04em;
  color: var(--red);
}
.pune-equipment-details__intro {
  margin: 0.875rem 0 0;
  max-width: 560px;
  margin-inline: auto;
  color: var(--graphite);
  font-size: 0.9375rem;
  line-height: 1.65;
}
.pune-accordion {
  margin-top: 2rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.pune-accordion[open] {
  border-color: var(--red);
  box-shadow: var(--shadow);
}
.pune-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem 1.375rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.pune-accordion__summary::-webkit-details-marker { display: none; }
.pune-accordion__summary:hover { color: var(--red); }
.pune-accordion__chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--red);
  transition: transform .25s ease;
}
.pune-accordion[open] .pune-accordion__chevron { transform: rotate(180deg); }
.pune-accordion__body {
  padding: 0 1.375rem 1.375rem;
  border-top: 1px solid var(--line);
}
.pune-equip-table-wrap {
  overflow-x: auto;
  margin-top: 1rem;
  -webkit-overflow-scrolling: touch;
}
.pune-equip-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.pune-equip-table th,
.pune-equip-table td {
  padding: 0.875rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.pune-equip-table th {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--slate);
  background: var(--mist);
}
.pune-equip-table tbody tr:last-child td { border-bottom: none; }
.pune-equip-table tbody tr:hover td { background: var(--red-tint); }
.pune-equip-table td:first-child {
  font-weight: 600;
  color: var(--ink);
}
.pune-equip-table--category td:first-child {
  font-weight: 500;
  color: var(--slate);
  font-size: 0.8125rem;
}
.pune-equip-table--category td:nth-child(2) {
  font-weight: 600;
  color: var(--ink);
}
.pune-cap-card--list {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pune-cap-card--list .pune-checklist {
  margin-top: 0.875rem;
  flex: 1 1 auto;
}
.pune-cap-card__note {
  margin: 1rem 0 0;
  padding-top: 0.875rem;
  border-top: 1px solid var(--line);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--red);
  line-height: 1.5;
}
.manesar-cap-grid {
  margin-top: 2.5rem;
}
@media (min-width: 1024px) {
  .manesar-cap-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}
.manesar-facility .pune-cap-card--list {
  align-items: center;
}
.manesar-facility .pune-cap-card__icon {
  margin-inline: auto;
}
.manesar-facility .pune-cap-card__title {
  text-align: center;
  width: 100%;
}
.manesar-facility .pune-cap-card--list .pune-checklist,
.manesar-facility .pune-cap-card__note {
  align-self: stretch;
  width: 100%;
  text-align: left;
}
.pune-gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 640px)  { .pune-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pune-gallery-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.pune-gallery-card {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  transition: border-color .25s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.pune-gallery-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pune-gallery-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.pune-gallery-card:hover img { transform: scale(1.06); }
.pune-gallery-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1.25rem 1.375rem;
  background: linear-gradient(to top, rgba(10,10,10,.72) 0%, rgba(10,10,10,.2) 45%, transparent 100%);
  pointer-events: none;
}
.pune-gallery-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
  color: var(--paper);
  line-height: 1.3;
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

/* Equipments page */
.equipments-page .pune-cap-card {
  border: 2px solid var(--red);
}
.equipments-page .pune-cap-card:hover {
  border-color: var(--red);
}
.equipments-page .pune-cap-card--list {
  align-items: center;
}
.equipments-page .pune-cap-card__icon {
  margin-inline: auto;
}
.equipments-page .pune-cap-card__title {
  text-align: center;
  width: 100%;
}
.equipments-page .pune-cap-card--list .pune-checklist {
  align-self: stretch;
  width: 100%;
  text-align: left;
}
.equipments-page .pune-machines .pune-machine__visual--contain {
  aspect-ratio: unset;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: var(--mist);
}
.equipments-page .pune-machines .pune-machine__visual--contain > img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 300px;
  object-fit: contain;
  object-position: center;
  padding: 0;
  transition: none;
}
.equipments-page .pune-machines .pune-machine:hover .pune-machine__visual--contain > img {
  transform: none;
}
.equip-gallery-grid { margin-top: 2.5rem; }
.equip-gallery-tag {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  z-index: 1;
  padding: 0.35rem 0.65rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--paper);
  background: rgba(10,10,10,.55);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  backdrop-filter: blur(8px);
}
.equipments-page .equip-gallery-grid {
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .equipments-page .equip-gallery-grid { gap: 1.625rem; }
}
@media (min-width: 1024px) {
  .equipments-page .equip-gallery-grid { gap: 1.875rem; }
}
.equipments-page .equip-gallery-grid .pune-solder-card__media {
  aspect-ratio: 4 / 3;
  background: var(--mist);
}
.equipments-page .equip-gallery-grid .pune-solder-card__media::after {
  display: none;
}
.equipments-page .equip-gallery-grid .pune-solder-card__media img {
  object-fit: contain;
  object-position: center;
  padding: 0.625rem;
}
.equipments-page .equip-gallery-grid .pune-solder-card:hover .pune-solder-card__media img {
  transform: none;
}
.equipments-page .equip-gallery-grid .pune-solder-card__body {
  padding: 1.375rem 1.5rem 1.625rem;
}
.equipments-page .equip-gallery-grid .pune-solder-card__title {
  font-size: 1.125rem;
}
.equipments-page .equip-gallery-grid .pune-solder-card__desc {
  font-size: 0.9375rem;
}
.equip-db-toolbar {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .equip-db-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
  }
}
.equip-db-search-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 auto;
  max-width: 420px;
  padding: 0.75rem 1rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.equip-db-search-wrap:focus-within {
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-tint);
}
.equip-db-search-wrap svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--slate);
}
.equip-db-search {
  width: 100%;
  border: none;
  background: transparent;
  font: inherit;
  font-size: 0.9375rem;
  color: var(--ink);
  outline: none;
}
.equip-db-search::placeholder { color: var(--slate); }
.equip-db-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.equip-db-filter {
  padding: 0.5rem 0.875rem;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--graphite);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.equip-db-filter:hover {
  border-color: var(--red);
  color: var(--red);
}
.equip-db-filter.is-active {
  color: var(--paper);
  background: var(--red);
  border-color: var(--red);
}
.equip-db-count {
  margin: 1.25rem 0 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.equip-db-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.25rem;
}
@media (min-width: 640px)  { .equip-db-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .equip-db-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.equip-db-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem 1.375rem 1.375rem;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.equip-db-card:hover {
  border-color: var(--ink);
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.equip-db-card[hidden] { display: none !important; }
.equip-db-card__cat {
  display: inline-block;
  width: fit-content;
  padding: 0.3rem 0.6rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red-deep);
  background: var(--red-tint);
  border-radius: 999px;
}
.equip-db-card__name {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--ink);
}
.equip-db-card__meta {
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.625rem;
  flex: 1 1 auto;
}
.equip-db-card__meta div {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.5rem;
  align-items: baseline;
}
.equip-db-card__meta dt {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--slate);
}
.equip-db-card__meta dd {
  margin: 0;
  font-size: 0.875rem;
  color: var(--graphite);
  line-height: 1.4;
}
.equip-db-empty {
  margin: 2rem 0 0;
  text-align: center;
  color: var(--slate);
  font-size: 0.9375rem;
}

/* ---------- Products & Industry Solutions page ---------- */
.prod-vertical-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .prod-vertical-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
@media (min-width: 1024px) {
  .prod-vertical-grid { grid-template-columns: repeat(3, 1fr); }
}
.prod-vertical-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.prod-vertical-card:hover,
.prod-vertical-card.is-expanded {
  border-color: var(--red);
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}
.prod-vertical-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--mist);
}
.prod-vertical-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.prod-vertical-card:hover .prod-vertical-card__media img,
.prod-vertical-card.is-expanded .prod-vertical-card__media img {
  transform: scale(1.08);
}
.prod-vertical-card__shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.12) 0%, transparent 45%, transparent 100%);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.prod-vertical-card:hover .prod-vertical-card__shine,
.prod-vertical-card.is-expanded .prod-vertical-card__shine { opacity: 1; }
.prod-vertical-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.375rem 1.5rem 1.5rem;
}
.prod-vertical-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.025em;
  line-height: 1.25;
  color: var(--ink);
}
.prod-vertical-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--graphite);
}
.prod-vertical-card__details {
  display: grid;
  gap: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .45s cubic-bezier(.16,1,.3,1), opacity .35s ease, margin .35s ease;
}
.prod-vertical-card.is-expanded .prod-vertical-card__details {
  max-height: 1200px;
  opacity: 1;
  margin-top: 1rem;
}
.prod-vertical-card__block + .prod-vertical-card__block {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--line);
}
.prod-vertical-card__label {
  margin: 0 0 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--red);
}
.prod-vertical-card__subgroup { margin-top: 0.75rem; }
.prod-vertical-card__subgroup:first-of-type { margin-top: 0; }
.prod-vertical-card__subgroup-title {
  margin: 0 0 0.375rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.prod-vertical-card__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: auto;
  padding: 0.625rem 0 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red);
  cursor: pointer;
  transition: color .2s ease, gap .2s ease;
}
.prod-vertical-card__toggle:hover { color: var(--red-deep); gap: 0.5rem; }
.prod-vertical-card__toggle svg {
  width: 16px;
  height: 16px;
  transition: transform .3s ease;
}
.prod-vertical-card.is-expanded .prod-vertical-card__toggle svg { transform: rotate(180deg); }
@media (min-width: 1024px) {
  .prod-vertical-card__toggle { display: none; }
  .prod-vertical-card__details {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
  }
  .prod-vertical-card:hover .prod-vertical-card__details {
    max-height: 1200px;
    opacity: 1;
    margin-top: 1rem;
  }
}

.prod-gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 640px) {
  .prod-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .prod-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
.prod-gallery-card {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.prod-gallery-card:hover {
  border-color: var(--red);
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}
.prod-gallery-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.15s cubic-bezier(.16,1,.3,1);
}
.prod-gallery-card:hover img { transform: scale(1.08); }
.prod-gallery-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.375rem;
  padding: 1.375rem 1.5rem;
  background: linear-gradient(to top, rgba(10,10,10,.78) 0%, rgba(10,10,10,.25) 48%, transparent 100%);
  pointer-events: none;
}
.prod-gallery-card__cat {
  display: inline-block;
  width: fit-content;
  padding: 0.3rem 0.65rem;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--paper);
  background: rgba(30,64,175,.85);
  border-radius: 999px;
}
.prod-gallery-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 2vw, 1.125rem);
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--paper);
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}

.prod-process-timeline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.25rem;
  margin-top: 2.5rem;
  padding: 2rem 1.25rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
@media (min-width: 900px) {
  .prod-process-timeline {
    flex-wrap: nowrap;
    gap: 0;
    padding: 2.25rem 2rem;
  }
}
.prod-process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  flex: 1 1 auto;
  min-width: 7.5rem;
  text-align: center;
  padding: 0.5rem;
}
.prod-process-step__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--red-tint);
  color: var(--red);
  border: 1px solid var(--red-soft);
  transition: transform .35s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease;
}
.prod-process-step:hover .prod-process-step__icon {
  transform: scale(1.08);
  background: var(--red);
  color: var(--paper);
}
.prod-process-step__icon svg { width: 22px; height: 22px; }
.prod-process-step__label {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink);
  max-width: 9rem;
}
.prod-process-arrow {
  display: flex;
  color: var(--red);
  opacity: 0.55;
  flex-shrink: 0;
}
.prod-process-arrow svg { width: 18px; height: 18px; }
@media (max-width: 899px) {
  .prod-process-arrow svg { transform: rotate(90deg); }
}

.prod-strengths-grid {
  margin-top: 2.5rem;
}
@media (min-width: 1024px) {
  .prod-strengths-grid { grid-template-columns: repeat(4, 1fr); }
}
.prod-strength-card { height: 100%; }

.prod-applications-swiper {
  overflow: hidden;
  margin-top: 2rem;
  padding-bottom: 0.25rem;
}
.prod-app-slide {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  transition: border-color .3s ease, transform .35s ease, box-shadow .35s ease;
}
.prod-app-slide:hover {
  border-color: var(--red);
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.prod-app-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.prod-app-slide:hover img { transform: scale(1.05); }
.prod-app-slide__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1.5rem 1.75rem;
  background: linear-gradient(to top, rgba(10,10,10,.7) 0%, transparent 55%);
  pointer-events: none;
}
.prod-app-slide__overlay h3 {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  letter-spacing: -0.03em;
  color: var(--paper);
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.prod-applications-nav {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.25rem;
  justify-content: flex-end;
}
.prod-applications-prev,
.prod-applications-next {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.prod-applications-prev:hover,
.prod-applications-next:hover {
  border-color: var(--red);
  color: var(--red);
  background: var(--red-tint);
}
.prod-applications-prev svg,
.prod-applications-next svg { width: 18px; height: 18px; }

/* ---------- Opportunities page ---------- */
.opp-oneview.section {
  padding-block: 0;
}
.opp-oneview {
  min-height: calc(100svh - var(--nav-h));
  padding-top: calc(var(--nav-h) + 1rem);
  padding-bottom: 1rem;
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
}
body.page-discover .discover-main > .opp-oneview.section {
  --opp-below-ticker-gap: 3.5rem;
  min-height: calc(100svh - var(--header-stack-h));
  padding-top: calc(var(--header-stack-h) + var(--opp-below-ticker-gap));
  padding-bottom: 0.75rem;
}
body.page-discover .discover-main > .opp-oneview.section:last-child {
  padding-bottom: 0.75rem;
}
.opp-oneview > .wrap {
  width: 100%;
}
.opp-oneview__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .opp-oneview__grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.38fr);
    gap: 1.75rem 2rem;
    align-items: start;
  }
}
.opp-oneview__copy {
  padding-top: 0.5rem;
  min-width: 0;
}
@media (min-width: 1024px) {
  .opp-oneview__copy {
    position: sticky;
    top: calc(var(--nav-h) + 1rem);
    padding-top: 0.75rem;
  }
  body.page-discover .opp-oneview__copy {
    top: calc(var(--header-stack-h) + var(--opp-below-ticker-gap, 3.5rem));
  }
}
.opp-oneview__title {
  margin: 0.625rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 2.8vw, 2.125rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
}
.opp-oneview__lead {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--graphite);
  max-width: 36rem;
}
.opp-oneview__count {
  margin: 0.875rem 0 0;
  font-size: 0.8125rem;
}
.opp-oneview__panel {
  min-width: 0;
}
@media (min-width: 1024px) {
  .opp-oneview__panel {
    max-height: calc(100svh - var(--nav-h) - 2rem);
    overflow-y: auto;
    padding-right: 0.25rem;
  }
  body.page-discover .opp-oneview__panel {
    margin-top: 2.5rem;
    max-height: calc(100svh - var(--header-stack-h) - var(--opp-below-ticker-gap, 3.5rem) - 3.25rem);
    padding-top: 0.75rem;
  }
}
.opp-oneview__flash {
  margin-bottom: 0.875rem;
}
.opp-empty {
  padding: 4rem 1.5rem;
  text-align: center;
  color: var(--graphite);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--paper);
}
.opp-empty p { margin: 0; font-size: 1rem; }
.opp-empty__sub {
  margin-top: 0.5rem !important;
  font-size: 0.9375rem !important;
  color: var(--slate) !important;
}
.opp-empty--compact {
  padding: 2rem 1.25rem;
}
.opp-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.opp-list--oneview {
  gap: 1rem;
}
.opp-card {
  padding: 1.25rem 1.25rem 1.125rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .3s ease, box-shadow .3s ease;
}
.opp-card:hover,
.opp-card--focus {
  border-color: var(--red);
  box-shadow: var(--shadow);
}
.opp-card--compact {
  padding: 1rem 1rem 0.875rem;
}
.opp-card--compact .opp-card__title {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
}
.opp-card--compact .opp-card__summary {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.opp-card--compact .opp-card__deadline {
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
.opp-card--compact .opp-apply-box {
  margin-top: 0.875rem;
}
.opp-card--compact .opp-apply-box__col {
  padding: 0.75rem 0.875rem 0.875rem;
}
.opp-card--compact .opp-form {
  gap: 0.4375rem;
}
.opp-card--compact .opp-form__grid {
  gap: 0.4375rem;
}
.opp-card--compact .opp-form input,
.opp-card--compact .opp-form select {
  padding: 0.4375rem 0.5625rem;
  font-size: 0.8125rem;
}
.opp-card__title {
  margin: 0.375rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2.5vw, 1.625rem);
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--ink);
}
.opp-card__summary {
  margin: 0.75rem 0 0;
  color: var(--graphite);
  line-height: 1.7;
  font-size: 0.9375rem;
  max-width: 720px;
}
.opp-card__deadline {
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red);
}
.opp-card__body {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  color: var(--graphite);
  line-height: 1.75;
  font-size: 0.9375rem;
}
.opp-apply-box {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 1.25rem;
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  background: var(--paper);
}
@media (min-width: 768px) {
  .opp-apply-box {
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
    align-items: stretch;
    min-height: clamp(18rem, 42vh, 26rem);
  }
}
.opp-apply-box__col {
  display: flex;
  flex-direction: column;
  padding: 0.875rem 1rem 1rem;
  min-width: 0;
  min-height: 0;
}
.opp-apply-box__col .opp-action-panel__title {
  flex: 0 0 auto;
}
.opp-apply-box__col .opp-form,
.opp-apply-box__col .opp-step2 {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.opp-apply-box__col--email .opp-form__btn {
  margin-top: auto;
  width: 100%;
  max-width: none;
  align-self: stretch;
}
.opp-apply-box__col--apply .opp-step2 .opp-form {
  flex: 1 1 auto;
  min-height: 0;
}
.opp-apply-box__col--email {
  background: var(--mist);
  border-bottom: 1px solid var(--line);
}
@media (min-width: 768px) {
  .opp-apply-box__col--email {
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
}
.opp-apply-box__col--apply {
  background: var(--paper);
}
.opp-card__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.opp-action-panel {
  padding: 0.875rem 1rem 1rem;
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: var(--r);
}
.opp-action-panel--submit {
  background: var(--paper);
}
.opp-action-panel__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.opp-action-panel__lead {
  margin: 0.25rem 0 0.625rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--slate);
}
.opp-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.opp-form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 480px) {
  .opp-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.opp-form__btn--span {
  grid-column: 1 / -1;
}
.opp-form .grid-form-2 {
  gap: 0.5rem;
}
.opp-form__row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.opp-form input,
.opp-form textarea,
.opp-form select {
  width: 100%;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font: inherit;
  font-size: 0.8125rem;
  background: var(--paper);
  color: var(--ink);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.opp-form input:focus,
.opp-form textarea:focus,
.opp-form select:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 2px var(--red-tint);
}
.opp-form__section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.625rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.opp-form__section--compact {
  gap: 0.4375rem;
  padding: 0.5rem;
}
.opp-form__section--animate {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.opp-form__section--animate.is-visible,
.opp-form__section--animate:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
}
.opp-form__section--animate[hidden] {
  display: none;
}
.opp-form__fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 0;
}
.opp-form__fieldset:disabled {
  opacity: 1;
}
.opp-step2.is-locked .opp-form__fieldset {
  pointer-events: none;
  opacity: 0.55;
}
.opp-step2__lock-note {
  margin: 0 0 0.625rem;
  padding: 0.5rem 0.625rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--graphite);
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: var(--r-xs);
}
.opp-step2.is-unlocked .opp-step2__lock-note {
  display: none;
}
.opp-repeat-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.opp-repeat-row {
  padding: 0.5rem;
  border: 1px dashed var(--line);
  border-radius: var(--r-xs);
  background: var(--mist);
}
.opp-repeat-add {
  margin-top: 0.5rem;
  width: 100%;
  justify-content: center;
}
.opp-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: var(--graphite);
  min-height: 2.375rem;
}
.opp-exp-readonly {
  background: var(--paper);
  color: var(--ink);
  font-weight: 600;
}
.opp-total-exp {
  margin-top: 0.625rem;
  display: grid;
  gap: 0.25rem;
}
.opp-total-exp label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--slate);
}
.opp-form textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.4375rem 0.5625rem;
  border: 1px solid var(--line);
  border-radius: var(--r-xs);
  font: inherit;
  font-size: 0.8125rem;
  resize: vertical;
  box-sizing: border-box;
}
.opp-form textarea:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.12);
}
.opp-form__footer textarea {
  min-height: 4.5rem;
  height: 100%;
  align-self: stretch;
}
.opp-form select[hidden] {
  display: none;
}
.opp-form__section-title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  color: var(--ink);
}
.opp-form__section-subtitle {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--slate);
}
.opp-form__skills {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.opp-form__skill {
  display: block;
  margin: 0;
}
.opp-form__skill span {
  font-size: 0.6875rem;
  color: var(--slate);
}
.opp-form__footer {
  display: grid;
  gap: 0.5rem;
  margin-top: auto;
  flex: 1 1 auto;
  min-height: 0;
  align-content: start;
}
.opp-file-label {
  display: block;
}
.opp-file-label span {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.6875rem;
  color: var(--slate);
}
.opp-file-label--compact span {
  margin-bottom: 0.2rem;
}
.opp-file-label input[type="file"] {
  width: 100%;
  font-size: 0.75rem;
}
.opp-form__btn {
  width: auto;
  max-width: 100%;
  align-self: flex-start;
  justify-self: start;
  justify-content: center;
  align-items: center;
  min-height: 0;
  height: auto;
  line-height: 1.25;
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  box-sizing: border-box;
}
.opp-form__btn:hover {
  transform: none;
}
.opp-form .btn-red.opp-form__btn,
.opp-form .btn-dark.opp-form__btn {
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
  min-height: 0;
}
.opp-form__btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ---------- Product category pages ---------- */
.prod-cat-hero { min-height: clamp(480px, 78vh, 680px); }
.prod-cat-hero__bg { will-change: transform; }
.prod-cat-spotlight__text {
  margin: 1rem 0 0;
  color: var(--graphite);
  line-height: 1.75;
  font-size: 0.9375rem;
}
.prod-cat-spotlight__product {
  margin: 0.625rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--red);
}
.prod-cat-spotlight__figure {
  margin: 0;
}
.pune-split__visual--contain {
  background: var(--paper);
}
.pune-split__visual--contain img {
  object-fit: contain;
  padding: 0.75rem;
}
.prod-cat-spotlight__caption {
  padding: 0.625rem 0.875rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  color: var(--slate);
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.prod-cat-spotlight__text--footer {
  margin-top: 1.25rem;
  font-size: 0.875rem;
}
.prod-cat-spotlight__label {
  margin: 1.25rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--ink);
}
.prod-cat-ems .pune-split__visual--contain img {
  object-fit: contain;
  padding: 0.75rem;
  background: var(--paper);
}
.prod-cat-ems-table-wrap {
  margin-top: 1.25rem;
  overflow-x: auto;
}
.prod-cat-ems-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  line-height: 1.5;
}
.prod-cat-ems-table th,
.prod-cat-ems-table td {
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.prod-cat-ems-table th {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  color: var(--ink);
  background: var(--mist);
}

.prod-cat-showcase-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .prod-cat-showcase-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
@media (min-width: 1024px) {
  .prod-cat-showcase-grid--3 { grid-template-columns: repeat(3, 1fr); }
}
.prod-cat-showcase-grid--flush { margin-top: 0; }
.prod-cat-showcase-card__media--contain img {
  object-fit: contain;
  padding: 0.75rem;
  background: var(--paper);
}
.prod-cat-showcase-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.prod-cat-showcase-card:hover {
  border-color: var(--red);
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}
.prod-cat-showcase-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--mist);
}
.prod-cat-showcase-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.prod-cat-showcase-card:hover .prod-cat-showcase-card__media img { transform: scale(1.07); }
.prod-cat-showcase-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.375rem 1.5rem 1.5rem;
}
.prod-cat-showcase-card__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--ink);
}
.prod-cat-showcase-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--graphite);
}
.prod-cat-showcase-card__label {
  margin: 1rem 0 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--red);
}
.prod-cat-showcase-card__list { margin-top: 0.75rem; }

.prod-cat-cap-scroll {
  margin-top: 2.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.5rem;
}
.prod-cat-cap-track {
  display: flex;
  gap: 1rem;
  min-width: min-content;
  padding-inline: 2px;
}
@media (min-width: 1200px) {
  .prod-cat-cap-scroll { overflow: visible; }
  .prod-cat-cap-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
    min-width: 0;
  }
}
.prod-cat-cap-card {
  flex: 0 0 min(280px, 78vw);
  padding: 1.375rem 1.25rem 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
@media (min-width: 1200px) {
  .prod-cat-cap-card { flex: none; }
}
.prod-cat-cap-card:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.prod-cat-cap-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.prod-cat-cap-card__icon svg { width: 22px; height: 22px; }
.prod-cat-cap-card__title {
  margin: 1rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--ink);
}
.prod-cat-cap-card__desc {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--graphite);
}

.prod-cat-gallery-grid { margin-top: 2.5rem; }

.prod-cat-quality .pune-split {
  align-items: start;
}
@media (min-width: 1024px) {
  .pune-split--reverse .pune-split__visual { order: 2; }
  .pune-split--reverse .pune-split__copy { order: 1; }
  .prod-cat-quality .pune-split {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 3rem;
  }
}
.prod-cat-quality-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .prod-cat-quality-grid { grid-template-columns: repeat(2, 1fr); }
}
.prod-cat-quality-card {
  padding: 1.25rem 1.375rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .3s ease;
}
.prod-cat-quality-card:hover {
  border-color: var(--red);
  transform: translateY(-3px);
}
.prod-cat-quality-card__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.prod-cat-quality-card__icon svg { width: 20px; height: 20px; }
.prod-cat-quality-card h3 {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.prod-cat-quality-card p {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--graphite);
}

.prod-cat-nav-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (min-width: 640px) {
  .prod-cat-nav-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .prod-cat-nav-grid--hub,
  .prod-cat-nav-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}
.prod-cat-nav-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: border-color .3s ease, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.prod-cat-nav-card:hover {
  border-color: var(--red);
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  color: inherit;
}
.prod-cat-nav-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--mist);
}
.prod-cat-nav-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.prod-cat-nav-card__media--contain img {
  object-fit: contain;
  padding: 0.75rem;
  background: var(--paper);
}
.prod-cat-nav-card:hover .prod-cat-nav-card__media img { transform: scale(1.06); }
.prod-cat-nav-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.5rem;
  padding: 1.25rem 1.375rem 1.5rem;
}
.prod-cat-nav-card__body h3 {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.prod-cat-nav-card__body p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--graphite);
  flex: 1 1 auto;
}
.prod-cat-nav-card__body > span:last-child {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red);
}

/* ---------- Sales module (Customers, Turnover, Investors) ---------- */
.sales-brand-strip {
  padding-top: calc(var(--nav-h) + 2rem);
  padding-bottom: 1.5rem;
  text-align: center;
}
.sales-brand-strip__logo {
  display: inline-block;
  width: auto;
  height: clamp(3.5rem, 12vw, 5.5rem);
  max-width: min(100%, 280px);
  object-fit: contain;
}
.sales-brand-strip__clients {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.sales-customers-showcase-section {
  padding-top: calc(var(--nav-h) + 1rem);
  padding-bottom: 5rem;
}

/* ---------- Customers — one-view sector board ---------- */
.sales-customers-oneview {
  min-height: 0;
  padding-top: calc(var(--nav-h) + 0.375rem);
  padding-bottom: 0.5rem;
  box-sizing: border-box;
}
body.page-discover .discover-main > .sales-page > .sales-customers-oneview {
  min-height: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
}
.sales-customers-oneview.section {
  padding-block: calc(var(--nav-h) + 0.375rem) 0.5rem;
}
body.page-discover .discover-main > .sales-page > .sales-customers-oneview.section {
  height: 100svh;
  max-height: 100svh;
  min-height: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
  overflow: hidden;
}
.sales-customers-oneview__wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
}
body.page-discover .discover-main > .sales-page > .sales-customers-oneview .sales-customers-oneview__wrap {
  flex: 1 1 auto;
  min-height: 0;
}
.sales-customers-stack {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  flex: 1 1 auto;
  min-height: 0;
}

/* Customers page slider — sector board + annual turnover chart */
.sales-customers-slider {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: calc(100svh - var(--nav-h) - 1rem);
  min-height: 22rem;
}
body.page-discover .discover-main > .sales-page .sales-customers-slider {
  height: calc(100svh - var(--header-stack-h) - 0.75rem);
}
.sales-customers-slider__viewport {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
}
.sales-customers-slider__slide {
  position: absolute;
  inset: 0;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.sales-customers-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.sales-customers-slider__nav {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.sales-customers-slider__tab {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--graphite);
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.sales-customers-slider__tab.is-active {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}
.sales-customers-slider__tab.is-active.is-animating::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: rgba(255, 255, 255, 0.55);
  animation: plants-tab-progress var(--sales-customers-interval, 6s) linear forwards;
}
.sales-customers-chart {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: 0 8px 28px rgba(10, 10, 10, 0.05);
  box-sizing: border-box;
}
.sales-customers-chart--below {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  line-height: 0;
}
.sales-customers-chart__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(38vh, 18rem);
  object-fit: contain;
}
.sales-customers-chart--below .sales-customers-chart__img {
  flex: 0 1 auto;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center center;
}

.sales-customers-board {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.4375rem;
  height: auto;
  min-height: 0;
  flex: 0 0 auto;
}
body.page-discover .discover-main > .sales-page .sales-customers-board {
  height: auto;
}
@media (min-width: 1024px) {
  .sales-customers-board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4375rem;
    align-items: start;
  }
}
.sales-customers-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  height: auto;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(10, 10, 10, 0.04);
}
.sales-customers-panel__title {
  margin: 0;
  padding: 0.3125rem 0.5625rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 0.8125rem;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  background: var(--mist);
  text-transform: uppercase;
}
.sales-customers-panel__body {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
  padding: 0.125rem;
}
.sales-customers-panel--quad {
  padding: 0;
}
.sales-customers-panel--quad .sales-customers-panel__title {
  display: none;
}
.sales-customers-quad {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0.375rem;
  height: auto;
  min-height: 0;
  padding: 0.375rem;
  box-sizing: border-box;
  align-items: start;
}
.sales-customers-mini {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  height: auto;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.sales-customers-mini__title {
  margin: 0;
  padding: 0.25rem 0.4375rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  line-height: 1.15;
  color: var(--ink);
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
  background: var(--mist);
}
.sales-customers-mini__body {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
  padding: 0.125rem;
}
.cust-grid--sector {
  border: 0;
  border-radius: 0;
  background: transparent;
  height: auto;
}
.cust-grid--sector .cust-item {
  flex: 1 1 50%;
  min-height: 2.125rem;
  padding: 0.125rem 0.125rem;
  border-color: var(--line);
}
.cust-grid--ordered .cust-item {
  flex: 0 0 50%;
}
.cust-grid--mini .cust-item {
  flex: 1 1 50%;
  min-height: 1.875rem;
  padding: 0.125rem 0.125rem;
}
.cust-grid--mini .cust-item:only-child {
  flex: 0 0 auto;
  width: 100%;
  min-height: 1.75rem;
}
.cust-grid--sector .cust-item__logo,
.cust-grid--mini .cust-item__logo {
  max-height: 2.125rem;
  width: 100%;
  max-width: 7.5rem;
}
.cust-grid--mini .cust-item__logo {
  max-height: 1.875rem;
  max-width: 6.25rem;
}
@media (min-width: 1024px) {
  .cust-grid--sector .cust-item {
    flex: 1 1 33.3333%;
    min-height: 2.25rem;
  }
  .cust-grid--ordered .cust-item {
    flex: 0 0 50%;
    min-height: 2.125rem;
  }
  .cust-grid--sector .cust-item__logo {
    max-height: 2.25rem;
    max-width: 7.75rem;
  }
  .cust-grid--mini .cust-item {
    flex: 1 1 50%;
    min-height: 1.875rem;
  }
  .cust-grid--mini .cust-item:only-child {
    min-height: 1.625rem;
  }
  .cust-grid--mini .cust-item__logo {
    max-height: 1.875rem;
    max-width: 6.5rem;
  }
}

.sales-chart-oneview {
  min-height: calc(100svh - var(--nav-h));
  padding-top: calc(var(--nav-h) + 1rem);
  padding-bottom: 1.5rem;
}
.sales-chart-oneview__head {
  text-align: center;
  margin-bottom: 1rem;
}
.sales-chart-oneview__title {
  margin: 0.5rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.375rem, 2.5vw, 1.875rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
}
.sales-showcase--single .sales-showcase__viewport {
  padding: 0.75rem 1rem;
}
.sales-showcase--single .sales-showcase__img {
  max-height: calc(100svh - var(--nav-h) - 8.5rem);
}
.sales-customers-showcase-section.section {
  padding-block-start: calc(var(--nav-h) + 1rem);
  padding-block-end: 5rem;
}
.sales-customers-showcase-section .wrap {
  max-width: min(100vw - 2rem, 1280px);
  padding-inline: 1rem;
  width: 100%;
  margin-inline: auto;
}
.sales-showcase {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
  width: 100%;
}
.sales-showcase__viewport {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-sizing: border-box;
}
.sales-showcase__slide {
  display: none;
  margin: 0;
  width: 100%;
  text-align: center;
}
.sales-showcase__slide.is-active {
  display: block;
}
.sales-showcase__img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100svh - var(--nav-h) - 12rem);
  object-fit: contain;
  vertical-align: middle;
}
.sales-showcase__nav {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}
.sales-showcase__tab {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--graphite);
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.sales-showcase__tab.is-active {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}
.sales-showcase__tab.is-active.is-animating::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: rgba(255, 255, 255, 0.55);
  transform-origin: left center;
  animation: plants-tab-progress var(--sales-showcase-interval, 6s) linear forwards;
}
.sales-hero { min-height: clamp(420px, 72vh, 620px); }
.sales-hero--compact { min-height: clamp(380px, 58vh, 520px); }
.sales-hero--contain.sales-hero--compact {
  min-height: clamp(440px, 68vh, 600px);
}
.sales-hero--contain .pune-hero__media {
  background: #111;
}
.sales-hero--contain .pune-hero__bg {
  object-fit: contain;
  object-position: center center;
  transform: none;
}

.sales-client-wall {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 0;
}
.sales-client-group__title {
  margin: 0 0 1rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.cust-grid--premium .cust-item {
  min-height: 110px;
  padding: 1.5rem 1.25rem;
}
.cust-grid--premium .cust-item__logo { max-height: 56px; }

.sales-industry-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 0.5rem;
}
@media (min-width: 640px)  { .sales-industry-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sales-industry-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.sales-industry-card {
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.sales-industry-card:hover {
  border-color: var(--red);
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}
.sales-industry-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.sales-industry-card__icon svg { width: 22px; height: 22px; }
.sales-industry-card__title {
  margin: 0.75rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.sales-industry-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}

.sales-closing {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 900px) {
  .sales-closing {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
}
.sales-closing--center .sales-closing__copy,
.sales-closing--center .sales-closing__body { text-align: center; }
.sales-closing__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: var(--graphite);
  line-height: 1.8;
  font-size: 1.0625rem;
}

.sales-chart-section { padding-top: 2.5rem; }
.sales-chart {
  margin-top: 2rem;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}
@media (min-width: 768px) {
  .sales-chart {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 2rem;
    align-items: end;
    padding: 2rem;
  }
}
.sales-chart__milestone {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .sales-chart__milestone {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
    padding-right: 1rem;
    border-right: 1px solid var(--line);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.sales-chart__milestone-label {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red);
}
.sales-chart__milestone-value {
  margin: 0.5rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  letter-spacing: -0.04em;
  color: var(--ink);
  line-height: 1;
}
.sales-chart__milestone-value span {
  font-size: 0.55em;
  color: var(--graphite);
  font-weight: 700;
}
.sales-chart__milestone-note {
  margin: 0.625rem 0 0;
  font-size: 0.875rem;
  color: var(--graphite);
  line-height: 1.5;
}
.sales-chart__bars {
  display: flex;
  align-items: flex-end;
  gap: 0.375rem;
  min-height: 220px;
  padding-top: 2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .sales-chart__bars { gap: 0.5rem; min-height: 280px; }
}
.sales-chart__bar {
  position: relative;
  flex: 1 1 0;
  min-width: 44px;
  max-width: 72px;
  height: 200px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
@media (min-width: 768px) { .sales-chart__bar { height: 260px; } }
.sales-chart__fill {
  display: block;
  width: 100%;
  height: var(--bar-h, 20%);
  min-height: 8px;
  background: linear-gradient(to top, var(--red-deep), var(--red));
  border-radius: 6px 6px 2px 2px;
  transition: height .6s cubic-bezier(.16,1,.3,1), opacity .2s ease, transform .2s ease;
  transform-origin: bottom center;
}
.sales-chart__bar:hover .sales-chart__fill,
.sales-chart__bar.is-active .sales-chart__fill {
  opacity: 1;
  transform: scaleX(1.08);
}
.sales-chart__bar.is-highlight .sales-chart__fill {
  background: linear-gradient(to top, #1E3A8A, var(--red-bright));
  box-shadow: 0 4px 20px rgba(30,64,175,.35);
}
.sales-chart__bar:not(.is-highlight) .sales-chart__fill { opacity: 0.72; }
.sales-chart__year {
  margin-top: 0.625rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--graphite);
  white-space: nowrap;
  transform: rotate(-35deg);
  transform-origin: top center;
}
@media (min-width: 768px) {
  .sales-chart__year {
    font-size: 0.6875rem;
    transform: none;
  }
}
.sales-chart__tooltip {
  position: absolute;
  bottom: calc(var(--bar-h, 20%) + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--paper);
  background: var(--ink);
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 2;
}
.sales-chart__bar:hover .sales-chart__tooltip,
.sales-chart__bar.is-active .sales-chart__tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.sales-chart__caption {
  grid-column: 1 / -1;
  margin: 1.25rem 0 0;
  font-size: 0.75rem;
  color: var(--graphite);
  text-align: center;
}

.sales-journey {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
  margin-inline: auto;
}
.sales-journey__item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 1.5rem;
  padding-bottom: 2rem;
}
@media (max-width: 639px) {
  .sales-journey__item { grid-template-columns: 1fr; gap: 0.75rem; }
}
.sales-journey__marker { position: relative; }
.sales-journey__year {
  display: inline-block;
  padding: 0.4rem 0.75rem;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 0.875rem;
  letter-spacing: -0.02em;
  color: var(--red);
  background: var(--red-tint);
  border: 1px solid var(--red-soft);
  border-radius: 999px;
}
.sales-journey__line {
  position: absolute;
  left: 50%;
  top: 2.25rem;
  bottom: -0.5rem;
  width: 2px;
  background: var(--line);
  transform: translateX(-50%);
}
@media (max-width: 639px) {
  .sales-journey__line { display: none; }
}
.sales-journey__title {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.sales-journey__desc {
  margin: 0.5rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--graphite);
}

.sales-leadership-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .sales-leadership-grid { grid-template-columns: repeat(2, 1fr); }
}
.sales-leader-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 1.25rem;
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  align-items: start;
}
@media (max-width: 639px) {
  .sales-leader-card { grid-template-columns: 1fr; }
}
.sales-leader-card__visual {
  aspect-ratio: 3 / 4;
  border-radius: var(--r);
  overflow: hidden;
  background: var(--mist);
}
.sales-leader-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sales-leader-card__avatar {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 160px;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: var(--red);
  background: var(--red-tint);
}
.sales-leader-card__name {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.sales-leader-card__role {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--red);
}
.sales-leader-card__bio {
  margin: 0.875rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--graphite);
}

.sales-plants-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 900px) {
  .sales-plants-grid { grid-template-columns: repeat(3, 1fr); }
}
.sales-plant-card {
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.sales-plant-card__title {
  margin: 0.375rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.sales-plant-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
  flex: 1 1 auto;
}
.pune-checklist--compact { margin-top: 0.875rem; gap: 0.5rem; }
.pune-checklist--compact li { font-size: 0.875rem; }

.sales-cert-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.sales-cert-card {
  padding: 1.25rem 1.5rem;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: var(--r);
  transition: border-color .25s ease, transform .25s ease;
}
.sales-cert-card:hover {
  border-color: var(--red);
  transform: translateY(-2px);
}
.sales-cert-card__name {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: var(--red);
}
.sales-cert-card__desc {
  margin: 0.5rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}

/* ---------- Quality note — plant certification cards ---------- */
.quality-note-page.section {
  display: flex;
  flex-direction: column;
  padding-block: 0;
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
  height: 100svh;
  max-height: 100svh;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}
body.page-discover .discover-main > .quality-note-page.section {
  padding-top: calc(var(--header-stack-h) + var(--header-content-gap));
  padding-bottom: 0.375rem;
}
body.page-discover .discover-main > .quality-note-page.section:last-child {
  padding-bottom: 0.375rem;
}
.quality-note-page__wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
}
.quality-note-page__head {
  flex: 0 0 auto;
  margin-bottom: 0.5rem;
  min-width: 0;
}
.quality-note-page__head-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.625rem 0.875rem;
  min-width: 0;
}
.quality-note-page__eyebrow {
  flex: 0 0 auto;
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
.quality-note-page__eyebrow::before {
  width: 1rem;
}
.quality-note-page__title {
  flex: 0 0 auto;
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(0.9375rem, 1.35vw, 1.375rem);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--ink);
  white-space: nowrap;
}
.quality-note-page__lead {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  font-size: clamp(0.6875rem, 0.95vw, 0.8125rem);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quality-plant-grid {
  flex: 0 0 auto;
  align-items: stretch;
}
.quality-plant-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  overflow: hidden;
}
.quality-plant-card:hover {
  transform: none;
}
.quality-plant-card__title {
  margin: 0;
  padding: 0.5rem 0.625rem;
  font-family: 'Manrope', sans-serif;
  font-size: clamp(0.75rem, 1.1vw, 0.9375rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-align: center;
  color: var(--red-deep);
  border-bottom: 1px solid var(--line);
  flex: 0 0 auto;
}
.quality-plant-card__certs {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.5rem 0.625rem;
}
.quality-cert-box {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 4.25rem;
  max-width: calc(100% - 1rem);
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--ink);
  border-radius: var(--r-xs);
  background: var(--paper);
  box-sizing: border-box;
}
.quality-cert-box__name {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--ink);
  text-align: center;
  white-space: nowrap;
}
.quality-cert-box__img {
  display: block;
  width: auto;
  max-width: 7.5rem;
  height: 100%;
  max-height: 2.25rem;
  object-fit: contain;
  object-position: center;
}
.quality-note-page__below {
  flex: 1 1 0;
  min-height: 0;
  margin-top: 0.625rem;
  padding: 0.75rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
@media (max-width: 1023.9px) {
  .quality-note-page.section {
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
    padding-bottom: 1rem;
  }
  .quality-note-page__wrap {
    flex: none;
    min-height: 0;
  }
  .quality-note-page__head-row {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .quality-note-page__lead {
    flex: 1 1 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .quality-plant-grid {
    flex: none;
  }
  .quality-note-page__below {
    flex: none;
    min-height: 10rem;
    margin-top: 0.75rem;
  }
}
@media (min-width: 1024px) {
  body.page-discover .discover-main > .quality-note-page.section {
    padding-bottom: 0.375rem;
  }
}

/* ---------- Quality module (Certifications, Equipments) ---------- */
.quality-hero { min-height: clamp(420px, 72vh, 620px); }
.quality-hero--compact { min-height: clamp(380px, 58vh, 520px); }

.quality-page .pune-split--reverse .pune-split__visual { order: 2; }
.quality-page .pune-split--reverse .pune-split__copy { order: 1; }
@media (max-width: 899px) {
  .quality-page .pune-split--reverse .pune-split__visual,
  .quality-page .pune-split--reverse .pune-split__copy { order: unset; }
}

.quality-flow {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}
.quality-flow__label {
  margin: 0 0 1.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--red);
  text-align: center;
}
.quality-flow__steps { margin-top: 0.5rem; }

.quality-highlight-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 0.5rem;
}
@media (min-width: 640px)  { .quality-highlight-grid { grid-template-columns: repeat(2, 1fr); } }
.quality-highlight-card {
  padding: 1.5rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  text-align: center;
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.quality-highlight-card:hover {
  border-color: var(--red);
  transform: translateY(-3px);
  box-shadow: var(--shadow-sm);
}
.quality-highlight-card__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-inline: auto;
  border-radius: var(--r-sm);
  background: var(--red-tint);
  color: var(--red);
}
.quality-highlight-card__icon svg { width: 22px; height: 22px; }
.quality-highlight-card__title {
  margin: 1rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1.35;
}
.quality-highlight-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}

.quality-commitment {
  padding: 3rem 2rem;
  text-align: center;
  background: var(--ink);
  color: var(--paper);
  border-radius: var(--r-lg);
  position: relative;
  overflow: hidden;
}
.quality-commitment::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 100% 0%, rgba(30,64,175,.22), transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(30,64,175,.12), transparent 50%);
  pointer-events: none;
}
.quality-commitment > * { position: relative; z-index: 1; }
.quality-commitment__title {
  margin: 0.875rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: var(--paper);
}
.quality-commitment__text {
  margin: 1.125rem auto 0;
  max-width: 600px;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: rgba(255,255,255,.82);
}

.quality-cert-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 0.5rem;
}
@media (min-width: 900px) {
  .quality-cert-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}
.quality-cert-premium {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color .25s ease, transform .3s ease, box-shadow .3s ease;
}
.quality-cert-premium:hover {
  border-color: var(--red);
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.quality-cert-premium__visual {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--mist);
}
.quality-cert-premium__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(.16,1,.3,1);
}
.quality-cert-premium:hover .quality-cert-premium__visual img { transform: scale(1.05); }
.quality-cert-premium__badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.35rem 0.75rem;
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--paper);
  background: rgba(10,10,10,.72);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  backdrop-filter: blur(8px);
}
.quality-cert-premium__body { padding: 1.375rem 1.5rem 1.5rem; }
.quality-cert-premium__name {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 1.375rem;
  letter-spacing: -0.03em;
  color: var(--red);
}
.quality-cert-premium__tagline {
  margin: 0.375rem 0 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
}
.quality-cert-premium__desc {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}

.quality-culture-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .quality-culture-grid { grid-template-columns: repeat(3, 1fr); }
}
.quality-culture-card {
  padding: 1.75rem 1.5rem;
  text-align: center;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: var(--r-lg);
  transition: border-color .25s ease, transform .25s ease;
}
.quality-culture-card:hover {
  border-color: var(--red);
  transform: translateY(-3px);
}
.quality-culture-card__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-inline: auto;
  border-radius: 50%;
  background: var(--red-tint);
  color: var(--red);
}
.quality-culture-card__icon svg { width: 24px; height: 24px; }
.quality-culture-card__title {
  margin: 1rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.quality-culture-card__desc {
  margin: 0.625rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--graphite);
}

.quality-equip-grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 0.5rem;
}
@media (min-width: 900px) { .quality-equip-grid { gap: 4rem; } }
.quality-equip-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
}
@media (min-width: 900px) {
  .quality-equip-card {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
  .quality-equip-card--reverse .quality-equip-card__visual { order: 2; }
  .quality-equip-card--reverse .quality-equip-card__body { order: 1; }
}
.quality-equip-card__visual {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--mist);
  aspect-ratio: 16 / 10;
}
.quality-equip-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1);
}
.quality-equip-card:hover .quality-equip-card__visual img { transform: scale(1.04); }
.quality-equip-card__title {
  margin: 0.375rem 0 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  letter-spacing: -0.025em;
  color: var(--ink);
}
.quality-equip-card__desc {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--graphite);
}

.quality-team-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.quality-team-gallery__item {
  margin: 0;
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid var(--line);
  aspect-ratio: 4 / 5;
}
.quality-team-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quality-stats-section { padding-bottom: 3rem; }
.quality-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 1.5rem;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
@media (min-width: 768px) {
  .quality-stats { grid-template-columns: repeat(5, 1fr); }
}
.quality-stat {
  padding: 1.5rem 1.25rem;
  text-align: center;
  background: var(--paper);
  transition: background .25s ease;
}
.quality-stat:hover { background: var(--mist); }
.quality-stat__num {
  margin: 0;
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem);
  letter-spacing: -0.03em;
  color: var(--red);
  line-height: 1.2;
}
.quality-stat__label {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--graphite);
}

/* ---------- EMS Products — dual-image showcase ---------- */
.products-ems-page {
  padding-top: var(--nav-h);
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - var(--nav-h));
  box-sizing: border-box;
}
body.page-discover .products-ems-page,
body.page-discover .equipments-page.products-ems-page {
  padding-top: var(--header-stack-h);
  padding-inline-start: var(--discover-content-gap);
  padding-inline-end: var(--discover-content-inset-end);
  min-height: calc(100svh - var(--header-stack-h));
  height: calc(100svh - var(--header-stack-h));
  box-sizing: border-box;
}
.products-ems-showcase {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
  min-height: 0;
}
.products-ems-showcase__viewport {
  position: relative;
  flex: 1;
  height: calc(100svh - var(--nav-h));
  min-height: 28rem;
  background: var(--mist);
}
body.page-discover .products-ems-showcase__viewport {
  height: 100%;
  min-height: 0;
}
@media (min-width: 768px) {
  .products-ems-showcase__viewport {
    min-height: 24rem;
  }
}
@media (min-width: 1024px) {
  .products-ems-showcase__viewport {
    min-height: 26rem;
  }
}
.products-ems-showcase__slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}
@media (min-width: 768px) {
  .products-ems-showcase__slide {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
}
.products-ems-showcase__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
.products-ems-showcase__panel {
  position: relative;
  overflow: hidden;
  background: var(--mist);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 0.125rem;
  min-height: 0;
  border-bottom: 1px solid var(--line);
  border-right: 0;
}
.products-ems-showcase__panel:last-child {
  border-bottom: 0;
}
@media (min-width: 768px) {
  .products-ems-showcase__panel {
    padding: 0.25rem;
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
  .products-ems-showcase__panel:last-child {
    border-right: 0;
  }
}
@media (min-width: 1024px) {
  .products-ems-showcase__panel { padding: 0.375rem; }
}
.products-ems-showcase__panel img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.products-ems-showcase__controls {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem 1.25rem;
  background: var(--paper);
  border-top: 1px solid var(--line);
}
@media (min-width: 768px) {
  .products-ems-showcase__controls {
    gap: 1rem;
    padding: 1rem 1.25rem 1.5rem;
  }
}
.products-ems-showcase__ctrl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 7.5rem;
  padding: 0.5625rem 1.125rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.products-ems-showcase__ctrl svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.products-ems-showcase__ctrl:hover {
  border-color: var(--red);
  color: var(--red);
  background: var(--red-tint);
}
.products-ems-showcase__nav {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem 1.25rem;
  background: var(--paper);
  border-top: 1px solid var(--line);
}
@media (min-width: 768px) {
  .products-ems-showcase__nav {
    flex-wrap: nowrap;
    gap: 0.625rem;
    padding: 1rem 1.25rem 1.5rem;
  }
}
.products-ems-showcase__tab {
  position: relative;
  display: inline-block;
  padding: 0.4375rem 0.875rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-family: 'Manrope', sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--graphite);
  white-space: normal;
  text-align: center;
  line-height: 1.3;
  max-width: 100%;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
}
@media (min-width: 768px) {
  .products-ems-showcase__tab {
    font-size: 0.75rem;
    white-space: nowrap;
  }
}
@media (min-width: 1024px) {
  .products-ems-showcase__tab {
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
  }
}
.products-ems-showcase__tab.is-active {
  border-color: var(--red);
  background: var(--red);
  color: var(--paper);
}
.products-ems-showcase__tab.is-active.is-animating::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: rgba(255, 255, 255, 0.55);
  transform-origin: left center;
  animation: plants-tab-progress var(--ems-showcase-interval, 6s) linear forwards;
}

/* ---------- Print safety ---------- */
@media print {
  .site-header, .site-footer, .mobile-menu, #page-loader, .cta-band, .dark-section { display: none !important; }
  body { color: #000; background: #fff; }
}
