/* ==========================================================================
   Zhice Yunlian — English design prototype
   Local, dependency-free stylesheet. Brand: blue #2259ab, sky, navy type.
   ========================================================================== */

:root {
  --blue: #2259ab;
  --blue-dark: #17437f;
  --blue-deep: #0d2f5e;
  --navy: #0b2239;
  --ink: #16283a;
  --muted: #54697b;
  --line: #dbe6ef;
  --line-strong: #c7d8e6;
  --sky: #eef6fc;
  --sky-deep: #dfeef9;
  --green: #4d9560;
  --green-soft: #eaf3ec;
  --white: #ffffff;
  --max: 1240px;
  --shadow-soft: 0 18px 50px rgba(13, 43, 77, 0.08);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.drawer-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
p { margin: 0; }
ul, ol, dl, dd { margin: 0; padding: 0; }
li { list-style: none; }
a { color: var(--blue); text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
strong { color: var(--navy); }

h1, h2, h3, h4 {
  margin: 0;
  color: var(--navy);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.06;
}

h1 { font-size: clamp(2.25rem, 4.8vw, 4.1rem); }
h2 { font-size: clamp(1.85rem, 3.1vw, 2.65rem); line-height: 1.1; }
h3 { font-size: 1.4rem; line-height: 1.2; letter-spacing: -0.02em; }

::selection { background: var(--sky-deep); color: var(--navy); }

:focus-visible {
  outline: 3px solid #7fb2e5;
  outline-offset: 3px;
}

[hidden] { display: none !important; }

.container {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}

.narrow { max-width: 900px; }

.section { padding: clamp(64px, 7vw, 104px) 0; }

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 200;
  padding: 12px 18px;
  background: var(--navy);
  color: var(--white);
  font-size: 0.9rem;
  font-weight: 600;
}
.skip-link:focus { top: 12px; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  flex: 0 0 26px;
  height: 1px;
  background: var(--blue);
}

.section-intro {
  max-width: 46ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(32px, 4vw, 48px);
}
.section-head h2 { max-width: 22ch; margin-top: 16px; }
.section-head .section-intro { justify-self: end; }

.section-subhead { margin-bottom: 20px; }

/* Buttons and links ------------------------------------------------------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: none;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.btn .icon-arrow,
.text-link .icon-arrow {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}
.btn-primary {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}
.btn-primary:hover { background: var(--blue-dark); border-color: var(--blue-dark); color: var(--white); }
.btn-outline {
  background: var(--white);
  border-color: var(--line-strong);
  color: var(--navy);
}
.btn-outline:hover { border-color: var(--blue); color: var(--blue); }
.btn-sm { min-height: 44px; padding: 0 18px; font-size: 0.86rem; }
.btn-block { width: 100%; }
.btn-text { padding-inline: 0; min-height: 44px; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
}
.text-link .icon-arrow { transition: transform 0.2s ease; }
.text-link:hover .icon-arrow { transform: translateX(3px); }

/* Header ----------------------------------------------------------------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, 0.985);
  border-bottom: 1px solid var(--line);
}
.site-header.is-scrolled { box-shadow: 0 8px 26px rgba(13, 43, 77, 0.08); }

.topbar {
  background: #f7fafc;
  border-bottom: 1px solid var(--line);
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 34px;
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}
.topbar-place {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-transform: uppercase;
}
.topbar-place svg { width: 14px; height: 14px; color: var(--blue); }
.topbar-mail { color: var(--navy); }
.topbar-mail:hover { color: var(--blue); }

.nav-shell { position: relative; }
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 78px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  color: var(--navy);
}
.brand-mark { width: 42px; height: 42px; flex: 0 0 auto; }
.brand-type { display: block; }
.brand-name {
  display: block;
  color: var(--navy);
  font-size: 0.91rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.15;
}
.brand-tag {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.63rem;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
}
.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 11px 0;
  border: 0;
  background: none;
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}
.nav-link:hover::after,
.nav-link[aria-current="page"]::after,
.nav-link[aria-expanded="true"]::after { transform: scaleX(1); }
.nav-link[aria-current="page"] { color: var(--blue); }

.chev { width: 12px; height: 12px; transition: transform 0.2s ease; }
.mega-trigger[aria-expanded="true"] .chev { transform: rotate(180deg); }

.nav-quote { margin-left: 4px; }

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-left: auto;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  background: var(--white);
  cursor: pointer;
}
.nav-toggle-bars {
  position: relative;
  display: block;
  width: 20px;
  height: 14px;
}
.nav-toggle-bars span {
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  background: var(--navy);
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}
.nav-toggle-bars span:nth-child(1) { top: 0; }
.nav-toggle-bars span:nth-child(2) { top: 6px; }
.nav-toggle-bars span:nth-child(3) { top: 12px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1) { top: 6px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

/* Mega panel ------------------------------------------------------------- */

.mega-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 70;
  background: var(--white);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 24px 44px rgba(13, 43, 77, 0.1);
}
.mega-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 0.9fr;
  gap: clamp(28px, 4vw, 56px);
  padding: 38px 0 44px;
}
.mega-intro { padding-right: 26px; border-right: 1px solid var(--line); }
.mega-title {
  margin: 14px 0 14px;
  font-size: 1.72rem;
  line-height: 1.1;
}
.mega-intro > p:not(.eyebrow) {
  max-width: 34ch;
  color: var(--muted);
  font-size: 0.92rem;
}
.mega-intro .text-link { margin-top: 20px; }
.mega-col { min-width: 0; }
.mega-heading {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mega-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
}
.mega-link:hover { color: var(--blue); }
.mega-link small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}
.mega-link .icon-arrow { width: 17px; height: 17px; flex: 0 0 auto; color: var(--blue); }
.mega-footnote {
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}
.mega-footnote a { text-decoration: underline; text-underline-offset: 2px; }
.mega-measures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}
.mega-measures a {
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-size: 0.83rem;
  line-height: 1.35;
}
.mega-measures a:hover { color: var(--blue); }

/* Mobile drawer ---------------------------------------------------------- */

.mobile-drawer {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 75;
  max-height: calc(100dvh - 102px);
  overflow-y: auto;
  background: var(--white);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 26px 40px rgba(13, 43, 77, 0.12);
}
.mobile-nav { padding: 20px 0 22px; }
.mobile-nav > a:not(.btn) {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-size: 0.98rem;
  font-weight: 500;
}
.mobile-nav > a:not(.btn):hover { color: var(--blue); }
.mobile-nav > a span {
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}
.mobile-group-title {
  margin: 18px 0 5px;
  color: var(--blue);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mobile-group-title:first-child { margin-top: 0; }
.mobile-measures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.mobile-measures a {
  padding: 9px 0;
  color: var(--muted);
  font-size: 0.84rem;
}
.mobile-measures a:hover { color: var(--blue); }
.mobile-quote { margin-top: 24px; width: 100%; }

/* Hero ------------------------------------------------------------------- */

.hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 606px;
  padding: clamp(40px, 4vw, 50px) 0 clamp(44px, 4vw, 54px);
  overflow: hidden;
  background:
    radial-gradient(circle at 79% 35%, rgba(126, 188, 232, 0.24), transparent 33%),
    radial-gradient(circle at 92% 84%, rgba(77, 149, 96, 0.08), transparent 28%),
    linear-gradient(180deg, #f8fbfe 0%, #f3f9fd 58%, #ffffff 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(34, 89, 171, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 89, 171, 0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 70%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 70%, #000 100%);
}
.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
}
.hero-copy { max-width: 620px; }
.hero h1 { margin: 20px 0 22px; letter-spacing: -0.045em; }
.hero h1 span { display: block; color: var(--blue); }
.hero-lede {
  max-width: 53ch;
  color: var(--muted);
  font-size: clamp(1.03rem, 1.42vw, 1.18rem);
  line-height: 1.62;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.hero-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 22px;
  color: var(--muted);
  font-size: 0.78rem;
}
.hero-secondary .text-link { font-size: 0.84rem; }
.hero-secondary span { line-height: 1.4; }

.hero-figure { margin: 0; min-width: 0; }
.hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(350px, 34vw, 480px);
  isolation: isolate;
}
.hero-visual::before,
.hero-visual::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: rgba(34, 89, 171, 0.12);
}
.hero-visual::before { top: 8%; bottom: 8%; left: 50%; width: 1px; }
.hero-visual::after { left: 8%; right: 8%; top: 50%; height: 1px; }
.hero-visual img {
  position: relative;
  z-index: 2;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 26px 32px rgba(13, 43, 77, 0.17));
}
.hero-model-stage { position: absolute; inset: 0; z-index: 2; }
.hero-model-stage img { width: 100%; height: 100%; }
.hero-model-stage img[hidden] { display: none; }
.hero-model-canvas { display: block; width: 100%; height: 100%; touch-action: pan-y; cursor: grab; }
.hero-model-canvas:active { cursor: grabbing; }
.hero-model-stage:not(.is-model-ready) .hero-model-canvas { visibility: hidden; }
.motion-ready .hero-visual .hero-model-stage img { animation: none; }
.hero-model-status { color: var(--muted); font-size: 0.72rem; margin-right: auto; align-self: center; }
.hero-tick, .ring { pointer-events: none; }
@media print {
  .hero-model-canvas, .hero-model-status { display: none; }
  .hero-model-stage img[hidden] { display: block !important; }
}
.ring {
  position: absolute;
  z-index: 1;
  height: 94%;
  max-width: 100%;
  aspect-ratio: 1;
  border: 1px solid rgba(34, 89, 171, 0.16);
  border-radius: 50%;
}
.ring-1 { height: min(94%, 470px); }
.ring-2 { height: min(72%, 362px); border-style: dashed; border-color: rgba(34, 89, 171, 0.22); }
.ring-3 {
  height: min(50%, 250px);
  border-color: rgba(34, 89, 171, 0.08);
  background: radial-gradient(circle, rgba(126, 188, 232, 0.22), rgba(126, 188, 232, 0.02) 68%);
}
.hero-tick {
  position: absolute;
  z-index: 3;
  color: var(--muted);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.55;
}
.hero-tick-a { top: 10%; right: 1%; text-align: right; }
.hero-tick-b { bottom: 8%; left: 0; }
.hero-figure figcaption {
  max-width: 380px;
  margin: 8px 0 0 auto;
  padding-top: 10px;
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.5;
  text-align: right;
}

/* Capability line -------------------------------------------------------- */

.capability-line {
  background: var(--white);
  border-top: 2px solid var(--blue);
  border-bottom: 1px solid var(--line);
}
.capability-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.capability-inner span {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 17px 0;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}
.capability-inner span::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--green);
}
.capability-inner span + span {
  padding-left: 28px;
  border-left: 1px solid var(--line);
}

/* Products --------------------------------------------------------------- */

.products-section { background: var(--white); scroll-margin-top: 130px; }
#main, #products, #about, #specifications-weather, #specifications-rain { scroll-margin-top: 130px; }

.filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.filter-group { display: flex; flex-wrap: wrap; gap: 2px 20px; }
.filter-btn {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
}
.filter-btn:hover { color: var(--navy); }
.filter-btn.is-active {
  border-bottom-color: var(--blue);
  color: var(--navy);
  font-weight: 600;
}
.filter-count {
  color: var(--muted);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.filter-description {
  min-height: 3.3em;
  max-width: 76ch;
  margin: 14px 0 34px;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.65;
}

.product-list { display: grid; gap: 28px; }
.product-row {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
}
.product-media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 350px;
  padding: 30px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.92), transparent 60%),
    linear-gradient(155deg, #f1f8fd 0%, #e1effa 100%);
}
.product-row[data-category="rain"] .product-media {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.92), transparent 60%),
    linear-gradient(155deg, #f4f8fa 0%, #e5edf3 100%);
}
.product-media img {
  width: 100%;
  height: 320px;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(13, 43, 77, 0.12));
}
.product-row[data-category="rain"] .product-media img {
  mix-blend-mode: multiply;
  filter: none;
}
.media-tag {
  position: absolute;
  left: 18px;
  bottom: 14px;
  padding: 4px 7px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}
.product-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 46px);
}
.product-topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 13px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}
.product-topline .model { color: var(--blue); }
.product-row h3 {
  margin-bottom: 13px;
  font-size: clamp(1.7rem, 2.5vw, 2.25rem);
}
.product-row h3 a { color: var(--navy); }
.product-row h3 a:hover { color: var(--blue); }
.product-body > p { max-width: 58ch; color: var(--muted); font-size: 1rem; }
.fact-line {
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-size: 0.84rem;
  line-height: 1.6;
}
.fact-line span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.product-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 24px;
}

/* Application cards ------------------------------------------------------ */

.applications-section {
  background: #f6fafd;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.application-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.application-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  padding: clamp(26px, 3.2vw, 42px);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.application-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.86) 52%, rgba(255, 255, 255, 0) 100%);
}
.application-card:hover {
  border-color: #a9c8e4;
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}
.application-card > * { position: relative; z-index: 1; }
.app-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 20%, rgba(77, 149, 96, 0.15) 0 8%, transparent 8.6%),
    repeating-linear-gradient(116deg, transparent 0 26px, rgba(34, 89, 171, 0.085) 26px 27px);
  -webkit-mask-image: linear-gradient(105deg, transparent 18%, #000 74%);
  mask-image: linear-gradient(105deg, transparent 18%, #000 74%);
}
.app-rain .app-art {
  background:
    radial-gradient(circle at 84% 16%, rgba(34, 89, 171, 0.08) 0 12%, transparent 12.6%),
    repeating-linear-gradient(104deg, transparent 0 18px, rgba(34, 89, 171, 0.13) 18px 19px);
}
.guide-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--green);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.guide-label::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--green);
}
.application-card h3 {
  margin-top: 84px;
  font-size: clamp(1.65rem, 2.5vw, 2.1rem);
}
.application-card p {
  max-width: 44ch;
  margin-top: 12px;
  color: var(--muted);
  font-size: 1rem;
}
.application-card .text-link { margin-top: 26px; }

/* Process ---------------------------------------------------------------- */

.process-section { background: var(--white); }
.process-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: end;
  margin-bottom: 42px;
}
.process-head h2 { max-width: 20ch; margin-top: 16px; }
.process-head .section-intro { justify-self: end; }
.process-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}
.process-list li { padding: 28px 32px 0 0; }
.process-list li + li {
  padding-left: 32px;
  border-left: 1px solid var(--line);
}
.process-num {
  display: block;
  margin-bottom: 24px;
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.process-list h3 { margin-bottom: 9px; font-size: 1.45rem; }
.process-list p { max-width: 34ch; color: var(--muted); font-size: 1rem; }

/* About ------------------------------------------------------------------ */

.about-section {
  background: #f7fafc;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 7vw, 100px);
}
.about-grid h2 { max-width: 15ch; margin-top: 16px; }
.about-body .lead {
  color: var(--navy);
  font-size: clamp(1.1rem, 1.55vw, 1.28rem);
  line-height: 1.6;
}
.about-body p + p { margin-top: 16px; color: var(--muted); }
.about-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 30px 0;
  padding-top: 22px;
  border-top: 1px solid var(--line-strong);
}
.about-facts dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.about-facts dd { color: var(--navy); font-size: 0.88rem; line-height: 1.45; }

/* Resources (home) ------------------------------------------------------- */

.resources-section { background: var(--white); }
.resources-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 6vw, 84px);
  align-items: start;
}
.resources-grid h2 { max-width: 17ch; margin: 16px 0 18px; }
.resources-grid .section-intro { max-width: 44ch; }
.resources-grid .btn { margin-top: 26px; }
.resource-list { border-top: 1px solid var(--line-strong); }
.resource-list li { border-bottom: 1px solid var(--line); }
.resource-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 19px 0;
  color: var(--navy);
  font-size: 0.98rem;
  font-weight: 600;
}
.resource-list a:hover { color: var(--blue); }
.resource-list small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.4;
}
.resource-list .icon-arrow { width: 18px; height: 18px; flex: 0 0 auto; color: var(--blue); }

/* Page hero / shared ----------------------------------------------------- */

.page-hero {
  padding: clamp(32px, 4vw, 48px) 0 clamp(40px, 5vw, 64px);
  background:
    radial-gradient(circle at 88% 20%, rgba(126, 188, 232, 0.16), transparent 30%),
    linear-gradient(180deg, #f8fbfe 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line);
}
.page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: end;
}
.page-hero h1 { max-width: 18ch; margin-top: 16px; }
.page-lede {
  max-width: 48ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 26px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}
.breadcrumb a { color: var(--muted); }
.breadcrumb a:hover { color: var(--blue); }
.breadcrumb span[aria-hidden="true"] { color: var(--line-strong); }

/* Product page ----------------------------------------------------------- */

.product-view { display: none; }
html:not([data-product]) #product-weather { display: block; }
[data-product="weather"] #product-weather { display: block; }
[data-product="rain"] #product-rain { display: block; }
[data-product="invalid"] #product-missing { display: block; }

.product-page-hero { padding-bottom: clamp(48px, 6vw, 80px); }
.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}
.product-detail-figure { margin: 0; min-width: 0; }
.product-detail-grid > *,
.detail-grid > *,
.guide-layout > *,
.contact-layout > *,
.resource-page-grid > * { min-width: 0; }
.product-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 440px;
  padding: clamp(22px, 4vw, 40px);
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.92), transparent 62%),
    linear-gradient(155deg, #f1f8fd 0%, #e0effa 100%);
}
.product-photo.rain-photo {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, 0.94), transparent 62%),
    linear-gradient(155deg, #f4f8fa 0%, #e5edf3 100%);
}
.product-photo img {
  max-width: 100%;
  max-height: 460px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 22px 28px rgba(13, 43, 77, 0.14));
}
.product-photo.rain-photo img { mix-blend-mode: multiply; filter: none; }
.product-detail-figure figcaption {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}
.product-detail-copy { padding-top: 6px; }
.product-detail-copy h1 { margin: 14px 0 18px; }
.model-line {
  display: block;
  margin-top: 13px;
  color: var(--blue);
  font-size: 0.39em;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
}
.product-summary {
  max-width: 55ch;
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.65;
}
.key-points {
  margin: 26px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.key-points > div {
  display: grid;
  grid-template-columns: minmax(130px, 0.72fr) minmax(0, 1.28fr);
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.85rem;
  line-height: 1.5;
}
.key-points > div:last-child { border-bottom: 0; }
.key-points dt { color: var(--muted); }
.key-points dd { color: var(--navy); }
.detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.product-note {
  margin-top: 16px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.55;
}

.product-content { border-top: 1px solid var(--line); }
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(290px, 0.75fr);
  gap: clamp(36px, 6vw, 74px);
  align-items: start;
}
.detail-main section + section {
  margin-top: clamp(44px, 5vw, 60px);
  padding-top: 36px;
  border-top: 1px solid var(--line);
}
.detail-main h2 {
  margin: 14px 0 16px;
  font-size: clamp(1.55rem, 2.35vw, 2.05rem);
  line-height: 1.15;
}
.detail-main p { max-width: 65ch; color: var(--muted); font-size: 1rem; }
.detail-main p + p { margin-top: 14px; }
.table-wrap { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.spec-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 0.9rem;
  line-height: 1.5;
}
.spec-table th,
.spec-table td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.spec-table thead th {
  background: #f3f8fc;
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.spec-table tbody th {
  width: 38%;
  color: var(--navy);
  font-weight: 600;
}
.spec-table td { color: var(--muted); }
.spec-table tbody tr:last-child th,
.spec-table tbody tr:last-child td { border-bottom: 0; }
.table-note {
  max-width: 70ch;
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}

.detail-aside { display: grid; gap: 20px; }
.checklist {
  padding: clamp(22px, 3vw, 30px);
  border-top: 2px solid var(--blue);
  background: #f5f9fd;
}
.checklist h2 { margin: 13px 0 16px; font-size: 1.45rem; line-height: 1.15; }
.checklist ul { display: grid; gap: 10px; }
.checklist li {
  position: relative;
  padding-left: 22px;
  color: var(--muted);
  font-size: 0.87rem;
  line-height: 1.5;
}
.checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.48em;
  width: 9px;
  height: 5px;
  border-left: 1.6px solid var(--green);
  border-bottom: 1.6px solid var(--green);
  transform: rotate(-45deg);
}
.checklist-note {
  margin: 18px 0;
  padding-top: 14px;
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}
.related-product {
  padding: 24px 0 0;
  border-top: 1px solid var(--line-strong);
}
.related-product h3 { margin: 12px 0 8px; font-size: 1.2rem; }
.related-product p { color: var(--muted); font-size: 0.87rem; }
.related-product .text-link { margin-top: 14px; }

.product-missing { display: none; padding: clamp(48px, 6vw, 80px) 0 clamp(64px, 7vw, 96px); }
.product-missing .breadcrumb { margin-bottom: 36px; }
.product-missing h1 { max-width: 16ch; margin: 16px 0 18px; }
.missing-lede {
  max-width: 62ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}
.missing-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 34px 0 30px;
}
.missing-options a {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px;
  border: 1px solid var(--line);
  border-top: 2px solid var(--blue);
  color: var(--ink);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.missing-options a:hover { border-color: var(--blue); background: #f8fbfe; }
.missing-model {
  color: var(--blue);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.missing-options strong { color: var(--navy); font-size: 1.08rem; }
.missing-options span:last-child { color: var(--muted); font-size: 0.82rem; line-height: 1.5; }

/* Application page ------------------------------------------------------- */

.application-hero {
  padding: clamp(32px, 4vw, 48px) 0 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(126, 188, 232, 0.16), transparent 30%),
    linear-gradient(180deg, #f8fbfe 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line);
}
.application-hero-copy { max-width: 760px; }
.application-hero h1 { margin: 14px 0 14px; }
.focus-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 36px;
  border-bottom: 1px solid var(--line);
}
.focus-tabs a {
  padding: 14px 22px;
  border: 1px solid transparent;
  border-bottom: 0;
  color: var(--muted);
  font-size: 0.87rem;
  font-weight: 500;
  line-height: 1.4;
}
.focus-tabs a:hover { color: var(--blue); }
.focus-tabs a[aria-current="page"] {
  margin-bottom: -1px;
  border-color: var(--line);
  border-bottom: 1px solid var(--white);
  background: var(--white);
  color: var(--navy);
  font-weight: 600;
}

.focus-view { display: none; padding: clamp(48px, 6vw, 84px) 0; }
html:not([data-focus]) #focus-weather { display: block; }
[data-focus="weather"] #focus-weather { display: block; }
[data-focus="rain"] #focus-rain { display: block; }

.guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}
.guide-head h2 {
  max-width: 15ch;
  margin: 16px 0 18px;
  font-size: clamp(2rem, 3.55vw, 3.15rem);
}
.guide-lede {
  max-width: 62ch;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.65;
}
.guide-disclaimer {
  display: inline-block;
  margin-top: 18px;
  padding-left: 11px;
  border-left: 2px solid var(--green);
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.5;
}
.guide-section {
  margin-top: clamp(36px, 4vw, 48px);
  padding-top: 30px;
  border-top: 1px solid var(--line);
}
.guide-kicker {
  color: var(--blue);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.guide-section h3 { margin: 10px 0 14px; font-size: 1.45rem; }
.guide-section > p { max-width: 66ch; color: var(--muted); font-size: 1rem; }
.guide-section > p + p { margin-top: 13px; }
.instrument-row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: 22px;
  padding-left: 24px;
  border-left: 2px solid var(--blue);
}
.instrument-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 170px;
  padding: 14px;
  background: linear-gradient(155deg, #f1f8fd, #e2effa);
}
.instrument-thumb.rain-thumb { background: linear-gradient(155deg, #f4f8fa, #e6eef4); }
.instrument-thumb img { max-height: 150px; width: auto; object-fit: contain; }
.instrument-thumb.rain-thumb img { mix-blend-mode: multiply; }
.instrument-row p { color: var(--muted); font-size: 1rem; }
.instrument-row p + p { margin-top: 11px; }
.instrument-row .text-link { margin-top: 14px; }

.question-list {
  counter-reset: questions;
  display: grid;
  border-top: 1px solid var(--line);
}
.question-list li {
  counter-increment: questions;
  position: relative;
  padding: 14px 0 14px 40px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}
.question-list li::before {
  content: counter(questions, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 15px;
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.workflow-list {
  counter-reset: workflow;
  display: grid;
  border-top: 1px solid var(--line);
}
.workflow-list li {
  counter-increment: workflow;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.workflow-list li::before {
  content: counter(workflow, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1 / span 2;
  color: var(--blue);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.9;
}
.workflow-list span {
  grid-column: 2;
  grid-row: 1;
  display: block;
  margin-bottom: 3px;
  color: var(--navy);
  font-size: 0.95rem;
  font-weight: 600;
}
.workflow-list p {
  grid-column: 2;
  grid-row: 2;
  color: var(--muted);
  font-size: 0.9rem;
}
.guide-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 36px;
  padding: 28px;
  border-top: 2px solid var(--blue);
  background: #f5f9fd;
}
.guide-cta h3 { margin: 10px 0 6px; font-size: 1.4rem; }
.guide-cta p { max-width: 46ch; color: var(--muted); font-size: 0.9rem; }
.guide-cta .btn { flex: 0 0 auto; }

.guide-aside { display: grid; gap: 20px; }
.guide-panel {
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--line);
  background: var(--white);
}
.guide-panel-soft { background: #f5f9fd; border-color: var(--line); }
.guide-panel h2 { margin: 12px 0 14px; font-size: 1.45rem; }
.guide-panel h3 { margin: 12px 0 8px; font-size: 1.25rem; }
.guide-panel p { margin-top: 12px; color: var(--muted); font-size: 0.87rem; }
.guide-panel .text-link { margin-top: 14px; }
.guide-facts { margin-top: 14px; }
.guide-facts > div {
  padding: 11px 0;
  border-top: 1px solid var(--line);
}
.guide-facts dt {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.guide-facts dd { color: var(--navy); font-size: 0.85rem; line-height: 1.5; }

/* Resources page --------------------------------------------------------- */

.resources-hero { background: linear-gradient(180deg, #f8fbfe 0%, #f2f8fd 100%); }
.resource-page { background: var(--white); }
.resource-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}
.resource-page h2 { margin: 14px 0 24px; }
.download-list { border-top: 1px solid var(--line-strong); }
.download-item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.download-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 14px;
  background: linear-gradient(155deg, #f1f8fd, #e2effa);
}
.download-thumb.rain-thumb { background: linear-gradient(155deg, #f4f8fa, #e6eef4); }
.download-thumb img { max-height: 145px; width: auto; object-fit: contain; }
.download-thumb.rain-thumb img { mix-blend-mode: multiply; }
.download-meta {
  color: var(--blue);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.download-copy h3 { margin: 8px 0 8px; font-size: 1.35rem; }
.download-copy > p { color: var(--muted); font-size: 1rem; }
.download-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  margin-top: 18px;
}
.resource-aside { display: grid; gap: 20px; }
.aside-link-list { margin-top: 12px; }
.aside-link-list li {
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.aside-link-list a { display: block; color: var(--navy); font-size: 0.9rem; font-weight: 600; }
.aside-link-list a:hover { color: var(--blue); }
.aside-link-list span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.74rem;
}

/* Contact page ----------------------------------------------------------- */

.contact-hero { background: linear-gradient(180deg, #f8fbfe 0%, #f2f8fd 100%); }
.contact-section { background: var(--white); }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(36px, 6vw, 80px);
  align-items: start;
}
.contact-details h2 { max-width: 14ch; margin: 14px 0 24px; }
.contact-list > div {
  padding: 15px 0;
  border-top: 1px solid var(--line);
}
.contact-list dt {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.contact-list dd { color: var(--navy); font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.contact-list dd a:hover { text-decoration: underline; text-underline-offset: 2px; }
.contact-note {
  margin-top: 28px;
  padding: 20px;
  border-left: 2px solid var(--blue);
  background: #f5f9fd;
}
.contact-note-title {
  margin-bottom: 6px;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.contact-note p:last-child { color: var(--muted); font-size: 0.83rem; line-height: 1.6; }

.form-panel {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: var(--shadow-soft);
}
.form-head h2 { margin: 12px 0 10px; font-size: clamp(1.6rem, 2.4vw, 2rem); }
.form-head > p:last-child { max-width: 56ch; color: var(--muted); font-size: 1rem; }
.inquiry-form { margin-top: 26px; }
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 22px;
}
.field-wide { grid-column: 1 / -1; }
.field label {
  display: block;
  margin-bottom: 6px;
  color: var(--navy);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.4;
}
.required-mark { color: var(--blue); }
.optional-mark { color: var(--muted); font-size: 0.72rem; font-weight: 400; }
.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  background: var(--white);
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.field select { cursor: pointer; }
.field textarea { min-height: 148px; resize: vertical; }
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: #aebfce; }
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(34, 89, 171, 0.14);
  outline-offset: 0;
}
.field-hint { margin-top: 5px; color: var(--muted); font-size: 0.74rem; line-height: 1.45; }
.form-submit-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
}
.form-notice {
  max-width: 44ch;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}
.inquiry-preview {
  margin-top: 30px;
  padding: clamp(22px, 3vw, 28px);
  border-top: 2px solid var(--blue);
  background: #f5f9fd;
  scroll-margin-top: 135px;
}
.preview-head h2 { margin: 12px 0 8px; font-size: 1.65rem; }
.preview-status { color: var(--navy); font-size: 0.9rem; font-weight: 500; line-height: 1.55; }
.preview-content {
  margin-top: 22px;
  border-top: 1px solid var(--line-strong);
}
.preview-content > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.preview-content dt {
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.preview-content dd {
  color: var(--navy);
  font-size: 0.9rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.preview-footnote { margin-top: 16px; color: var(--muted); font-size: 0.76rem; }

/* Footer ----------------------------------------------------------------- */

.site-footer {
  background: #f2f8fc;
  border-top: 2px solid var(--blue);
}
.footer-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  padding: clamp(44px, 6vw, 74px) 0;
  border-bottom: 1px solid var(--line-strong);
}
.footer-cta h2 { max-width: 17ch; margin: 14px 0 12px; }
.footer-cta p { max-width: 58ch; color: var(--muted); font-size: 0.95rem; }
.footer-cta p a { text-decoration: underline; text-underline-offset: 2px; }
.footer-cta .btn { justify-self: end; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.45fr 0.85fr 0.9fr 1fr;
  gap: 40px;
  padding: 52px 0 42px;
}
.footer-brand .brand { margin-bottom: 14px; }
.footer-about {
  max-width: 36ch;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.6;
}
.footer-heading {
  margin-bottom: 13px;
  color: var(--navy);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.footer-links { display: grid; gap: 8px; }
.footer-links li { color: var(--muted); font-size: 0.86rem; line-height: 1.5; }
.footer-links a { color: var(--ink); }
.footer-links a:hover { color: var(--blue); }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 0 24px;
  border-top: 1px solid var(--line-strong);
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.5;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1100px) {
  .nav-inner { gap: 16px; }
  .desktop-nav { gap: 16px; }
  .hero-grid { gap: 34px; }
  .mega-grid { gap: 30px; }
  .guide-layout { gap: 44px; }
}

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .nav-toggle { display: inline-flex; }
  .nav-inner { min-height: 68px; }
  .mega-panel { display: none !important; }
  .mobile-drawer { max-height: calc(100dvh - 102px); }

  .hero {
    min-height: 0;
    padding: 46px 0 56px;
  }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-copy { max-width: 720px; }
  .hero-figure { width: 100%; max-width: 620px; margin-inline: auto; }
  .hero-visual { height: 430px; }
  .hero-tick { display: none; }
  .hero-figure figcaption { margin-left: 0; text-align: left; }

  .section-head,
  .process-head { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .section-head .section-intro,
  .process-head .section-intro { justify-self: start; }
  .section-head h2,
  .process-head h2 { max-width: 20ch; }

  .product-detail-grid { grid-template-columns: 1fr; gap: 34px; }
  .product-photo { min-height: 380px; }
  .product-photo img { max-height: 400px; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-aside { grid-template-columns: 1fr 1fr; align-items: start; }
  .related-product { padding: 24px; border: 1px solid var(--line); }

  .guide-layout { grid-template-columns: 1fr; }
  .guide-aside { grid-template-columns: 1fr 1fr; }

  .resource-page-grid { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-details { max-width: 640px; }

  .footer-grid { grid-template-columns: 1.3fr 0.8fr 0.9fr 1fr; gap: 28px; }
}

@media (max-width: 860px) {
  .container { width: calc(100% - 48px); }
  .product-row { grid-template-columns: 1fr; }
  .product-media { min-height: 300px; }
  .product-media img { height: 280px; }
  .product-body { padding: 30px 24px 34px; }

  .application-grid { grid-template-columns: 1fr; }
  .application-card { min-height: 320px; }
  .application-card h3 { margin-top: 56px; }

  .process-list { grid-template-columns: 1fr; border-top: 1px solid var(--line-strong); }
  .process-list li { padding: 24px 0; }
  .process-list li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .process-num { margin-bottom: 14px; }
  .process-list p { max-width: 56ch; }

  .about-grid,
  .resources-grid,
  .page-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .about-facts { grid-template-columns: 1fr 1fr; }
  .footer-cta { grid-template-columns: 1fr; align-items: start; }
  .footer-cta .btn { justify-self: start; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .download-item { grid-template-columns: 150px minmax(0, 1fr); gap: 22px; }
  .download-thumb { min-height: 140px; }
}

@media (max-width: 720px) {
  .container { width: calc(100% - 40px); }
  .section { padding: 56px 0; }
  .topbar-inner { font-size: 0.67rem; }
  .topbar-inner { min-height: 32px; }
  .nav-inner { min-height: 66px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-name { font-size: 0.82rem; }
  .brand-tag { font-size: 0.57rem; }

  .hero { padding: 38px 0 48px; }
  .hero-visual { height: 340px; }
  .hero-actions { gap: 10px; }
  .hero-lede { font-size: 1rem; }

  .capability-inner { grid-template-columns: 1fr; }
  .capability-inner span { padding: 12px 0; }
  .capability-inner span + span { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }

  .filter-row { align-items: flex-start; flex-direction: column; gap: 6px; }
  .filter-description { min-height: 0; margin-bottom: 26px; }

  .application-card { padding: 24px; }
  .application-card h3 { margin-top: 46px; }

  .about-facts { grid-template-columns: 1fr; gap: 16px; }
  .footer-grid { grid-template-columns: 1fr 1fr; padding: 40px 0 32px; }
  .footer-bottom { flex-direction: column; gap: 4px; }

  .guide-aside { grid-template-columns: 1fr; }
  .guide-cta { flex-direction: column; align-items: flex-start; }
  .instrument-row { grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding-left: 18px; }
  .instrument-thumb { min-height: 140px; }
  .instrument-thumb img { max-height: 120px; }
  .download-item { grid-template-columns: 1fr; }
  .download-thumb { max-width: 220px; width: 100%; min-height: 150px; }
  .download-thumb img { max-height: 130px; }

  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .preview-content > div { grid-template-columns: 1fr; gap: 3px; }

  .focus-tabs a { flex: 1 1 auto; text-align: center; padding: 13px 12px; }

  .missing-options { grid-template-columns: 1fr; }
  .detail-aside { grid-template-columns: 1fr; }

  .table-wrap { overflow-x: visible; }
  .spec-table { min-width: 0; table-layout: fixed; font-size: 0.84rem; }
  .spec-table th,
  .spec-table td { padding: 10px 10px; }
  .spec-table tbody th { width: 40%; }
}

@media (max-width: 480px) {
  h1 { font-size: 2.3rem; }
  .field select { font-size: 0.88rem; }
  .hero h1 { font-size: 2.35rem; }
  .hero-actions .btn { width: 100%; }
  .hero-visual { height: 300px; }

  .product-topline { flex-direction: column; gap: 4px; }
  .product-media { min-height: 250px; padding: 20px; }
  .product-media img { height: 230px; }
  .product-body { padding: 26px 20px 30px; }
  .product-links { gap: 14px 20px; }

  .section-head h2,
  .process-head h2,
  .about-grid h2 { max-width: none; }

  .application-card { min-height: 300px; }
  .application-card h3 { margin-top: 38px; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-cta { padding: 40px 0; }
  .footer-cta .btn { width: 100%; }
  .footer-brand .brand { margin-bottom: 12px; }

  .product-photo { min-height: 280px; padding: 20px; }
  .product-photo img { max-height: 300px; }
  .detail-actions .btn { width: 100%; }
  .key-points > div { grid-template-columns: 1fr; gap: 2px; }

  .instrument-row { grid-template-columns: 1fr; }
  .instrument-thumb { max-width: 200px; }
  .guide-cta { padding: 24px; }
  .guide-cta .btn { width: 100%; }

  .form-panel { padding: 22px 18px; }
  .form-submit-row .btn { width: 100%; }
  .contact-layout { gap: 34px; }

  .page-hero { padding: 30px 0 44px; }
  .page-hero h1 { margin-top: 12px; }
  .focus-tabs { margin-top: 26px; }
  .focus-tabs a { font-size: 0.8rem; padding: 12px 8px; }
}

@media (max-width: 370px) {
  .container { width: calc(100% - 32px); }
  h1,
  .hero h1 { font-size: 2.25rem; }
  .brand { gap: 9px; }
  .brand-mark { width: 36px; height: 36px; }
  .brand-name { font-size: 0.78rem; letter-spacing: 0.1em; }
  .brand-tag { font-size: 0.53rem; letter-spacing: 0.06em; }
  .nav-toggle { width: 44px; height: 44px; }
  .topbar-inner { font-size: 0.62rem; gap: 10px; }
  .topbar-place svg { display: none; }
  .hero-visual { height: 270px; }
  .application-card { padding: 20px; }
  .filter-group { gap: 0 14px; }
  .filter-btn { font-size: 0.84rem; }
  .btn { padding-inline: 18px; }
  .hero-actions .btn { padding-inline: 16px; }
  .form-panel { padding: 20px 14px; }
  .focus-tabs a { font-size: 0.76rem; padding: 11px 6px; }
}

/* Motion ----------------------------------------------------------------- */
/* Decorative loops start only after site.js initialises motion. All content
   stays visible and static without JS, IntersectionObserver or WAAPI. */

.ring-2 { transform-origin: 50% 50%; }
.ring-2::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 3px rgba(34, 89, 171, 0.12), 0 0 10px rgba(34, 89, 171, 0.35);
  pointer-events: none;
}
.hero-scan {
  position: absolute;
  z-index: 4;
  top: 19%;
  right: 8%;
  left: 8%;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(90, 162, 227, 0.58) 20%, rgba(126, 188, 232, 0.38) 52%, rgba(90, 162, 227, 0.58) 80%, transparent 100%);
  box-shadow: 0 0 10px rgba(126, 188, 232, 0.38);
  transform: translateY(0);
}

.motion-ready .hero-visual img { animation: hero-float 6.8s ease-in-out infinite; }
.motion-ready .ring-2 { animation: ring-orbit 40s linear infinite; }
.motion-ready .hero-scan {
  opacity: 0.62;
  animation: hero-scan 8s ease-in-out infinite;
}

html.motion-paused .hero-visual img,
html.motion-paused .ring-2,
html.motion-paused .hero-scan,
html.motion-hero-idle .hero-visual img,
html.motion-hero-idle .ring-2,
html.motion-hero-idle .hero-scan { animation-play-state: paused; }

@keyframes hero-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes ring-orbit {
  to { transform: rotate(360deg); }
}
@keyframes hero-scan {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(var(--hero-scan-travel, 210px)); }
}

.hero-motion-controls {
  display: flex;
  justify-content: flex-end;
}
.motion-toggle {
  min-height: 34px;
  margin-top: 10px;
  padding: 6px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--navy);
  font: inherit;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.motion-toggle:hover {
  border-color: var(--blue);
  background: var(--white);
  color: var(--blue);
}
.motion-toggle[hidden] { display: none; }

/* Restrained hover/focus feedback, reusing existing component styles. */
.product-row {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.product-row:hover,
.product-row:focus-within {
  border-color: var(--line-strong);
  box-shadow: 0 10px 26px rgba(13, 43, 77, 0.06);
}
.product-media img { transition: transform 0.24s ease; }
.product-row:focus-within .product-media img { transform: scale(1.02); }
@media (hover: hover) and (pointer: fine) {
  .product-row:hover .product-media img { transform: scale(1.02); }
}
.application-card:focus-within {
  border-color: #a9c8e4;
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
}

.btn .icon-arrow { transition: transform 0.18s ease; }
.btn:hover .icon-arrow,
.btn:focus-visible .icon-arrow,
.text-link:focus-visible .icon-arrow { transform: translateX(3px); }

@media (max-width: 720px) {
  .hero-scan { --hero-scan-travel: 190px; }
}
@media (max-width: 420px) {
  .hero-scan { --hero-scan-travel: 155px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .motion-ready .hero-visual img,
  .motion-ready .ring-2 { animation: none !important; transform: none !important; }
  .motion-ready .hero-scan,
  .motion-toggle { display: none !important; }
  .product-row:hover .product-media img,
  .product-row:focus-within .product-media img,
  .application-card:hover,
  .application-card:focus-within { transform: none; }
  .btn:hover .icon-arrow,
  .btn:focus-visible .icon-arrow,
  .text-link:hover .icon-arrow,
  .text-link:focus-visible .icon-arrow { transform: none; }
}

@media print {
  .site-header,
  .site-footer,
  .skip-link,
  .hero-secondary,
  .detail-actions,
  .motion-toggle,
  .hero-scan { display: none !important; }
  .hero-visual img,
  .ring-2 { animation: none !important; transform: none !important; }
  .hero-copy > *,
  .hero-figure,
  .section-head,
  .process-head,
  .product-row,
  .application-card,
  .process-list li { opacity: 1 !important; transform: none !important; }
  body { color: #000; }
  a { color: #000; text-decoration: underline; }
}

/* Server-rendered pages and inquiry integration */
.hp-field { position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden; }
.form-status { margin-top:16px;overflow-wrap:anywhere; }
.form-status.error { color:#a51c30; }
.form-actions { margin-top:24px; }
.required { color:var(--blue); }
.content-page { padding-block:30px 65px; }
.content-page > .section { padding-block:30px; }
.content-page h1 { margin-block:18px; }
.content-page h2 { margin-block:16px; }
.content-page p { max-width:85ch; margin-bottom:16px; }
.content-page .lead { color:var(--muted);font-size:1.1rem; }
.content-page .plain-list { padding-left:22px;line-height:1.9; }
.content-page details { border-bottom:1px solid var(--line);padding:18px 0; }
.content-page summary { cursor:pointer;font-weight:600; }
.content-page details p { margin-top:14px; }
.cert-row {display:flex;gap:24px;flex-wrap:wrap;}
.cert-row img {max-width:100%;height:auto;object-fit:contain;}
.content-page .cta-band {margin-top:24px;padding:28px;background:var(--pale);border:1px solid var(--line);}
.content-page .download-list {display:grid;gap:14px;padding-left:0;list-style:none;}
.content-page .download-list a {color:var(--blue);text-decoration:underline;}
.form-submit-row p,.form-footnote {overflow-wrap:anywhere;}

/* Weather-station catalogue */
.catalog-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px;}
.catalog-card {display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;padding:24px;border:1px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s;}
.catalog-card:hover,.catalog-card:focus-within {border-color:var(--blue);box-shadow:0 10px 26px rgba(13,43,77,.06);}
.catalog-visual {display:flex;align-items:center;justify-content:center;background:#f3f8fc;align-self:start;aspect-ratio:1;}
.catalog-visual img {width:100%;height:100%;object-fit:contain;}
.catalog-body h3 {font-size:1.23rem;line-height:1.3;margin:10px 0;}
.catalog-body > p:not(.eyebrow):not(.model-label) {color:var(--muted);font-size:.9rem;margin-bottom:14px;}
.catalog-body .eyebrow {font-size:.64rem;letter-spacing:.08em;}
.model-label {font-weight:700;color:var(--blue);font-size:.85rem;letter-spacing:.04em;}
.catalog-more {margin-top:32px;text-align:center;}
.catalog-detail-visual {margin:0;text-align:center;}
.catalog-detail-visual img {max-width:100%;object-fit:contain;}
.catalog-detail-visual figcaption {font-size:.76rem;color:var(--muted);margin-top:14px;}
.approval-note {padding:24px;border-left:3px solid var(--blue);background:#f3f8fc;margin:28px 0;}
.filter-summary {display:flex;justify-content:space-between;gap:20px;margin:18px 0;color:var(--muted);font-size:.88rem;}
.filter-summary > p {max-width:75ch;}
#filter-count {white-space:nowrap;}
.content-page .cta-band {background:#f3f9fd;}
@media (max-width:1100px) {.catalog-card {grid-template-columns:105px minmax(0,1fr);gap:16px;padding:20px;}}
@media (max-width:760px) {.catalog-grid {grid-template-columns:1fr;}.catalog-card {grid-template-columns:100px minmax(0,1fr);}.filter-summary {display:block;}#filter-count {display:block;margin-top:8px;}}
@media (max-width:360px) {.catalog-card {grid-template-columns:1fr;}.catalog-visual {max-height:140px;aspect-ratio:auto;}.catalog-visual img {height:140px;}}

/* Expanded model catalogue and source-matched documentation */
.catalog-search {display:grid;grid-template-columns:1fr auto;gap:10px 28px;align-items:center;margin-bottom:30px;max-width:900px;}
.catalog-search label {grid-column:1/-1;font-weight:600;color:var(--ink);}
.catalog-search input {width:100%;min-width:0;min-height:50px;border:1px solid var(--line);border-radius:4px;padding:12px 16px;background:white;color:var(--ink);font:inherit;}
.catalog-search input:focus-visible {outline:3px solid var(--blue);outline-offset:3px;}
.filter-label {font-size:.76rem;color:var(--muted);margin:22px 0 7px;text-transform:uppercase;letter-spacing:.08em;}
.catalog-detail-visual img {width:100%;height:480px;}
.product-documents {margin:36px 0;padding:28px;background:#f1f7fc;border:1px solid var(--line);}
.product-gallery {margin:38px 0;}
.product-gallery figure {margin:20px 0;}
.product-gallery img {display:block;max-height:680px;width:100%;object-fit:contain;background:white;}
.product-gallery figcaption {margin-top:12px;color:var(--muted);font-size:.82rem;}
.guide-list {border-top:1px solid var(--line);margin-top:24px;}
.guide-row {display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:24px 0;}
.guide-row h2 {font-size:1.16rem;margin:7px 0;line-height:1.4;}
.guide-row h2 a {text-decoration:none;}
.guide-row-actions {display:flex;align-items:center;gap:24px;flex-shrink:0;}
.guide-row[hidden],.catalog-card[hidden] {display:none!important;}
.legacy-sheets {margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
#catalog-empty {padding:28px;background:#f1f7fc;margin-top:24px;}
@media(max-width:760px) {.catalog-search{grid-template-columns:1fr;gap:12px;}.catalog-detail-visual img{height:350px;}.guide-row{align-items:flex-start;flex-direction:column;gap:14px;}.guide-row-actions{flex-wrap:wrap;}.product-documents{padding:20px;}.catalog-visual{background:white;}}

/* Factory tour */
.factory-section { background: var(--light, #f4f8fc); scroll-margin-top: 130px; }
.factory-player { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 4px; background: #0d2236; }
.factory-player video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; scroll-margin-top: 130px; }
.factory-video-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-top: 16px; font-size: .84rem; }
.factory-video-meta p { margin: 0; color: var(--muted); }
.factory-transcript { margin-top: 24px; border-top: 1px solid var(--line-strong); padding-top: 20px; }
.factory-transcript summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.factory-transcript ol { padding: 0; margin-top: 24px; list-style: none; columns: 2; column-gap: 40px; }
.factory-transcript li { position: relative; break-inside: avoid; padding: 0 0 18px 48px; }
.factory-transcript p { margin: 0 0 5px; font-size: .88rem; }
.factory-time { position: absolute; left: 0; top: 2px; font-size: .76rem; color: var(--blue); }
.factory-chinese { color: var(--muted); }
.content-page .factory-section > .container { width: 100%; padding-inline: 0; }
@media (max-width: 640px) {
 .factory-video-meta { flex-direction: column; gap: 8px; }
 .factory-transcript ol { columns: 1; }
}

/* Company, applications and resource centre — October 2026 */
.pathway-links .icon-arrow,.gateway-story .icon-arrow,.gateway-routes .icon-arrow {width:20px;height:20px;flex:0 0 20px;}
.home-pathways {padding:68px 0 78px;background:#fff;}
.pathways-grid {display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:start;}
.pathways-grid h2 {font-size:clamp(2rem,3.4vw,3rem);max-width:13ch;margin-top:18px;}
.pathway-links > a {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-top:1px solid var(--line-strong);color:var(--navy);font-size:1.18rem;transition:color .2s;}
.pathway-links small {display:block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:7px;}
.pathway-links > a:hover {color:var(--blue);}
.pathway-links > .pathway-all {justify-content:flex-start;border:0;font-size:.85rem;color:var(--blue);padding-top:20px;}
.brand-gateway {padding:70px 0;background:#0d293c;color:#dce6ed;}
.gateway-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:0;}
.gateway-image {position:relative;display:block;min-height:460px;overflow:hidden;background:#173b4f;scroll-margin-top:150px;}
.gateway-image > img {width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:46% 50%;transition:transform .65s;}
.gateway-image::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,22,35,.9),transparent 55%);pointer-events:none;}
.gateway-image:hover > img {transform:scale(1.025);}
.film-link {position:absolute;left:30px;right:30px;bottom:30px;display:flex;align-items:center;gap:18px;z-index:1;color:white;font-size:1rem;line-height:1.5;}
.film-link > span:last-child {margin-left:auto;font-size:1.5rem;}
.film-link small {display:block;color:#c7d9e6;font-size:.73rem;}
.film-play {display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid #a4b9c8;border-radius:50%;font-size:.75rem;padding-left:2px;transition:background .2s;}
.gateway-image:hover .film-play {background:white;color:var(--navy);}
.gateway-copy {padding:6px 0 0 58px;}
.gateway-copy .eyebrow {color:#a1c1d9;font-size:.64rem;}
.gateway-copy h2 {color:white;font-size:clamp(2.6rem,4.3vw,4rem);letter-spacing:-.045em;line-height:1.04;margin:23px 0;}
.gateway-copy > p:not(.eyebrow) {max-width:40ch;color:#bdcedb;font-size:.97rem;}
.gateway-story {display:inline-flex;align-items:center;gap:22px;color:white;font-size:.88rem;font-weight:600;padding-bottom:8px;margin-top:26px;border-bottom:1px solid #708b9e;}
.gateway-routes {border-top:1px solid #355063;margin-top:35px;}
.gateway-routes a {display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;padding:17px 0;border-bottom:1px solid #355063;font-size:.87rem;}
.gateway-routes small {display:block;color:#a6bdcd;font-size:.73rem;margin-top:3px;}
.gateway-story:hover,.gateway-routes a:hover {color:#94c9ff;}
.company-hero {padding:34px 0 0;background:#f6f8fa;}
.company-hero .breadcrumb {margin-bottom:46px;}
.company-hero-grid {display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;padding-bottom:46px;}
.company-hero h1,.application-intro h1,.resource-hero h1 {font-size:clamp(2.65rem,5.2vw,4.5rem);letter-spacing:-.05em;line-height:1.03;margin-top:22px;}
.company-hero-intro {padding-bottom:3px;}
.company-hero-intro p {color:var(--muted);max-width:43ch;font-size:1.05rem;}
.company-hero-intro .text-link {margin-top:23px;}
.company-panorama {margin:0;position:relative;}
.company-panorama img {width:100%;height:auto;aspect-ratio:1280/600;object-fit:contain;}
.company-panorama figcaption {display:flex;justify-content:space-between;gap:30px;background:#0d293c;color:#d9e7f1;padding:16px 25px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;}
.company-panorama figcaption span:first-child {color:white;font-weight:700;letter-spacing:.2em;}
.company-chapters {border-bottom:1px solid var(--line);background:#f6f8fa;}
.company-chapters .container {display:flex;align-items:center;justify-content:space-between;gap:25px;}
.company-chapters a {padding:25px 0;font-size:.71rem;color:#657f95;display:flex;gap:15px;}
.company-chapters a span {color:var(--navy);font-weight:600;font-size:.82rem;}
.company-chapters a:hover span {color:var(--blue);}
.company-overview,.compliance-section,#product-guides {scroll-margin-top:130px;}
.company-overview-grid {display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;}
.company-overview h2 {margin-top:20px;font-size:clamp(2.1rem,3.7vw,3.15rem);}
.company-legal {font-size:.72rem;letter-spacing:.025em;color:var(--muted);margin-bottom:18px;}
.company-overview .lead {font-size:1.45rem;line-height:1.5;color:var(--navy);margin-bottom:20px;letter-spacing:-.025em;}
.company-overview .lead + p {font-size:.95rem;color:var(--muted);}
.company-facts {border-top:1px solid var(--line-strong);margin-top:28px;}
.company-facts > div {display:grid;grid-template-columns:140px 1fr;gap:25px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.8rem;}
.company-facts dt {color:var(--muted);}
.company-facts dd {color:var(--navy);}
.company-process {background:#fff;}
.company-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:38px;}
.company-steps article {border-top:1px solid #9bb8ce;padding:24px 10px 0 0;}
.company-steps article > span {color:var(--blue);font-size:.67rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.company-steps h3 {font-size:1.6rem;margin:25px 0 15px;line-height:1.2;max-width:16ch;}
.company-steps p {font-size:.93rem;line-height:1.75;max-width:34ch;color:var(--muted);}
.compliance-section {background:#f3f6f8;border-top:1px solid var(--line);}
.compliance-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
.compliance-card {background:#fff;border:1px solid #dce5ec;transition:border-color .25s,box-shadow .25s;}
.compliance-card:hover {border-color:#93afc7;box-shadow:0 12px 28px #18354c0c;}
.certificate-preview {display:block;position:relative;padding:30px 40px 38px;background:#e9eff3;border-bottom:1px solid #dce5ec;}
.certificate-preview img {display:block;width:100%;height:300px;object-fit:contain;filter:drop-shadow(0 4px 6px #1c394022);}
.certificate-preview > span {position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:.68rem;color:#365875;}
.certificate-copy {padding:25px 26px 29px;}
.certificate-type {font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:#557d71;font-weight:700;}
.certificate-copy h3 {font-size:1.5rem;line-height:1.2;margin:12px 0;}
.certificate-copy > p:not(.certificate-type) {font-size:.76rem;color:var(--muted);}
.certificate-number {margin-top:5px;font-variant-numeric:tabular-nums;}
.certificate-copy .text-link {font-size:.77rem;margin-top:22px;}
.compliance-scope {margin-top:26px;font-size:.78rem;max-width:100ch;color:var(--muted);}
.application-intro {padding:34px 0 70px;background:#f6f8fa;border-bottom:1px solid var(--line);}
.application-intro .breadcrumb {margin-bottom:46px;}
.application-intro .page-hero-grid {grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;}
.application-studies {padding-top:62px;}
.study-header {display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:36px;}
.study-header h2 {font-size:1.4rem;}
.study-header > span {font-size:.68rem;color:var(--muted);letter-spacing:.09em;}
.application-study {display:grid;grid-template-columns:1fr 1fr;background:#f5f8f7;}
.application-study + .application-study {margin-top:44px;}
.study-visual {position:relative;min-height:490px;display:grid;place-items:center;overflow:hidden;background:#e7efea;}
.study-visual-label {position:absolute;top:24px;left:26px;right:26px;display:flex;justify-content:space-between;gap:15px;color:#456352;font-size:.6rem;text-transform:uppercase;letter-spacing:.09em;}
.study-visual-label span:first-child {font-weight:700;}
.study-instrument {position:relative;z-index:1;width:73%;height:370px;object-fit:contain;mix-blend-mode:multiply;}
.study-station-note {position:absolute;z-index:2;right:25px;bottom:56px;font-size:.66rem;line-height:1.7;color:#385844;border-left:1px solid #8ea99a;padding-left:13px;}
.study-visual-foot {position:absolute;bottom:22px;left:26px;font-size:.58rem;letter-spacing:.08em;color:#658072;text-transform:uppercase;}
.field-lines {position:absolute;left:-30%;right:-10%;top:57%;bottom:-25%;transform:rotate(-16deg);border-top:1px solid #afc5b7;background:repeating-linear-gradient(90deg,transparent 0,transparent 61px,#b5cbbb 62px,#b5cbbb 63px);}
.field-lines span {display:block;border-top:1px solid #b5cbbb;height:45px;}
.study-copy {padding:62px 56px;}
.study-copy .eyebrow {font-size:.63rem;}
.study-copy h2 {font-size:clamp(2rem,3.2vw,2.9rem);margin:22px 0;letter-spacing:-.04em;}
.study-copy > p:not(.eyebrow) {font-size:.92rem;color:var(--muted);}
.study-copy dl {margin:25px 0 30px;border-top:1px solid #cbd9d2;}
.study-copy dl > div {display:grid;grid-template-columns:70px 1fr;gap:18px;border-bottom:1px solid #cbd9d2;padding:11px 0;font-size:.74rem;}
.study-copy dt {color:#587462;}
.study-copy .btn {font-size:.81rem;padding-inline:19px;}
.study-rain {background:#f1f6fa;}
.study-rain .study-visual {background:#e3ecf5;order:2;}
.study-rain .study-copy {order:1;}
.study-rain .study-visual-label,.study-rain .study-station-note,.study-rain .study-visual-foot {color:#456c8b;}
.study-rain .study-station-note {border-color:#9bb6cf;}
.study-rain .study-instrument {height:335px;width:67%;}
.rain-lines {position:absolute;inset:60px 25px 60px;background-image:radial-gradient(#96b3cd 1px,transparent 1px);background-size:30px 30px;opacity:.55;}
.rain-lines span {position:absolute;top:0;left:15%;width:1px;height:90px;background:linear-gradient(transparent,#88a9c5);transform:rotate(15deg);}
.rain-lines span:nth-child(2) {left:32%;top:20px;height:120px;}
.rain-lines span:nth-child(3) {left:51%;top:2px;}
.rain-lines span:nth-child(4) {left:70%;top:30px;height:125px;}
.rain-lines span:nth-child(5) {left:87%;top:5px;}
.study-rain .study-copy dl,.study-rain .study-copy dl > div {border-color:#c8d9e7;}
.study-rain .study-copy dt {color:#52718b;}
.study-next {display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line-strong);margin-top:54px;padding-top:29px;font-size:.91rem;color:var(--muted);}
.resource-hero {padding:34px 0 60px;background:#f2f6fa;}
.resource-hero .breadcrumb {margin-bottom:40px;}
.resource-hero-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;}
.resource-hero h1 {margin-bottom:25px;}
.resource-hero .page-lede {font-size:1rem;max-width:43ch;}
.resource-hero .btn {margin-top:27px;}
.document-display {position:relative;display:flex;align-items:center;justify-content:center;min-height:410px;border-left:1px solid #ccdce9;padding:0 20px 0 35px;}
.document-display figure {margin:0;width:240px;max-width:100%;transform:none;}
.document-display figure img {width:100%;height:auto;border:1px solid #e0e8ef;box-shadow:0 20px 25px #153c5a1a;}
.document-display figcaption {font-size:.57rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:14px;line-height:1.65;}
.resource-routes {border-bottom:1px solid var(--line);}
.resource-routes .container {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.resource-routes a {padding:30px 30px 33px 0;position:relative;color:var(--ink);}
.resource-routes a + a {border-left:1px solid var(--line);padding-left:30px;}
.resource-routes a > span {font-size:.6rem;text-transform:uppercase;color:var(--blue);letter-spacing:.12em;}
.resource-routes h2 {font-size:1.14rem;letter-spacing:-.02em;margin:17px 0 10px;}
.resource-routes p {font-size:.76rem;color:var(--muted);max-width:30ch;}
.resource-routes svg {position:absolute;right:28px;top:28px;width:16px;}
.resource-routes a:hover h2 {color:var(--blue);}
/* Original English whitepaper, alongside the model guide library. */
.whitepaper-library {background:#f6f8fb;border-bottom:1px solid var(--line);scroll-margin-top:130px;}
.whitepaper-library .section-head {align-items:start;}
.whitepaper-feature {display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:64px;align-items:center;}
.whitepaper-cover {display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px;background:#e8eef4;border:1px solid #d8e2eb;color:var(--muted);}
.whitepaper-cover img {display:block;width:100%;max-width:270px;height:auto;object-fit:contain;transform:none;box-shadow:0 12px 28px #14314b14;}
.whitepaper-cover span {font-size:.72rem;}
.whitepaper-kicker {font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 16px;}
.whitepaper-copy h3 {font-size:clamp(1.65rem,2.5vw,2.3rem);letter-spacing:-.035em;line-height:1.2;margin:0 0 16px;}
.whitepaper-copy > p {font-size:.93rem;color:var(--muted);}
.whitepaper-copy .whitepaper-subtitle {font-size:.9rem;color:var(--ink);margin-bottom:14px;}
.whitepaper-copy .whitepaper-kicker {font-size:.68rem;color:var(--blue);}
.whitepaper-metadata {margin:24px 0 20px;border-top:1px solid var(--line);font-size:.78rem;}
.whitepaper-metadata > div {display:grid;grid-template-columns:76px 1fr;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);}
.whitepaper-metadata dt {color:var(--muted);}
.whitepaper-metadata dd {margin:0;color:var(--ink);}
.whitepaper-copy .whitepaper-topics-label {font-size:.72rem;margin-bottom:8px;color:var(--ink);font-weight:600;}
.whitepaper-topics {display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:0;color:var(--muted);font-size:.76rem;}
.whitepaper-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.whitepaper-copy .whitepaper-source {font-size:.76rem;margin:18px 0 0;}
@media(max-width:980px) {
 .resource-routes .container {grid-template-columns:repeat(2,minmax(0,1fr));}
 .resource-routes a:nth-child(3) {border-left:0;padding-left:0;}
 .resource-routes a:nth-child(n+3) {border-top:1px solid var(--line);}
 .whitepaper-feature {gap:32px;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);}
 .whitepaper-cover {padding:22px;}
}
@media(max-width:600px) {
 .whitepaper-feature {grid-template-columns:1fr;gap:30px;}
 .whitepaper-cover {padding:25px;}
 .whitepaper-cover img {max-width:220px;}
 .whitepaper-copy h3 {font-size:1.75rem;}
 .whitepaper-actions .btn {flex:1 1 140px;}
}
.library-heading {margin-bottom:34px;}
.library-heading-row {display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;margin:14px 0;}
.library-heading h2 {font-size:2.15rem;margin:0;}
.library-total {font-size:.8rem;color:var(--muted);margin:0;}
.library-heading > p:last-child {color:var(--muted);font-size:.9rem;}
.resource-library .guide-row {padding:26px 20px 26px 0;transition:background .2s;}
.resource-library .guide-row:hover {background:#f7fafc;}
.resource-library .model-label {font-size:.7rem;letter-spacing:.12em;}
.resource-library .guide-row h2 {font-size:1.12rem;letter-spacing:-.02em;}
.resource-library .guide-row .download-meta {font-size:.74rem;}
.resource-library .guide-row-actions .text-link {font-size:.78rem;}
.product-gallery figure {padding:20px;border:1px solid var(--line);background:#f8fafc;}
.product-gallery figure > a:first-child {display:block;background:#fff;}
.product-gallery img {display:block;width:100%;height:auto;max-height:none;object-fit:contain;}
.product-gallery .layout-expand {display:flex;justify-content:space-between;align-items:center;padding:14px 0 2px;font-size:.8rem;color:var(--blue);font-weight:600;}
.product-gallery figcaption {font-size:.75rem;line-height:1.65;margin-top:9px;}
@media(min-width:981px) {
 .home-pathways + .brand-gateway {padding-top:60px;}
 .company-hero + .company-chapters {position:relative;z-index:1;}
}
@media(max-width:1100px) {
 .pathways-grid {gap:55px;}.gateway-copy {padding-left:35px;}.gateway-copy h2 {font-size:3.1rem;}
 .company-hero-grid,.company-overview-grid {gap:50px;}.application-intro .page-hero-grid,.resource-hero-grid {gap:45px;}
 .study-copy {padding:44px 32px;}.study-visual-label {flex-direction:column;gap:5px;}.document-display {padding-left:22px;}.document-display figure {width:210px;}
 .certificate-preview {padding-inline:25px;}.certificate-preview img {height:270px;}
}
@media(max-width:800px) {
 .gateway-grid {grid-template-columns:1fr 1fr;}.gateway-copy {padding-left:28px;}.gateway-copy h2 {font-size:2.6rem;}.gateway-copy > p:not(.eyebrow) {font-size:.85rem;}
 .film-link {left:20px;right:20px;gap:12px;}.film-link small {font-size:.62rem;}.film-play {width:35px;height:35px;}.film-link {font-size:.88rem;}
 .company-hero-grid,.company-overview-grid {grid-template-columns:1fr;gap:28px;}.company-hero-intro {max-width:60ch;}.company-hero-intro p {max-width:none;}
 .company-steps {gap:24px;}.company-steps h3 {font-size:1.35rem;}.company-steps p {font-size:.83rem;}
 .compliance-grid {gap:14px;}.certificate-preview {padding:20px 16px 34px;}.certificate-preview img {height:220px;}.certificate-copy {padding:22px 18px;}.certificate-copy h3 {font-size:1.25rem;}
 .application-intro .page-hero-grid {grid-template-columns:1fr;gap:25px;}.application-study {grid-template-columns:1fr;}.study-rain .study-visual {order:0;}.study-rain .study-copy {order:0;}
 .study-visual {min-height:390px;}.study-instrument {height:300px;width:60%;}.study-visual-label {flex-direction:row;}.study-rain .study-instrument {height:285px;width:55%;}
 .study-copy {padding:36px;}.study-copy h2 {font-size:2.3rem;}.study-copy > p:not(.eyebrow) {max-width:56ch;}
 .resource-hero-grid {grid-template-columns:1fr 1fr;gap:30px;}.resource-hero h1 {font-size:2.9rem;}.document-display {min-height:350px;flex-direction:column;align-items:center;border:0;padding:0;}.document-display figure {width:185px;}.resource-routes a {padding-right:20px;}.resource-routes a + a {padding-left:20px;}.resource-routes svg {display:none;}
}
@media(max-width:600px) {
 .home-pathways {padding:45px 0 48px;}.pathways-grid {grid-template-columns:1fr;gap:26px;}.pathways-grid h2 {max-width:none;font-size:2.3rem;}.pathway-links > a {font-size:1.05rem;}
 .brand-gateway {padding:30px 0 42px;}.gateway-grid {grid-template-columns:1fr;}.gateway-image {min-height:290px;}.gateway-copy {padding:34px 4px 0;}.gateway-copy h2 {font-size:3rem;}.gateway-copy > p:not(.eyebrow) {font-size:.93rem;}.gateway-routes {margin-top:28px;}.film-link {font-size:.94rem;}.film-link small {font-size:.67rem;}
 .company-hero {padding-top:22px;}.company-hero .breadcrumb,.application-intro .breadcrumb {margin-bottom:26px;}.company-hero-grid {padding-bottom:30px;}.company-hero h1,.application-intro h1,.resource-hero h1 {font-size:2.85rem;}
 .company-panorama figcaption {padding:15px;flex-direction:column;gap:5px;font-size:.56rem;letter-spacing:.08em;}.company-chapters .container {display:grid;grid-template-columns:1fr 1fr;gap:0 25px;}.company-chapters a {padding:15px 0;gap:12px;}.company-chapters a:nth-child(-n+2) {border-bottom:1px solid var(--line);}.company-chapters a span {font-size:.76rem;}
 .company-overview-grid {gap:30px;}.company-overview .lead {font-size:1.25rem;}.company-facts > div {grid-template-columns:100px 1fr;gap:18px;font-size:.75rem;}
 .company-steps {grid-template-columns:1fr;gap:28px;}.company-steps article {padding-top:18px;}.company-steps h3 {font-size:1.6rem;margin:14px 0 12px;max-width:none;}.company-steps p {font-size:.92rem;max-width:none;}
 .compliance-grid {grid-template-columns:1fr;gap:24px;}.certificate-preview {padding:27px 24px 38px;}.certificate-preview img {height:310px;}.certificate-copy {padding:24px;}.certificate-copy h3 {font-size:1.6rem;}.certificate-copy > p:not(.certificate-type) {font-size:.8rem;}.compliance-scope {font-size:.77rem;}
 .application-intro {padding-top:22px;padding-bottom:36px;}.application-studies {padding-top:35px;}.study-header {flex-direction:column;align-items:start;gap:12px;margin-bottom:25px;}.study-header h2 {font-size:1.65rem;}.study-visual {min-height:350px;}.study-visual-label {top:20px;left:21px;right:21px;flex-direction:column;gap:4px;}.study-instrument {width:74%;height:280px;}.study-rain .study-instrument {height:260px;width:65%;}.study-station-note {right:18px;bottom:49px;font-size:.58rem;}.study-visual-foot {left:20px;bottom:18px;font-size:.54rem;}.study-copy {padding:29px 25px 34px;}.study-copy h2 {font-size:2.15rem;}.study-copy dl > div {grid-template-columns:55px 1fr;gap:14px;}.study-copy .btn {width:100%;}.study-next {flex-direction:column;gap:15px;margin-top:32px;}
 .resource-hero {padding-top:22px;padding-bottom:36px;}.resource-hero .breadcrumb {margin-bottom:25px;}.resource-hero-grid {grid-template-columns:1fr;gap:34px;}.document-display {display:none;}.resource-hero .page-lede {max-width:none;}
 .resource-routes .container {grid-template-columns:1fr;}.resource-routes a,.resource-routes a + a {padding:24px 34px 23px 0;border-left:0;}.resource-routes a + a {border-top:1px solid var(--line);}.resource-routes h2 {margin:10px 0 7px;font-size:1.3rem;}.resource-routes svg {display:block;right:3px;top:35px;}.resource-routes p {max-width:none;}.library-heading h2 {font-size:1.95rem;}.resource-library .guide-row {padding-right:0;}.resource-library .guide-row h2 {font-size:1.1rem;}
 .product-gallery figure {padding:12px;}.product-gallery img {height:auto;max-height:none;}
}
@media(prefers-reduced-motion:reduce) {
 .gateway-image > img,.compliance-card,.resource-library .guide-row {transition:none;}.gateway-image:hover > img {transform:none;}
}
@media print {
 .brand-gateway,.company-panorama figcaption {color:#111;background:white;}.gateway-copy h2,.gateway-copy .eyebrow,.gateway-copy a {color:#111;}.gateway-image {min-height:260px;}.gateway-image::after,.film-link {display:none;}.certificate-preview {background:white;}.certificate-preview img {filter:none;}.document-display figure {transform:none;}
}

/* English site review: one film, complete navigation, shorter catalogues. */
.nav-link[aria-current="true"] {color:var(--blue);}
.nav-link[aria-current="true"]::after {transform:scaleX(1);}
.mobile-nav > a[aria-current] {color:var(--blue);}
.mega-panel {max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;}
.mega-grid {grid-template-columns:.95fr 1.15fr 1.05fr 1fr;gap:30px;padding-top:30px;padding-bottom:32px;}
.mega-intro {padding-right:22px;}
.mega-heading {font-size:.62rem;letter-spacing:.09em;min-height:1.5em;}
.mega-title {font-size:1.55rem;}
.mega-link {font-size:.85rem;padding:12px 0;gap:10px;}
.mega-measures {grid-template-columns:1fr;}
.mega-measures a {padding:12px 0;font-size:.85rem;line-height:1.35;}
.company-hero-grid {padding-bottom:30px;}
.company-hero + .factory-section {padding-top:0;padding-bottom:32px;background:#f6f8fa;}
.factory-film-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 16px;}
.factory-film-heading h2 {font-size:.85rem;line-height:1.5;letter-spacing:0;font-weight:600;}
.factory-film-heading p {font-size:.75rem;color:var(--muted);margin:0;}
.catalog-pagination {margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.catalog-pagination[hidden] {display:none;}
.catalog-pagination > p {margin:0;color:var(--muted);font-size:.85rem;}
.catalog-pagination > div {display:flex;align-items:center;gap:24px;}
.catalog-pagination button {cursor:pointer;}
.catalog-pagination .text-link {background:transparent;border:0;font:inherit;color:var(--blue);padding:12px 0;}
.support-library-link {margin:24px 0 32px;}
@media(max-width:600px) {
 .company-hero-grid {padding-bottom:24px;}
 .company-hero + .factory-section {padding-bottom:22px;}
 .factory-film-heading {align-items:start;flex-direction:column;gap:3px;padding-bottom:12px;}
 .factory-video-meta {align-items:start;flex-direction:column;gap:8px;}
 .catalog-pagination {align-items:start;flex-direction:column;gap:14px;}
 .catalog-pagination > div {width:100%;justify-content:space-between;}
}
