/* ============================================================
   BNF Thailand Design System
   Tokens & semantic styles — single source of truth.

   The brand face is **Prompt** — a Thai+Latin humanist sans by
   Cadson Demak. Self-hosted from /fonts.

   Import:
     <link rel="stylesheet" href="colors_and_type.css">
   ============================================================ */

/* ----- Prompt: brand face ----- */






@media(min-width:769px){@font-face {
  font-family: "Prompt";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Prompt-Regular.ttf") format("truetype");
}}

@media(min-width:769px){@font-face {
  font-family: "Prompt";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Prompt-Medium.ttf") format("truetype");
}}

@media(min-width:769px){@font-face {
  font-family: "Prompt";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Prompt-SemiBold.ttf") format("truetype");
}}

@media(min-width:769px){@font-face {
  font-family: "Prompt";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Prompt-Bold.ttf") format("truetype");
}}






:root {
  /* ---------- Brand & accent ---------- */
  --color-primary:           #2868b0; /* BNF Blue — every link & CTA */
  --color-primary-focus:     #3578c5; /* Focus ring (lighter sibling) */
  --color-primary-on-dark:   #6e9ee0; /* Brighter blue for inline links on dark tiles */
  --color-on-primary:        #ffffff;

  /* ---------- Brand secondary ---------- */
  /* BNF's diamond mark pairs green + blue. Green is the brand-mark color, NOT
     an interactive color. Use for brand strokes, environment/sustainability
     content, and the second swatch in any two-color brand callout. Never as a
     CTA — that grammar is reserved for --color-primary. */
  --color-brand-green:       #68b828;
  --color-brand-green-dark:  #5aa522; /* Press / hover-darken */
  --color-brand-green-light: #8ed44a; /* Tints on dark tiles */

  /* ---------- Surfaces ---------- */
  --color-canvas:            #ffffff;
  --color-canvas-parchment:  #f5f5f7; /* Signature Apple-style off-white */
  --color-surface-pearl:     #fafafc; /* Ghost-button fill */
  --color-surface-tile-1:    #272729; /* Primary dark tile */
  --color-surface-tile-2:    #2a2a2c; /* Micro-step lighter */
  --color-surface-tile-3:    #252527; /* Micro-step darker */
  --color-surface-black:     #000000; /* Global nav, video frames */
  --color-surface-chip:      rgba(210, 210, 215, 0.64); /* Circular controls over photo */

  /* ---------- Text ---------- */
  --color-ink:               #1d1d1f; /* Headlines, body on light */
  --color-body:              #1d1d1f; /* Same hex; one near-black tone */
  --color-body-on-dark:      #ffffff;
  --color-body-muted:        #cccccc; /* Secondary copy on dark */
  --color-ink-muted-80:      #333333; /* Pearl-button body */
  --color-ink-muted-48:      #7a7a7a; /* Disabled, fine print */

  /* ---------- Hairlines & borders ---------- */
  --color-divider-soft:      rgba(0, 0, 0, 0.04); /* Pearl-button ring */
  --color-hairline:          #e0e0e0;              /* 1px utility-card border */
  --color-hairline-dark:     rgba(255, 255, 255, 0.08);

  /* ---------- Typography ---------- */
  --font-display: "Prompt", system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif;
  --font-text:    "Prompt", system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;

  /* Weight ladder — 500 deliberately absent */
  --fw-light:    300;
  --fw-regular:  400;
  --fw-semi:     600;
  --fw-bold:     700;

  /* Hierarchy tokens — size / line-height / letter-spacing */
  --t-hero-display-size:    56px;  --t-hero-display-lh:    1.07; --t-hero-display-ls:    -0.014em;
  --t-display-lg-size:      40px;  --t-display-lg-lh:      1.10; --t-display-lg-ls:       0;
  --t-display-md-size:      34px;  --t-display-md-lh:      1.47; --t-display-md-ls:      -0.012em;
  --t-lead-size:            28px;  --t-lead-lh:            1.14; --t-lead-ls:             0.007em;
  --t-lead-airy-size:       24px;  --t-lead-airy-lh:       1.5;  --t-lead-airy-ls:        0;
  --t-tagline-size:         21px;  --t-tagline-lh:         1.19; --t-tagline-ls:          0.011em;
  --t-body-strong-size:     17px;  --t-body-strong-lh:     1.24; --t-body-strong-ls:     -0.012em;
  --t-body-size:            17px;  --t-body-lh:            1.5;  --t-body-ls:            -0.005em; /* Prompt-tuned: more leading, less negative tracking */
  --t-dense-link-size:      17px;  --t-dense-link-lh:      2.41; --t-dense-link-ls:       0;
  --t-caption-size:         14px;  --t-caption-lh:         1.43; --t-caption-ls:         -0.011em;
  --t-caption-strong-size:  14px;  --t-caption-strong-lh:  1.29; --t-caption-strong-ls:  -0.011em;
  --t-button-large-size:    18px;  --t-button-large-lh:    1.0;  --t-button-large-ls:     0;
  --t-button-utility-size:  14px;  --t-button-utility-lh:  1.29; --t-button-utility-ls:  -0.011em;
  --t-fine-print-size:      12px;  --t-fine-print-lh:      1.0;  --t-fine-print-ls:      -0.006em;
  --t-micro-legal-size:     10px;  --t-micro-legal-lh:     1.3;  --t-micro-legal-ls:     -0.004em;
  --t-nav-link-size:        12px;  --t-nav-link-lh:        1.0;  --t-nav-link-ls:        -0.006em;

  /* ---------- Spacing (8px base) ---------- */
  --space-xxs:   4px;
  --space-xs:    8px;
  --space-sm:   12px;
  --space-md:   17px;  /* matches body line */
  --space-lg:   24px;
  --space-xl:   32px;
  --space-xxl:  48px;
  --space-section: 80px; /* product-tile vertical padding */

  /* ---------- Radii ---------- */
  --radius-none: 0;
  --radius-xs:   5px;
  --radius-sm:   8px;
  --radius-md:  11px;
  --radius-lg:  18px;
  --radius-pill: 9999px;
  --radius-full: 50%;

  /* ---------- Elevation ---------- */
  --shadow-product: rgba(0, 0, 0, 0.22) 3px 5px 30px 0;
  /* No other shadows exist in this system. */
  --backdrop-frosted: saturate(180%) blur(20px);

  /* ---------- Layout maxes ---------- */
  --content-narrow: 980px;
  --content-wide:   1440px;

  /* ---------- Motion ---------- */
  --ease-out:     cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-press:    100ms;
  --dur-reveal:   400ms;
  --dur-fade:     200ms;
  --press-scale:  0.95;
}

/* ============================================================
   Base reset + semantic typography
   ============================================================ */

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

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--color-canvas);
  color: var(--color-body);
  font-family: var(--font-text);
  font-size: var(--t-body-size);
  line-height: var(--t-body-lh);
  letter-spacing: var(--t-body-ls);
  font-weight: var(--fw-regular);
}

/* ----- Semantic type ----- */

h1, .h-hero {
  font-family: var(--font-display);
  font-size: var(--t-hero-display-size);
  line-height: var(--t-hero-display-lh);
  letter-spacing: var(--t-hero-display-ls);
  font-weight: var(--fw-semi);
  color: var(--color-ink);
  margin: 0;
}

h2, .h-display {
  font-family: var(--font-display);
  font-size: var(--t-display-lg-size);
  line-height: var(--t-display-lg-lh);
  letter-spacing: var(--t-display-lg-ls);
  font-weight: var(--fw-semi);
  color: var(--color-ink);
  margin: 0;
}

h3, .h-section {
  font-family: var(--font-display);
  font-size: var(--t-display-md-size);
  line-height: var(--t-display-md-lh);
  letter-spacing: var(--t-display-md-ls);
  font-weight: var(--fw-semi);
  color: var(--color-ink);
  margin: 0;
}

.lead {
  font-size: var(--t-lead-size);
  line-height: var(--t-lead-lh);
  letter-spacing: var(--t-lead-ls);
  font-weight: var(--fw-regular);
  color: var(--color-ink);
}

.lead-airy {
  font-size: var(--t-lead-airy-size);
  line-height: var(--t-lead-airy-lh);
  letter-spacing: var(--t-lead-airy-ls);
  font-weight: var(--fw-light);
  color: var(--color-ink);
}

.tagline {
  font-size: var(--t-tagline-size);
  line-height: var(--t-tagline-lh);
  letter-spacing: var(--t-tagline-ls);
  font-weight: var(--fw-semi);
  color: var(--color-ink);
}

p, .body {
  font-size: var(--t-body-size);
  line-height: var(--t-body-lh);
  letter-spacing: var(--t-body-ls);
  font-weight: var(--fw-regular);
  color: var(--color-body);
  margin: 0;
}

strong, .body-strong {
  font-weight: var(--fw-semi);
  letter-spacing: var(--t-body-strong-ls);
}

small, .caption {
  font-size: var(--t-caption-size);
  line-height: var(--t-caption-lh);
  letter-spacing: var(--t-caption-ls);
}

.caption-strong {
  font-size: var(--t-caption-strong-size);
  line-height: var(--t-caption-strong-lh);
  letter-spacing: var(--t-caption-strong-ls);
  font-weight: var(--fw-semi);
}

.fine-print {
  font-size: var(--t-fine-print-size);
  line-height: var(--t-fine-print-lh);
  letter-spacing: var(--t-fine-print-ls);
  color: var(--color-ink-muted-48);
}

.micro-legal {
  font-size: var(--t-micro-legal-size);
  line-height: var(--t-micro-legal-lh);
  letter-spacing: var(--t-micro-legal-ls);
  color: var(--color-ink-muted-48);
}

/* ----- Links ----- */

a, .text-link {
  color: var(--color-primary);
  text-decoration: none;
  transition: opacity var(--dur-fade) var(--ease-out);
}
a:hover, .text-link:hover { text-decoration: underline; }

.text-link--on-dark { color: var(--color-primary-on-dark); }

/* ----- Dark-tile inversions ----- */

.on-dark {
  background: var(--color-surface-tile-1);
  color: var(--color-body-on-dark);
}
.on-dark h1, .on-dark h2, .on-dark h3, .on-dark .lead, .on-dark .tagline { color: var(--color-body-on-dark); }
.on-dark p, .on-dark .body { color: var(--color-body-on-dark); }
.on-dark .muted { color: var(--color-body-muted); }

/* ============================================================
   BNF Thailand — site styles. Layered on top of tokens.css.
   ============================================================ */

html, body { background: var(--color-canvas); }
body {
  font-family: var(--font-text);
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
}
*::selection { background: var(--color-primary); color: #fff; }

img { display: block; max-width: 100%; }
button { font-family: inherit; }

/* ---------- Global nav (white bar) ---------- */
.gnav {
  position: sticky; top: 0; z-index: 60;
  background: #fff;
  height: 56px;
  display: flex; align-items: center;
  padding: 0 28px; gap: 32px;
  color: var(--color-ink);
  border-bottom: 1px solid var(--color-hairline);
}
.gnav .brand {
  display: flex; align-items: center; gap: 10px;
  cursor: pointer;
  font-weight: 700; font-size: 15px; letter-spacing: -0.01em;
  color: var(--color-ink);
}
.gnav .brand .mark { width: 18px; height: 18px; }
.gnav .links { display: flex; gap: 22px; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.gnav .links::-webkit-scrollbar { display: none; }
.gnav .links :is(button,a) {
  background: transparent; border: 0; color: var(--color-ink-muted-80);
  font-family: inherit; font-size: 13px; letter-spacing: -0.006em;
  cursor: pointer; padding: 6px 0;
  white-space: nowrap;
  transition: color 200ms var(--ease-out);
}
.gnav .links :is(button,a):hover { color: var(--color-ink); }
.gnav .links :is(button,a).active { color: var(--color-primary); font-weight: var(--fw-semi); }
.gnav .right { display: flex; gap: 18px; align-items: center; }
.gnav .right button {
  background: transparent; border: 0; padding: 4px; cursor: pointer;
  color: var(--color-ink);
}
.gnav .right svg { width: 16px; height: 16px; }
.gnav .lang {
  font-size: 11px; letter-spacing: 0.04em;
  color: var(--color-ink-muted-48);
  border-left: 1px solid var(--color-hairline);
  padding-left: 18px;
}

/* ---------- Generic content widths ---------- */
.wrap-wide   { max-width: var(--content-wide);   margin: 0 auto; padding: 0 28px; }
.wrap-narrow { max-width: var(--content-narrow); margin: 0 auto; padding: 0 28px; }

/* ---------- Pills (CTAs) ---------- */
.pill {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px;
  background: var(--color-primary); color: #fff;
  border: 0; border-radius: var(--radius-pill);
  font-family: var(--font-text); font-size: 15px; font-weight: 400;
  padding: 11px 22px;
  cursor: pointer;
  letter-spacing: -0.012em;
  transition: transform var(--dur-press) var(--ease-out), background var(--dur-fade) var(--ease-out);
  text-decoration: none;
  white-space: nowrap;
}
.pill:hover { background: #1e5a9d; }
.pill:active { transform: scale(0.95); }
.pill:focus-visible { outline: 2px solid var(--color-primary-focus); outline-offset: 4px; }
.pill.ghost {
  background: transparent; color: var(--color-primary);
  border: 1px solid var(--color-primary);
  padding: 10px 21px;
}
.pill.ghost:hover { background: rgba(40,104,176,0.06); }
.on-dark .pill.ghost { color: #6e9ee0; border-color: #6e9ee0; }
.on-dark .pill.ghost:hover { background: rgba(255,255,255,0.06); }
.pill.sm { font-size: 13px; padding: 7px 14px; }
.pill.lg { font-size: 17px; font-weight: var(--fw-light); padding: 14px 30px; }
.pill.dark { background: #1d1d1f; color: #fff; }
.pill.dark:hover { background: #000; }

/* ---------- Text link arrow ---------- */
.alink {
  color: var(--color-primary);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.012em;
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 4px;
  cursor: pointer;
}
.alink:hover { text-decoration: underline; }
.alink svg { width: 14px; height: 14px; transition: transform 200ms var(--ease-out); }
.alink:hover svg { transform: translateX(3px); }
.on-dark .alink { color: var(--color-primary-on-dark); }

/* ---------- Tiles (alternating bands) ---------- */
.tile {
  padding: var(--space-section) 28px;
  text-align: center;
  position: relative;
}
.tile.light      { background: #ffffff; color: var(--color-ink); }
.tile.parchment  { background: var(--color-canvas-parchment); color: var(--color-ink); }
.tile.dark       { background: var(--color-surface-tile-1); color: #fff; }
.tile.dark-2     { background: var(--color-surface-tile-2); color: #fff; }
.tile.dark-3     { background: var(--color-surface-tile-3); color: #fff; }
.tile h2 {
  font-family: var(--font-display);
  font-size: 52px; font-weight: var(--fw-semi);
  letter-spacing: -0.014em; line-height: 1.08;
  margin: 0;
  max-width: 880px; margin-inline: auto;
  color: inherit;
}
.tile .sub {
  font-size: 22px; font-weight: 400; letter-spacing: 0.005em;
  line-height: 1.36;
  margin: 14px auto 0; max-width: 640px;
  color: inherit;
}
.tile.dark .sub, .tile.dark-2 .sub, .tile.dark-3 .sub { color: var(--color-body-muted); }
.tile .ctas { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }
.tile .eyebrow {
  text-transform: uppercase;
  font-size: 12px; letter-spacing: 0.16em;
  color: var(--color-primary);
  font-weight: var(--fw-semi);
  margin-bottom: 14px;
}
.tile.dark .eyebrow, .tile.dark-2 .eyebrow, .tile.dark-3 .eyebrow { color: var(--color-primary-on-dark); }

/* ---------- Product photo (placeholder) ---------- */
.photo {
  display: block;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-product);
  overflow: hidden;
  position: relative;
  background: #efeff2;
}
.photo.no-shadow { box-shadow: none; }
.photo.square    { aspect-ratio: 1 / 1; }
.photo.wide      { aspect-ratio: 16 / 10; }
.photo.tall      { aspect-ratio: 3 / 4; }
.photo.dark-bg   { background: #1c1c1e; }

/* SVG-driven photographic placeholder. Real product photos would
   replace these — the framing is built so they swap cleanly. */
.photo svg { width: 100%; height: 100%; display: block; }

/* ---------- Hero (home) ---------- */
.hero {
  position: relative;
  background: var(--color-canvas-parchment);
  overflow: hidden;
}
.hero-inner {
  max-width: var(--content-wide); margin: 0 auto;
  padding: 84px 28px 96px;
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px;
  align-items: center;
}
@media (max-width: 980px) { .hero-inner { grid-template-columns: 1fr; padding: 56px 22px 64px; } }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary); font-weight: var(--fw-semi);
}
.hero-eyebrow .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-brand-green);
}
.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(48px, 6vw, 78px);
  line-height: 1.02; letter-spacing: -0.018em;
  font-weight: var(--fw-semi);
  margin: 18px 0 0;
}
.hero h1 .accent { color: var(--color-primary); font-style: italic; font-weight: 600; }
.hero .lead {
  margin-top: 18px;
  font-size: 20px; line-height: 1.45; max-width: 480px;
  color: var(--color-ink-muted-80);
  font-weight: 400; letter-spacing: -0.005em;
}
.hero .ctas { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.hero-meta {
  margin-top: 32px;
  display: flex; gap: 28px;
  font-size: 13px; color: var(--color-ink-muted-48);
}
.hero-meta span strong {
  display: block; font-size: 24px;
  font-weight: var(--fw-semi); color: var(--color-ink);
  letter-spacing: -0.012em;
}

.hero .lead .lead-quiet {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--color-brand-green-dark); font-weight: 600;
}
.hero .lead .lead-quiet svg { flex: none; }

/* ---------- Green Bioxide: products page feature + detail extras ---------- */
.gbx-feature {
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 0;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); overflow: hidden; cursor: pointer;
  transition: box-shadow 220ms var(--ease-out), transform 220ms var(--ease-out);
}
.gbx-feature:hover { box-shadow: 0 22px 50px -24px rgba(12,40,28,0.28); transform: translateY(-2px); }
@media (max-width: 860px) { .gbx-feature { grid-template-columns: 1fr; } }
.gbx-feature-media { background: linear-gradient(155deg,#0f5a36,#07301d); min-height: 280px; }
.gbx-feature-media svg { display: block; width: 100%; height: 100%; }
.gbx-feature-body { padding: 34px 36px; display: flex; flex-direction: column; align-items: flex-start; }
.gbx-feature-body h3 {
  font-family: var(--font-display); font-size: 30px; font-weight: var(--fw-bold);
  letter-spacing: -0.018em; margin: 12px 0 0; color: var(--color-ink);
}
.gbx-feature-body p {
  margin: 12px 0 0; font-size: 15px; line-height: 1.6;
  color: var(--color-ink-muted-80); text-wrap: pretty;
}
.gbx-feature-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.gbx-feature-tags span {
  background: rgba(14,107,60,0.08); color: #0b5230; border: 1px solid rgba(14,107,60,0.16);
  border-radius: 9999px; padding: 6px 12px; font-size: 12.5px; font-weight: var(--fw-semi);
}
.gbx-feature-body .actions { display: flex; gap: 10px; margin-top: auto; }

.app-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 920px) { .app-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .app-grid { grid-template-columns: 1fr; } }
.app-card {
  display: flex; gap: 13px; align-items: flex-start;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 20px 22px;
}
.app-ic {
  width: 30px; height: 30px; border-radius: 8px; flex: none;
  background: rgba(14,107,60,0.1); color: #0e6b3c; display: grid; place-items: center;
}
.app-t { font-family: var(--font-display); font-size: 16px; font-weight: var(--fw-semi); letter-spacing: -0.01em; color: var(--color-ink); }
.app-c { margin-top: 4px; font-size: 13.5px; line-height: 1.5; color: var(--color-ink-muted-80); }

.eff-table {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); overflow: hidden; max-width: 860px;
}
.eff-row {
  display: grid; grid-template-columns: 1fr 140px 140px; align-items: center;
  border-top: 1px solid var(--color-hairline);
}
.eff-row:first-child { border-top: 0; }
.eff-row > div { padding: 14px 22px; font-size: 14.5px; letter-spacing: -0.006em; }
.eff-head { background: var(--color-canvas); }
.eff-head > div { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: var(--fw-semi); color: var(--color-ink-muted-48); }
.eff-name { font-style: italic; color: var(--color-ink); }
.eff-ppm { font-family: ui-monospace, monospace; color: var(--color-ink-muted-80); }
.eff-time { font-weight: var(--fw-semi); color: #0e6b3c; }
@media (max-width: 560px) {
  .eff-row { grid-template-columns: 1fr 80px 90px; }
  .eff-row > div { padding: 11px 14px; font-size: 13px; }
}

/* ---------- Green Bioxide highlight band ---------- */
.gbx-band {
  background:
    radial-gradient(120% 130% at 88% 12%, rgba(110,212,74,0.18), transparent 55%),
    linear-gradient(155deg, #0f5a36 0%, #0a3f26 58%, #07301d 100%);
  color: #fff;
}
.gbx-inner {
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items: center;
  padding-block: 40px;
}
@media (max-width: 920px) { .gbx-inner { grid-template-columns: 1fr; gap: 28px; padding-block: 34px; } }
.gbx-eyebrow { color: #aee9c4; }
.gbx-eyebrow .dot { background: var(--color-brand-green-light); }
.gbx-band h2 {
  font-family: var(--font-display); color: #fff;
  font-size: clamp(26px, 2.8vw, 34px); font-weight: var(--fw-bold);
  letter-spacing: -0.02em; line-height: 1.1; margin: 12px 0 0;
}
.gbx-mk { color: var(--color-brand-green-light); }
.gbx-lead {
  margin: 12px 0 0; max-width: 540px;
  font-size: 15.5px; line-height: 1.55; color: rgba(255,255,255,0.84); text-wrap: pretty;
}
.gbx-lead strong { color: #fff; font-weight: var(--fw-semi); }
.gbx-points { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.gbx-points > div {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: rgba(255,255,255,0.92); letter-spacing: -0.008em; line-height: 1.4;
}
.gbx-points svg { color: var(--color-brand-green-light); flex: none; margin-top: 2px; }
.gbx-apps { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.gbx-chip {
  border: 1px solid rgba(174,233,196,0.35); border-radius: 9999px;
  padding: 6px 12px; font-size: 12.5px; color: #d9f5e3;
  background: rgba(255,255,255,0.05); letter-spacing: -0.006em;
}
.gbx-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.gbx-btn {
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: 9999px; padding: 13px 22px; cursor: pointer;
  font-family: var(--font-display); font-size: 15px; font-weight: var(--fw-semi);
  letter-spacing: -0.01em; border: 1px solid transparent;
  background: #fff; color: #0a3f26;
  transition: transform 180ms var(--ease-out), background 180ms var(--ease-out);
}
.gbx-btn:hover { transform: translateY(-2px); background: #eafaf0; }
.gbx-btn.ghost { background: transparent; border-color: rgba(255,255,255,0.4); color: #fff; }
.gbx-btn.ghost:hover { background: rgba(255,255,255,0.08); }
.gbx-visual { display: flex; flex-direction: column; gap: 12px; }
.gbx-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px; overflow: hidden;
}
.gbx-stats > div {
  background: rgba(7,48,29,0.6); padding: 12px 8px; text-align: center;
  display: flex; flex-direction: column; gap: 2px;
}
.gbx-stats strong { font-family: var(--font-display); font-size: 19px; font-weight: var(--fw-bold); color: #fff; letter-spacing: -0.02em; }
.gbx-stats span { font-size: 11px; color: rgba(255,255,255,0.66); }
@media (max-width: 480px) { .gbx-stats { grid-template-columns: repeat(2, 1fr); } }
.gbx-photo {
  border-radius: 18px; overflow: hidden; aspect-ratio: 16 / 9;
  box-shadow: 0 20px 44px -22px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.12);
}
.gbx-photo svg, .gbx-photo image-slot { display: block; width: 100%; height: 100%; }

/* Hero feature card (Stomacher) */
.hero-feature {
  position: relative;
  background: #fff;
  border-radius: 28px;
  padding: 36px 36px 32px;
  border: 1px solid var(--color-hairline);
  display: flex; flex-direction: column; gap: 18px;
}
.hero-feature .tag {
  display: inline-flex; align-items: center; gap: 8px;
  align-self: flex-start;
  background: rgba(40,104,176,0.08);
  color: var(--color-primary);
  border-radius: 9999px;
  padding: 6px 12px;
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
}
.hero-feature .ftitle {
  font-family: var(--font-display);
  font-size: 30px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  line-height: 1.1;
}
.hero-feature .fsub {
  font-size: 15px; color: var(--color-ink-muted-80); line-height: 1.5;
}
.hero-feature .photo { width: 100%; height: 280px; }
.hero-feature .row {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 18px;
}
.hero-feature .stats {
  display: flex; gap: 22px; font-size: 13px;
  color: var(--color-ink-muted-48);
}
.hero-feature .stats strong {
  display: block;
  font-size: 18px; color: var(--color-ink);
  font-weight: var(--fw-semi); letter-spacing: -0.012em;
}
.hero-feature .toggle {
  display: flex; gap: 4px;
  background: var(--color-canvas-parchment);
  border-radius: 9999px;
  padding: 4px;
}
.hero-feature .toggle button {
  border: 0; background: transparent;
  font-family: inherit; font-size: 12px; font-weight: var(--fw-semi);
  letter-spacing: -0.006em;
  padding: 8px 14px; border-radius: 9999px;
  color: var(--color-ink-muted-48); cursor: pointer;
  transition: all 200ms var(--ease-out);
}
.hero-feature .toggle button.active {
  background: #1d1d1f; color: #fff;
}

/* Trust badges row under the hero CTAs (inline — sit in flow, never overlap) */
.hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-chip {
  background: #fff;
  border: 1px solid var(--color-hairline);
  border-radius: 9999px;
  padding: 8px 14px 8px 8px;
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: var(--fw-semi);
  letter-spacing: -0.006em;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.hero-chip .av {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-brand-green), var(--color-primary));
  display: grid; place-items: center;
  color: #fff; font-size: 11px;
}

/* ---------- Category grid (popular instruments) ---------- */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 1100px) { .cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .cat-grid { grid-template-columns: 1fr; } }
.cat-card {
  background: var(--color-canvas-parchment);
  border-radius: var(--radius-lg);
  padding: 22px;
  display: grid; grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  text-decoration: none; color: inherit;
  transition: transform 240ms var(--ease-out), background 240ms var(--ease-out);
  cursor: pointer;
}
.cat-card:hover { transform: translateY(-2px); background: #ececef; }
.cat-card .name {
  font-size: 18px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
}
.cat-card .meta { font-size: 13px; color: var(--color-ink-muted-48); margin-top: 4px; }
.cat-card .thumb {
  width: 92px; height: 92px; border-radius: 12px;
  background: #fff;
  overflow: hidden;
  flex: none;
}
.cat-card .thumb .cat-photo {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 8px;
  background: #fff;
  mix-blend-mode: multiply;
}

/* ---------- Section header ---------- */
.section-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 16px; margin-bottom: 28px;
}
.section-head h2 {
  font-family: var(--font-display);
  font-size: 36px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin: 0;
}
.section-head .sub { color: var(--color-ink-muted-48); font-size: 15px; margin-top: 6px; }

/* ---------- Featured dark card (Daily Deals analogue) ---------- */
.featured-dark {
  background: #1d1d1f;
  color: #fff;
  border-radius: 36px;
  padding: 56px 48px;
  margin: 0 28px;
  max-width: 1384px;
  margin-inline: auto;
}
.featured-dark .header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 32px;
}
.featured-dark h2 {
  font-family: var(--font-display);
  font-size: 38px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin: 0; color: #fff;
}
.featured-dark .see-all {
  color: var(--color-primary-on-dark);
  font-size: 15px;
  display: inline-flex; gap: 6px; align-items: center;
  text-decoration: none; cursor: pointer;
}
.featured-dark .grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
}
@media (max-width: 980px) { .featured-dark .grid { grid-template-columns: 1fr; } }
.featured-dark .card {
  background: var(--color-surface-tile-2);
  border-radius: 24px;
  padding: 22px;
  display: flex; flex-direction: column; gap: 14px;
  cursor: pointer;
  transition: transform 240ms var(--ease-out);
}
.featured-dark .card:hover { transform: translateY(-3px); }
.featured-dark .card .photo {
  position: relative;
  width: 100%; aspect-ratio: 1 / 1; border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}
.featured-dark .card .photo .stk-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  font-size: 11px; font-weight: var(--fw-semi); letter-spacing: 0.01em;
  padding: 5px 10px; border-radius: 999px;
  backdrop-filter: blur(4px);
}
.featured-dark .card .photo .stk-badge.new {
  background: rgba(40, 104, 176, 0.95); color: #fff;
}
.featured-dark .card .photo .stk-badge.last {
  background: rgba(193, 120, 30, 0.96); color: #fff;
}
.lineup-group { margin-top: 26px; }
.lineup-group:first-of-type { margin-top: 8px; }
.lineup-group .group-label {
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: var(--fw-semi); letter-spacing: 0.01em;
  color: rgba(255,255,255,0.74);
  margin-bottom: 14px;
}
.lineup-group .group-label .gl-dot {
  width: 8px; height: 8px; border-radius: 50%; flex: none;
}
.lineup-group .group-label .gl-dot.new { background: #5a9bea; }
.lineup-group .group-label .gl-dot.last { background: #e0a23c; }
.featured-dark .card .photo .prod-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.featured-dark .card .photo .prod-photo.sm {
  object-fit: contain;
  padding: 17%;
}
.featured-dark .card .h { display: flex; justify-content: space-between; align-items: flex-start; }
.featured-dark .card .h .name {
  font-size: 18px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
}
.featured-dark .card .h .meta { font-size: 12px; color: var(--color-body-muted); margin-top: 2px; }
.featured-dark .card .add {
  width: 36px; height: 36px; border-radius: 50%;
  background: #fff; color: #1d1d1f;
  border: 0; cursor: pointer;
  display: grid; place-items: center;
}
.featured-dark .card .row {
  display: flex; justify-content: space-between; align-items: center;
}
.featured-dark .card .row .spec { font-size: 13px; color: var(--color-body-muted); }
.featured-dark .card .row .spec strong { color: #fff; font-weight: var(--fw-semi); }

/* ---------- Split feature (luxury-on-my-mind analogue) ---------- */
.split-feature {
  background: var(--color-canvas-parchment);
  border-radius: 36px;
  margin: 80px 28px;
  max-width: 1384px;
  margin-inline: auto;
  padding: 64px;
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 56px; align-items: center;
}
@media (max-width: 980px) {
  .split-feature { grid-template-columns: 1fr; padding: 40px; margin: 60px 22px; }
}
.split-feature h2 {
  font-family: var(--font-display);
  font-size: 42px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  line-height: 1.05; margin: 0;
}
.split-feature p { margin-top: 16px; font-size: 17px; color: var(--color-ink-muted-80); max-width: 380px; }
.split-feature .bullets {
  margin-top: 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.split-feature .bullets div {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 9999px; padding: 10px 18px;
  font-size: 14px; font-weight: var(--fw-semi); letter-spacing: -0.011em;
  width: max-content;
}
.split-feature .bullets div svg { width: 16px; height: 16px; color: var(--color-brand-green); flex: none; }
.split-feature .visual {
  position: relative;
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.split-feature .visual .photo { height: 320px; }
.split-feature .visual .photo:nth-child(2) { margin-top: 40px; }
.split-feature .badge {
  position: absolute; top: 12px; left: 12px;
  background: #fff; border-radius: 9999px;
  padding: 8px 14px;
  font-size: 12px; font-weight: var(--fw-semi);
  border: 1px solid var(--color-hairline);
}
.split-feature .float {
  position: absolute;
  bottom: 28px; left: 50%; transform: translateX(-50%);
  background: #fff;
  border-radius: 16px;
  padding: 12px 18px;
  border: 1px solid var(--color-hairline);
  font-size: 12px; text-align: center;
  box-shadow: 0 14px 30px rgba(0,0,0,0.10);
}
.split-feature .float strong {
  display: block; font-size: 22px; color: var(--color-primary);
  letter-spacing: -0.012em;
}

/* ---------- New arrivals strip ---------- */
.strip {
  padding: 60px 28px 30px;
  max-width: var(--content-wide); margin: 0 auto;
}
.strip-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
@media (max-width: 980px) { .strip-grid { grid-template-columns: repeat(2, 1fr); } }
.strip-card {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg);
  padding: 14px;
  cursor: pointer;
  transition: transform 200ms var(--ease-out);
}
.strip-card:hover { transform: translateY(-2px); }
.strip-card .photo { width: 90px; height: 90px; border-radius: 12px; flex: none; }
.strip-card .info .name { font-size: 15px; font-weight: var(--fw-semi); letter-spacing: -0.011em; }
.strip-card .info .meta { font-size: 12px; color: var(--color-ink-muted-48); margin-top: 2px; }

/* ---------- Marquee strip ---------- */
.marquee {
  overflow: hidden;
  padding: 28px 0;
  border-top: 1px solid var(--color-hairline);
  border-bottom: 1px solid var(--color-hairline);
}
.marquee-track {
  display: flex; gap: 56px; align-items: center;
  animation: scroll 32s linear infinite;
  white-space: nowrap;
  width: max-content;
}
.marquee-item {
  font-family: var(--font-display);
  font-size: 56px; font-weight: var(--fw-bold); letter-spacing: -0.02em;
  color: var(--color-ink);
  display: inline-flex; align-items: center; gap: 28px;
}
.marquee-item .dot {
  width: 36px; height: 36px; border-radius: 50%;
  background: #1d1d1f; color: #fff;
  display: grid; place-items: center;
}
.marquee-item .dot svg { width: 14px; height: 14px; }
.marquee-item.outline {
  -webkit-text-stroke: 1.2px #1d1d1f;
  color: transparent;
}
@keyframes scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- Dark CTA banner ---------- */
.cta-banner {
  margin: 80px 28px 80px;
  border-radius: 36px;
  background:
    linear-gradient(140deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.75) 100%),
    radial-gradient(120% 80% at 80% 20%, #3a4a5a 0%, #1a1a1c 70%);
  max-width: 1384px; margin-inline: auto;
  padding: 64px; min-height: 360px;
  color: #fff;
  position: relative;
  overflow: hidden;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px;
  align-items: end;
}
@media (max-width: 980px) { .cta-banner { grid-template-columns: 1fr; padding: 40px; } }
.cta-banner .left h3 {
  font-family: var(--font-display);
  font-size: 48px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  line-height: 1.05; margin: 0; color: #fff;
}
.cta-banner .left p {
  margin-top: 14px; max-width: 460px;
  color: rgba(255,255,255,0.78);
  font-size: 16px;
}
.cta-banner .left .form {
  margin-top: 26px;
  display: flex; gap: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 9999px;
  padding: 6px 6px 6px 22px;
  max-width: 460px;
  align-items: center;
}
.cta-banner .left .form input {
  background: transparent; border: 0; outline: 0; flex: 1;
  color: #fff; font-family: inherit; font-size: 14px;
  letter-spacing: -0.011em;
}
.cta-banner .left .form input::placeholder { color: rgba(255,255,255,0.5); }
.cta-banner .right {
  display: flex; justify-content: flex-end; gap: 10px; align-items: flex-end;
}
.cta-banner .badge {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 9999px;
  padding: 10px 18px;
  font-size: 13px; font-weight: var(--fw-semi);
  color: #fff; cursor: pointer;
}
.cta-banner .badge.solid {
  background: #fff; color: #1d1d1f;
  display: inline-flex; align-items: center; gap: 6px;
}

/* Floating sample images on banner */
.cta-banner .silhouette {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.4;
}

/* ---------- Footer ---------- */
.footer {
  background: #f5f5f7;
  padding: 64px 28px 36px;
}
.footer-inner {
  max-width: var(--content-wide); margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 36px;
}
@media (max-width: 980px) { .footer-inner { grid-template-columns: 1fr 1fr; } }
.footer .brand-col .lo { display: flex; align-items: center; gap: 10px; }
.footer .brand-col .lo .mark { width: 28px; height: 28px; }
.footer .brand-col .nm {
  font-family: var(--font-display); font-size: 20px; font-weight: var(--fw-bold);
  letter-spacing: -0.018em;
}
.footer .brand-col .nm .sm { display: block; font-size: 10px; font-weight: var(--fw-regular); color: var(--color-ink-muted-48); letter-spacing: 0.2em; }
.footer .brand-col p {
  font-size: 14px; color: var(--color-ink-muted-80);
  margin-top: 16px; max-width: 280px;
}
.footer h5 {
  font-size: 13px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
  text-transform: uppercase; color: var(--color-ink-muted-48);
  margin: 0 0 14px;
}
.footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer ul li a {
  color: var(--color-ink); font-size: 14px; text-decoration: none;
  letter-spacing: -0.011em;
}
.footer ul li a:hover { color: var(--color-primary); }
.footer-legal {
  max-width: var(--content-wide); margin: 48px auto 0;
  padding-top: 24px; border-top: 1px solid var(--color-hairline);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 12px; color: var(--color-ink-muted-48);
}
.footer-legal .socials { display: flex; gap: 14px; }
.footer-legal .socials a { color: var(--color-ink-muted-80); }

/* ---------- Product detail page ---------- */
.pd-hero {
  background: var(--color-canvas-parchment);
  padding: 64px 28px 80px;
}
.pd-hero-inner {
  max-width: var(--content-wide); margin: 0 auto;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px;
  align-items: center;
}
@media (max-width: 900px) { .pd-hero-inner { grid-template-columns: 1fr; } }
.pd-hero .crumbs {
  font-size: 13px; color: var(--color-ink-muted-48);
  margin-bottom: 16px;
}
.pd-hero .crumbs a { color: inherit; }
.pd-hero h1 {
  font-family: var(--font-display);
  font-size: 64px; line-height: 1.02; letter-spacing: -0.018em;
  font-weight: var(--fw-semi); margin: 0;
}
.pd-hero .model {
  font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary); font-weight: var(--fw-semi);
}
.pd-hero .desc { margin-top: 18px; color: var(--color-ink-muted-80); font-size: 17px; max-width: 460px; line-height: 1.5; }
.pd-hero .ctas { display: flex; gap: 10px; margin-top: 28px; }
.pd-hero .keys {
  margin-top: 32px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  max-width: 480px;
}
.pd-hero .keys div { border-top: 1px solid var(--color-hairline); padding-top: 12px; }
.pd-hero .keys strong {
  display: block; font-size: 22px; font-weight: var(--fw-semi);
  letter-spacing: -0.012em;
}
.pd-hero .keys span { font-size: 12px; color: var(--color-ink-muted-48); }
.pd-hero .visual {
  background: #fff;
  border-radius: 28px;
  padding: 28px;
  border: 1px solid var(--color-hairline);
  position: relative;
}
.pd-hero .visual .photo { height: 520px; }
.pd-hero .visual .corner {
  position: absolute; top: 22px; right: 22px;
  background: var(--color-brand-green); color: #fff;
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
  padding: 8px 14px; border-radius: 9999px;
}

.pd-spec {
  max-width: var(--content-wide);
  margin: 0 auto; padding: 80px 28px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
}
@media (max-width: 900px) { .pd-spec { grid-template-columns: 1fr; } }
.pd-spec h2 {
  font-family: var(--font-display);
  font-size: 38px; font-weight: var(--fw-semi);
  letter-spacing: -0.014em; margin: 0;
}
.pd-spec .lede { margin-top: 16px; color: var(--color-ink-muted-80); font-size: 17px; }
.pd-spec table { width: 100%; border-collapse: collapse; }
.pd-spec td {
  padding: 14px 0; vertical-align: top;
  font-size: 15px; border-top: 1px solid var(--color-hairline);
  letter-spacing: -0.011em;
}
.pd-spec td:first-child { color: var(--color-ink-muted-48); width: 50%; }
.pd-spec td:last-child  { font-weight: var(--fw-semi); }
.pd-spec tr:first-child td { border-top: 0; }

.pd-features {
  padding: 80px 28px; background: var(--color-canvas-parchment);
}
.pd-features-inner { max-width: var(--content-wide); margin: 0 auto; }
.pd-features .grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-top: 36px;
}
@media (max-width: 900px) { .pd-features .grid { grid-template-columns: 1fr; } }
.pd-features .item {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 28px;
}
.pd-features .item .icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(40,104,176,0.1);
  color: var(--color-primary);
  display: grid; place-items: center;
  margin-bottom: 18px;
}
.pd-features .item h4 {
  font-family: var(--font-display);
  font-size: 20px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
  margin: 0 0 8px;
}
.pd-features .item p { font-size: 15px; color: var(--color-ink-muted-80); line-height: 1.5; }

/* ---------- Resource Center ---------- */
.page-strip {
  background: var(--color-canvas-parchment);
  padding: 80px 28px 32px;
  text-align: center;
}
.page-strip .eyebrow {
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary); font-weight: var(--fw-semi);
}
.page-strip h1 {
  font-family: var(--font-display); font-size: 64px;
  font-weight: var(--fw-semi); letter-spacing: -0.018em;
  margin: 14px 0 0; line-height: 1.05;
}
.page-strip p {
  font-size: 19px; color: var(--color-ink-muted-80);
  max-width: 640px; margin: 16px auto 0; line-height: 1.5;
}

.resources {
  max-width: var(--content-wide); margin: 0 auto;
  padding: 56px 28px 80px;
  display: grid; grid-template-columns: 260px 1fr; gap: 40px;
}
@media (max-width: 1080px) { .resources { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 1080px) { .resources .rail { position: static; } }
.resources .rail {
  position: sticky; top: 60px; align-self: flex-start;
}
.resources .rail h5 {
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-ink-muted-48); font-weight: var(--fw-semi);
  margin: 0 0 12px;
}
.resources .rail button {
  display: block; width: 100%; text-align: left;
  background: transparent; border: 0; cursor: pointer;
  padding: 10px 0; font-family: inherit;
  font-size: 15px; letter-spacing: -0.011em;
  color: var(--color-ink-muted-80);
  border-top: 1px solid var(--color-hairline);
}
.resources .rail button:first-of-type { border-top: 0; }
.resources .rail button.active { color: var(--color-primary); font-weight: var(--fw-semi); }
.resources .feed { display: flex; flex-direction: column; gap: 18px; }
.article {
  display: grid; grid-template-columns: 200px 1fr; gap: 22px;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg);
  padding: 20px;
  cursor: pointer;
  transition: transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
}
@media (max-width: 700px) { .article { grid-template-columns: 1fr; } }
.article:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,0.06); }
.article .photo { height: 160px; border-radius: 12px; }
.article .body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.article h3 { overflow-wrap: anywhere; word-break: normal; }
.article .tag {
  display: inline-flex; align-self: flex-start;
  background: rgba(40,104,176,0.08); color: var(--color-primary);
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  font-weight: var(--fw-semi);
  padding: 5px 10px; border-radius: 9999px;
}
.article .tag.green { background: rgba(104,184,40,0.12); color: var(--color-brand-green-dark); }
.article h3 {
  font-family: var(--font-display);
  font-size: 22px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  line-height: 1.18; margin: 0;
}
.article p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.5; }
.article .meta {
  font-size: 12px; color: var(--color-ink-muted-48);
  display: flex; gap: 12px; margin-top: auto;
}

/* Korea export panel */
.export-panel {
  background: #1d1d1f; color: #fff;
  border-radius: 24px;
  padding: 36px;
  margin-top: 28px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 20px;
  align-items: center;
}
@media (max-width: 700px) { .export-panel { grid-template-columns: 1fr; text-align: left; } }
.export-panel .flag {
  width: 56px; height: 56px; border-radius: 14px;
  background: linear-gradient(180deg, #fff 50%, #c60c30 50%);
  position: relative;
  border: 1px solid rgba(255,255,255,0.1);
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; color: #003478;
}
.export-panel .flag::after {
  content: ""; position: absolute; inset: 0;
}
.export-panel h4 {
  font-family: var(--font-display);
  font-size: 22px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
  margin: 0; color: #fff;
}
.export-panel p { font-size: 14px; color: var(--color-body-muted); margin-top: 4px; }

/* ---------- Services page (Maintenance & Calibration) ---------- */
.services-hero {
  padding: 96px 28px 80px;
  background:
    linear-gradient(160deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.7) 100%),
    radial-gradient(80% 60% at 20% 20%, #3d4a55, #1a1a1c);
  color: #fff;
  position: relative;
}
.services-hero-inner {
  max-width: var(--content-wide); margin: 0 auto;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px;
  align-items: center;
}
@media (max-width: 900px) { .services-hero-inner { grid-template-columns: 1fr; } }
.services-hero .eyebrow {
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary-on-dark); font-weight: var(--fw-semi);
}
.services-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(48px, 6vw, 76px); line-height: 1.02; letter-spacing: -0.018em;
  font-weight: var(--fw-semi);
  margin: 16px 0 0; color: #fff;
  max-width: 720px;
}
.services-hero .lead {
  margin-top: 18px; font-size: 19px; line-height: 1.5;
  color: rgba(255,255,255,0.82); max-width: 540px;
}
.services-hero .stats {
  margin-top: 32px; display: grid; grid-template-columns: repeat(3, auto); gap: 36px;
  font-size: 13px; color: rgba(255,255,255,0.6);
}
.services-hero .stats strong {
  display: block; font-family: var(--font-display);
  font-size: 38px; font-weight: var(--fw-semi); letter-spacing: -0.014em; color: #fff;
}

.services-cards {
  max-width: var(--content-wide); margin: -64px auto 0;
  padding: 0 28px 80px; position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
@media (max-width: 900px) { .services-cards { grid-template-columns: 1fr; } }
.sv-card {
  background: #fff; border-radius: 28px;
  padding: 36px;
  border: 1px solid var(--color-hairline);
}
.sv-card .photo { height: 240px; border-radius: 16px; margin-bottom: 22px; }
.sv-card h2 {
  font-family: var(--font-display);
  font-size: 32px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin: 0;
}
.sv-card .tag {
  display: inline-flex; gap: 8px; align-items: center;
  margin-bottom: 12px;
  background: rgba(40,104,176,0.08); color: var(--color-primary);
  border-radius: 9999px; padding: 6px 12px;
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
}
.sv-card .tag.green { background: rgba(104,184,40,0.12); color: var(--color-brand-green-dark); }
.sv-card p { font-size: 16px; color: var(--color-ink-muted-80); line-height: 1.5; margin-top: 12px; }
.sv-card ul {
  list-style: none; padding: 0; margin: 24px 0 0;
  display: flex; flex-direction: column; gap: 12px;
}
.sv-card ul li {
  font-size: 14px; display: flex; align-items: flex-start; gap: 10px;
  letter-spacing: -0.011em;
}
.sv-card ul li svg { color: var(--color-brand-green); flex: none; margin-top: 2px; }
.sv-card .actions { margin-top: 28px; display: flex; gap: 10px; }

.process {
  background: var(--color-canvas-parchment);
  padding: 80px 28px;
}
.process-inner { max-width: var(--content-wide); margin: 0 auto; }
.process-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
  margin-top: 40px;
}
@media (max-width: 900px) { .process-grid { grid-template-columns: 1fr 1fr; } }
.process-step {
  background: #fff; border-radius: var(--radius-lg);
  border: 1px solid var(--color-hairline);
  padding: 24px;
}
.process-step .n {
  font-family: var(--font-display);
  font-size: 14px; color: var(--color-primary);
  letter-spacing: 0.16em; font-weight: var(--fw-semi);
}
.process-step h4 {
  font-family: var(--font-display);
  font-size: 19px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
  margin: 8px 0;
}
.process-step p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.5; }

.iso-row {
  display: flex; gap: 16px; flex-wrap: wrap;
  margin-top: 28px; justify-content: center;
}
.iso-chip {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 13px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
  display: inline-flex; align-items: center; gap: 8px;
}
.iso-chip .dt { width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand-green); }

/* ---------- About page ---------- */
.about-hero {
  padding: 80px 28px 60px;
  background: #fff;
  text-align: center;
}
.about-hero .wrap { max-width: 880px; margin: 0 auto; }
.about-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(48px, 6vw, 72px); line-height: 1.04; letter-spacing: -0.018em;
  margin: 18px 0 0;
}
.about-hero .lead {
  font-size: 21px; color: var(--color-ink-muted-80); line-height: 1.45;
  margin-top: 22px;
}

.values {
  background: var(--color-canvas-parchment); padding: 80px 28px;
}
.values-inner { max-width: var(--content-wide); margin: 0 auto; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 36px; }
@media (max-width: 900px) { .values-grid { grid-template-columns: 1fr; } }
.values-grid .item {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 28px;
}
.values-grid .item .n {
  font-family: var(--font-display); font-size: 32px;
  color: var(--color-primary); font-weight: var(--fw-semi);
  letter-spacing: -0.014em;
}
.values-grid .item h4 {
  font-family: var(--font-display);
  font-size: 20px; font-weight: var(--fw-semi); letter-spacing: -0.012em;
  margin: 10px 0 8px;
}
.values-grid .item p { color: var(--color-ink-muted-80); font-size: 15px; line-height: 1.5; }

/* ---------- Contact form ---------- */
.contact {
  max-width: var(--content-wide); margin: 0 auto;
  padding: 80px 28px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
  align-items: flex-start;
}
@media (max-width: 900px) { .contact { grid-template-columns: 1fr; } }
.contact h2 {
  font-family: var(--font-display);
  font-size: 44px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin: 0;
}
.contact .lead { font-size: 17px; color: var(--color-ink-muted-80); margin-top: 14px; max-width: 460px; line-height: 1.5; }
.contact .offices { display: flex; flex-direction: column; gap: 18px; margin-top: 32px; }
.contact .office {
  background: var(--color-canvas-parchment); border-radius: var(--radius-lg);
  padding: 20px; border: 1px solid transparent;
}
.contact .office .city { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: var(--fw-semi); color: var(--color-primary); }
.contact .office .addr { font-size: 15px; margin-top: 6px; line-height: 1.5; }
.contact .office .phone { font-size: 14px; color: var(--color-ink-muted-80); margin-top: 4px; }

.form-card {
  background: var(--color-canvas-parchment);
  border-radius: 28px;
  padding: 36px;
}
.form-card h3 { font-family: var(--font-display); font-size: 24px; margin: 0 0 4px; font-weight: var(--fw-semi); letter-spacing: -0.014em; }
.form-card .sub { color: var(--color-ink-muted-80); font-size: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
@media (max-width: 700px) { .form-row { grid-template-columns: 1fr; } }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label {
  font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--color-ink-muted-48); font-weight: var(--fw-semi);
}
.form-field input, .form-field select, .form-field textarea {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 12px;
  padding: 12px 14px; font-family: inherit; font-size: 15px;
  letter-spacing: -0.011em; color: var(--color-ink);
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline: 2px solid var(--color-primary-focus); outline-offset: 1px; border-color: transparent;
}
.form-card .actions { margin-top: 22px; display: flex; gap: 10px; align-items: center; }
.form-card .note { font-size: 12px; color: var(--color-ink-muted-48); flex: 1; }

/* ---------- LS-1250A spotlight section ---------- */
.spotlight {
  background:
    linear-gradient(160deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 45%, rgba(0,0,0,0.8) 100%),
    radial-gradient(80% 60% at 80% 10%, #2868b0 0%, #0c1e3a 55%, #0a0f1c 100%);
  color: #fff;
  border-radius: 36px;
  margin: 40px 28px;
  max-width: 1384px; margin-inline: auto;
  padding: 64px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 980px) { .spotlight { padding: 40px; margin: 32px 22px; } }
.spotlight::before {
  content: ""; position: absolute;
  width: 460px; height: 460px;
  right: -120px; top: -120px;
  background: radial-gradient(circle, rgba(104,184,40,0.22) 0%, transparent 70%);
  pointer-events: none;
}
.spotlight-grid {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px;
  align-items: center; position: relative;
}
@media (max-width: 980px) { .spotlight-grid { grid-template-columns: 1fr; gap: 32px; } }
.spotlight .eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  font-weight: var(--fw-semi);
  color: #9ecbff;
}
.spotlight .eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: #68b828; }
.spotlight h2 {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.4vw, 64px);
  font-weight: var(--fw-semi); letter-spacing: -0.018em; line-height: 1.04;
  margin: 18px 0 0; color: #fff;
}
.spotlight h2 .hl { color: #68b828; }
.spotlight .lead {
  margin-top: 20px;
  font-size: 18px; line-height: 1.5;
  color: rgba(255,255,255,0.82);
  max-width: 540px;
}
.spotlight .stats-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  margin-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.14);
  padding-top: 26px;
}
@media (max-width: 640px) { .spotlight .stats-row { grid-template-columns: 1fr 1fr; } }
.spotlight .stats-row strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: var(--fw-semi); letter-spacing: -0.016em;
  color: #fff; line-height: 1;
}
.spotlight .stats-row .lbl {
  display: block; margin-top: 6px;
  font-size: 12px; line-height: 1.4;
  color: rgba(255,255,255,0.58);
  letter-spacing: -0.006em;
}
/* Itemized cost-saving breakdown */
.spotlight .cost-breakdown {
  margin-top: 22px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 16px 18px 8px;
}
.spotlight .cost-breakdown .cb-cap {
  font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.5); font-weight: var(--fw-semi);
  margin-bottom: 4px;
}
.spotlight .cost-breakdown .cb-row {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; padding: 10px 0;
  font-size: 14px; letter-spacing: -0.011em;
  color: rgba(255,255,255,0.82);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.spotlight .cost-breakdown .cb-row strong { color: #8ed44a; font-weight: var(--fw-semi); white-space: nowrap; }
.spotlight .cost-breakdown .cb-row.total span { color: #fff; font-weight: var(--fw-semi); }
.spotlight .cost-breakdown .cb-row.total strong { color: #fff; font-size: 16px; }
.spotlight .bullets {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px;
  margin-top: 28px;
}
@media (max-width: 640px) { .spotlight .bullets { grid-template-columns: 1fr; } }
.spotlight .bullets div {
  display: flex; gap: 8px; font-size: 14px; color: rgba(255,255,255,0.88);
  letter-spacing: -0.011em;
}
.spotlight .bullets svg { color: #68b828; flex: none; margin-top: 2px; }
.spotlight .ctas { display: flex; gap: 10px; margin-top: 32px; flex-wrap: wrap; }
.spotlight .ctas .pill { font-size: 16px; padding: 13px 24px; }
.spotlight .ctas .pill.ghost { color: #fff; border-color: rgba(255,255,255,0.4); background: transparent; }
.spotlight .ctas .pill.ghost:hover { background: rgba(255,255,255,0.08); border-color: #fff; }

/* Price/Trade-in card */
.tradein {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 28px;
  padding: 32px;
  position: relative;
}
.tradein .ribbon {
  display: inline-flex; align-items: center; gap: 8px;
  background: #68b828; color: #fff;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
}
.tradein .photo {
  margin: 18px 0 24px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  aspect-ratio: 5 / 4;
  overflow: hidden;
}
.tradein .price-stack { display: flex; flex-direction: column; gap: 4px; }
.tradein .price-stack .strike {
  color: rgba(255,255,255,0.5);
  font-size: 14px;
  text-decoration: line-through;
}
.tradein .price-stack .now {
  font-family: var(--font-display);
  font-size: 44px; font-weight: var(--fw-semi); letter-spacing: -0.018em;
  line-height: 1; color: #fff;
}
.tradein .price-stack .now span { font-size: 18px; color: #9ecbff; margin-left: 6px; }
.tradein .price-stack .save {
  font-size: 13px; color: #8ed44a; font-weight: var(--fw-semi);
  letter-spacing: -0.006em; margin-top: 4px;
}
.tradein .fine {
  margin-top: 16px;
  font-size: 12px; color: rgba(255,255,255,0.55);
  letter-spacing: -0.006em; line-height: 1.5;
}
.tradein .meta-row {
  display: flex; gap: 14px; flex-wrap: wrap;
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 16px;
  font-size: 12px; color: rgba(255,255,255,0.78);
}
.tradein .meta-row span { display: inline-flex; align-items: center; gap: 6px; }
.tradein .meta-row svg { color: #68b828; }

/* Comparison strip */
.vs-strip {
  margin: 60px 28px 30px;
  max-width: 1384px; margin-inline: auto;
}
.vs-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
}
@media (max-width: 980px) { .vs-grid { grid-template-columns: 1fr 1fr; } }
.vs-card {
  background: #fff;
  border: 1px solid var(--color-hairline);
  border-radius: 18px;
  padding: 22px;
}
.vs-card .h {
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--color-ink-muted-48); font-weight: var(--fw-semi);
}
.vs-card .v {
  font-family: var(--font-display);
  font-size: 32px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin-top: 8px; color: var(--color-ink);
}
.vs-card .v.green { color: var(--color-brand-green-dark); }
.vs-card .v.blue  { color: var(--color-primary); }
.vs-card .d { font-size: 13px; color: var(--color-ink-muted-80); margin-top: 8px; line-height: 1.5; }

/* ---------- Consulting page ---------- */
.consult-services {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
}
@media (max-width: 900px) { .consult-services { grid-template-columns: 1fr; } }
.consult-card {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 30px;
  display: flex; flex-direction: column; gap: 12px;
}
.consult-card .num {
  font-family: var(--font-display); font-size: 13px; letter-spacing: 0.14em;
  color: var(--color-primary); font-weight: var(--fw-semi);
}
.consult-card .ic {
  width: 48px; height: 48px; border-radius: 14px;
  background: rgba(40,104,176,0.1); color: var(--color-primary);
  display: grid; place-items: center; margin-bottom: 4px;
}
.consult-card.green .ic { background: rgba(104,184,40,0.14); color: var(--color-brand-green-dark); }
.consult-card h3 {
  font-family: var(--font-display); font-size: 22px; font-weight: var(--fw-semi);
  letter-spacing: -0.014em; margin: 0; line-height: 1.2;
}
.consult-card p { font-size: 15px; color: var(--color-ink-muted-80); line-height: 1.55; }
.consult-card ul { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-direction: column; gap: 8px; }
.consult-card ul li { font-size: 14px; display: flex; gap: 9px; align-items: flex-start; letter-spacing: -0.011em; }
.consult-card ul li svg { color: var(--color-brand-green); flex: none; margin-top: 2px; }

/* Standards grid */
.std-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  margin-top: 36px;
}
@media (max-width: 980px) { .std-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .std-grid { grid-template-columns: 1fr; } }
.std-chip {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 16px; padding: 18px 20px;
  display: flex; gap: 16px; align-items: flex-start;
  transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
}
.std-chip:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,0.06); }
.std-chip .code {
  font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: 15px; letter-spacing: -0.01em;
  color: var(--color-primary);
  flex: none; min-width: 84px; padding-top: 1px;
}
.std-chip .desc { font-size: 13.5px; color: var(--color-ink-muted-80); line-height: 1.5; letter-spacing: -0.006em; }

/* FDA highlight band */
.fda-band {
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px;
}
@media (max-width: 900px) { .fda-band { grid-template-columns: 1fr; } }
.fda-card {
  background: #1d1d1f; color: #fff;
  border-radius: 24px; padding: 36px;
  position: relative; overflow: hidden;
}
.fda-card.blue { background: linear-gradient(150deg, #2868b0 0%, #163e6b 100%); }
.fda-card .badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  border-radius: 9999px; padding: 6px 14px;
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: 0.04em;
}
.fda-card h3 {
  font-family: var(--font-display); font-size: 28px; font-weight: var(--fw-semi);
  letter-spacing: -0.014em; margin: 16px 0 0; color: #fff; line-height: 1.12;
}
.fda-card p { font-size: 15px; color: rgba(255,255,255,0.8); line-height: 1.55; margin-top: 12px; }
.fda-card ul { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-direction: column; gap: 9px; }
.fda-card ul li { font-size: 14px; display: flex; gap: 9px; align-items: flex-start; color: rgba(255,255,255,0.92); letter-spacing: -0.011em; }
.fda-card ul li svg { color: #8ed44a; flex: none; margin-top: 2px; }

/* ---------- Pillars (home 4 business lines) ---------- */
.pillars {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.pillars.pillars-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .pillars, .pillars.pillars-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pillars, .pillars.pillars-3 { grid-template-columns: 1fr; } }
.pillar {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 28px;
  cursor: pointer;
  display: flex; flex-direction: column; gap: 12px;
  transition: transform 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
  min-height: 240px;
}
.pillar:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(0,0,0,0.08); }
.pillar .ic {
  width: 50px; height: 50px; border-radius: 14px;
  background: rgba(40,104,176,0.1); color: var(--color-primary);
  display: grid; place-items: center;
}
.pillar.green .ic { background: rgba(104,184,40,0.14); color: var(--color-brand-green-dark); }
.pillar .n {
  font-family: var(--font-display); font-size: 12px; letter-spacing: 0.14em;
  color: var(--color-ink-muted-48); font-weight: var(--fw-semi);
}
.pillar h3 {
  font-family: var(--font-display); font-size: 21px; font-weight: var(--fw-semi);
  letter-spacing: -0.014em; margin: 0; line-height: 1.18;
}
.pillar p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.5; flex: 1; }
.pillar .go {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: var(--fw-semi); color: var(--color-primary);
  letter-spacing: -0.011em;
}

/* ---------- Compact 3-column pillars ---------- */
.pillars.pillars-compact { grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 860px) { .pillars.pillars-compact { grid-template-columns: 1fr; } }
.pillars-compact .pillar {
  min-height: 0; padding: 22px; gap: 10px; border-radius: 16px;
}
.pillars-compact .pillar .pillar-top {
  display: flex; align-items: center; justify-content: space-between;
}
.pillars-compact .pillar .ic { width: 40px; height: 40px; border-radius: 11px; }
.pillars-compact .pillar .n { margin: 0; }
.pillars-compact .pillar h3 { font-size: 18px; }
.pillars-compact .pillar p { font-size: 13.5px; }

/* ---------- Chemicals page ---------- */
.chem-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
@media (max-width: 900px) { .chem-grid { grid-template-columns: 1fr; } }
.chem-card {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 28px;
  display: flex; flex-direction: column; gap: 10px;
}
.chem-card .pic { height: 150px; border-radius: 12px; overflow: hidden; margin-bottom: 8px; }
.chem-card .grade {
  align-self: flex-start;
  background: rgba(40,104,176,0.08); color: var(--color-primary);
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: var(--fw-semi); padding: 5px 10px; border-radius: 9999px;
}
.chem-card h3 {
  font-family: var(--font-display); font-size: 20px; font-weight: var(--fw-semi);
  letter-spacing: -0.012em; margin: 0;
}
.chem-card p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.5; }

/* ---------- Chat widget ---------- */
.chat-fab {
  position: fixed; right: 24px; bottom: 24px; z-index: 200;
  display: flex; align-items: center; gap: 10px;
  background: var(--color-primary); color: #fff;
  border: 0; border-radius: 9999px;
  padding: 14px 20px 14px 16px;
  font-family: var(--font-text); font-size: 15px; font-weight: var(--fw-semi);
  letter-spacing: -0.011em;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(40,104,176,0.4);
  transition: transform 200ms var(--ease-out), background 200ms var(--ease-out);
}
.chat-fab:hover { background: #1e5a9d; transform: translateY(-2px); }
.chat-fab:active { transform: scale(0.97); }
.chat-fab .badge-dot {
  position: absolute; top: 8px; right: 12px;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--color-brand-green); border: 2px solid #fff;
}
@media (max-width: 560px) { .chat-fab { right: 16px; bottom: 16px; padding: 13px 18px 13px 14px; } }

.chat-panel {
  position: fixed; right: 24px; bottom: 24px; z-index: 201;
  width: 380px; max-width: calc(100vw - 32px);
  height: 580px; max-height: calc(100vh - 48px);
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.28);
  display: flex; flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-hairline);
}
@media (max-width: 560px) {
  .chat-panel { right: 8px; bottom: 8px; width: calc(100vw - 16px); height: calc(100vh - 16px); }
}
.chat-head {
  background: linear-gradient(140deg, #2868b0, #163e6b);
  color: #fff; padding: 20px 22px;
  display: flex; align-items: center; gap: 12px;
}
.chat-head .av {
  width: 42px; height: 42px; border-radius: 12px;
  background: rgba(255,255,255,0.16);
  display: grid; place-items: center; flex: none;
  overflow: hidden;
}
.chat-head .av img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.chat-head .who { flex: 1; min-width: 0; }
.chat-head .who .t { font-family: var(--font-display); font-size: 17px; font-weight: var(--fw-semi); letter-spacing: -0.012em; }
.chat-head .who .s { font-size: 12px; color: rgba(255,255,255,0.8); display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.chat-head .who .s .dot { width: 7px; height: 7px; border-radius: 50%; background: #68d44a; }
.chat-head .x {
  background: rgba(255,255,255,0.14); border: 0; color: #fff;
  width: 32px; height: 32px; border-radius: 9999px; cursor: pointer;
  display: grid; place-items: center; flex: none;
}
.chat-head .x:hover { background: rgba(255,255,255,0.26); }

.chat-body {
  flex: 1; overflow-y: auto;
  padding: 22px;
  background: var(--color-canvas-parchment);
  display: flex; flex-direction: column; gap: 14px;
}
.chat-intro {
  background: #fff; border-radius: 16px; padding: 18px;
  border: 1px solid var(--color-hairline);
}
.chat-intro h4 { font-family: var(--font-display); font-size: 18px; font-weight: var(--fw-semi); letter-spacing: -0.012em; margin: 0 0 6px; }
.chat-intro p { font-size: 13.5px; color: var(--color-ink-muted-80); line-height: 1.55; }

.chat-field { display: flex; flex-direction: column; gap: 6px; }
.chat-field label { font-size: 12px; font-weight: var(--fw-semi); color: var(--color-ink-muted-48); letter-spacing: 0.02em; }
.chat-field input, .chat-field textarea, .chat-field select {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 11px; padding: 11px 13px;
  font-family: inherit; font-size: 14px; letter-spacing: -0.011em; color: var(--color-ink);
}
.chat-field textarea { min-height: 72px; resize: vertical; }
.chat-field input:focus, .chat-field textarea:focus, .chat-field select:focus {
  outline: 2px solid var(--color-primary-focus); outline-offset: 1px; border-color: transparent;
}
.chat-form { background: #fff; border-radius: 16px; padding: 18px; border: 1px solid var(--color-hairline); display: flex; flex-direction: column; gap: 12px; }

.chat-msg { display: flex; gap: 8px; max-width: 86%; }
.chat-msg.them { align-self: flex-start; }
.chat-msg.me { align-self: flex-end; flex-direction: row-reverse; }
.chat-msg .bub {
  padding: 11px 14px; border-radius: 16px; font-size: 14px; line-height: 1.5;
  letter-spacing: -0.011em;
}
.chat-msg.them .bub { background: #fff; border: 1px solid var(--color-hairline); border-bottom-left-radius: 5px; }
.chat-msg.me .bub { background: var(--color-primary); color: #fff; border-bottom-right-radius: 5px; }

.chat-foot {
  padding: 14px; border-top: 1px solid var(--color-hairline);
  display: flex; gap: 8px; align-items: center; background: #fff;
}
.chat-foot input {
  flex: 1; background: var(--color-canvas-parchment); border: 1px solid var(--color-hairline);
  border-radius: 9999px; padding: 11px 16px;
  font-family: inherit; font-size: 14px; letter-spacing: -0.011em;
}
.chat-foot input:focus { outline: 2px solid var(--color-primary-focus); outline-offset: 1px; border-color: transparent; }
.chat-foot button {
  width: 42px; height: 42px; border-radius: 9999px; flex: none;
  background: var(--color-primary); color: #fff; border: 0; cursor: pointer;
  display: grid; place-items: center;
}
.chat-foot button:hover { background: #1e5a9d; }
.chat-foot button:disabled { opacity: 0.4; cursor: not-allowed; }
.chat-confirm {
  background: rgba(104,184,40,0.1); border: 1px solid rgba(104,184,40,0.3);
  border-radius: 14px; padding: 14px 16px;
  display: flex; gap: 10px; align-items: flex-start;
}
.chat-confirm svg { color: var(--color-brand-green-dark); flex: none; margin-top: 1px; }
.chat-confirm .txt { font-size: 13px; color: var(--color-ink); line-height: 1.5; }
.chat-quick { display: flex; flex-wrap: wrap; gap: 7px; }
.chat-quick button {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 9999px; padding: 7px 13px;
  font-family: inherit; font-size: 12.5px; letter-spacing: -0.006em;
  color: var(--color-primary); cursor: pointer;
}
.chat-quick button:hover { background: rgba(40,104,176,0.06); }

/* ---------- Home: tighter rhythm ---------- */
.home-page .stack-section { padding: 34px 28px; }
.home-page > section { scroll-margin-top: 70px; }
.home-page .section-head { margin-bottom: 18px; }
.home-page .hero-inner { padding: 40px 28px 36px; align-items: start; }
.home-page .spotlight { margin: 16px auto; }
.home-page .split-feature { margin: 16px auto; }
.home-page .vs-strip { margin: 18px auto 6px; }
.home-page .strip { padding: 28px 28px 14px; }
.home-page .svc-headline { margin: 16px auto; }
.home-page .fs-overview { padding: 6px 28px; }
.home-page .featured-dark { padding: 40px 44px; }
.home-page .cta-banner { margin: 32px 28px; min-height: 0; padding: 48px; }
@media (max-width: 980px) {
  .home-page .hero-inner { padding: 48px 22px 40px; }
}

/* ---------- Distinctive home layout: markers + bento ---------- */
.mk {
  background-image: linear-gradient(transparent 56%, rgba(40,104,176,0.26) 56%, rgba(40,104,176,0.26) 92%, transparent 92%);
  padding: 0 .1em; border-radius: 1px;
}
.mk.green-mk {
  background-image: linear-gradient(transparent 56%, rgba(104,184,40,0.40) 56%, rgba(104,184,40,0.40) 92%, transparent 92%);
}

/* Featured asymmetric pillars (bento) */
.pillars.pillars-feature { grid-template-columns: 1.25fr 1fr; }
.pillars-feature .pillar.lead {
  grid-row: span 2;
  background: radial-gradient(125% 120% at 0% 0%, #2868b0 0%, #0c1e3a 62%, #0a0f1c 100%);
  color: #fff; border: 0;
  justify-content: flex-start; gap: 14px;
  position: relative; overflow: hidden;
}
.pillars-feature .pillar.lead:hover { box-shadow: 0 26px 60px rgba(12,30,58,0.45); }
.pillars-feature .pillar.lead::after {
  content: ""; position: absolute;
  width: 320px; height: 320px; right: -100px; bottom: -110px;
  background: radial-gradient(circle, rgba(104,184,40,0.24), transparent 70%);
  pointer-events: none;
}
.pillars-feature .pillar.lead .ic { background: rgba(255,255,255,0.14); color: #fff; }
.pillars-feature .pillar.lead .n { color: rgba(255,255,255,0.5); }
.pillars-feature .pillar.lead h3 { color: #fff; font-size: 27px; }
.pillars-feature .pillar.lead p { color: rgba(255,255,255,0.74); font-size: 15px; }
.pillars-feature .pillar.lead .go { color: #8ed44a; }
@media (max-width: 980px) {
  .pillars.pillars-feature { grid-template-columns: 1fr; }
  .pillars-feature .pillar.lead { grid-row: auto; }
}

/* Bento ROI grid */
.vs-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(112px, 1fr);
  gap: 14px;
}
.vs-bento .tile-roi {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 20px; padding: 24px;
  display: flex; flex-direction: column; justify-content: space-between;
}
.vs-bento .tile-roi .h {
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--color-ink-muted-48); font-weight: var(--fw-semi);
}
.vs-bento .tile-roi .v {
  font-family: var(--font-display);
  font-size: 40px; font-weight: var(--fw-semi); letter-spacing: -0.016em;
  margin-top: 10px; line-height: 1; color: var(--color-ink);
}
.vs-bento .tile-roi .v.green { color: var(--color-brand-green-dark); }
.vs-bento .tile-roi .v.blue  { color: var(--color-primary); }
.vs-bento .tile-roi .d { font-size: 13px; color: var(--color-ink-muted-80); margin-top: 10px; line-height: 1.5; }
.vs-bento .tile-roi.big {
  grid-column: span 2; grid-row: span 2;
  background: radial-gradient(85% 75% at 82% 8%, #2868b0 0%, #0c1e3a 60%, #0a0f1c 100%);
  color: #fff; border: 0; padding: 30px 34px;
  position: relative; overflow: hidden;
  justify-content: center; gap: 4px;
}
.vs-bento .tile-roi.big::before {
  content: ""; position: absolute;
  width: 360px; height: 360px; right: -100px; bottom: -120px;
  background: radial-gradient(circle, rgba(104,184,40,0.28), transparent 70%);
  pointer-events: none;
}
.vs-bento .tile-roi.big .h { color: rgba(255,255,255,0.58); }
.vs-bento .tile-roi.big .v { font-size: clamp(48px, 5.4vw, 72px); color: #fff; margin-top: 2px; }
.vs-bento .tile-roi.big .d { color: rgba(255,255,255,0.78); font-size: 15px; max-width: 380px; }
.vs-bento .tile-roi.wide { grid-column: span 2; }
@media (max-width: 860px) {
  .vs-bento { grid-template-columns: 1fr 1fr; }
  .vs-bento .tile-roi.big { grid-column: span 2; grid-row: span 1; }
  .vs-bento .tile-roi.wide { grid-column: span 2; }
}

/* ---------- Top running carousel ---------- */
.top-carousel {
  overflow: hidden;
  background: #0c1e3a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.top-carousel .tc-track {
  display: flex; align-items: center; gap: 0;
  width: max-content;
  animation: tcScroll 38s linear infinite;
  padding: 10px 0;
}
.top-carousel:hover .tc-track { animation-play-state: paused; }
.top-carousel .tc-item {
  display: inline-flex; align-items: center; gap: 9px;
  white-space: nowrap;
  font-size: 13px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
  color: rgba(255,255,255,0.92);
  padding: 0 26px;
}
.top-carousel .tc-item svg { width: 14px; height: 14px; color: #8ed44a; flex: none; }
.top-carousel .tc-sep { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,0.25); flex: none; }
@keyframes tcScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Audience quick-path (segments) ---------- */
.seg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 1100px) { .seg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px)  { .seg-grid { grid-template-columns: 1fr; } }
.seg-card {
  display: flex; flex-direction: column; gap: 12px;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 20px; padding: 24px;
  cursor: pointer; text-decoration: none;
  transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
.seg-card:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(12,30,58,0.12); border-color: transparent; }
.seg-card .seg-top { display: flex; align-items: center; gap: 12px; }
.seg-card .ic {
  width: 46px; height: 46px; border-radius: 13px; flex: none;
  background: rgba(40,104,176,0.1); color: var(--color-primary);
  display: grid; place-items: center;
}
.seg-card:nth-child(4) .ic { background: rgba(104,184,40,0.14); color: var(--color-brand-green-dark); }
.seg-card .kw {
  font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
  font-weight: var(--fw-semi); color: var(--color-ink-muted-48);
}
.seg-card h3 {
  font-family: var(--font-display);
  font-size: 21px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  margin: 0; line-height: 1.18; color: var(--color-ink);
}
.seg-card p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.5; margin: 0; flex: 1; }
.seg-card .go {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: var(--fw-semi); letter-spacing: -0.011em;
  color: var(--color-primary);
}
.seg-card .go svg { transition: transform 200ms var(--ease-out); }
.seg-card:hover .go svg { transform: translateX(3px); }

/* ---------- FAQ ---------- */
.faq-wrap { max-width: 820px; }
.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: 16px; overflow: hidden;
}
.faq-item summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 22px;
  font-size: 16px; font-weight: var(--fw-semi); letter-spacing: -0.011em;
  color: var(--color-ink);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .chev {
  width: 30px; height: 30px; border-radius: 50%; flex: none;
  background: rgba(40,104,176,0.08); color: var(--color-primary);
  display: grid; place-items: center;
  transition: transform 240ms var(--ease-out), background 200ms var(--ease-out);
}
.faq-item[open] .chev { transform: rotate(45deg); background: var(--color-primary); color: #fff; }
.faq-item p {
  margin: 0; padding: 0 22px 22px;
  font-size: 15px; line-height: 1.6; color: var(--color-ink-muted-80);
  max-width: 680px;
}

/* ---------- Home address map ---------- */
.map-block {
  display: grid; grid-template-columns: 1fr 1.05fr; gap: 0;
  border-radius: 28px; overflow: hidden;
  border: 1px solid var(--color-hairline);
}
@media (max-width: 900px) { .map-block { grid-template-columns: 1fr; } }
.map-block .map-info { padding: 44px; background: var(--color-canvas-parchment); }
.map-block .map-info .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary); font-weight: var(--fw-semi); margin-bottom: 14px;
}
.map-block .map-info .eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand-green); }
.map-block .map-info h2 {
  font-family: var(--font-display);
  font-size: 34px; font-weight: var(--fw-semi); letter-spacing: -0.014em;
  line-height: 1.12; margin: 0 0 24px;
}
.map-block .offices-mini { display: flex; flex-direction: column; gap: 16px; }
.map-block .om { border-top: 1px solid var(--color-hairline); padding-top: 14px; }
.map-block .om .city {
  display: flex; align-items: center; gap: 7px;
  font-size: 15px; font-weight: var(--fw-semi); letter-spacing: -0.011em; color: var(--color-ink);
}
.map-block .om .city svg { color: var(--color-primary); }
.map-block .om .addr { font-size: 13px; color: var(--color-ink-muted-80); margin: 4px 0 0 22px; line-height: 1.45; }
.map-block .om .ph {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--color-ink-muted-48); margin: 4px 0 0 22px;
}
.map-block .map-canvas { min-height: 420px; background: #0a0f1c; }
.map-block .map-canvas svg { display: block; width: 100%; height: 100%; }

/* ---------- Activity photo gallery ---------- */
.activity-gallery {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
  margin-top: 30px;
}
@media (max-width: 760px) { .activity-gallery { grid-template-columns: 1fr; } }
.activity-gallery .ag-item { margin: 0; }
.activity-gallery .ag-item image-slot {
  aspect-ratio: 4 / 3; width: 100%;
  border: 1px solid var(--color-hairline);
  border-radius: 16px; overflow: hidden;
}
.activity-gallery .ag-item figcaption {
  margin-top: 10px;
  font-size: 13px; letter-spacing: -0.006em;
  color: var(--color-ink-muted-80);
  display: flex; align-items: center; gap: 7px;
}
.activity-gallery .ag-item figcaption::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; flex: none;
  background: var(--color-primary);
}
.activity-gallery.green-cap .ag-item figcaption::before { background: var(--color-brand-green); }

/* Highlighted service stat */
.svc-stat.hl {
  background: radial-gradient(120% 120% at 0% 0%, #2868b0, #0c1e3a 90%);
  color: #fff; border-color: transparent;
}
.svc-stat.hl .ic { background: rgba(255,255,255,0.16); color: #fff; }
.svc-stat.hl strong { color: #fff; }
.svc-stat.hl .l { color: rgba(255,255,255,0.72); }

/* ---------- Interactive beating simulator (hero) ---------- */
.sim {
  display: flex; flex-direction: column;
  border-radius: var(--radius-lg); overflow: hidden;
  border: 1px solid var(--color-hairline);
  background: #0c1424;
}
.sim-window {
  position: relative; height: 196px;
  background: radial-gradient(120% 100% at 50% 0%, #1a2740 0%, #0c1424 82%);
}
.sim-window svg { display: block; width: 100%; height: 100%; }
.sim-video-frame { display: block; width: 100%; height: 100%; border: 0; }
.sim-live {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(0,0,0,0.45); color: #cdd6e2;
  border-radius: 9999px; padding: 5px 11px 5px 9px;
  font-size: 11px; font-weight: var(--fw-semi); letter-spacing: 0.02em;
}
.sim-live .d { width: 7px; height: 7px; border-radius: 50%; background: #7f93ad; }
.sim-live.on { background: rgba(204,46,58,0.92); color: #fff; }
.sim-live.on .d { background: #fff; animation: pulse 1.2s ease-in-out infinite; }

.sim-pad { transform-box: fill-box; transform-origin: center; }
.sim.running .sim-pad-l   { animation: simPadL var(--simdur, 0.8s) ease-in-out infinite; }
.sim.running .sim-pad-r   { animation: simPadR var(--simdur, 0.8s) ease-in-out infinite; }
.sim.running .sim-bagchick{ animation: simChick var(--simdur, 0.8s) ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.sim-splatter { opacity: 0; }
.sim.running .sim-splatter { animation: simSplat var(--simdur, 0.8s) ease-in-out infinite; }
@keyframes simPadL { 0%,100% { transform: translateX(0); } 50% { transform: translateX(var(--swing, 9px)); } }
@keyframes simPadR { 0%,100% { transform: translateX(0); } 50% { transform: translateX(calc(-1 * var(--swing, 9px))); } }
@keyframes simChick {
  0%   { transform: translate(0,0) rotate(-5deg) scale(1,1); }
  25%  { transform: translate(8px,-7px) rotate(7deg) scale(0.86,1.1); }
  50%  { transform: translate(0,3px) rotate(-2deg) scale(1.12,0.88); }
  75%  { transform: translate(-8px,-7px) rotate(-8deg) scale(0.86,1.1); }
  100% { transform: translate(0,0) rotate(-5deg) scale(1,1); }
}
@keyframes simSplat { 0%,100% { opacity: 0; } 40% { opacity: 0.9; } 60% { opacity: 0.5; } }
@media (prefers-reduced-motion: reduce) {
  .sim.running .sim-pad-l, .sim.running .sim-pad-r, .sim.running .sim-bagchick, .sim.running .sim-splatter { animation: none; }
}

.sim-touch {
  background: linear-gradient(#0e1626, #0a0f1c);
  padding: 15px 16px 14px;
  display: flex; flex-direction: column; gap: 10px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.sim-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sim-preset {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px; padding: 9px 4px;
  color: #cdd6e2; cursor: pointer; font-family: inherit;
  display: flex; flex-direction: column; gap: 2px; align-items: center;
  transition: background 150ms var(--ease-out), border-color 150ms var(--ease-out), box-shadow 150ms var(--ease-out);
}
.sim-preset .pl { font-size: 14px; font-weight: var(--fw-semi); letter-spacing: -0.011em; }
.sim-preset .pe { font-size: 9px; letter-spacing: 0.14em; opacity: 0.55; }
.sim-preset.active { background: #2868b0; border-color: #4c95e6; color: #fff; box-shadow: 0 0 0 3px rgba(76,149,230,0.22); }
.sim-preset:disabled { opacity: 0.5; cursor: not-allowed; }
.sim-desc { margin: 0; text-align: center; font-size: 11.5px; color: rgba(255,255,255,0.5); letter-spacing: -0.006em; }
.sim-run-row { display: flex; gap: 10px; align-items: stretch; }
.sim-run {
  flex: 1; border: 0; border-radius: 12px; cursor: pointer;
  font-family: inherit; font-size: 15px; font-weight: var(--fw-semi); letter-spacing: -0.011em;
  background: #68b828; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px;
  transition: filter 150ms var(--ease-out), background 150ms var(--ease-out);
}
.sim-run:hover { filter: brightness(1.06); }
.sim-run:active { transform: scale(0.98); }
.sim-run.on { background: #cc2e3a; }
.sim-readout {
  background: #060b14; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 6px 14px; min-width: 76px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.sim-readout .t { font-family: ui-monospace, monospace; font-size: 18px; font-weight: 700; color: #8ed44a; line-height: 1; }
.sim-readout .s { font-size: 8px; letter-spacing: 0.16em; color: rgba(255,255,255,0.4); margin-top: 3px; }
.sim-video {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 12px; color: #9ecbff; text-decoration: none; padding-top: 1px;
}
.sim-video:hover { color: #fff; }

/* ---------- Pillar card photo (3 small thumbnails) ---------- */
.pillar .pillar-photo {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  width: 100%;
}
.pillar .pillar-photo image-slot {
  display: block; width: 100%; aspect-ratio: 1 / 1;
  border-radius: 10px; overflow: hidden;
  border: 1px solid var(--color-hairline);
  background: var(--color-canvas-parchment);
}

/* ---------- Footer contact list ---------- */
.footer .brand-col .contact-list {
  list-style: none; margin: 16px 0 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.footer .brand-col .contact-list li {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13.5px; line-height: 1.5; color: var(--color-ink-muted-80);
  max-width: 300px;
}
.footer .brand-col .contact-list li svg { color: var(--color-primary); flex: none; margin-top: 2px; }
.footer .brand-col .contact-list a { color: var(--color-ink-muted-80); text-decoration: none; }
.footer .brand-col .contact-list a:hover { color: var(--color-primary); }

/* ---------- Hero video poster ---------- */
.video-poster {
  position: relative; display: block; overflow: hidden;
  border-radius: var(--radius-lg); cursor: pointer;
  background: #0a0f1c; text-decoration: none;
}
.video-poster .vp-thumb {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover;
}
.video-poster .vp-shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,14,26,0.15) 0%, rgba(8,14,26,0.78) 100%);
}
.video-poster .vp-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 70px; height: 70px; border-radius: 50%;
  background: rgba(255,255,255,0.92); color: #0c1e3a;
  display: grid; place-items: center;
  box-shadow: 0 12px 36px rgba(0,0,0,0.4);
  transition: transform 200ms var(--ease-out), background 200ms var(--ease-out);
}
.video-poster .vp-play svg { margin-left: 3px; }
.video-poster:hover .vp-play { transform: translate(-50%, -50%) scale(1.08); background: #fff; }
.video-poster .vp-label {
  position: absolute; left: 18px; bottom: 16px; right: 18px;
  color: #fff; font-size: 14px; font-weight: var(--fw-semi); letter-spacing: -0.011em;
  display: inline-flex; align-items: center; gap: 8px;
}

/* ---------- Hero lead wrapping + ROI breakdown ---------- */
.hero .lead { text-wrap: pretty; }
.hero .lead .nb { white-space: nowrap; }

/* ROI big-tile per-year breakdown */
.vs-bento .tile-roi.big .roi-eq {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(104,184,40,0.18); color: #aef07a;
  border: 1px solid rgba(104,184,40,0.45);
  border-radius: 9999px; padding: 6px 13px;
  font-size: 12.5px; font-weight: var(--fw-semi); letter-spacing: -0.006em;
  margin-bottom: 14px;
}
.vs-bento .tile-roi.big .roi-eq svg { color: #8ed44a; }
.vs-bento .tile-roi.big .roi-break {
  margin-top: 18px; display: flex; flex-direction: column; gap: 0;
  width: 100%; max-width: 400px;
}
.vs-bento .tile-roi.big .roi-break > div {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 9px 0; border-top: 1px solid rgba(255,255,255,0.12);
  font-size: 14px; letter-spacing: -0.011em;
}
.vs-bento .tile-roi.big .roi-break > div span { color: rgba(255,255,255,0.74); }
.vs-bento .tile-roi.big .roi-break > div strong {
  color: #8ed44a; font-weight: var(--fw-semi); white-space: nowrap; font-size: 15px;
}
.vs-bento .tile-roi.big .roi-foot {
  margin-top: 14px; font-size: 13px; color: rgba(255,255,255,0.6); letter-spacing: -0.006em;
}

/* ROI source-of-savings detail box (sits bottom-right, small text, balances the big tile) */
.vs-bento .tile-roi.roi-detail { justify-content: flex-start; }
.vs-bento .tile-roi.roi-detail .h { margin-bottom: 6px; }
.vs-bento .tile-roi.roi-detail .roi-break { display: flex; flex-direction: column; width: 100%; }
.vs-bento .tile-roi.roi-detail .roi-break > div {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 8px 0; border-top: 1px solid var(--color-hairline);
  font-size: 13px; letter-spacing: -0.011em;
}
.vs-bento .tile-roi.roi-detail .roi-break > div span { color: var(--color-ink-muted-80); }
.vs-bento .tile-roi.roi-detail .roi-break > div strong {
  color: var(--color-ink); font-weight: var(--fw-semi); white-space: nowrap;
}
.vs-bento .tile-roi.roi-detail .roi-break > div.sum {
  border-top: 1.5px solid rgba(0,0,0,0.28); margin-top: 3px; padding-top: 10px;
}
.vs-bento .tile-roi.roi-detail .roi-break > div.sum span { color: var(--color-ink); font-weight: var(--fw-semi); }
.vs-bento .tile-roi.roi-detail .roi-break > div.sum strong { color: var(--color-brand-green-dark); font-size: 16px; }

/* ---------- Confidence highlights ---------- */
.conf-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
@media (max-width: 980px) { .conf-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .conf-grid { grid-template-columns: 1fr; } }
.conf-card {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 26px;
  display: flex; flex-direction: column;
  transition: transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out), border-color 220ms var(--ease-out);
}
.conf-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(12,30,58,0.09); border-color: transparent; }
.conf-card .ic {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(40,104,176,0.1); color: var(--color-primary);
  display: grid; place-items: center; margin-bottom: 16px;
}
.conf-card.lead {
  background: radial-gradient(120% 130% at 0% 0%, #2868b0 0%, #0c1e3a 78%);
  border-color: transparent;
}
.conf-card.lead .ic { background: rgba(255,255,255,0.14); color: #fff; }
.conf-card.lead h4 { color: #fff; }
.conf-card.lead p { color: rgba(255,255,255,0.82); }
.conf-card h4 {
  font-family: var(--font-display); font-size: 19px; font-weight: var(--fw-semi);
  letter-spacing: -0.012em; margin: 0 0 9px; color: var(--color-ink);
}
.conf-card p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.55; margin: 0; }

/* ---------- LS-1250A → B comparison ---------- */
.cmp {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); overflow: hidden;
}
.cmp-row {
  display: grid; grid-template-columns: 1.6fr 1fr 1.15fr;
  align-items: center;
  border-top: 1px solid var(--color-hairline);
}
.cmp-row:first-child { border-top: 0; }
.cmp-row > div { padding: 18px 22px; font-size: 15px; letter-spacing: -0.008em; }
.cmp-head {
  background: var(--color-canvas-parchment);
}
.cmp-head > div {
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: var(--fw-semi); color: var(--color-ink-muted-48); padding-block: 14px;
}
.cmp-head .cmp-b { color: var(--color-primary); }
.cmp-head .cmp-b span {
  margin-left: 6px; text-transform: none; letter-spacing: -0.004em;
  font-size: 10px; background: var(--color-primary); color: #fff;
  padding: 2px 7px; border-radius: 9999px; vertical-align: middle;
}
.cmp-feat {
  font-weight: var(--fw-semi); color: var(--color-ink);
  display: flex; flex-direction: column; gap: 5px;
}
.cmp-feat .cmp-why {
  font-weight: 400; font-size: 12.5px; color: var(--color-ink-muted-48);
  line-height: 1.45; letter-spacing: -0.004em; text-wrap: pretty;
}
.cmp-a { color: var(--color-ink-muted-80); }
.cmp-b {
  color: var(--color-ink); font-weight: var(--fw-semi);
  background: rgba(40,104,176,0.05);
  box-shadow: inset 1px 0 0 rgba(40,104,176,0.12);
}
@media (max-width: 760px) {
  .cmp-row { grid-template-columns: 1fr; gap: 0; }
  .cmp-row > div { padding: 12px 18px; }
  .cmp-head { display: none; }
  .cmp-row { padding: 8px 0; border-top: 1px solid var(--color-hairline); }
  .cmp-a::before { content: "LS-1250A: "; color: var(--color-ink-muted-48); font-weight: var(--fw-semi); }
  .cmp-b { background: rgba(40,104,176,0.06); box-shadow: none; }
  .cmp-b::before { content: "LS-1250B: "; color: var(--color-primary); font-weight: var(--fw-semi); }
}
.cmp-core {
  margin-top: 20px;
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 22px 24px;
}
.cmp-core-head {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: var(--fw-semi); letter-spacing: -0.008em;
  color: var(--color-ink); margin-bottom: 16px;
}
.cmp-core-head svg { color: var(--color-brand-green-dark); }
.cmp-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.cmp-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--color-canvas-parchment); border: 1px solid var(--color-hairline);
  border-radius: 9999px; padding: 7px 13px;
  font-size: 13px; color: var(--color-ink-muted-80); letter-spacing: -0.006em;
}
.cmp-chip svg { color: var(--color-brand-green-dark); flex: none; }

/* ---------- Hero video frame ---------- */
.hero-chamber .hero-video-frame {
  display: block; width: 100%; height: 100%; border: 0;
  border-radius: var(--radius-lg);
}
.hero-chamber .hero-chamber-img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  border-radius: var(--radius-lg);
  position: relative; z-index: 1;
  transform: translateZ(0);
  animation: hero-chamber-float 7s var(--ease-out) infinite;
}

/* Richer "studio" framing so the flat product shot reads with depth */
.hero-chamber {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 30% 18%, rgba(40,104,176,0.10), transparent 60%),
    linear-gradient(160deg, #fbfcfe 0%, #eef1f6 58%, #e4e8ef 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 28px 60px -28px rgba(28,46,82,0.42),
    0 8px 22px -16px rgba(28,46,82,0.30);
}
.hero-chamber::after {
  content: "";
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
  border-radius: var(--radius-lg);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.55) inset;
}

/* Ambient blue glow rising off the UV chamber window */
.hero-chamber .hero-chamber-glow {
  position: absolute; z-index: 0; pointer-events: none;
  left: 16%; top: 18%; width: 56%; height: 60%;
  background: radial-gradient(circle at 50% 50%, rgba(58,128,228,0.55), rgba(58,128,228,0) 68%);
  filter: blur(28px);
  mix-blend-mode: screen;
  animation: hero-chamber-pulse 5.5s ease-in-out infinite;
}

/* Depth vignette — pulls the eye to the product, kills the flat-white feel */
.hero-chamber .hero-chamber-vignette {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  border-radius: var(--radius-lg);
  background: radial-gradient(125% 105% at 50% 42%, transparent 55%, rgba(28,40,68,0.16) 100%);
}

/* Slow premium light-sweep across the glass */
.hero-chamber .hero-chamber-sheen {
  position: absolute; z-index: 3; pointer-events: none;
  top: -40%; left: -60%; width: 50%; height: 180%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  filter: blur(4px);
  animation: hero-chamber-sheen 6.5s ease-in-out 1.2s infinite;
}

@keyframes hero-chamber-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-6px) scale(1.012); }
}
@keyframes hero-chamber-pulse {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 0.95; }
}
@keyframes hero-chamber-sheen {
  0%   { left: -60%; opacity: 0; }
  12%  { opacity: 1; }
  34%  { left: 130%; opacity: 0; }
  100% { left: 130%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-chamber .hero-chamber-img,
  .hero-chamber .hero-chamber-glow,
  .hero-chamber .hero-chamber-sheen { animation: none; }
  .hero-chamber .hero-chamber-glow { opacity: 0.7; }
}

/* Pillar lead image (small banner above heading) */
.pillar .pillar-lead-img {
  width: 100%; height: 96px; margin-bottom: 16px;
  border-radius: 12px; overflow: hidden;
  border: 1px solid var(--color-hairline);
  background: var(--color-canvas-parchment);
}
.pillar.green .pillar-lead-img { border-color: rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); }
.pillar .pillar-lead-img image-slot { display: block; width: 100%; height: 100%; }

/* Gated FSSC download — success state */
.form-done {
  display: flex; align-items: flex-start; gap: 11px;
  background: rgba(104,184,40,0.14); border: 1px solid rgba(104,184,40,0.4);
  border-radius: 14px; padding: 14px 16px;
  font-size: 14px; line-height: 1.5; color: #e8f3dd;
}
.form-done svg { color: #8ed44a; flex: none; margin-top: 2px; }
.form-done strong { color: #fff; }
.form-done a { color: #aef07a; text-decoration: underline; }
.cta-banner .form button:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---------- Customer logo banner ---------- */
.clients-head { text-align: center; max-width: 680px; margin: 0 auto 30px; }
.clients-head .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--color-primary); font-weight: var(--fw-semi); margin-bottom: 14px;
}
.clients-head .eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand-green); }
.clients-head h2 {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.4vw, 36px); font-weight: var(--fw-semi);
  letter-spacing: -0.016em; line-height: 1.14; margin: 0;
}

.logo-marquee { display: flex; flex-direction: column; gap: 16px; }
.lm-row { position: relative; display: flex; align-items: center; gap: 0; }
.lm-tag {
  position: absolute; left: 0; top: 0; bottom: 0; z-index: 3;
  display: inline-flex; align-items: center;
  padding: 0 18px 0 max(28px, calc((100vw - var(--content-wide)) / 2 + 28px));
  font-size: 12px; font-weight: var(--fw-semi); letter-spacing: 0.04em;
  color: #fff; white-space: nowrap;
  background: linear-gradient(90deg, var(--color-primary) 72%, transparent);
}
.lm-tag.kr { background: linear-gradient(90deg, var(--color-brand-green-dark) 72%, transparent); }
.lm-viewport {
  overflow: hidden; width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}
.lm-track { display: flex; width: max-content; will-change: transform; }
.lm-set { display: flex; flex: none; }
.lm-logo {
  flex: none; width: 176px; height: 104px; margin: 0 8px;
  background: #fff; border: 1px solid var(--color-hairline); border-radius: 14px;
  display: flex; align-items: center; justify-content: center; padding: 12px 22px;
  box-sizing: border-box;
}
.lm-logo img {
  display: block;
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  object-fit: contain;
  filter: none; opacity: 1;
  transition: filter 200ms var(--ease-out), opacity 200ms var(--ease-out);
}
.lm-logo:hover img { filter: grayscale(0); opacity: 1; }

/* ---------- Hero chicken animation ---------- */
.hero-paddle-l { transform-box: fill-box; transform-origin: center; animation: padL 1.1s ease-in-out infinite; }
.hero-paddle-r { transform-box: fill-box; transform-origin: center; animation: padR 1.1s ease-in-out infinite; }
.hero-chicken  { transform-box: fill-box; transform-origin: center; animation: chick 1.1s ease-in-out infinite; }
@keyframes padL { 0%,100% { transform: translateX(0); } 50% { transform: translateX(9px); } }
@keyframes padR { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-9px); } }
@keyframes chick { 0%,100% { transform: translateY(0) rotate(-2deg) scaleX(1); } 50% { transform: translateY(-3px) rotate(2deg) scaleX(0.93); } }
@media (prefers-reduced-motion: reduce) {
  .hero-paddle-l, .hero-paddle-r, .hero-chicken { animation: none; }
}
.hero-live-tag {
  position: absolute; top: 14px; left: 14px; z-index: 3;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(204,46,58,0.95); color: #fff;
  border-radius: 9999px; padding: 6px 12px 6px 10px;
  font-size: 11px; font-weight: var(--fw-semi); letter-spacing: 0.04em;
}
.hero-live-tag .pulse {
  width: 7px; height: 7px; border-radius: 50%; background: #fff;
  animation: pulse 1.2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

/* ---------- Service headline band (repair & calibration) ---------- */
.svc-headline {
  background:
    linear-gradient(135deg, rgba(8,28,58,0.18) 0%, rgba(8,28,58,0.55) 100%),
    radial-gradient(95% 120% at 15% 10%, #3a86e0 0%, #2868b0 38%, #163d78 72%, #0c2147 100%);
  color: #fff;
  border-radius: 32px;
  margin: 26px 28px;
  max-width: 1384px; margin-inline: auto;
  padding: 52px 56px;
  display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: center;
  position: relative; overflow: hidden;
  box-shadow: 0 30px 70px -28px rgba(22,61,120,0.6);
}
/* Subtle blueprint grid overlay to give the blue band its own texture */
.svc-headline::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(120% 100% at 80% 100%, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(120% 100% at 80% 100%, #000 0%, transparent 70%);
}
.svc-headline > * { position: relative; z-index: 1; }
@media (max-width: 900px) { .svc-headline { grid-template-columns: 1fr; padding: 38px; margin: 22px; } }
.svc-headline .eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  font-weight: var(--fw-semi); color: #9fd0ff;
}
.svc-headline .eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: #9fd0ff; }
.svc-headline h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 46px); font-weight: var(--fw-semi);
  letter-spacing: -0.016em; line-height: 1.08; margin: 16px 0 0; color: #fff;
}
.svc-headline p { margin-top: 14px; font-size: 16px; line-height: 1.55; color: rgba(255,255,255,0.8); max-width: 520px; }
.svc-headline .ctas { display: flex; gap: 10px; margin-top: 26px; flex-wrap: wrap; }
.svc-headline .ctas .pill.ghost { color: #fff; border-color: rgba(255,255,255,0.4); background: transparent; }
.svc-headline .ctas .pill.ghost:hover { background: rgba(255,255,255,0.08); }
.svc-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-stat {
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14);
  border-radius: 18px; padding: 20px;
}
.svc-stat strong {
  display: block; font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 34px); font-weight: var(--fw-semi);
  letter-spacing: -0.016em; color: #fff; line-height: 1;
}
.svc-stat .l { display: block; margin-top: 7px; font-size: 12.5px; color: rgba(255,255,255,0.6); line-height: 1.4; }
.svc-stat .ic { color: #9fd0ff; margin-bottom: 10px; }

/* ---------- Food-safety consulting overview ---------- */
.fs-overview { max-width: 1384px; margin: 0 auto; padding: 50px 28px; }
.fs-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-top: 4px; }
@media (max-width: 900px) { .fs-grid { grid-template-columns: 1fr; } }
.fs-item {
  background: #fff; border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg); padding: 26px;
  cursor: pointer; transition: transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
}
.fs-item:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.07); }
.fs-item .ic {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(104,184,40,0.13); color: var(--color-brand-green-dark);
  display: grid; place-items: center; margin-bottom: 16px;
}
.fs-item h4 { font-family: var(--font-display); font-size: 19px; font-weight: var(--fw-semi); letter-spacing: -0.012em; margin: 0 0 8px; }
.fs-item p { font-size: 14px; color: var(--color-ink-muted-80); line-height: 1.55; }
.fs-item .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.fs-item .tags span {
  font-size: 11px; font-weight: var(--fw-semi); letter-spacing: -0.004em;
  background: var(--color-canvas-parchment); color: var(--color-ink-muted-80);
  border-radius: 9999px; padding: 4px 10px;
}

.stack-section { padding: 80px 28px; }
.stack-section.parchment { background: var(--color-canvas-parchment); }

.brand-logos {
  display: flex; gap: 36px; flex-wrap: wrap; align-items: center;
  justify-content: center; opacity: 0.7;
}
.brand-logos .lg {
  font-family: var(--font-display); font-weight: var(--fw-semi);
  letter-spacing: -0.012em; font-size: 18px;
  color: var(--color-ink-muted-48);
}

/* Floating "What's new" card on home (mini Activity feed) */
.tickets {
  margin-top: 22px;
  background: rgba(255,255,255,0.7);
  backdrop-filter: var(--backdrop-frosted);
  border: 1px solid var(--color-hairline);
  border-radius: 18px;
  padding: 14px 16px;
  display: flex; gap: 14px; align-items: center;
  max-width: 420px;
}
.tickets .ind {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-brand-green);
  box-shadow: 0 0 0 5px rgba(104,184,40,0.18);
  flex: none;
}
.tickets .txt { font-size: 13px; color: var(--color-ink-muted-80); }
.tickets .txt strong { color: var(--color-ink); font-weight: var(--fw-semi); }

.catalog-jump{display:flex;flex-wrap:wrap;gap:12px;padding-top:24px;padding-bottom:24px}.catalog-jump a,.catalog-filters button{border:1px solid var(--color-hairline,#ddd);padding:11px 18px;border-radius:30px;background:white;color:inherit;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}.catalog-jump a:hover,.catalog-filters button.selected{background:#0e6b3c;color:white;border-color:#0e6b3c}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nir-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-product{border:1px solid var(--color-hairline,#ddd);border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0}.catalog-product:hover{box-shadow:0 10px 28px #12331a0c}.catalog-photo{position:relative;background:#fff;min-width:0;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:14px}.catalog-photo img{width:100%;height:100%;object-fit:contain;position:absolute;padding:20px}.catalog-photo-link{display:block}.mockup-label{position:absolute;bottom:8px;right:10px;font-size:10px;color:#52605a;background:#fffffff2;padding:3px 7px;border-radius:6px}.catalog-product-body{padding:22px;display:flex;flex-direction:column;flex:1}.catalog-kicker{font-size:11px;letter-spacing:.08em;color:#0e6b3c;font-weight:600}.catalog-product h3{font-size:20px;line-height:1.45;margin:10px 0;overflow-wrap:anywhere}.catalog-product h3 a{color:inherit;text-decoration:none}.catalog-product p{font-size:13px;color:#617068;margin:0 0 22px;line-height:1.8}.catalog-card-bottom{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.catalog-card-bottom>span{font-size:11px;color:#637068}.catalog-card-bottom .pill{font-size:12px;padding:8px 13px}.catalog-controls{display:flex;gap:20px;align-items:end;justify-content:space-between;flex-wrap:wrap}.catalog-filters{display:flex;flex-wrap:wrap;gap:8px}.catalog-filters small{margin-left:6px;opacity:.7}.catalog-search{display:flex;flex-direction:column;gap:6px;font-size:12px}.catalog-search input{font:inherit;font-size:14px;padding:12px 16px;border:1px solid #ccd5cf;border-radius:12px;min-width:240px;background:#fff}.catalog-count{font-size:12px;color:#647369;margin:22px 0}.catalog-sources{border-top:1px solid #dfe5df;margin-top:32px;padding-top:20px;display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#637068}.catalog-sources a{color:#0e6b3c}.catalog-empty{padding:50px 0;display:flex;gap:20px;align-items:center}.catalog-related{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.pd-hero .catalog-photo{width:100%;align-self:center}.pd-spec a{color:#0e6b3c}#nir-catalog,#chemicals-catalog{scroll-margin-top:95px}.catalog-product a:focus-visible,.catalog-filters button:focus-visible{outline:3px solid #68b828;outline-offset:3px}@media(max-width:1100px){.nir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-product-body{padding:16px}.catalog-product h3{font-size:17px}.catalog-search,.catalog-search input{width:100%;min-width:0}}@media(max-width:480px){.catalog-grid{grid-template-columns:1fr}.catalog-filters button{font-size:12px;padding:9px 12px}.catalog-jump{padding-left:20px;padding-right:20px}}
.product-home-intro{background:#edf4f8;border-bottom:1px solid #dae5eb;padding:55px 0}.product-home-intro>.wrap-wide{display:flex;align-items:center;justify-content:space-between;gap:40px}.product-home-intro h1{font-size:clamp(30px,3.8vw,52px);line-height:1.3;letter-spacing:-.03em;margin:15px 0}.product-home-intro h1 span{color:#2868a5}.product-home-intro p{font-size:16px;color:#526575;max-width:680px;line-height:1.9}.product-intro-summary{border-left:1px solid #c9dce6;padding-left:38px;min-width:260px;display:flex;flex-direction:column;gap:15px}.product-intro-summary strong{font-size:64px;line-height:1;color:#2868a5}.product-intro-summary strong span{font-size:19px;font-weight:500;color:#243e50}.product-intro-summary>span{font-size:14px;color:#536a78}.home-product-gallery{padding-top:42px}.featured-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-kicker{font-size:12px}.catalog-product p{font-size:14px}.catalog-card-bottom>span{font-size:12px}.catalog-count,.catalog-sources{font-size:14px}.catalog-filters button{font-size:14px}.catalog-product-body{padding:20px}.catalog-product h3{font-size:20px}.catalog-photo{background:#fff}#instruments-catalog{scroll-margin-top:95px}.pd-spec table{overflow-wrap:anywhere}@media(max-width:760px){.product-home-intro>.wrap-wide{display:block}.product-home-intro{padding:32px 0}.product-intro-summary{border-left:0;border-top:1px solid #c9dce6;padding:20px 0 0;margin-top:20px;min-width:0}.product-intro-summary strong{font-size:42px}.product-intro-summary .pill{align-self:flex-start}.featured-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.featured-product-grid{grid-template-columns:1fr}.product-home-intro h1{font-size:30px}.product-home-intro .wrap-wide{padding-left:20px;padding-right:20px}}

.flagship-hero{background:#edf4f9;padding:46px 0}.flagship-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.flagship-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.06;letter-spacing:-.035em;margin:20px 0}.flagship-copy h1 span{color:#2868a5}.flagship-lead{font-size:21px;line-height:1.7;margin-bottom:14px}.flagship-note{font-size:16px;line-height:1.9;color:#536574;max-width:550px}.flagship-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.flagship-secondary{display:inline-block;margin-top:18px;font-size:14px;color:#2868a5}.flagship-visual{position:relative;display:block;background:#fff;border:1px solid #dae5ee;border-radius:24px;overflow:hidden;padding:18px 18px 42px;max-width:510px;width:100%;justify-self:end}.flagship-visual img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}.flagship-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:14px;color:#536574}.buyer-paths{padding:34px 0;border-bottom:1px solid #e1e7eb}.buyer-paths h2{font-size:24px;margin-bottom:20px}.buyer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.buyer-grid article{padding-right:20px;border-right:1px solid #dce4e8}.buyer-grid article:last-child{border:0}.buyer-grid h3{font-size:20px;margin:8px 0}.buyer-grid p{font-size:16px;line-height:1.8;color:#566675;margin-bottom:12px}.buyer-grid button.alink{border:0;background:none;padding:0;font:inherit;font-size:14px;cursor:pointer}.home-support{background:#edf4f9;padding:42px 0}.home-support>.wrap-wide,.home-sales>.wrap-wide{display:flex;justify-content:space-between;align-items:center;gap:32px}.home-support h2,.home-sales h2{font-size:28px;margin:10px 0}.home-support p,.home-sales p{max-width:700px;line-height:1.9;font-size:16px;color:#566675}.home-support-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:230px}.home-sales{padding:40px 0}.gallery-expand{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}.gallery-expand span{font-size:14px;color:#667784}.flagship-actions .pill:focus-visible,.flagship-visual:focus-visible{outline:3px solid #68b828;outline-offset:4px}@media(max-width:760px){.flagship-layout{grid-template-columns:1fr;gap:26px}.flagship-hero{padding:28px 0}.flagship-visual{justify-self:center;max-width:400px}.flagship-lead{font-size:18px}.buyer-grid{grid-template-columns:1fr;gap:22px}.buyer-grid article{border-right:0;border-bottom:1px solid #dce4e8;padding:0 0 18px}.home-support>.wrap-wide,.home-sales>.wrap-wide{display:block}.home-support-actions{margin-top:22px}.flagship-actions .pill{font-size:14px}.home-support h2,.home-sales h2{font-size:24px}}

/* Compact home office block; full contact content retained. */
.home-page .home-contact-compact{padding-top:24px;padding-bottom:24px}
.home-page .home-contact-compact .map-block{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);border-radius:20px}
.home-page .home-contact-compact .map-info{padding:24px 28px}
.home-page .home-contact-compact .map-info .eyebrow{font-size:10px;margin-bottom:9px}
.home-page .home-contact-compact .map-info h2{font-size:26px;line-height:1.25;margin-bottom:17px}
.home-page .home-contact-compact .offices-mini{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.home-page .home-contact-compact .om{padding-top:10px}
.home-page .home-contact-compact .om .city{font-size:12px}
.home-page .home-contact-compact .om .addr{font-size:12px;line-height:1.65;margin-left:0}
.home-page .home-contact-compact .om .ph{font-size:12px;flex-wrap:wrap;margin-left:0;line-height:1.6}
.home-page .home-contact-compact .ctas .pill{padding:10px 17px;font-size:12px}
.home-page .home-contact-compact .map-canvas{position:relative;min-height:0;height:auto}
.home-page .home-contact-compact .map-canvas>svg{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:900px){.home-page .home-contact-compact .map-block{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}.home-page .home-contact-compact .offices-mini{grid-template-columns:1fr;gap:10px}.home-page .home-contact-compact .map-info{padding:22px}}
@media(max-width:600px){.home-page .home-contact-compact .map-block{grid-template-columns:1fr}.home-page .home-contact-compact .map-info{padding:20px}.home-page .home-contact-compact .map-info h2{font-size:23px}.home-page .home-contact-compact .map-canvas{height:190px}.home-page .home-contact-compact{padding-top:18px;padding-bottom:18px}}

.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.business-card{padding:26px;border:1px solid #d9e3e9;border-radius:18px;background:#fff;display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none;min-width:0}.business-card>svg{color:#2868a5}.business-card h3{font-size:22px;line-height:1.4}.business-card h2{font-size:25px}.business-card p{color:#536575;font-size:16px;line-height:1.8}.business-card .pill,.business-card>span{margin-top:auto;align-self:start}.lab-brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.lab-brand-grid .business-card{padding:22px 18px}.lab-brand-grid h3{font-size:23px}.lab-brand-grid p{font-size:14px}.lab-brand-grid span{color:#2868a5;font-size:14px}.category-types{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.category-types span{border:1px solid #cfdee6;border-radius:24px;padding:10px 16px;font-size:15px}.business-category-note{background:#edf4f9;border-radius:20px;padding:30px;margin-top:26px}.business-category-note h2{font-size:27px;margin-bottom:14px}.business-category-note p,.business-category-note li{font-size:16px;line-height:1.9;max-width:900px}.business-category-note ul{padding-left:22px;margin-bottom:24px}.business-category-note .pill{margin-top:20px}.page-strip>.pill{margin-top:24px}.business-card:focus-visible{outline:3px solid #68b828;outline-offset:4px}.gnav .links{gap:3px}.gnav .links :is(button,a){padding-left:9px;padding-right:9px}@media(max-width:1100px){.lab-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.business-grid,.lab-brand-grid{grid-template-columns:1fr}.business-card{padding:22px}.business-category-note{padding:22px}.gnav{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px}.gnav .links{display:flex!important;order:3;width:100%;overflow-x:auto;justify-content:flex-start;white-space:nowrap;margin-top:8px}.gnav .links :is(button,a){flex:none;font-size:13px}}

.business-cover{height:164px;border-radius:12px;background:#f0f5f8;overflow:hidden;margin-bottom:5px}.business-cover img,.business-cover svg{width:100%;height:100%;object-fit:cover;display:block}.business-cover.contain img{object-fit:contain;padding:12px;background:#fff}.brand-cover{height:130px;display:flex;align-items:center;justify-content:center;background:#f7f9fb;border-radius:10px;overflow:hidden}.brand-cover img{width:100%;height:100%;object-fit:contain;padding:10px}.topic-graphic{display:block;width:100%;height:auto}.health-graphic{width:110px;flex:none}.cat-card:has(.health-graphic){display:flex;align-items:center;gap:15px}.gbx-real{margin:0;background:#fff;border-radius:20px;overflow:hidden}.gbx-real img{display:block;width:100%;height:320px;object-fit:cover;object-position:55% 75%}.gbx-real figcaption{padding:12px 16px;color:#255340;font-size:12px;line-height:1.7}.service-heading-cover{grid-column:1/-1;width:100%;height:235px;object-fit:cover;object-position:50% 52%;border-radius:18px}.svc-headline{row-gap:28px!important}.activity-photo{display:block;width:100%;height:210px;object-fit:cover;border-radius:16px}.cta-illustrated{display:grid!important;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center}.cta-illustrated .left{grid-column:1;grid-row:1/3}.cta-art{grid-column:2;grid-row:1;width:100%;max-width:400px;justify-self:end}.cta-illustrated .right{grid-column:2;grid-row:2}.cta-art .topic-graphic{border-radius:20px}.business-card .business-cover{flex:none}@media(max-width:760px){.business-cover{height:180px}.lab-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-cover{height:120px}.lab-brand-grid h3{font-size:19px}.health-graphic{width:90px}.service-heading-cover{height:180px}.gbx-real img{height:240px}.cta-illustrated{grid-template-columns:1fr}.cta-illustrated .left,.cta-illustrated .right,.cta-art{grid-column:1;grid-row:auto}.cta-art{max-width:100%;justify-self:stretch}.activity-photo{height:190px}}@media(max-width:380px){.lab-brand-grid{grid-template-columns:1fr}}
.svc-headline>.service-heading-cover{grid-column:2;grid-row:1;height:auto;aspect-ratio:2/1;object-fit:contain;background:#102c49}.svc-headline>div:not(.svc-stats){grid-column:1;grid-row:1}.svc-headline>.svc-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr))}.svc-headline>div{min-width:0}
@media(max-width:760px){.home-page .section-head{flex-direction:column;align-items:flex-start}.home-page .section-head>div{min-width:0}.home-page .section-head h2{font-size:29px}.home-page .section-head .pill{white-space:normal}.svc-headline{padding:24px!important;margin:18px!important}.svc-headline>.service-heading-cover,.svc-headline>div:not(.svc-stats),.svc-headline>.svc-stats{grid-column:1;grid-row:auto}.svc-headline>.svc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-headline h2{font-size:30px}.svc-stat strong{font-size:22px}.cta-illustrated{padding:28px}.cta-illustrated .left h3{font-size:34px}.cta-illustrated .right{flex-wrap:wrap;justify-content:flex-start}.map-canvas{overflow:hidden}.map-info{padding:24px}.map-info .ph{overflow-wrap:anywhere}}

.dual-hero{padding:30px 0 38px;background:#edf3f7}.dual-hero .wrap-wide{padding-inline:28px}.dual-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hero-feature{border:1px solid #dce5eb;background:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 9px 25px #213d5310}.hero-feature-copy{padding:26px 28px 0}.hero-feature-kicker{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#47687f}.hero-feature h1,.hero-feature .hero-product-title{font-family:var(--font-display);font-size:40px;line-height:1.12;letter-spacing:-1.5px;margin:15px 0 16px;color:#172e41}.hero-feature h1 span,.hero-product-title span{color:#2969a4}.hero-feature-copy>h2:not(.hero-product-title),.hero-feature-copy>h3{font-size:23px;line-height:1.4;margin:0 0 12px;font-weight:650;color:#243d51}.hero-feature-copy>p{font-size:14px;line-height:1.85;color:#526878;margin:0;min-height:104px}.hero-benefits{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 0}.hero-benefits span{font-size:11px;padding:5px 10px;border-radius:20px;background:#edf3f7;color:#325a74}.hero-feature-photo{height:270px;display:flex;align-items:center;justify-content:center;margin:14px 24px 0;border-radius:15px;overflow:hidden;background:#f4f4f4}.hero-feature-photo img{width:100%;height:100%;object-fit:contain}.nir-feature .hero-feature-photo{background:#4c89f3}.nir-feature .hero-feature-photo img{width:auto;max-width:100%}.hero-feature-actions{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto}.hero-feature-actions .pill{font-size:12px;padding:11px 15px}.hero-text-link{font-size:12px;color:#2868a5;display:inline-flex;gap:5px;align-items:center}.compact-gallery{padding-top:40px}.brand-gallery-rows{display:grid;gap:18px}.brand-gallery-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid #e2e8ec}.brand-row-heading{align-self:center}.brand-row-heading h3{font-size:20px;margin:0 0 8px}.brand-row-heading a{font-size:12px;color:#2868a5}.compact-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compact-group-card{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;border:1px solid #dfe7ed;border-radius:16px;padding:12px;color:inherit;text-decoration:none;transition:box-shadow .2s,transform .2s;min-height:151px}.compact-group-card:hover{box-shadow:0 8px 20px #1c4c6e15;transform:translateY(-2px)}.compact-group-card:focus-visible{outline:2px solid #2868a5;outline-offset:3px}.compact-group-image{height:125px;background:#f8fafb;border-radius:10px;overflow:hidden}.compact-group-image img{width:100%;height:100%;object-fit:contain;padding:7px}.compact-group-card h4{font-size:14px;line-height:1.4;margin:0 0 6px}.compact-group-card p{font-size:12px;color:#617385;line-height:1.5;margin:0 0 12px}.compact-group-card span{font-size:11px;color:#2868a5}.gallery-more-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;padding-top:24px}.gallery-more-links a{font-size:13px;color:#2868a5;border:1px solid #d6e2ea;border-radius:25px;padding:10px 18px}.lab-brand-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-heading-cover{object-fit:cover!important;aspect-ratio:2/1}.home-page .service-heading-cover{object-position:center 30%}
@media(max-width:1100px){.compact-group-card{grid-template-columns:1fr;gap:7px}.compact-group-image{height:115px}.brand-gallery-row{grid-template-columns:110px minmax(0,1fr)}.hero-feature h1,.hero-feature .hero-product-title{font-size:33px}.lab-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dual-hero-grid{grid-template-columns:1fr}.dual-hero .wrap-wide{padding-inline:18px}.hero-feature-copy{padding:23px 22px 0}.hero-feature-copy>p{min-height:0}.hero-feature h1,.hero-feature .hero-product-title{font-size:34px}.hero-feature-photo{height:250px;margin-inline:20px}.hero-feature-actions{padding:20px}.hero-feature-copy>h2:not(.hero-product-title),.hero-feature-copy>h3{font-size:22px}.brand-gallery-row{grid-template-columns:1fr;gap:12px}.brand-row-heading{display:flex;justify-content:space-between;align-items:center}.brand-row-heading h3{margin:0}.compact-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compact-group-card{padding:8px;border-radius:12px;align-items:start}.compact-group-image{height:85px}.compact-group-card h4{font-size:12px}.compact-group-card p{font-size:11px}.compact-group-card span{font-size:10px}.compact-gallery .wrap-wide{padding-inline:18px}.lab-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.compact-group-grid{grid-template-columns:1fr}.compact-group-card{grid-template-columns:90px 1fr;align-items:center}.compact-group-image{height:95px}}
.dual-hero .hero-feature{padding:0}.dual-hero .hero-feature-photo{height:230px}.dual-hero .hero-feature-copy>p{min-height:84px}@media(max-width:760px){.dual-hero .hero-feature-copy>p{min-height:0}}

/* Spacing only: retain the existing content, imagery, categories and column counts. */
main[data-screen-label="page-products"] > .page-strip {
  padding-top: 40px;
  padding-bottom: 32px;
}
main[data-screen-label="page-products"] > .page-strip h1 { margin-top: 12px; }
main[data-screen-label="page-products"] > .page-strip p { margin-top: 14px; }
main[data-screen-label="page-products"] > .stack-section { padding-block: 36px; }
main[data-screen-label="page-products"] > .stack-section > .wrap-wide { padding-inline: 0; }
main[data-screen-label="page-products"] .section-head { margin-bottom: 22px; gap: 20px; }
main[data-screen-label="page-products"] .catalog-jump { padding-block: 12px; gap: 10px; }
main[data-screen-label="page-products"] .catalog-grid { gap: 20px; }
.lab-brand-grid { gap: 14px; }
.lab-brand-grid .business-card { padding: 18px 16px; gap: 10px; }
.business-card h3, .business-card p { margin: 0; }
.business-card .pill { margin-bottom: 0; }
.catalog-product-body { padding: 18px 20px 20px; }
.catalog-product h3 { margin: 8px 0 10px; }
.catalog-product p { margin-bottom: 18px; }
.catalog-card-bottom { gap: 10px; }
.catalog-controls { gap: 16px; }
.catalog-count { margin-block: 16px; }
.catalog-sources { margin-top: 24px; padding-top: 16px; gap: 16px; }
.home-page .stack-section { padding-block: 30px; }
.home-page .stack-section > .wrap-wide { padding-inline: 0; }
.home-page .section-head { margin-bottom: 22px; }
.brand-gallery-rows { gap: 8px; }
.brand-gallery-row { padding-block: 14px; gap: 18px; }
.gallery-more-links { padding-top: 20px; gap: 12px; }
.instrument-brand-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.instrument-search-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, 280px); gap: 16px; margin-top: 20px; }
.instrument-search-row .catalog-search { width: 100%; min-width: 0; }
.instrument-type { display: flex; flex-direction: column; gap: 8px; font-size: 12px; }
.instrument-type select { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #ccd8d2; border-radius: 12px; background: white; color: inherit; font: inherit; font-size: 14px; }
.instrument-load-more { display: flex; justify-content: center; margin-top: 24px; }
@media (min-width: 1101px) {
  #instruments-catalog .instrument-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  #instruments-catalog .catalog-product h3 { font-size: 18px; }
  #instruments-catalog .catalog-product-body { padding: 18px; }
}
@media (max-width: 600px) {
  .instrument-search-row { grid-template-columns: 1fr; gap: 12px; }
}
/* Product Gallery covers: 20% larger than the original 104 × 125px. */
#featured-products .compact-group-card { grid-template-columns: 124.8px minmax(0, 1fr); }
#featured-products .compact-group-image { height: 150px; }
#featured-products .compact-group-image img { padding: 8.4px; }
@media (max-width: 1100px) {
  #featured-products .compact-group-card { grid-template-columns: 1fr; }
  #featured-products .compact-group-image { height: 138px; }
}
@media (max-width: 760px) {
  #featured-products .compact-group-image { height: 102px; }
}
@media (max-width: 380px) {
  #featured-products .compact-group-card { grid-template-columns: 108px minmax(0, 1fr); }
  #featured-products .compact-group-image { height: 114px; }
}
.hero-feature-copy { padding: 24px 26px 0; }
.hero-feature-actions { padding: 20px 26px; gap: 12px; }
.hero-benefits { margin-top: 12px; }
@media (max-width: 760px) {
  main[data-screen-label="page-products"] > .page-strip { padding: 28px 18px 24px; }
  main[data-screen-label="page-products"] > .stack-section { padding: 26px 18px; }
  main[data-screen-label="page-products"] .section-head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
  main[data-screen-label="page-products"] .catalog-jump { padding: 12px 18px; gap: 8px; }
  main[data-screen-label="page-products"] .catalog-grid { gap: 14px; }
  .lab-brand-grid { gap: 12px; }
  .lab-brand-grid .business-card { padding: 16px 14px; gap: 10px; }
  .catalog-product-body { padding: 16px; }
  .catalog-product p { margin-bottom: 14px; }
  .home-page .stack-section { padding: 26px 18px; }
  .home-page .section-head { margin-bottom: 18px; }
  .brand-gallery-row { gap: 12px; padding-block: 12px; }
  .hero-feature-copy { padding: 22px 22px 0; }
  .hero-feature-actions { padding: 18px 22px; }
}

/* Homepage gallery organized by application rather than brand. */
.home-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-type-grid .compact-group-card{margin:0;min-width:0;padding:16px;grid-template-columns:124px minmax(0,1fr);gap:16px;background:#fff}.home-type-grid h3{font-size:16px;line-height:1.5;margin:0 0 7px}.home-type-grid small{display:block;color:#657b8c;font-size:11px;margin:8px 0}.home-type-grid .compact-group-image{background:white}.home-type-grid .compact-group-card>div:last-child{min-width:0}@media(max-width:1050px){.home-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.home-type-grid{grid-template-columns:1fr;gap:12px}.home-type-grid .compact-group-card{grid-template-columns:108px minmax(0,1fr);padding:13px;gap:14px}.home-type-grid .compact-group-image{width:108px;height:130px}}

@media(max-width:650px){#featured-products .home-type-grid .compact-group-card{grid-template-columns:108px minmax(0,1fr);align-items:center}}

.lab-brand-grid .brand-logo-cover{height:110px;background:#fff;display:flex;align-items:center;justify-content:center;border-radius:12px}.lab-brand-grid .brand-logo-cover img{width:100%;height:100%;object-fit:contain;padding:15px}.rapid-category-mark{display:flex;align-items:center;justify-content:center;gap:12px;color:#166849}.rapid-category-mark strong{font-size:21px;line-height:1.05;letter-spacing:.04em}.lab-brand-grid .business-card{background:#fff}.lab-brand-grid .business-card h3{font-size:20px}@media(max-width:700px){.lab-brand-grid .brand-logo-cover{height:95px}.lab-brand-grid .brand-logo-cover img{padding:12px}}
.lab-brand-grid a[href="#category:sj-clave"] .brand-logo-cover{background:#2868a5}.lab-brand-grid a[href="#category:sj-clave"] .brand-logo-cover img{padding:22px}

/* Ten brand/category cards: balanced rows on desktop. */
.lab-brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.lab-brand-grid .business-card h3{font-size:19px;line-height:1.35}.lab-brand-grid .business-card>span{margin-top:auto}@media(max-width:1100px){.lab-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.lab-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-brand-grid .business-card h3{font-size:17px}}

/* NIR sample applications and calibration guidance */
.nir-applications{background:#f5f8fa;scroll-margin-top:120px}.nir-app-heading{max-width:780px;margin-bottom:24px}.nir-app-heading h2{margin:8px 0 12px}.nir-app-heading p{color:#526579;line-height:1.7}
.nir-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nir-application-card{background:#fff;border:1px solid #dbe5e9;border-radius:18px;padding:24px;display:flex;flex-direction:column;min-width:0}.nir-app-top{display:flex;align-items:center;gap:12px;font-size:12px;color:#276b72;font-weight:700;letter-spacing:.04em}.nir-app-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9f4f2;color:#176c63;flex-shrink:0}.nir-application-card h3{font-size:21px;line-height:1.4;margin:16px 0 10px}.nir-application-card p{font-size:14px;line-height:1.8;margin:0 0 16px;color:#526579}.nir-parameters{background:#f1f7f7;border-radius:10px;padding:12px 14px;margin-bottom:16px}.nir-parameters small{display:block;color:#647982;font-size:11px;margin-bottom:6px}.nir-parameters strong{font-size:14px;color:#174e54;line-height:1.65;display:block}.nir-application-card a{margin-top:auto;font-size:12px;color:#2868a5}.nir-calibration-panel{margin-top:24px;background:#102d42;color:white;border-radius:18px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px 36px}.nir-calibration-panel h3{font-size:23px;line-height:1.5;margin:10px 0}.nir-calibration-panel .eyebrow{color:#9dddd0;font-size:11px}.nir-calibration-panel p,.nir-calibration-panel li span{font-size:14px;line-height:1.8;color:#d6e3e9}.nir-calibration-panel ol{padding-left:22px;margin:0}.nir-calibration-panel li{padding-left:6px;margin-bottom:12px}.nir-calibration-panel li strong,.nir-calibration-panel li span{display:block}.nir-calibration-panel>a{color:#a4ded5;font-size:12px}.nir-fit-note{display:flex;align-items:center;gap:28px;margin-top:24px;padding:24px;background:#fff;border:1px solid #dbe5e9;border-radius:16px}.nir-fit-note>div:first-child{flex:1}.nir-fit-note h3{font-size:18px;margin:0 0 10px}.nir-fit-note p{font-size:14px;line-height:1.75;color:#526579;margin:8px 0}.nir-fit-note>.product-contact-actions{max-width:270px}.nir-catalog-link{margin:0 0 22px;color:#2868a5}
@media(max-width:1000px){.nir-application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nir-fit-note{flex-direction:column;align-items:stretch}.nir-fit-note>.product-contact-actions{max-width:none}}
@media(max-width:640px){.nir-application-grid,.nir-calibration-panel{grid-template-columns:1fr}.nir-application-card,.nir-calibration-panel{padding:20px}.nir-application-card h3{font-size:20px}}

/* Photo-led NIR applications and specialist contact */
.nir-visual-banner{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;background:#103b47;border-radius:24px;margin-bottom:40px;color:white}.nir-visual-copy{padding:36px;align-self:center}.nir-visual-copy .eyebrow{color:#aadacc;font-size:11px;letter-spacing:.12em}.nir-visual-copy h2{font-size:clamp(27px,3vw,38px);line-height:1.35;margin:14px 0}.nir-visual-copy p{color:#d3e6e7;font-size:15px;line-height:1.8;margin:0 0 22px}.nir-visual-photo{position:relative;min-height:340px;overflow:hidden}.nir-visual-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.nir-visual-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,59,71,.35),transparent 55%)}.nir-visual-photo>span{position:absolute;bottom:22px;left:24px;font-size:11px;letter-spacing:.16em;background:#103b47bb;border:1px solid #ffffff44;padding:10px 14px;border-radius:30px;z-index:1}.nir-banner-caption{display:block;font-size:11px;color:#b9d4d6;margin-top:12px}.nir-visual-copy .nir-consult-button{background:#d6eee4;color:#123c41;border-color:#d6eee4}
.nir-applications .nir-application-card{padding:0;overflow:hidden}.nir-card-photo{position:relative;aspect-ratio:1.85;overflow:hidden;background:#e1eded}.nir-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.nir-application-card:hover .nir-card-photo img{transform:scale(1.035)}.nir-card-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102d4299)}.nir-card-photo>span{position:absolute;bottom:16px;left:22px;color:#fff;z-index:1;font-weight:600;font-size:14px}.nir-card-content{display:flex;flex-direction:column;flex:1;padding:22px}.nir-card-content h3{margin:0 0 10px}.nir-card-content>p{min-height:76px}.nir-card-details{border-top:1px solid #e1e8ec;padding:12px 0;margin-top:auto;margin-bottom:14px;font-size:13px}.nir-card-details summary{cursor:pointer;color:#2868a5;font-weight:600}.nir-card-details[open] summary{margin-bottom:12px}.nir-card-details p{margin:0 0 8px;font-size:13px}.nir-consult-button{background:#176b63;border-color:#176b63;color:#fff;white-space:normal;line-height:1.5;justify-content:center;text-align:center;gap:8px}.nir-consult-button:hover{background:#104c46;border-color:#104c46;color:#fff}.nir-consult-compact{width:100%;font-size:13px}.nir-photo-credit{font-size:11px;color:#71818c;text-align:right;margin:12px 0 24px}.nir-photo-credit a{color:inherit}.nir-hero-consult{margin-top:12px}.nir-fit-note>.nir-consult-button{flex-shrink:0}
.nir-consult-dialog{max-width:560px;width:calc(100% - 32px);max-height:85vh;overflow:auto;box-sizing:border-box}.nir-consult-dialog h2{font-size:25px;margin:12px 0}.nir-consult-dialog>p{font-size:14px;line-height:1.75}.nir-consult-dialog label{display:block;font-size:13px;font-weight:600;margin:16px 0}.nir-consult-dialog input{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:12px;border:1px solid #ccdce0;border-radius:10px;font:inherit}.nir-consult-context{display:flex;flex-direction:column;gap:4px;background:#edf5f3;border-radius:12px;padding:14px;color:#185950;font-size:13px}.nir-consult-actions{display:flex;flex-direction:column;gap:10px;margin:20px 0}.nir-consult-dialog details{font-size:12px}.nir-consult-dialog textarea{box-sizing:border-box;width:100%;font:inherit;line-height:1.7;margin-top:12px}.nir-consult-dialog .nir-consult-status{color:#647782;font-size:12px}
@media(max-width:760px){.nir-visual-banner{grid-template-columns:1fr}.nir-visual-copy{padding:28px}.nir-visual-photo{min-height:210px;grid-row:1}.nir-card-content>p{min-height:0}.nir-fit-note>.nir-consult-button{align-self:flex-start}.nir-visual-copy .nir-consult-button{width:100%}.nir-photo-credit{text-align:left}}
@media(prefers-reduced-motion:reduce){.nir-card-photo img{transition:none}.nir-application-card:hover .nir-card-photo img{transform:none}}

.product-detail-section .nir-visual-copy h2{color:#fff;font-size:clamp(27px,3vw,38px);line-height:1.35}.nir-visual-banner{scroll-margin-top:145px}.nir-consult-dialog .nir-consult-actions a.pill{color:#fff}.nir-applications .nir-application-card .nir-consult-dialog a.pill{color:#fff}

.nir-image-source{display:block;margin-top:10px!important;font-size:10px!important;color:#71818c!important}.nir-card-photo img[src*="nir-thai/dairy"]{object-position:center 58%}.nir-card-photo img[src*="nir-thai/oilseed"]{object-position:center 30%}.nir-visual-photo img[src*="nir-thai/research"]{object-position:50% center}

.product-detail-page{color:#172c3e}.product-detail-page .wrap-wide{width:min(1200px,calc(100% - 56px));margin-inline:auto;padding:0}.product-detail-hero{padding:30px 0 44px;background:#f3f7fa}.product-breadcrumb{font-size:13px;color:#5b7081;margin-bottom:28px}.product-breadcrumb a{color:#2868a5;text-decoration:none}.product-detail-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.product-detail-copy{min-width:0}.product-detail-copy h1{font-size:clamp(30px,3.2vw,46px);line-height:1.18;letter-spacing:-.035em;margin:14px 0 18px;overflow-wrap:anywhere}.product-detail-intro{font-size:18px;line-height:1.65;margin:0 0 18px}.product-detail-summary{color:#526879;line-height:1.9;font-size:15px;margin:0}.product-quick-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.product-quick-specs>div{padding:12px 0;border-top:2px solid #c7d9e6;min-width:0}.product-quick-specs span{display:block;color:#607487;font-size:12px;margin-bottom:7px}.product-quick-specs strong{font-size:15px;line-height:1.6;font-weight:650;overflow-wrap:anywhere}.product-contact-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.product-contact-actions .pill{font-size:13px;white-space:normal;text-align:center}.product-line{background:#087f47!important;color:white!important}.product-detail-image{background:white;border:1px solid #e0e8ed;border-radius:24px;padding:22px;min-width:0;align-self:start;margin-top:16px}.product-detail-image .catalog-photo{aspect-ratio:1;max-height:450px}.product-detail-image .catalog-photo img{max-height:100%;width:100%;height:100%;object-fit:contain}.product-detail-image>span{display:block;text-align:center;color:#687c8a;font-size:12px;margin-top:12px}.product-detail-nav{border-bottom:1px solid #dce5eb;background:#fff}.product-detail-nav>.wrap-wide{display:flex;gap:24px;flex-wrap:wrap}.product-detail-nav button{appearance:none;border:0;background:transparent;padding:18px 0;color:#2b5779;font:inherit;font-size:14px;cursor:pointer}.product-detail-nav button:hover{color:#0e6b3c}.product-detail-section{padding:44px 0;scroll-margin-top:140px}.product-detail-section h2{font-size:28px;line-height:1.35;margin:10px 0 24px}.product-detail-tint{background:#f5f8fa}.product-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-feature-grid article{border:1px solid #dfe8ed;border-radius:18px;padding:24px}.product-feature-number{font-size:13px;font-weight:700;color:#2267a1}.product-feature-grid p{font-size:16px;line-height:1.8;margin:14px 0 0}.product-application-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px}.product-application-layout ul{padding-left:22px;margin:0;line-height:1.9}.product-application-layout li{margin:10px 0}.product-application-layout aside{padding:26px;background:#fff;border:1px solid #dfe8ed;border-radius:18px}.product-application-layout h3{margin:0 0 12px;font-size:20px}.product-application-layout aside p{font-size:14px;color:#617487;line-height:1.7}.product-spec-table-wrap{border:1px solid #dce5eb;border-radius:16px;overflow:hidden}.product-spec-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:15px}.product-spec-table caption{text-align:left;padding:18px 22px;font-weight:650;background:#ebf2f7}.product-spec-table th,.product-spec-table td{text-align:left;padding:15px 22px;border-top:1px solid #e4ebef;vertical-align:top;line-height:1.7;overflow-wrap:anywhere}.product-spec-table th{width:34%;font-weight:500;color:#466078;background:#fafcfd}.product-detail-note{font-size:13px;line-height:1.8;color:#657482;margin-top:18px}.product-source-details{margin-top:24px;font-size:13px;color:#617487;line-height:1.8}.product-source-details summary{cursor:pointer;color:#2868a5}.product-source-details a{color:#2868a5}.product-enquiry-banner{padding:30px;border-radius:22px;background:#eaf2f8;display:grid;grid-template-columns:1fr;gap:22px}.product-enquiry-banner h2{margin-bottom:12px}.product-enquiry-banner p{line-height:1.8;margin:0}.product-enquiry-dialog{width:min(600px,calc(100% - 36px));max-height:85vh;border:1px solid #dce5eb;border-radius:22px;padding:32px;color:#172c3e;box-shadow:0 24px 100px #102c5040}.product-enquiry-dialog::backdrop{background:#10283e80}.product-enquiry-dialog h2{margin:12px 0;font-size:28px}.product-enquiry-dialog p{line-height:1.8}.enquiry-product-name{font-weight:700;color:#24669f}.enquiry-close{position:absolute;right:16px;top:12px;background:transparent;border:0;font-size:30px;cursor:pointer}.product-enquiry-dialog label{display:block;font-size:13px;margin:20px 0}.product-enquiry-dialog textarea{display:block;box-sizing:border-box;width:100%;padding:14px;margin-top:8px;font:inherit;line-height:1.8;border:1px solid #d5e0e8;border-radius:12px;resize:vertical;background:#f7fafc}.enquiry-status{font-size:12px;color:#657b8c}.product-detail-page a:focus-visible,.product-detail-page button:focus-visible{outline:2px solid #24669f;outline-offset:4px}
@media(max-width:900px){.product-detail-hero-grid{gap:28px;grid-template-columns:1fr 1fr}.product-quick-specs{grid-template-columns:1fr}.product-quick-specs>div{display:flex;gap:12px;justify-content:space-between}.product-quick-specs strong{text-align:right}.product-application-layout{gap:24px}.product-feature-grid article{padding:18px}}
@media(max-width:650px){.product-detail-page .wrap-wide{width:calc(100% - 36px)}.product-detail-hero{padding:24px 0 30px}.product-detail-hero-grid{grid-template-columns:1fr;gap:22px}.product-detail-image{margin:0;padding:18px}.product-detail-image .catalog-photo{max-height:320px}.product-detail-section{padding:30px 0}.product-feature-grid,.product-application-layout{grid-template-columns:1fr;gap:14px}.product-detail-nav>.wrap-wide{gap:0 20px}.product-detail-nav button{padding:12px 0;font-size:13px}.product-detail-section h2{font-size:24px}.product-spec-table{font-size:13px}.product-spec-table th,.product-spec-table td{padding:12px}.product-spec-table th{width:38%}.product-enquiry-banner{padding:22px}.product-enquiry-dialog{padding:26px 20px}.product-contact-actions .pill{padding:12px 16px}.product-detail-summary{font-size:14px}}
.product-main-photo{display:block;position:relative;width:100%;height:380px;background:#fff;border:0;border-radius:14px;cursor:zoom-in;padding:12px}.product-main-photo img{width:100%;height:100%;object-fit:contain}.product-main-photo>span{position:absolute;right:10px;bottom:8px;padding:6px 10px;background:#f1f6faeb;border-radius:20px;font-size:11px;color:#365c7b}.product-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 3px 4px;max-width:100%}.product-thumbnails button{flex:0 0 63px;height:67px;padding:5px;border:1px solid #dfe8ee;background:white;border-radius:9px;cursor:pointer}.product-thumbnails button.selected{border:2px solid #2766a2;background:#edf5fb}.product-thumbnails img{width:100%;height:100%;object-fit:contain}.product-image-dialog{width:min(1000px,calc(100% - 32px));max-height:90vh;border:0;border-radius:16px;padding:42px 20px 18px;text-align:center}.product-image-dialog::backdrop{background:#10283ebd}.product-image-dialog>img{max-width:100%;max-height:74vh;object-fit:contain}.product-image-dialog p{font-size:13px;color:#526879}.product-media-heading{max-width:660px;margin-bottom:30px}.product-media-heading p,.product-media-intro{color:#607487;line-height:1.8}.product-story{display:grid;gap:32px}.product-story-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:30px;background:#f7fafc;border-radius:20px}.product-story-row:nth-child(even)>img{order:2}.product-story-row>img{display:block;width:100%;height:340px;object-fit:contain;border-radius:12px;background:#fff}.product-story-row h3{font-size:26px;line-height:1.5;margin:12px 0}.product-story-row p{font-size:16px;line-height:1.95;color:#526879}.product-story-number{font-size:13px;color:#2670a7;font-weight:700;letter-spacing:2px}.product-detail-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-detail-photo-grid figure{margin:0;padding:16px;border:1px solid #dfe8ee;border-radius:16px;background:#fff}.product-detail-photo-grid img{width:100%;height:300px;object-fit:contain}.product-detail-photo-grid figcaption{font-size:12px;line-height:1.7;color:#526879;padding-top:12px}.product-detail-photo-grid figcaption span{display:block;color:#2766a2}.product-motion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-motion-card{background:white;border:1px solid #dfe8ee;border-radius:18px;overflow:hidden}.product-motion-screen{aspect-ratio:16/10;background:#eef3f6}.product-motion-screen>img,.product-motion-screen iframe{width:100%;height:100%;object-fit:contain;border:0}.product-play{position:relative;width:100%;height:100%;border:0;background:#fff;cursor:pointer;padding:0}.product-play img{width:100%;height:100%;object-fit:contain}.product-play>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;color:white;background:#2467a8ec;border-radius:50%;font-size:22px;box-shadow:0 5px 30px #10283e30}.product-motion-caption{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.product-motion-caption small{font-size:11px;color:#617487}.product-motion-caption h3{font-size:17px;margin:7px 0 0}.product-motion-caption .pill{padding:8px 14px;font-size:12px}.motion-source{display:block;padding:0 20px 18px;color:#2467a8;font-size:12px}.product-certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.product-certificate-grid article{padding:20px;background:white;border:1px solid #dce5eb;border-radius:16px}.product-certificate-grid img{width:100%;height:290px;object-fit:contain}.product-certificate-grid h3{font-size:17px;line-height:1.6;margin:16px 0 10px}.product-certificate-grid p{font-size:13px;line-height:1.8;color:#617487}.product-certificate-grid a{font-size:13px;color:#2467a8}.product-document-notice{font-size:14px;line-height:1.9;max-width:900px;color:#526879}.product-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.product-document-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;text-decoration:none;background:#fff;border:1px solid #dce5eb;border-radius:14px;color:#172c3e}.product-document-card:hover{border-color:#2467a8}.product-document-card .document-kind{padding:5px 9px;background:#eef5fa;color:#2766a2;border-radius:5px;font-size:10px;letter-spacing:.05em}.product-document-card strong{font-size:15px;line-height:1.7}.product-document-card>span:last-child{font-size:12px;color:#2467a8;margin-top:auto}.product-document-help{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:25px;border-top:1px solid #dce5eb}.product-document-help h3{font-size:18px;margin:0 0 10px}.product-document-help p{font-size:14px;color:#617487;line-height:1.8;margin:0}.product-document-help .pill{flex-shrink:0}
@media(max-width:850px){.product-story-row{gap:24px;padding:22px}.product-story-row>img{height:260px}.product-story-row h3{font-size:22px}.product-document-grid,.product-detail-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-main-photo{height:320px}}
@media(max-width:650px){.product-main-photo{height:300px}.product-story-row,.product-motion-grid,.product-certificate-grid{grid-template-columns:1fr}.product-story-row:nth-child(even)>img{order:0}.product-story-row{padding:18px;gap:16px}.product-story{gap:20px}.product-story-row>img{height:270px}.product-story-row p{font-size:14px;margin-bottom:0}.product-detail-photo-grid,.product-document-grid{grid-template-columns:1fr}.product-detail-photo-grid img{height:320px}.product-document-help{flex-direction:column;align-items:flex-start;padding:22px 0}.product-detail-nav>.wrap-wide{gap:0 16px}.product-detail-nav button{font-size:12px}.product-image-dialog{padding:42px 12px 16px}}

/* Compact product details: clear reading order and consistent card sizes. */
.product-detail-hero{padding:22px 0 28px}.product-breadcrumb{margin-bottom:18px}.product-detail-hero-grid{gap:32px;grid-template-columns:1.15fr 1fr}.product-detail-copy h1{font-size:clamp(28px,3vw,40px);margin:10px 0 12px}.product-detail-intro{font-size:17px;margin-bottom:12px}.product-detail-summary{font-size:14px;line-height:1.8}.product-quick-specs{margin:18px 0;gap:12px}.product-quick-specs>div{padding:9px 0}.product-detail-image{padding:14px;border-radius:18px;margin-top:0}.product-main-photo{height:285px;padding:6px}.product-thumbnails{padding-top:10px;gap:7px}.product-thumbnails button{flex-basis:52px;height:54px}.product-detail-section{padding:30px 0}.product-detail-section h2{font-size:25px;margin:7px 0 18px}.product-detail-page .eyebrow{font-size:11px;letter-spacing:.1em}.product-detail-nav>.wrap-wide{gap:24px;flex-wrap:nowrap;overflow-x:auto}.product-detail-nav button{white-space:nowrap;padding:14px 0;font-size:13px}.product-feature-grid{gap:14px}.product-feature-grid article{padding:16px 18px;border-radius:13px}.product-feature-grid p{font-size:14px;line-height:1.75;margin-top:8px}.product-media-heading{margin-bottom:20px;max-width:none}.product-media-heading p{font-size:14px;margin:0}.product-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-story-row{grid-template-columns:170px minmax(0,1fr);gap:20px;padding:18px;border:1px solid #e0e8ee;border-radius:14px;background:#fff;align-items:center}.product-story-row:nth-child(even)>img{order:0}.product-story-row>img{height:185px;border-radius:9px}.product-story-row h3{font-size:18px;line-height:1.5;margin:7px 0}.product-story-row p{font-size:13px;line-height:1.8;margin:0}.product-story-number{font-size:11px}.product-motion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-motion-caption{padding:13px;gap:6px;align-items:flex-start}.product-motion-caption h3{font-size:14px;line-height:1.5;margin-top:5px}.product-motion-caption small{font-size:10px}.product-motion-caption .pill{padding:5px 9px}.motion-source{padding:0 13px 13px}.product-media-intro{font-size:13px;margin:0 0 18px}.product-application-layout{gap:32px}.product-application-layout ul{font-size:14px;line-height:1.8}.product-application-layout li{margin:6px 0}.product-application-layout aside{padding:20px}.product-application-layout h3{font-size:18px}.product-spec-table{font-size:14px}.product-spec-table caption{padding:13px 18px}.product-spec-table th,.product-spec-table td{padding:10px 18px;line-height:1.65}.product-detail-note{margin-bottom:0}.product-detail-photo-grid{gap:14px}.product-detail-photo-grid figure{padding:12px}.product-detail-photo-grid img{height:225px}.product-certificate-grid{gap:14px;margin:18px 0}.product-certificate-grid article{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:14px;padding:16px;align-content:start}.product-certificate-grid article>a:first-child{grid-row:1/4}.product-certificate-grid img{height:150px}.product-certificate-grid h3{font-size:15px;margin:0 0 6px}.product-certificate-grid p{font-size:12px;margin:0 0 8px;line-height:1.7}.product-certificate-grid article>a:last-child{font-size:12px}.product-document-notice{font-size:13px;line-height:1.8;margin:0 0 16px}.product-document-grid{gap:12px;margin:18px 0}.product-document-card{gap:9px;padding:16px}.product-document-card strong{font-size:14px}.product-document-help{padding:18px 0 0;gap:20px}.product-document-help h3{font-size:16px;margin-bottom:7px}.product-document-help p{font-size:13px}.product-enquiry-banner{padding:22px 26px;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.product-enquiry-banner h2{font-size:22px;margin-bottom:8px}.product-enquiry-banner p{font-size:14px}.product-enquiry-banner .product-contact-actions{max-width:330px}
@media(max-width:1050px){.product-story-row{grid-template-columns:125px minmax(0,1fr);gap:14px;padding:14px}.product-story-row>img{height:170px}.product-motion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-certificate-grid{grid-template-columns:1fr}.product-certificate-grid img{height:115px}.product-certificate-grid article{grid-template-columns:90px minmax(0,1fr)}.product-enquiry-banner{grid-template-columns:1fr}}
@media(max-width:750px){.product-story{grid-template-columns:1fr}.product-story-row{grid-template-columns:145px minmax(0,1fr)}.product-story-row>img{height:165px}.product-detail-hero-grid{gap:20px}.product-main-photo{height:250px}}
@media(max-width:650px){.product-detail-hero{padding:18px 0 24px}.product-detail-hero-grid{grid-template-columns:1fr}.product-detail-copy h1{font-size:29px}.product-detail-intro{font-size:16px;line-height:1.65}.product-detail-summary{font-size:13px;line-height:1.8}.product-quick-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.product-quick-specs>div{display:block}.product-quick-specs span{font-size:10px;line-height:1.5;margin-bottom:5px}.product-quick-specs strong{font-size:12px;text-align:left;display:block}.product-detail-image{padding:12px}.product-main-photo{height:245px}.product-detail-section{padding:24px 0}.product-detail-section h2{font-size:22px;margin-bottom:16px}.product-detail-nav>.wrap-wide{gap:20px}.product-detail-nav button{padding:12px 0;font-size:12px}.product-feature-grid{gap:10px}.product-feature-grid article{padding:14px;display:flex;gap:14px;align-items:baseline}.product-feature-grid p{margin:0;font-size:13px}.product-story-row{grid-template-columns:105px minmax(0,1fr);gap:13px;padding:13px}.product-story-row>img{height:155px}.product-story-row h3{font-size:16px;margin:5px 0}.product-story-row p{font-size:12px;line-height:1.8}.product-motion-grid{gap:10px}.product-motion-screen{aspect-ratio:4/3}.product-play>span{width:42px;height:42px;font-size:17px}.product-motion-caption{padding:10px;flex-wrap:wrap}.product-motion-caption h3{font-size:13px}.product-motion-caption small{font-size:9px}.product-application-layout{gap:18px}.product-application-layout aside{padding:17px}.product-spec-table th,.product-spec-table td{padding:9px 12px;font-size:12px}.product-document-grid{grid-template-columns:1fr}.product-detail-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail-photo-grid img{height:180px}.product-detail-photo-grid figcaption{font-size:11px}.product-certificate-grid img{height:120px}.product-enquiry-banner{padding:20px}.product-document-help{gap:14px}}
@media(max-width:360px){.product-story-row{grid-template-columns:1fr}.product-story-row>img{height:170px}}

.product-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-left:24px}.product-workflow li{padding:12px 10px;line-height:1.7}.product-workflow li::marker{color:#2363a5;font-weight:700}@media(max-width:700px){.product-workflow{grid-template-columns:1fr 1fr;gap:12px}}@media(max-width:440px){.product-workflow{grid-template-columns:1fr}}

/* Compact LS-1250B benefits; assumptions and prices expand on demand. */
.stomacher-quick{background:#f5f9fb;scroll-margin-top:130px}.sq-heading{max-width:750px;margin-bottom:26px}.sq-heading h2{line-height:1.4}.sq-heading>p{font-size:15px;line-height:1.8;color:#577183;margin-bottom:0}.sq-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sq-cards article{padding:22px;background:#fff;border:1px solid #dfe9ee;border-radius:18px;min-width:0}.sq-graphic{border-radius:12px;background:#f7fafb;margin-bottom:19px}.sq-graphic svg{display:block;width:100%;height:120px}.sq-tag{font-size:11px;color:#168376}.sq-cards h3{font-size:21px;line-height:1.5;margin:10px 0}.sq-cards p{font-size:14px;line-height:1.85;color:#567084;margin:0}.sq-example{margin-top:22px;border:1px solid #d8e6ec;border-radius:15px;background:#fff;overflow:hidden}.sq-example summary{cursor:pointer;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none}.sq-example summary::-webkit-details-marker{display:none}.sq-example summary strong{font-size:16px;line-height:1.65;display:block;color:#204b60}.sq-example summary small{font-size:12px;color:#286c9f;display:block;margin-top:5px}.sq-plus{display:grid;place-items:center;flex-shrink:0;width:33px;height:33px;border-radius:50%;background:#edf5f8;color:#2c6f94;font-size:23px;font-weight:400}.sq-example[open] .sq-plus{transform:rotate(45deg)}.sq-example summary:focus-visible{outline:2px solid #267a9e;outline-offset:-4px}.sq-example-body{padding:0 24px 23px;border-top:1px solid #e5edf1}.sq-example-body>p{font-size:13px;line-height:1.9;color:#587184}.sq-assumptions{margin:20px 0}.sq-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sq-price-grid>div{padding:22px;background:#f2f6fa;border-radius:13px}.sq-price-grid>div:last-child{background:#edf7f3}.sq-price-grid span{font-size:13px;color:#557183}.sq-price-grid strong{display:block;font-size:29px;margin:10px 0;color:#1e4d63}.sq-price-grid p{font-size:12px;color:#637b8b;margin:8px 0}.sq-price-grid b{font-size:22px;color:#174e60}.sq-saving{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#e2f2ec;padding:18px 22px;border-radius:12px;margin-top:16px;color:#126b5d}.sq-saving strong{font-size:19px}.sq-saving span{font-size:12px}.sq-example-body>p.sq-note,.sq-footnote{font-size:11px;line-height:1.85;color:#758793}.sq-footnote{margin:14px 0 0}
@media(max-width:900px){.sq-cards{gap:13px}.sq-cards article{padding:18px}.sq-cards h3{font-size:18px}.sq-cards p{font-size:13px}.sq-graphic svg{height:100px}.sq-saving{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.sq-cards{grid-template-columns:1fr;gap:12px}.sq-cards article{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:16px;padding:17px;align-content:center}.sq-graphic{grid-row:1/4;margin:0;align-self:center;background:transparent}.sq-graphic svg{height:auto;min-height:70px}.sq-tag{font-size:10px}.sq-cards h3{font-size:18px;margin:5px 0}.sq-cards p{font-size:13px}.sq-example summary{padding:18px}.sq-example summary strong{font-size:15px}.sq-example-body{padding:0 17px 17px}.sq-price-grid{gap:10px}.sq-price-grid>div{padding:15px}.sq-price-grid strong{font-size:24px}.sq-price-grid b{font-size:18px}.sq-heading>p{font-size:14px}.sq-saving{padding:16px}.sq-saving strong{font-size:17px}}
@media(max-width:360px){.sq-cards article{grid-template-columns:65px minmax(0,1fr);column-gap:12px}.sq-price-grid{grid-template-columns:1fr}}

.service-photo-hero,.consult-photo-hero{padding:46px 0;background:#edf3f7}.consult-photo-hero{background:#f1f5ed}.service-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:42px}.service-split h1{font-size:clamp(32px,4vw,52px);line-height:1.2;letter-spacing:-.035em;margin:16px 0 20px}.service-split h1 span{color:#2868a5}.consult-photo-hero h1 span{color:#166849}.service-split p{font-size:16px;line-height:1.85;color:#4c6374;max-width:560px}.service-split figure{margin:0;min-width:0}.service-split figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.service-photo-hero figure img{aspect-ratio:16/11}.service-split figcaption{font-size:12px;color:#637688;padding-top:10px}.service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.service-mini-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.service-mini-tags span{font-size:11px;color:#526e7c;border:1px solid #cfdde1;border-radius:30px;padding:5px 10px}.service-refresh .stack-section,.standards-topics{padding-block:36px}.service-intro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-intro-cards article{padding:24px;border:1px solid #dfe7ed;border-radius:16px}.service-intro-cards svg{color:#2868a5}.service-intro-cards h2{font-size:21px;margin:16px 0 10px}.service-intro-cards p,.service-instrument-grid p,.service-cal-grid p,.service-document-note p,.consult-photo-grid p{font-size:14px;line-height:1.75;color:#617385;margin:8px 0}.service-instrument-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-instrument-grid article{background:white;border:1px solid #dfe7ed;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.service-instrument-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.service-instrument-grid img.contain{object-fit:contain;padding:18px;background:white}.service-instrument-grid article>div{padding:20px;display:flex;flex:1;flex-direction:column}.service-instrument-grid small{font-size:11px;color:#2868a5}.service-instrument-grid h3{font-size:20px;margin:8px 0}.service-instrument-grid .alink{align-self:flex-start;margin-top:auto;padding-top:15px;background:none;border:0;font:inherit;font-size:13px;cursor:pointer}.service-cal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-cal-grid figure,.consult-photo-grid figure{margin:0;min-width:0}.service-cal-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px}.service-cal-grid h3{font-size:18px;margin:14px 0 4px}.service-document-note{display:flex;align-items:flex-start;gap:16px;padding:24px;margin-top:26px;border-radius:16px;background:#edf3f7}.service-document-note>svg{flex-shrink:0;color:#2868a5}.service-document-note h3{font-size:20px;margin:0}.service-bottom-cta{display:flex;justify-content:space-between;align-items:center;gap:24px}.service-bottom-cta h2{font-size:28px}.service-bottom-cta p{color:#617385}.standard-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.standard-topic{display:flex;align-items:center;gap:18px;border:1px solid #dfe7ed;border-radius:16px;padding:20px;color:inherit;text-decoration:none}.standard-topic-symbol{min-width:90px;display:flex;flex-direction:column;align-items:center;gap:9px;color:#2868a5}.standard-topic:first-child .standard-topic-symbol{color:#166849}.standard-topic-symbol strong{font-size:19px;white-space:nowrap}.standard-topic h2{font-size:16px;margin:0 0 7px;line-height:1.5}.standard-topic p{font-size:12px;line-height:1.6;color:#617385;margin:0 0 7px}.standard-topic small{font-size:10px;color:#2868a5}.standard-topic-note{font-size:11px;color:#6a7c86;margin:14px 0 0;line-height:1.6}.consult-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.consult-photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.consult-photo-grid h3{font-size:19px;margin:16px 0 6px}.consult-service-cover,.consult-standard-cover{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:22px}.consult-standard-cover{display:flex;align-items:center;justify-content:center;gap:18px;background:#edf3f7;color:#2868a5}.consult-standard-cover strong{font-size:26px}.consult-card .num{margin-bottom:10px}
@media(max-width:1050px){.standard-topic-grid{grid-template-columns:1fr}.standard-topic{padding:16px 20px}.standard-topic-symbol{min-width:150px;flex-direction:row}.service-cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-split{gap:26px}.service-instrument-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-photo-hero,.consult-photo-hero{padding:28px 0}.service-split{grid-template-columns:1fr;gap:26px}.service-split h1{font-size:36px}.service-split p{font-size:15px}.service-intro-cards,.consult-photo-grid{grid-template-columns:1fr}.service-instrument-grid{grid-template-columns:1fr}.service-cal-grid{gap:14px}.service-cal-grid h3{font-size:16px}.service-cal-grid p{font-size:12px}.service-bottom-cta{align-items:flex-start;flex-direction:column}.standard-topic{gap:12px}.standard-topic-symbol{min-width:90px;flex-direction:column}.standard-topic-symbol strong{font-size:17px}.consult-photo-grid img{aspect-ratio:4/3}.service-actions .pill{font-size:12px}.consult-standard-cover strong{font-size:22px}}
.service-photo-button{position:relative;display:block;width:100%;padding:0;border:0;background:#e9eff3;overflow:hidden;cursor:zoom-in;color:#fff;font:inherit}
.service-photo-button:focus-visible{outline:3px solid #2868a5;outline-offset:4px}
.service-photo-button img{display:block;transition:transform .25s ease}
.service-photo-button:hover img{transform:scale(1.025)}
.service-photo-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(12,32,49,.65);pointer-events:none}
.service-refresh .service-photo-expand svg{color:#fff}
.service-people-pair{display:grid;grid-template-columns:1.18fr 1fr;gap:14px;align-items:start}
.service-people-pair figure:nth-child(2){margin-top:44px}
.service-people-pair .service-photo-button{border-radius:18px}
.service-people-pair figure .service-photo-button img{width:100%;height:390px;aspect-ratio:auto;object-fit:cover;border-radius:0}
.service-people-pair figure:nth-child(2) .service-photo-button img{height:330px}
.service-people-pair figcaption{color:#234559;font-size:13px;line-height:1.6}
.service-people-pair figcaption small{display:block;font-size:10px;letter-spacing:.1em;color:#2868a5;margin-bottom:4px}
.service-photo-stories article{padding:0;overflow:hidden}
.service-photo-stories article>div{padding:20px 24px 24px}
.service-photo-stories h2{margin:0 0 8px}
.service-photo-stories .service-photo-button img{width:100%;height:240px;object-fit:cover}
.service-photo-stories article:nth-child(2) .service-photo-button img{object-position:50% 35%}
.service-photo-stories article:nth-child(3) .service-photo-button img{object-position:50% 65%}
.service-refresh .service-instrument-grid .service-photo-button img{height:240px;aspect-ratio:auto;object-fit:cover}
.service-refresh .service-cal-grid .service-photo-button{border-radius:14px}
.service-refresh .service-cal-grid .service-photo-button img{height:200px;aspect-ratio:auto;object-fit:cover;border-radius:0}
.service-refresh .service-cal-grid figure:nth-child(3) .service-photo-button{background:#fff}
.service-refresh .service-cal-grid figure:nth-child(3) .service-photo-button img{object-fit:cover;padding:0}
.service-photo-dialog{position:fixed;inset:0;margin:auto;width:max-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:16px;border:0;border-radius:16px;background:#fff;box-shadow:0 24px 80px #0005;overflow:auto}
.service-photo-dialog::backdrop{background:rgba(7,20,32,.82)}
.service-refresh .service-photo-dialog img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 160px);aspect-ratio:auto;object-fit:contain;border-radius:8px;transform:none;padding:0}
.service-photo-dialog p{max-width:640px;font-size:14px;line-height:1.5;margin:12px 0 0;color:#234559}
.service-photo-close{display:block;margin:0 0 12px auto;padding:6px 12px;border:1px solid #cbd9e3;border-radius:20px;background:#fff;color:#183349;cursor:pointer;font:inherit;font-size:13px}
@media(max-width:1050px){.service-people-pair{gap:10px}.service-people-pair figure .service-photo-button img{height:320px}.service-people-pair figure:nth-child(2) .service-photo-button img{height:270px}.service-photo-stories .service-photo-button img{height:200px}}
@media(max-width:700px){.service-people-pair figure .service-photo-button img{height:280px}.service-people-pair figure:nth-child(2){margin-top:28px}.service-people-pair figure:nth-child(2) .service-photo-button img{height:240px}.service-people-pair figcaption{font-size:11px}.service-photo-stories .service-photo-button img{height:260px}.service-refresh .service-cal-grid .service-photo-button img{height:170px}.service-photo-dialog{padding:12px}}
@media(prefers-reduced-motion:reduce){.service-photo-button img{transition:none}.service-photo-button:hover img{transform:none}}
.consult-service-cover.consult-logo-cover{object-fit:contain;padding:28px;background:#f5f8fa;border:1px solid #e7edf1}
.consult-card:nth-child(3) .consult-logo-cover{background:#245d85;border-color:#245d85}
.consult-card:nth-child(5) .consult-service-cover{object-position:50% 60%}
.consult-image-credits{font-size:11px;color:#647687;margin-top:20px;line-height:1.8}
.consult-image-credits summary{cursor:pointer}.consult-image-credits a{color:#2868a5;text-decoration:underline}

/* Consulting: consistent compact spacing without removing service content. */
main[data-screen-label="page-consulting"]>.stack-section{padding-block:32px}
main[data-screen-label="page-consulting"] .section-head{margin-bottom:22px}
main[data-screen-label="page-consulting"]>.consult-photo-hero{padding-block:32px}
main[data-screen-label="page-consulting"]>.process{padding-block:36px}
main[data-screen-label="page-consulting"] .consult-photo-grid figure{margin:0}
main[data-screen-label="page-consulting"] .consult-services{gap:18px}
main[data-screen-label="page-consulting"] .consult-card{padding:24px;gap:10px}
main[data-screen-label="page-consulting"] .consult-service-cover{height:150px;margin-bottom:8px}
main[data-screen-label="page-consulting"] .consult-card .num{margin-bottom:0}
main[data-screen-label="page-consulting"] .consult-card p{margin:0}
@media(min-width:601px) and (max-width:900px){main[data-screen-label="page-consulting"] .consult-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 main[data-screen-label="page-consulting"]>.stack-section{padding:24px 18px}
 main[data-screen-label="page-consulting"]>.process{padding:28px 18px}
 main[data-screen-label="page-consulting"] .section-head{margin-bottom:18px}
 main[data-screen-label="page-consulting"] .consult-card{padding:20px}
}

.lab-flow-banner{position:relative;isolation:isolate;overflow:hidden;background:#102e38;color:#fff;border-bottom:1px solid #cad6d5}.lab-flow-layout{position:relative;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding-top:34px;padding-bottom:32px}.lab-flow-copy{position:relative;z-index:1}.lab-flow-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;font-weight:600;color:#c7d8d7}.lab-flow-eyebrow i{width:6px;height:6px;flex:none;border-radius:50%;background:#c6b17c;box-shadow:0 0 16px #c6b17c66}.lab-flow-copy :is(h1,h2){font-family:var(--font-display);font-size:clamp(26px,3vw,38px);line-height:1.3;letter-spacing:-.035em;margin:14px 0 12px;font-weight:650}.lab-flow-copy :is(h1,h2) em{font-style:normal;color:#d6e7db}.lab-flow-copy p{font-size:13px;line-height:1.8;color:#bbced1;margin:0 0 15px}.lab-flow-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;color:#f0dcad;text-decoration:none;border-bottom:1px solid #b9a57860;padding-bottom:5px}.lab-flow-link:hover{color:#fff}.lab-flow-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none}.lab-flow-ambient span{position:absolute;width:600px;height:600px;right:-80px;top:-260px;border-radius:50%;background:radial-gradient(circle,#387c7038,transparent 68%);animation:labAmbient 18s ease-in-out infinite alternate}.lab-flow-ambient span+span{width:400px;height:400px;right:38%;top:-220px;background:radial-gradient(circle,#657b9a24,transparent 70%);animation-delay:-9s}.lab-flow-visual{position:relative;width:100%;max-width:480px;height:190px;justify-self:center}.lab-flow-lines{width:100%;height:100%;overflow:visible}.lab-flow-lines path{stroke:#bad1c9;stroke-width:.7;opacity:.28}.lab-flow-lines path:nth-child(2){stroke:#c9b57b;opacity:.48}.flow-traveler{fill:#e6cea0;filter:drop-shadow(0 0 4px #d6bc79);offset-path:path('M10 155 C110 155 125 38 240 38 S370 155 470 155');animation:labFlowTravel 13s linear infinite}.lab-flow-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:94px}.lab-flow-node>span{display:grid;place-items:center;width:57px;height:57px;border-radius:18px;background:#143c45;border:1px solid #91b7ac55;color:#dce9df;box-shadow:0 8px 25px #0002;animation:labNodeBreathe 7s ease-in-out infinite}.lab-flow-node b{font-size:9px;letter-spacing:2px;font-weight:500;color:#d7c799}.lab-flow-node small{font-size:11px;color:#bbced1}.node-prepare{left:3%;top:57px}.node-analyze{left:calc(50% - 47px);top:0}.node-assure{right:3%;top:57px}.node-analyze>span{animation-delay:-2.3s}.node-assure>span{animation-delay:-4.6s}.lab-motion-toggle{position:absolute;top:13px;right:28px;display:flex;align-items:center;gap:7px;background:transparent;color:#a9c2c4;font:inherit;font-size:10px;border:1px solid #97b4b52e;border-radius:20px;padding:5px 9px;cursor:pointer}.lab-motion-toggle:hover{color:white;border-color:#c9b57b}.lab-motion-toggle>span{font-size:12px}.lab-flow-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-bottom:19px;position:relative;z-index:1}.lab-flow-shortcuts a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;border-top:1px solid #9ab5b433;border-right:1px solid #9ab5b426;padding:16px 16px 4px;transition:background .25s}.lab-flow-shortcuts a:first-child{padding-left:0}.lab-flow-shortcuts a:last-child{border-right:0}.lab-shortcut-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;border:1px solid #8fafaa40;color:#c9dccc;transition:transform .3s,color .3s,background .3s}.lab-flow-shortcuts a:hover .lab-shortcut-icon,.lab-flow-shortcuts a:focus-visible .lab-shortcut-icon{transform:translateY(-3px);color:#f0dcad;background:#ffffff0d}.lab-flow-shortcuts strong{font-size:12px;font-weight:550;display:block}.lab-flow-shortcuts small{font-size:10px;display:block;margin-top:5px;color:#a6bec2;line-height:1.5}.lab-shortcut-arrow{margin-left:auto;color:#beab7d;opacity:.55;font-size:13px}.lab-motion-home .dual-hero{background:linear-gradient(140deg,#edf3f5,#f7f7f1)}.lab-motion-home .hero-feature{border-color:#dce5e4;box-shadow:0 10px 30px #254b4f09;transition:box-shadow .3s,border-color .3s}.lab-motion-home .hero-feature:hover{box-shadow:0 14px 35px #254b4f16;border-color:#b8cfc8}.lab-motion-home .hero-feature-photo img{transition:transform .7s ease}.lab-motion-home .hero-feature-photo:hover img{transform:scale(1.035)}.lab-motion-home .compact-group-card{transition:transform .25s,box-shadow .25s,border-color .25s}.lab-motion-home .compact-group-card:hover{border-color:#aac8bc;box-shadow:0 9px 24px #214c4010}.lab-motion-home .business-card .business-cover img{transition:transform .6s}.lab-motion-home .business-card:hover .business-cover img{transform:scale(1.025)}.lab-flow-banner a:focus-visible,.lab-motion-toggle:focus-visible{outline:2px solid #ebd39a;outline-offset:4px}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-feature-photo:hover img,.motion-paused .business-card:hover .business-cover img{transform:none}.motion-paused .lab-shortcut-icon{transition:none}.motion-paused .lab-flow-shortcuts a:hover .lab-shortcut-icon{transform:none}
@keyframes labAmbient{to{transform:translate(-55px,35px)}}@keyframes labFlowTravel{to{offset-distance:100%}}@keyframes labNodeBreathe{0%,100%{transform:translateY(0);border-color:#91b7ac55}50%{transform:translateY(-4px);border-color:#c9b57b99}}
@media(max-width:1000px){.lab-flow-shortcuts a{padding-inline:10px;gap:8px}.lab-shortcut-arrow{display:none}.lab-flow-shortcuts small{font-size:9px}.lab-flow-layout{grid-template-columns:1fr 1fr}.lab-flow-visual{transform:scale(.92);transform-origin:center}}
@media(max-width:700px){.lab-flow-layout{grid-template-columns:1fr;gap:16px;padding-top:44px;padding-bottom:12px}.lab-flow-copy :is(h1,h2){font-size:31px}.lab-flow-copy p{font-size:12px}.lab-flow-visual{height:155px;max-width:390px;transform:none}.lab-flow-lines{display:none}.node-prepare,.node-assure{top:30px}.lab-flow-node>span{width:45px;height:45px;border-radius:14px}.lab-flow-node>span svg{width:23px;height:23px}.lab-flow-node small{font-size:10px}.lab-flow-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:16px;gap:8px}.lab-flow-shortcuts a,.lab-flow-shortcuts a:first-child{border:1px solid #9ab5b42b;border-radius:12px;padding:11px 10px}.lab-flow-shortcuts a:last-child{grid-column:1/-1;border-right:1px solid #9ab5b42b}.lab-flow-shortcuts small{font-size:10px}.lab-flow-shortcuts strong{font-size:12px}.lab-flow-shortcuts a:last-child .lab-shortcut-arrow{display:block}.lab-motion-toggle{right:18px}.lab-flow-ambient span{width:390px}.lab-flow-eyebrow{font-size:9px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){.lab-motion-home *,.lab-motion-home *::before,.lab-motion-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lab-motion-home .hero-feature-photo:hover img,.lab-motion-home .business-card:hover .business-cover img,.lab-motion-home .lab-shortcut-icon{transform:none!important}}
.lab-flow-copy :is(h1,h2){color:#f5f8f6}@media(max-width:700px){.lab-flow-visual{height:132px}.lab-flow-layout{gap:12px}.lab-flow-shortcuts{gap:7px}}
.restored-service-ticker{background:#102b37;border-bottom:1px solid #b5a57844}.restored-service-ticker .tc-track{animation-duration:48s;padding:8px 0}.tc-set{display:flex;flex:none;align-items:center}.restored-service-ticker .tc-item{font-size:12px;padding:0 21px;gap:10px}.restored-service-ticker .tc-item svg{color:#c4b27d}.restored-service-ticker .tc-sep{margin-left:25px;width:3px;height:3px;background:#a6c9b8}.lab-flow-layout{grid-template-columns:minmax(0,1fr) 310px;gap:28px;padding-top:28px;padding-bottom:19px}.lab-flow-copy :is(h1,h2){font-size:30px;line-height:1.35;margin:10px 0}.lab-flow-copy :is(h1,h2) em{display:block}.lab-flow-copy p{font-size:12px;margin-bottom:10px}.lab-flow-visual{height:120px;max-width:310px}.lab-flow-lines{position:absolute;top:0;left:0}.lab-flow-node{min-width:80px;gap:5px}.lab-flow-node>span{width:40px;height:40px;border-radius:13px}.lab-flow-node>span svg{width:21px;height:21px}.lab-flow-node b{font-size:8px}.lab-flow-node small{font-size:9px}.node-prepare,.node-assure{top:36px}.node-analyze{left:calc(50% - 40px);top:0}.lab-flow-shortcuts{padding-bottom:12px}.lab-flow-shortcuts a{padding-top:10px}.lab-flow-shortcuts small{display:none}.lab-shortcut-icon{width:29px;height:29px}.lab-flow-eyebrow{font-size:9px}.lab-motion-toggle{font-size:9px;top:9px}.lab-flow-link{font-size:11px}.quick-product-hero{padding-top:18px;padding-bottom:24px}.quick-hero-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:#647b85;font-size:11px}.quick-hero-heading .eyebrow{font-size:10px;letter-spacing:1.5px;color:#31546b}.quick-product-hero .hero-feature-copy{padding:19px 22px 0}.quick-product-hero .hero-feature h1,.quick-product-hero .hero-product-title{font-size:29px;margin:9px 0 13px;letter-spacing:-.8px}.quick-product-hero .hero-feature-kicker{font-size:9px;letter-spacing:1px}.spotlight-content{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:15px;align-items:center}.spotlight-content h2,.spotlight-content h3{font-size:20px;line-height:1.45;margin:0 0 8px;color:#263f50}.spotlight-content p{font-size:12px;color:#617385;line-height:1.75;margin:0}.quick-product-hero .hero-feature-photo{height:158px;width:100%;margin:0;background:#f6f7f7;border-radius:14px}.quick-product-hero .nir-feature .hero-feature-photo{background:#4c89f3}.quick-product-hero .hero-benefits{margin-top:10px;gap:5px}.quick-product-hero .hero-benefits span{font-size:9px;padding:4px 7px}.quick-product-hero .hero-feature-actions{padding:14px 22px 18px}.quick-product-hero .hero-feature-actions .pill{padding:9px 13px;font-size:11px}.lab-motion-home .lm-track{animation:clientRibbon 58s linear infinite}.lab-motion-home .lm-track.rev{animation-duration:90s;animation-direction:reverse}.lab-motion-home .logo-marquee:hover .lm-track{animation-play-state:paused}.client-motion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 28px 14px;font-size:12px;color:#627889}.client-motion-toolbar button{border:1px solid #d6e2e5;border-radius:30px;background:#fff;color:#315a72;font:inherit;font-size:11px;padding:7px 12px;cursor:pointer}.clients-section{border-top:1px solid #edf1ed;background:linear-gradient(#fff,#f7faf7)}@keyframes clientRibbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1000px){.lab-flow-layout{grid-template-columns:minmax(0,1fr) 250px}.lab-flow-copy :is(h1,h2){font-size:27px}.quick-product-hero .hero-feature h1,.quick-product-hero .hero-product-title{font-size:24px}.spotlight-content{grid-template-columns:minmax(0,1fr) 40%;gap:10px}.spotlight-content h2,.spotlight-content h3{font-size:17px}.quick-product-hero .hero-feature-photo{height:150px}}
@media(max-width:700px){.lab-flow-layout{display:block;padding-top:32px;padding-bottom:16px}.lab-flow-copy :is(h1,h2){font-size:26px}.lab-flow-copy p{font-size:11px;max-width:340px}.lab-flow-visual{display:none}.lab-flow-shortcuts{display:flex;overflow-x:auto;scrollbar-width:thin;padding-bottom:12px;gap:8px}.lab-flow-shortcuts a,.lab-flow-shortcuts a:first-child{flex:none;padding:8px 10px;gap:7px}.lab-flow-shortcuts strong{font-size:11px}.lab-flow-shortcuts a:last-child{grid-column:auto}.lab-flow-shortcuts small,.lab-shortcut-arrow,.lab-flow-shortcuts a:last-child .lab-shortcut-arrow{display:none}.lab-shortcut-icon{width:25px;height:25px}.lab-shortcut-icon svg{width:17px;height:17px}.quick-hero-heading>span:last-child{display:none}.quick-product-hero .hero-feature-copy{padding:18px 17px 0}.quick-product-hero .hero-feature h1,.quick-product-hero .hero-product-title{font-size:26px}.quick-product-hero .hero-feature-photo{height:135px}.quick-product-hero .hero-feature-actions{padding:13px 17px 17px}.spotlight-content{grid-template-columns:minmax(0,1fr) 42%}.spotlight-content p{font-size:11px}.spotlight-content h2,.spotlight-content h3{font-size:18px}.client-motion-toolbar{padding-inline:18px;font-size:10px}.lab-motion-home .lm-logo{width:145px;height:86px}.lab-motion-home .lm-tag{font-size:10px;padding-left:16px}.restored-service-ticker .tc-item{font-size:11px}.lab-flow-shortcuts{padding-inline:18px}}
@media(min-width:701px){.lab-flow-layout{padding-top:22px;padding-bottom:14px}.lab-flow-copy :is(h1,h2){font-size:29px}.lab-flow-copy :is(h1,h2) em{display:inline}.quick-product-hero .hero-feature-photo{height:145px}}
.lab-motion-home .top-carousel:hover .tc-track,.lab-motion-home .logo-marquee:hover .lm-track{animation-play-state:running}@media(prefers-reduced-motion:reduce){.lab-motion-home .tc-track{animation:tcScroll 48s linear infinite!important}.lab-motion-home .lm-track{animation:clientRibbon 58s linear infinite!important}.lab-motion-home .lm-track.rev{animation:clientRibbon 90s linear infinite reverse!important}}.lab-motion-home.motion-paused .tc-track,.lab-motion-home.motion-paused .lm-track{animation-play-state:paused!important}

/* Product spotlight: soft pools of light on a deep blue stage. */
.home-page.lab-motion-home .dual-hero.quick-product-hero{
  padding-top:30px;padding-bottom:34px;
  background:
    radial-gradient(ellipse at 24% 0%,rgba(139,211,255,.42),transparent 48%),
    radial-gradient(ellipse at 79% 4%,rgba(88,172,237,.32),transparent 48%),
    linear-gradient(125deg,#123a60 0%,#0d2948 56%,#071c34 100%);
  border-top:1px solid #8bc5ee55;border-bottom:1px solid #163d5a;
}
.home-page .quick-product-hero .quick-hero-heading{color:#d6e8f8;margin-bottom:18px;gap:16px}
.home-page .quick-product-hero .quick-hero-heading .eyebrow{
  display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;
  padding:8px 12px;border:1px solid #b5dcff55;border-radius:30px;background:#ffffff0d;
}
.home-page .quick-product-hero .quick-hero-heading .eyebrow::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#a9df72;box-shadow:0 0 12px #b5ef8999;
}
.home-page .quick-product-hero .hero-feature{background:#fff;border-color:#d8e7f2}
@media(max-width:700px){
  .home-page.lab-motion-home .dual-hero.quick-product-hero{padding-top:24px;padding-bottom:26px}
}

.news-page{background:#f6f8fb;color:#192b40;padding-bottom:24px}.news-intro{background:linear-gradient(115deg,#102f56,#20558a);color:#fff;padding:42px 0 38px;position:relative;overflow:hidden}.news-intro:after{content:"";position:absolute;border:1px solid #ffffff12;width:440px;height:440px;border-radius:50%;right:8%;top:-280px;pointer-events:none}.news-intro-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.news-eyebrow{display:block;font-size:12px;letter-spacing:.13em;font-weight:600;color:#a9d6f4;margin-bottom:14px}.news-intro h1{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.04em;line-height:1.28;margin:0 0 14px;color:#fff}.news-intro h1 span{color:#d5edf3}.news-intro p{color:#c9dae9;font-size:15px;margin:0;max-width:710px}.news-edition{min-width:176px;border-left:1px solid #ffffff32;padding-left:28px;display:flex;flex-direction:column;gap:14px;color:#e9f2fa}.news-edition strong{font-size:58px;line-height:1;font-weight:600;color:#c1e792}.news-edition strong span{display:block;font-size:14px;color:#fff;margin-top:9px}.news-edition small{display:block;font-size:12px;color:#c6d8e8;margin-top:4px}.news-content{padding-top:28px}.news-toolbar{display:flex;align-items:flex-end;gap:20px;justify-content:space-between}.news-topics{display:flex;flex-wrap:wrap;gap:8px}.news-topics button{font:inherit;font-size:13px;padding:10px 12px;border:1px solid #dbe3ee;border-radius:24px;background:#fff;color:#364f69;cursor:pointer}.news-topics button span{font-size:11px;opacity:.7;margin-left:7px}.news-topics button.active{background:#1e5f9f;border-color:#1e5f9f;color:#fff}.news-search{font-size:12px;color:#536579;min-width:240px}.news-search span{display:block;margin-bottom:5px}.news-search input{width:100%;font:inherit;font-size:13px;background:#fff;border:1px solid #cfd9e5;border-radius:10px;padding:11px 13px}.news-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#627387;margin:20px 0 15px}.news-meta p{margin:0;font-weight:500}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.news-card{background:#fff;border:1px solid #e0e6ee;border-radius:19px;overflow:hidden;box-shadow:0 3px 10px #193f6204;min-width:0}.news-photo{position:relative;height:205px;background:#e6edf3;overflow:hidden}.news-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.news-card:hover .news-photo img{transform:scale(1.025)}.news-photo>span{position:absolute;left:16px;bottom:14px;background:#fffef2f2;color:#183e54;font-size:11px;font-weight:600;border-radius:6px;padding:6px 9px;max-width:calc(100% - 32px)}.news-card-body{padding:22px}.news-kind{font-size:10px;font-weight:500;color:#62778d;margin-bottom:9px;min-height:15px}.news-card h2{font-size:21px;letter-spacing:-.025em;line-height:1.5;color:#172d47;margin:0 0 10px}.news-excerpt{font-size:14px;color:#607084;line-height:1.8;margin:0 0 17px}.news-detail{border-top:1px solid #e9edf2;padding-top:12px}.news-detail summary{cursor:pointer;font-size:13px;font-weight:500;color:#1f629f;list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center}.news-detail summary::-webkit-details-marker{display:none}.news-detail summary span{font-size:21px;line-height:1}.news-detail[open] summary span{transform:rotate(45deg)}.news-summary{margin-top:16px;font-size:13px;line-height:1.85;color:#41546a}.news-summary h3{font-size:13px;margin:0 0 7px;font-weight:600;color:#233b54}.news-summary p{margin:0 0 14px}.news-takeaway{padding:14px;background:#f0f7ee;border-left:3px solid #8cbe60;border-radius:0 8px 8px 0;margin:16px 0}.news-takeaway p{margin-bottom:0}.news-related{font:inherit;color:#1b609e;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;margin:2px 0 15px}.news-original-title{font-size:11px;color:#687b8e;overflow-wrap:anywhere}.news-summary .news-credit{font-size:10px;color:#718092;line-height:1.65}.news-credit a{text-decoration:underline;color:inherit}.news-source{display:flex;justify-content:space-between;gap:8px;color:#66798d;font-size:10px;border-top:1px solid #edf0f4;padding-top:12px;margin-top:14px;text-decoration:none}.news-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.news-featured .news-photo{height:auto;min-height:310px}.news-featured .news-photo img{position:absolute;inset:0}.news-featured .news-card-body{padding:30px 34px}.news-featured h2{font-size:28px;line-height:1.45}.news-featured .news-excerpt{font-size:15px}.news-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 34px;background:#eaf1f6;border-radius:20px;margin:32px 0 20px}.news-contact .news-eyebrow{color:#377340;font-size:11px;margin-bottom:8px}.news-contact h2{font-size:24px;line-height:1.5;margin:0 0 7px}.news-contact p{font-size:13px;color:#607084;margin:0}.news-contact .pill{flex-shrink:0}.news-editorial-note{font-size:11px;color:#718094;line-height:1.9;max-width:950px}.news-editorial-note a{color:#336492}.news-empty{text-align:center;padding:50px 20px;background:white;border-radius:20px}.news-page button:focus-visible,.news-page a:focus-visible,.news-page summary:focus-visible,.news-page input:focus-visible{outline:3px solid #3c8bd5;outline-offset:4px}
@media(max-width:1050px){.news-toolbar{align-items:stretch;flex-direction:column}.news-search{max-width:380px}.news-grid{gap:16px}.news-card-body{padding:18px}.news-card h2{font-size:19px}.news-photo{height:175px}}
@media(max-width:760px){.news-intro{padding:30px 0}.news-intro-inner{align-items:flex-start;gap:18px}.news-edition{min-width:76px;padding-left:15px;font-size:11px}.news-edition strong{font-size:42px}.news-edition small{font-size:10px}.news-edition strong span{font-size:11px}.news-intro h1{font-size:28px}.news-intro p{font-size:13px}.news-eyebrow{font-size:9px;letter-spacing:.06em}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-featured{grid-template-columns:1fr}.news-featured .news-photo{height:250px;min-height:0}.news-featured .news-card-body{padding:24px}.news-featured h2{font-size:24px}.news-contact{padding:24px;align-items:flex-start;flex-direction:column;gap:18px}.news-contact h2{font-size:22px}}
@media(max-width:520px){.news-grid{grid-template-columns:1fr}.news-intro-inner{flex-direction:column}.news-edition{padding:0;border:0;flex-direction:row;align-items:center;gap:15px}.news-edition strong{display:flex;gap:8px;align-items:center;font-size:32px}.news-edition strong span{margin:0}.news-intro h1{font-size:29px}.news-intro h1 span{font-size:25px}.news-meta{align-items:flex-start;font-size:10px}.news-topics button{font-size:11px;padding:9px 11px}.news-photo,.news-featured .news-photo{height:215px}.news-card-body,.news-featured .news-card-body{padding:21px}.news-card h2,.news-featured h2{font-size:22px}.news-content{padding-top:22px}.news-search{max-width:none}.news-contact{margin-top:24px}}
.news-ai-label{position:absolute;right:12px;top:12px;background:#14304ccc;color:#fff;font-size:10px;padding:4px 8px;border-radius:5px;line-height:1.5}
@media(prefers-reduced-motion:reduce){.news-photo img{transition:none}.news-card:hover .news-photo img{transform:none}}

.process-ai-caption{display:block;font-size:10px;line-height:1.6;opacity:.8;margin:5px 0 9px}.nir-text-banner{grid-template-columns:1fr}.nir-text-banner .nir-visual-copy{max-width:none}

.news-kind>span{color:#2c628f;font-weight:500}

.news-summary{font-size:15px;line-height:1.95}.news-summary h3{font-size:15px}.news-summary>p{margin-bottom:18px}.news-example{padding:18px 0;border-top:1px solid #e9edf2}.news-example p{margin-bottom:0}.news-card:has(.news-detail[open]){grid-column:1/-1;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);align-items:start}.news-card:has(.news-detail[open]) .news-photo{height:320px;min-height:0}.news-card:has(.news-detail[open]) .news-card-body{padding:28px 34px}.news-card:has(.news-detail[open]) h2{font-size:27px}.news-card:has(.news-detail[open]) .news-excerpt{font-size:15px}@media(max-width:760px){.news-card:has(.news-detail[open]){grid-template-columns:1fr}.news-card:has(.news-detail[open]) .news-photo{height:240px}.news-card:has(.news-detail[open]) .news-card-body{padding:22px}.news-card:has(.news-detail[open]) h2{font-size:23px}}

/* Image-led overview with BNF's own project photography. */
.about-profile{background:#fff;color:#152d40}.about-profile figure{margin:0}.about-profile .wrap-wide{max-width:1380px;padding-inline:52px;margin-inline:auto}.about-profile h2{font-size:clamp(27px,2.8vw,39px);line-height:1.35;letter-spacing:-.025em;margin:0}.about-profile h3{font-size:18px;line-height:1.5;margin:0 0 10px}.about-profile p{color:#63737e;font-size:15px;line-height:1.9;margin:0 0 17px}.ap-eyebrow{display:block;font-size:11px;letter-spacing:.17em;font-weight:600;color:#337755;margin-bottom:17px}
.ap-hero{position:relative;min-height:490px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#183546}.ap-hero-photo{position:absolute;inset:0;z-index:-2}.ap-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 49%}.ap-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092839ed 0%,#0b2a3aa6 43%,#0b2a3a20 100%)}.ap-hero-content{width:100%;padding-top:48px;padding-bottom:76px}.ap-hero .ap-eyebrow{color:#d1e5bc}.ap-hero h1{font-size:clamp(52px,7.7vw,108px);font-weight:600;line-height:1.05;letter-spacing:-.045em;color:#fff;margin:0 0 25px}.ap-hero h1 span{font-weight:750}.ap-hero-content p{font-size:clamp(23px,2.7vw,35px);line-height:1.5;color:#fff;margin:0}.ap-hero-rule{display:block;width:63px;height:4px;background:#8abe45;margin-top:28px}.ap-hero-caption{position:absolute;bottom:23px;left:0;right:0;display:flex;justify-content:space-between;gap:20px;color:#d2dde2;font-size:10px;letter-spacing:.06em}
.ap-intro{text-align:center;padding-block:67px 58px}.ap-intro h2{margin-bottom:25px}.ap-intro h2 span{color:#2a6b9d}.ap-intro p{max-width:820px;margin:0 auto 15px}.ap-intro p strong{font-weight:600;color:#243d4f}.ap-profile-link{display:inline-flex;align-items:center;gap:10px;color:#216498;font-size:13px;text-decoration:none;margin-top:11px;border-bottom:1px solid #b9cbd7;padding-bottom:9px}.ap-grid-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.ap-grid-heading h2{font-size:23px}.ap-grid-heading>span{display:flex;align-items:center;gap:10px;font-size:12px;color:#74828b}
.ap-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ap-topic{position:relative;display:block;text-align:left;font:inherit;isolation:isolate;overflow:hidden;min-width:0;height:280px;border:0;padding:28px;color:#fff;background:#123d51;cursor:pointer}.ap-topic>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.ap-topic:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08222d30 15%,#08222d32 38%,#08222de8 100%)}.ap-topic-number{position:absolute;top:22px;left:25px;font-size:11px;letter-spacing:.12em;opacity:.8}.ap-topic-copy{position:absolute;left:26px;right:56px;bottom:27px;display:grid;gap:9px}.ap-topic-copy small{font-size:10px;letter-spacing:.13em;color:#d5e6e9}.ap-topic-copy strong{font-size:clamp(18px,1.85vw,25px);font-weight:550;line-height:1.45}.ap-topic-arrow{position:absolute;bottom:31px;right:24px;display:grid;place-items:center;transition:transform .3s}.ap-topic:hover>img{transform:scale(1.045)}.ap-topic:hover .ap-topic-arrow{transform:translateX(4px)}.ap-topic.is-selected{box-shadow:inset 0 -4px #95c75d}.ap-topic.is-selected .ap-topic-copy small{color:#cce79b}.ap-topic-facts{background:linear-gradient(120deg,#164864,#24669b)}.ap-topic-facts:after,.ap-topic-approach:after{background:linear-gradient(transparent,#082b4140)}.ap-fact-art{position:absolute;top:27px;left:28px;display:grid;gap:1px}.ap-fact-art strong{font-size:92px;font-weight:500;line-height:1;letter-spacing:-.075em;color:#fff}.ap-fact-art strong span{font-size:58px;color:#b7db82;font-weight:400}.ap-fact-art small{font-size:11px;color:#d4e8ee;margin-top:8px}.ap-topic-facts .ap-topic-number{left:auto;right:25px}.ap-topic-approach{background:#154d45}.ap-approach-art{position:absolute;width:240px;height:240px;top:-10px;left:50%;transform:translateX(-50%);display:grid;place-items:center;color:#b8dbba}.ap-approach-art>span{position:absolute;border:1px solid #a8d6c132;width:180px;height:180px;border-radius:50%}.ap-approach-art>span:nth-child(2){width:225px;height:225px}.ap-approach-art>span:nth-child(3){width:270px;height:270px}
.ap-detail{margin-top:36px;margin-bottom:66px;border-top:1px solid #dce5e9;padding-top:35px;scroll-margin-top:90px;outline:none}.ap-detail-heading{margin-bottom:27px}.ap-detail-heading .ap-eyebrow{font-size:10px;margin-bottom:9px}.ap-detail-heading h2{font-size:27px}.ap-detail-content{animation:apReveal .35s ease both}.ap-story,.ap-korea,.ap-connection{display:grid;grid-template-columns:.85fr 1.4fr;gap:50px}.about-profile .ap-lead{font-size:23px;line-height:1.7;color:#5b7180}.ap-lead strong{font-weight:500;color:#225c84}.ap-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.ap-project{border-top:2px solid #9fbc87;padding-top:18px}.ap-project small{font-size:9px;letter-spacing:.1em;color:#52788b;display:block;margin-bottom:10px}.ap-project h3{font-size:17px}.ap-project p{font-size:13px;margin-bottom:0}.ap-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 34px}.ap-service{display:block;text-decoration:none;color:inherit;border-bottom:1px solid #e1e8ed;padding:0 0 23px}.ap-service>svg{color:#2b739b;margin-bottom:14px}.ap-service p{font-size:13px;margin-bottom:16px}.ap-card-link{display:flex;gap:8px;align-items:center;font-size:12px;color:#24689d}.ap-facts,.ap-approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.ap-facts strong{display:block;font-size:42px;color:#28688b;line-height:1.4;margin-bottom:14px}.ap-facts p,.ap-approach-grid p{font-size:14px;margin-bottom:0}.ap-korea-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;color:#24689d;text-decoration:none;border-bottom:1px solid #c3d4df;padding-bottom:8px}.ap-korea-expertise>div{display:flex;gap:22px;border-bottom:1px solid #e0e8ec;padding:0 0 15px;margin-bottom:15px}.ap-korea-expertise>div:last-child{margin-bottom:0}.ap-korea-expertise>div>span{font-size:12px;color:#5c8754;padding-top:4px}.ap-korea-expertise h3{font-size:17px;margin-bottom:6px}.ap-korea-expertise p{font-size:13px;margin-bottom:0}.ap-connection-year{font-size:80px;letter-spacing:-.055em;line-height:1.1;color:#26668a}.ap-connection-year span{display:block;font-size:11px;letter-spacing:.13em;color:#587a6d;margin-top:20px}.ap-approach-grid article>span{display:block;font-size:35px;font-weight:400;color:#7ea66f;margin-bottom:15px}
.ap-contact-section{background:#102f43;color:white;padding-block:48px}.ap-contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.ap-contact .ap-eyebrow{color:#bddc9e}.ap-contact h2{color:white;font-size:clamp(30px,3.2vw,43px)}.ap-contact p{font-size:15px;color:#cbdae1;margin-bottom:20px}.ap-contact .pill{background:#fff;color:#184568;border-color:#fff}.ap-contact-details{margin-top:24px;display:grid;gap:8px;font-size:11px;color:#a9bfcd}.ap-contact-details a{color:#d1e2ec;text-decoration:none}.about-profile button:focus-visible,.about-profile a:focus-visible{outline:3px solid #6ba9d4;outline-offset:5px}.ap-detail:focus-visible{outline:2px solid #8eb8cc;outline-offset:10px}
.ap-back-topics{display:inline-flex;font:inherit;font-size:12px;color:#24689d;background:transparent;border:0;border-bottom:1px solid #bdceda;padding:7px 0;margin-top:28px;cursor:pointer}
.ap-korea-feature{background:#edf3f4;padding-block:44px;margin-bottom:55px}.ap-korea-feature-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center}.ap-korea-feature-photo{min-width:0}.ap-korea-feature-photo img{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:center}.ap-korea-feature-photo figcaption{font-size:9px;letter-spacing:.1em;color:#627b88;margin-top:13px}.ap-korea-feature-copy h2{font-size:34px;color:#184e71;margin-bottom:20px}.ap-korea-feature-copy h2 span{display:block;font-size:22px;line-height:1.5;color:#1d3649;margin-top:8px}.ap-korea-feature-copy p{font-size:14px;margin-bottom:17px}.ap-korea-feature-copy p strong{color:#244d65;font-weight:600}.ap-korea-fields{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.ap-korea-fields span{font-size:11px;color:#41664c;background:#e0ebdf;padding:6px 10px}.ap-korea-feature-copy .ap-korea-local{font-size:13px;border-left:2px solid #88ad6b;padding-left:15px}.ap-topic-korea{background:linear-gradient(125deg,#173d54,#246c79)}.ap-topic-korea:after{background:linear-gradient(transparent,#07263655)}.ap-korea-art{position:absolute;left:27px;top:26px;display:grid;gap:7px}.ap-korea-art small{font-size:9px;letter-spacing:.16em;color:#c3dbe0}.ap-korea-art strong{font-size:68px;line-height:1.05;font-weight:500;letter-spacing:-.05em}.ap-korea-art>span{font-size:10px;letter-spacing:.15em;color:#bfdbb0}.ap-topic-korea .ap-topic-number{left:auto;right:25px}
@media(max-width:1000px){.ap-korea-feature-grid{gap:27px}.ap-korea-feature-copy h2 span{font-size:20px}.ap-korea-art strong{font-size:57px}}
@media(max-width:760px){.ap-korea-feature{padding-block:32px;margin-bottom:37px}.ap-korea-feature-grid{grid-template-columns:1fr;gap:26px}.ap-korea-feature-photo img{aspect-ratio:2.15}.ap-korea-feature-copy h2{font-size:30px}.ap-korea-feature-copy h2 span{font-size:21px}.ap-korea-feature-copy p{font-size:14px}}
@keyframes apReveal{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.ap-hero{min-height:560px}}
@media(max-width:1000px){.about-profile .wrap-wide{padding-inline:32px}.ap-topic-grid{gap:14px}.ap-topic{height:240px}.ap-topic-copy{left:21px;right:42px;bottom:23px}.ap-topic-copy strong{font-size:19px}.ap-topic-arrow{right:17px;bottom:27px}.ap-fact-art{top:34px;left:23px}.ap-fact-art strong{font-size:75px}.ap-fact-art small{font-size:9px}.ap-topic-number{left:21px;top:18px}.ap-story,.ap-korea,.ap-connection{gap:30px}.ap-contact{gap:35px}}
@media(max-width:760px){.about-profile .wrap-wide{padding-inline:22px}.ap-hero{min-height:430px}.ap-hero:after{background:linear-gradient(90deg,#0a293be3,#09263585)}.ap-hero-content{padding-top:44px;padding-bottom:70px}.ap-hero h1{font-size:65px}.ap-hero-caption{font-size:9px}.ap-hero-caption>span:first-child{display:none}.ap-intro{padding-block:42px}.ap-intro h2{font-size:30px}.ap-intro p{font-size:14px}.ap-intro .ap-eyebrow{font-size:9px;letter-spacing:.1em}.ap-grid-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px}.ap-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ap-topic{height:250px}.ap-topic-copy strong{font-size:20px}.ap-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-story,.ap-korea,.ap-connection{grid-template-columns:1fr;gap:22px}.ap-detail{margin-top:29px;margin-bottom:42px;scroll-margin-top:82px}.ap-detail-heading h2{font-size:25px}.ap-facts,.ap-approach-grid{gap:22px}.ap-facts strong{font-size:28px}.ap-facts h3,.ap-approach-grid h3{font-size:16px}.ap-facts p,.ap-approach-grid p{font-size:13px}.ap-contact{grid-template-columns:1fr;gap:25px}.ap-contact-section{padding-block:37px}}
@media(max-width:480px){.ap-hero{min-height:410px}.ap-hero h1{font-size:53px}.ap-hero-content p{font-size:25px}.ap-hero-caption{font-size:8px}.ap-topic-grid{grid-template-columns:1fr}.ap-topic{height:240px}.ap-topic-copy strong{font-size:23px}.ap-topic-copy small{font-size:10px}.ap-topic-copy{left:25px;right:60px}.ap-topic-arrow{right:25px}.ap-fact-art{left:26px;top:23px}.ap-fact-art strong{font-size:80px}.ap-fact-art small{font-size:11px}.ap-approach-art{top:-27px}.ap-service-grid,.ap-project-grid,.ap-facts,.ap-approach-grid{grid-template-columns:1fr}.ap-facts>div,.ap-approach-grid article{border-bottom:1px solid #e0e8ec;padding-bottom:21px}.ap-facts strong{font-size:36px}.ap-facts h3,.ap-approach-grid h3{font-size:18px}.ap-project-grid{gap:22px}.ap-connection-year{font-size:64px}}
@media(prefers-reduced-motion:reduce){.about-profile *{animation:none!important;transition:none!important}}
/* Founding story and reader-focused mission, September 2026. */
.ap-origin{padding-block:4px 56px}.ap-origin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:33px}.ap-origin-heading h2{font-size:32px}.ap-origin-heading h2 span{color:#2c7195}.ap-origin-heading>p{font-size:13px;margin:0;color:#6b7d88}.ap-origin-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}.ap-origin-year{display:block;font-size:65px;letter-spacing:-.055em;line-height:1.1;color:#296487;margin:0 0 19px}.ap-origin-year small{font-size:22px;color:#76909b;letter-spacing:0}.ap-origin-story h3{font-size:23px;margin-bottom:18px}.ap-origin-story p{font-size:14px;line-height:1.95}.ap-origin-story strong{font-weight:600;color:#325a6d}.ap-history-source{font-size:11px;line-height:1.8;color:#2a688d;text-decoration:none;border-bottom:1px solid #c6d6dd;padding-bottom:4px}.ap-origin-gallery img{display:block;width:100%;height:auto;object-fit:cover}.ap-origin-gallery figcaption{font-size:10px;line-height:1.7;color:#6d7f89;margin-top:8px}.ap-opening-main img{aspect-ratio:1.5}.ap-opening-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:19px}.ap-opening-pair img{aspect-ratio:1.4}.ap-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:37px 0 0;gap:0}.ap-journey li{border-top:1px solid #c8d8dd;padding:22px 24px 0 0;position:relative}.ap-journey li:before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:#88ac68;top:-5px;left:0}.ap-journey li>span{display:block;font-size:10px;letter-spacing:.1em;color:#287297;margin-bottom:11px}.ap-journey strong{display:block;font-size:16px;line-height:1.55;margin-bottom:8px}.ap-journey p{font-size:12px;line-height:1.8;margin:0}.ap-mission{padding-block:0 54px}.ap-mission-heading{max-width:840px}.ap-mission-heading h2{font-size:32px;margin-bottom:20px}.ap-mission-heading h2 span{color:#397354}.ap-mission-heading>p{font-size:15px;max-width:800px}.ap-mission-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:28px}.ap-mission-pillars article{display:flex;flex-direction:column;border-top:2px solid #9bbc8c;padding:22px 0 0}.ap-mission-pillars article>span{color:#528065;font-size:10px;letter-spacing:.1em;margin-bottom:16px}.ap-mission-pillars h3{font-size:22px}.ap-mission-pillars p{font-size:14px}.ap-mission-pillars a{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#24689d;text-decoration:none;margin-top:auto}.ap-resource-link{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:25px;margin-top:36px;background:#f0f5f6;padding:18px 24px;text-decoration:none;color:#194363}.ap-resource-link img{width:100%;height:auto;display:block}.ap-resource-link>span{display:grid;gap:8px}.ap-resource-link strong{font-size:18px;font-weight:600}.ap-resource-link small{font-size:12px;line-height:1.7;color:#657d89}.ap-resource-link>span>span{display:flex;align-items:center;gap:9px;font-size:12px;color:#287397}.ap-topic-facts .ap-fact-art strong{font-size:69px;letter-spacing:-.04em}.ap-topic-connection{background:linear-gradient(135deg,#193955,#285b79)}.ap-connection-art{position:absolute;top:40px;left:26px;display:grid;gap:9px}.ap-connection-art strong{font-size:36px;letter-spacing:.01em;font-weight:500}.ap-connection-art>span{font-size:9px;letter-spacing:.12em;color:#cee2e8}.ap-connection-art small{font-size:10px;color:#c9dfa9;letter-spacing:.1em}.ap-topic-connection .ap-topic-number{left:auto;right:25px}.ap-company-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:30px!important;padding-top:20px;border-top:1px solid #ffffff20;font-size:11px;color:#a9bfcd}.ap-company-links a{color:#c2dce9;text-decoration:none}
@media(max-width:1000px){.ap-origin-grid{gap:28px;grid-template-columns:1fr 1fr}.ap-origin-heading h2,.ap-mission-heading h2{font-size:29px}.ap-origin-heading>p{display:none}.ap-mission-pillars h3{font-size:19px}.ap-journey strong{font-size:14px}.ap-topic-facts .ap-fact-art strong{font-size:57px}.ap-connection-art strong{font-size:29px}}
@media(max-width:760px){.ap-origin{padding-bottom:38px}.ap-origin-grid{grid-template-columns:1fr;gap:27px}.ap-origin-heading{margin-bottom:25px}.ap-origin-heading h2,.ap-mission-heading h2{font-size:27px}.ap-origin-year{font-size:53px}.ap-journey{grid-template-columns:1fr 1fr;gap:26px 14px}.ap-journey li{padding-right:10px}.ap-mission{padding-bottom:38px}.ap-mission-pillars{grid-template-columns:1fr;gap:25px}.ap-mission-pillars h3{font-size:21px}.ap-mission-heading>p{font-size:14px}.ap-resource-link{grid-template-columns:1fr;padding:20px;gap:18px}.ap-resource-link img{max-width:500px}.ap-connection-art strong{font-size:34px}}
@media(max-width:480px){.ap-origin-heading h2,.ap-mission-heading h2{font-size:25px}.ap-opening-pair{gap:10px}.ap-origin-gallery figcaption{font-size:9px}.ap-journey strong{font-size:15px}.ap-topic-facts .ap-fact-art strong{font-size:70px}}

.home-what{padding:34px 0 28px;background:#fff}.what-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.what-heading :is(h1,h2){font-size:clamp(26px,2.5vw,40px);line-height:1.3;margin:8px 0 0;letter-spacing:-.8px}.what-heading p{font-size:15px;line-height:1.65;color:#66768b;margin:0;flex-shrink:0}.what-grid{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:16px}.what-side{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-width:0}.what-service{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:250px;border:1px solid #e0e7ec;border-radius:20px;padding:24px;text-decoration:none;color:#13283d;background:#f5f8fb;transition:transform .2s,box-shadow .2s}.what-service:hover{transform:translateY(-3px);box-shadow:0 10px 25px #15345312}.what-service>*:not(.what-watermark){position:relative;z-index:1}.what-service-icon{color:#2969a9;background:#fff;border-radius:14px;width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;box-shadow:0 5px 15px #254c7010}.what-kicker{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#2b68a2}.what-service h3{font-size:20px;line-height:1.35;margin:7px 0 9px}.what-service p{white-space:pre-line;line-height:1.7;font-size:14px;color:#566a7c;margin:0 0 18px}.what-link{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;margin-top:auto;color:#2464a6}.what-watermark{position:absolute;right:-27px;bottom:-22px;color:#3576aa;opacity:.055;transform:rotate(-15deg)}.what-training{background:linear-gradient(140deg,#f1f7ee,#fbfcf9)}.what-consult{background:linear-gradient(140deg,#f3f6fb,#f9fafc)}.what-repair{background:linear-gradient(140deg,#edf5fa,#f7fafc)}.what-calibration{background:linear-gradient(140deg,#eff7f4,#f8fcfa)}.what-training .what-service-icon,.what-training .what-kicker{color:#538924}.what-slider{display:flex;flex-direction:column;min-width:0;border-radius:22px;background:radial-gradient(ellipse at 50% 55%,#fff 20%,#f0f5fa 80%);border:1px solid #dbe5ed;text-align:center;overflow:hidden;padding:22px 20px 14px;position:relative}.what-slider-label{font-size:12px;color:#667d95;margin-bottom:17px}.what-slides{display:grid;flex:1;min-height:455px}.what-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;align-items:center;transition:opacity .65s ease-in-out,visibility 0s linear .65s;min-width:0}.what-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s,0s}.what-slide h2{font-size:clamp(21px,2vw,31px);line-height:1.35;margin:10px 0;color:#102f52;letter-spacing:-.6px}.what-slide p{font-size:14px;line-height:1.6;color:#5b6d80;max-width:390px;margin:0 auto 12px}.what-product-image{display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:230px;margin:5px 0 15px}.what-product-image img{width:100%;height:280px;max-width:400px;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 13px 12px #213b5410)}.what-slide .pill{font-size:13px;padding:10px 20px}.what-slider-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.what-slider-controls button{border:0;background:transparent;color:#356384;cursor:pointer;min-width:32px;min-height:32px;border-radius:8px;font-size:24px}.what-slider-controls button:hover{background:#dfeaf3}.what-dots{display:flex;gap:0}.what-dots button{position:relative;width:30px;min-width:30px;font-size:0}.what-dots button:after{content:'';display:block;width:16px;height:4px;background:#bdcbd6;border-radius:5px;margin:auto}.what-dots button[aria-pressed=true]:after{background:#276cb0;width:25px}.what-slider-controls .what-pause{font-size:17px;border-left:1px solid #d3dce5;border-radius:0;margin-left:6px}.what-water{display:flex;align-items:center;justify-content:center;gap:10px;color:#42637f;font-size:13px;text-decoration:none;margin:18px auto 0;padding:8px}.home-what a:focus-visible,.home-what button:focus-visible{outline:3px solid #498ddb;outline-offset:3px}@media(min-width:1600px){.what-service{min-height:275px;padding:28px}.what-product-image img{height:320px;max-width:450px}}@media(max-width:1000px){.what-grid{grid-template-columns:1fr 1.5fr 1fr;gap:10px}.what-side{gap:10px}.what-service{padding:17px;min-height:250px}.what-service h3{font-size:17px}.what-service p{font-size:13px}.what-heading p{display:none}.what-product-image img{height:260px}.what-slider{padding:20px 12px 12px}}@media(max-width:700px){.home-what{padding:24px 0}.what-heading{margin-bottom:18px}.what-heading :is(h1,h2){font-size:27px}.what-grid{grid-template-columns:1fr;gap:12px}.what-slider{grid-row:1;padding:20px 14px 12px}.what-slides{min-height:415px}.what-slide h2{font-size:25px}.what-product-image{min-height:210px;margin-bottom:12px}.what-product-image img{height:240px}.what-side{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}.what-service{min-height:250px;padding:18px 14px}.what-service-icon{width:44px;height:44px;margin-bottom:13px}.what-service h3{font-size:18px}.what-service p{white-space:normal}.what-water{align-items:flex-start;font-size:12px;line-height:1.6;text-align:center}.what-water svg{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.what-service,.what-slide{transition:none}.what-service:hover{transform:none}}
.home-service-real .service-heading-cover{height:390px;aspect-ratio:auto;object-fit:contain!important;object-position:center;background:#ecf1f3}.home-service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:25px 0}.home-service-steps>div{border:1px solid #dee7ee;border-radius:16px;padding:22px;background:white}.home-service-steps>div>span{display:flex;align-items:center;justify-content:space-between;color:#2769a8}.home-service-steps small{color:#8799a9;font-size:13px}.home-service-steps h3{font-size:19px;margin:14px 0 8px}.home-service-steps p{font-size:14px;color:#586e80;line-height:1.65;margin:0}@media(max-width:700px){.home-service-real .service-heading-cover{height:300px}.home-service-steps{grid-template-columns:1fr;gap:10px}.home-service-steps>div{padding:18px}.home-service-steps h3{margin:8px 0}}
.what-service.has-photo{--photo-inset:24px;padding-top:0;padding-bottom:18px}.what-service .what-service-photo{display:block;width:calc(100% + var(--photo-inset)*2);max-width:none;height:130px;object-fit:cover;object-position:center 48%;margin:0 calc(-1*var(--photo-inset)) 15px;flex-shrink:0}.what-service.has-photo p{margin-bottom:12px}@media(min-width:1600px){.what-service.has-photo{--photo-inset:28px}.what-service .what-service-photo{height:145px}}@media(max-width:1000px){.what-service.has-photo{--photo-inset:17px}}@media(max-width:700px){.what-service.has-photo{--photo-inset:14px}.what-service .what-service-photo{height:120px;object-position:center 50%}}

.what-training .what-service-photo{object-position:center 44%}.what-consult .what-service-photo{object-position:center 42%}.what-calibration .what-service-photo{object-position:center 45%}
.business-cover .lab-instrument-collection{position:relative;width:100%;height:100%;isolation:isolate;background:radial-gradient(ellipse at 50% 85%,#e9eff4,white 65%);overflow:hidden}.business-cover .lab-instrument-collection img{position:absolute;object-fit:contain;padding:0;background:transparent!important;mix-blend-mode:multiply;filter:drop-shadow(0 5px 4px #17365115)}.lab-instrument-collection .collection-oven{width:42%;height:94%;left:0;bottom:3%;z-index:1}.lab-instrument-collection .collection-viscometer{width:30%;height:96%;left:38%;bottom:1%;z-index:3}.lab-instrument-collection .collection-stomacher{width:38%;height:77%;right:0;bottom:12%;z-index:1}.lab-instrument-collection .collection-balance{width:35%;height:44%;left:18%;bottom:0;z-index:4}.lab-brand-grid .rapid-brand-logos{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;width:100%;height:100%;padding:12px}.lab-brand-grid .rapid-brand-logos img{display:block;width:100%;max-width:160px;height:34px;padding:0;object-fit:contain}.lab-brand-grid .rapid-brand-logos img+img{height:31px}
.fs-item .fs-standard-logo{height:82px;margin-bottom:20px;display:flex;align-items:center;justify-content:flex-start}.fs-item .fs-standard-logo img{display:block;width:190px;height:76px;object-fit:contain;object-position:left center}.fs-item .fs-standard-tisi img{width:76px}.fs-item .fs-standard-fda img{width:76px;padding:9px;background:#245d85;border-radius:16px}.fs-mark-credits{margin-top:16px;color:#708092;font-size:11px}.fs-mark-credits summary{cursor:pointer}.fs-mark-credits p{line-height:1.7}.fs-mark-credits a{color:inherit}
/* Horizontal transition: incoming panel enters on the right as the current panel exits left. */
.what-slides{overflow:hidden;isolation:isolate}
.what-slider .what-slide{transition:none;animation:none;transform:translate3d(0,0,0)}
.what-slider .what-slide.is-leaving{visibility:visible;opacity:1;pointer-events:none}
.home-what .what-slider.is-transitioning .what-slide{transition:none!important;will-change:transform;backface-visibility:hidden;animation-duration:1100ms!important;animation-timing-function:cubic-bezier(.45,0,.2,1)!important;animation-fill-mode:both!important;animation-play-state:running!important}
.home-what .what-slider.is-transitioning .what-slide.is-active{animation-name:whatSlideEnter!important}
.home-what .what-slider.is-transitioning .what-slide.is-leaving{animation-name:whatSlideLeave!important}
@keyframes whatSlideEnter{from{transform:translate3d(calc(100% * var(--slide-direction)),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes whatSlideLeave{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-100% * var(--slide-direction)),0,0)}}
#featured-products .home-type-grid .compact-group-card{grid-template-columns:156px minmax(0,1fr);gap:16px;min-height:210px}
#featured-products .home-type-grid .compact-group-image{width:156px;height:178px}
#featured-products .compact-group-image img{padding:2px;object-fit:contain}
@media(max-width:650px){#featured-products .home-type-grid .compact-group-card{grid-template-columns:134px minmax(0,1fr);gap:12px;min-height:190px}#featured-products .home-type-grid .compact-group-image{width:134px;height:160px}}
@media(max-width:360px){#featured-products .home-type-grid .compact-group-card{grid-template-columns:118px minmax(0,1fr)}#featured-products .home-type-grid .compact-group-image{width:118px;height:150px}}
/* Product overview covers and active repair photograph. */
.business-grid .business-cover.contain{background:#fff!important}
.business-grid .business-cover.contain>img{width:100%;height:100%;object-fit:contain;padding:3px;background:#fff!important}
.home-service-real .service-heading-cover{object-fit:cover!important;object-position:50% 45%;background:#eef2f4}

/* Compact Home repair feature, retaining copy, imagery and all service actions. */
.home-page .home-service-real .svc-headline{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);padding:28px;column-gap:30px;row-gap:18px!important;border-radius:24px}
.home-page .home-service-real .svc-headline .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:12px}
.home-page .home-service-real .svc-headline h2{font-size:clamp(27px,2.6vw,34px);line-height:1.24;margin:0;letter-spacing:-.025em}
.home-page .home-service-real .svc-headline p{font-size:14px;line-height:1.6;max-width:650px;margin:12px 0 0}
.home-page .home-service-real .svc-headline .ctas{margin-top:16px;gap:8px}
.home-page .home-service-real .svc-headline .ctas .pill{font-size:13px;padding:10px 16px}
.home-page .home-service-real .svc-headline>.service-heading-cover{height:230px;aspect-ratio:auto;border-radius:14px;align-self:center}
.home-page .home-service-real .svc-stats{gap:12px}
.home-page .home-service-real .svc-stat{padding:14px 16px;border-radius:14px}
.home-page .home-service-real .svc-stat .ic{margin-bottom:8px}
.home-page .home-service-real .svc-stat .ic svg{width:18px;height:18px}
.home-page .home-service-real .svc-stat strong{font-size:clamp(20px,2vw,25px);line-height:1.25}
.home-page .home-service-real .svc-stat .l{font-size:12px;line-height:1.45;margin-top:5px}
@media(max-width:760px){
 .home-page .home-service-real .svc-headline{grid-template-columns:minmax(0,1fr);padding:20px!important;row-gap:16px!important}
 .home-page .home-service-real .svc-headline>div:not(.svc-stats){grid-row:1}
 .home-page .home-service-real .svc-headline>.service-heading-cover{grid-row:2;height:190px}
 .home-page .home-service-real .svc-headline>.svc-stats{grid-row:3;gap:9px}
 .home-page .home-service-real .svc-headline h2{font-size:27px}
 .home-page .home-service-real .svc-stat{padding:12px}
 .home-page .home-service-real .svc-stat strong{font-size:20px}
}
.about-profile .ap-hero-photo img{object-position:50% 52%}

.auq-page{--auq-navy:#123958;--auq-teal:#098d99;background:#fff;color:#17344c}.auq-page h1,.auq-page h2,.auq-page h3{color:var(--auq-navy);letter-spacing:-.035em}.auq-page .wrap-wide{max-width:1420px;margin:auto}.auq-wordmark{display:inline-flex;position:relative;font-family:Arial,sans-serif;font-size:46px;font-weight:800;letter-spacing:-3px;line-height:1;color:var(--auq-navy);padding-bottom:12px;vertical-align:middle}.auq-wordmark svg{position:absolute;bottom:0;left:0;width:76px;height:12px;color:#16acb7}.auq-eyebrow{display:inline-block;font-size:11px;letter-spacing:1.7px;color:#4f7184;margin-left:25px}.auq-hero{padding:55px 0;background:linear-gradient(120deg,#eef7f8,#f8fbfd);border-bottom:1px solid #dcebee}.auq-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.auq-hero h1{font-size:clamp(32px,3.3vw,49px);line-height:1.3;margin:24px 0 18px}.auq-hero p{font-size:16px;line-height:1.85;color:#526f81;max-width:610px;margin-bottom:25px}.auq-hero-summary{background:#fff;border:1px solid #d4e7eb;border-radius:26px;padding:35px;box-shadow:0 16px 44px #16455b07;display:flex;flex-direction:column}.auq-hero-summary>span{font-size:14px;color:#526f81}.auq-hero-summary>strong{font-size:clamp(39px,4vw,59px);letter-spacing:-2px;color:var(--auq-navy);margin:12px 0 3px;line-height:1.1}.auq-hero-summary>small{color:#748895;font-size:11px}.auq-process{display:flex;align-items:center;gap:18px;margin:28px 0 16px}.auq-process>div{flex:1;border-radius:12px;background:#eff8f8;padding:16px;display:flex;flex-direction:column}.auq-process b{font-size:25px;color:var(--auq-teal)}.auq-process small{font-size:12px;color:#5d7986}.auq-catalog{padding-top:45px;padding-bottom:28px;scroll-margin-top:90px}.auq-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:26px}.auq-section-heading h2{font-size:31px;margin:7px 0}.auq-section-heading p{font-size:14px;line-height:1.7;color:#66808d;margin:0}.auq-filters{display:flex;gap:7px;flex-shrink:0}.auq-filters button{border:1px solid #d5e3e9;background:#fff;color:#416176;border-radius:30px;padding:9px 18px;cursor:pointer;font:inherit;font-size:13px}.auq-filters button[aria-pressed=true]{background:var(--auq-navy);color:#fff;border-color:var(--auq-navy)}.auq-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.auq-product-card{min-width:0;border:1px solid #dce7ec;border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.auq-card-image{position:relative;display:flex;align-items:center;justify-content:center;background:#fcfdfd;border-bottom:1px solid #edf2f4;aspect-ratio:1.2;overflow:hidden}.auq-card-image img{width:100%;height:100%;object-fit:contain;padding:17px}.auq-system{display:inline-flex;background:#e7f5f4;color:#15777e;border-radius:30px;padding:6px 12px;font-size:11px;font-weight:600}.auq-card-image .auq-system{position:absolute;top:15px;left:15px}.auq-card-body{padding:23px;display:flex;flex:1;flex-direction:column}.auq-card-body>small{font-size:12px;color:#607e8f}.auq-card-body h3{font-size:23px;margin:7px 0 18px;line-height:1.35}.auq-card-body h3 a{color:inherit;text-decoration:none}.auq-key-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 17px}.auq-key-stats>div{display:flex;flex-direction:column;border-left:2px solid #59bfc0;padding-left:11px}.auq-key-stats strong{font-size:27px;line-height:1.2;color:var(--auq-navy);letter-spacing:-.6px}.auq-key-stats span{font-size:11px;color:#65808c;margin-top:5px}.auq-card-body>p{font-size:12px;color:#537383;line-height:1.7;margin:0 0 20px}.auq-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}.auq-card-actions .pill{font-size:12px;padding:9px 16px}.auq-enquire{display:flex;align-items:center;gap:5px;font-size:12px;color:#2169a7;text-decoration:none}.auq-note{font-size:12px;color:#718592;line-height:1.8;margin:20px 0}.auq-support{padding-bottom:55px}.auq-selection{border-radius:23px;background:#123958;padding:32px;display:flex;gap:30px;align-items:center;justify-content:space-between;color:white}.auq-selection h2{color:white;font-size:29px;margin:10px 0}.auq-selection .eyebrow{color:#90d9df}.auq-selection p{color:#ccdde7;font-size:14px;line-height:1.8;max-width:700px;margin:0}.auq-selection>.pill{flex-shrink:0;background:#fff;color:#164360}.auq-distributor{display:flex;align-items:center;gap:24px;padding-top:30px;margin-top:28px;border-top:1px solid #e2ebef}.auq-distributor>img{width:130px;height:102px;object-fit:contain;border-radius:13px}.auq-distributor>div{flex:1}.auq-distributor small{font-size:12px;color:#657c89}.auq-distributor strong{display:block;font-size:18px;margin:4px 0}.auq-distributor p{color:#65808c;font-size:13px;margin:0;line-height:1.7}.auq-distributor>.pill{font-size:13px}.auq-detail{padding-top:28px;padding-bottom:50px}.auq-back{display:inline-block;font-size:13px;color:#33738c;text-decoration:none;margin-bottom:25px}.auq-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.auq-detail-image{margin:0;border:1px solid #e0e9ee;border-radius:23px;overflow:hidden;background:#fff}.auq-detail-image img{width:100%;height:460px;object-fit:contain;padding:25px;display:block}.auq-detail-image figcaption{font-size:11px;line-height:1.6;color:#748895;background:#f6f9fa;padding:12px 18px}.auq-detail-grid .auq-system{margin-left:24px}.auq-detail h1{font-size:clamp(30px,3.2vw,42px);margin:25px 0 13px;line-height:1.3}.auq-detail-intro{color:#587285;line-height:1.9;font-size:15px;margin-bottom:25px}.auq-detail .auq-key-stats{margin:25px 0}.auq-detail .auq-key-stats strong{font-size:37px}.auq-detail-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;margin-top:45px}.auq-detail h2{font-size:25px;margin:0 0 20px}.auq-specs{margin:0;border-top:1px solid #e1e9ee}.auq-specs>div{display:grid;grid-template-columns:38% 1fr;gap:15px;padding:13px 0;border-bottom:1px solid #e1e9ee;font-size:14px;line-height:1.7}.auq-specs dt{color:#627d8e}.auq-specs dd{margin:0;color:#213f55}.auq-includes{background:#f0f7f8;border-radius:20px;padding:28px;align-self:start}.auq-includes ul{list-style:none;padding:0;margin:0 0 22px}.auq-includes li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.8;padding:10px 0}.auq-includes li svg{color:#1b9b8b;flex-shrink:0;margin-top:5px}.auq-includes .auq-back{margin:0}.auq-page a:focus-visible,.auq-page button:focus-visible{outline:3px solid #129baf;outline-offset:4px}
@media(max-width:1050px){.auq-hero-grid{gap:30px}.auq-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auq-detail-grid,.auq-detail-bottom{gap:28px}.auq-section-heading{align-items:flex-start;flex-direction:column}.auq-eyebrow{display:block;margin:15px 0 0}.auq-distributor{flex-wrap:wrap}}
@media(max-width:650px){.auq-hero{padding:32px 0}.auq-hero-grid{grid-template-columns:1fr;gap:25px}.auq-hero h1{font-size:33px}.auq-hero p{font-size:14px}.auq-hero-summary{padding:25px}.auq-hero-summary>strong{font-size:43px}.auq-catalog{padding-top:30px}.auq-section-heading h2{font-size:27px}.auq-product-grid{grid-template-columns:1fr;gap:18px}.auq-card-image{aspect-ratio:1.25}.auq-card-body{padding:21px}.auq-selection{padding:24px;display:block}.auq-selection h2{font-size:25px}.auq-selection>.pill{margin-top:22px}.auq-distributor{gap:15px}.auq-distributor>img{width:96px;height:80px}.auq-distributor>div{min-width:165px}.auq-distributor strong{font-size:15px}.auq-detail-grid,.auq-detail-bottom{grid-template-columns:1fr;gap:25px}.auq-detail-image img{height:320px;padding:15px}.auq-detail h1{font-size:30px}.auq-detail-bottom{margin-top:28px}.auq-specs>div{font-size:13px}.auq-includes{padding:23px}.auq-detail .auq-key-stats strong{font-size:32px}}

/* Shared product presentation across Home, catalogs, details and AUQ. */
:root{--product-surface:#fff;--product-shadow:none;--product-photo-shadow:none}
.catalog-photo,.compact-group-image,.business-cover.contain,.hero-feature-photo,
.what-slider,.what-product-image,.product-detail-image,.product-main-photo,
.product-thumbnails button,.product-image-dialog,.product-detail-photo-grid figure,
.product-detail-photo-grid a,.auq-card-image,
.auq-detail-image,.pd-hero .visual,.pd-hero .photo{
 background:var(--product-surface)!important;background-image:none!important;
}
.catalog-product,.compact-group-card,.business-card:has(.business-cover.contain),
.hero-feature,.hero-feature-photo,.what-slider,.product-detail-image,.product-detail-photo-grid figure,
.auq-product-card,.auq-detail-image,.pd-hero .visual{
 box-shadow:var(--product-shadow)!important;
}
.catalog-photo img,.compact-group-image img,.business-cover.contain>img,
.hero-feature-photo img,.what-product-image img,.product-main-photo img,
.product-thumbnails img,.product-image-dialog>img,.product-detail-photo-grid img,
.auq-card-image img,.auq-detail-image>img,
.pd-hero .photo img{
 mix-blend-mode:normal!important;filter:var(--product-photo-shadow)!important;
 object-fit:contain;background:transparent!important;
}
.what-product-image{border-radius:16px}
.auq-detail-image figcaption{background:#fff}
.gbx-project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gbx-project-photos figure{margin:0;border:1px solid #dce5e8;border-radius:20px;overflow:hidden;background:#fff}.gbx-project-photos figure>a{display:block;background:#fff}.gbx-project-photos img{display:block;width:100%;aspect-ratio:1.9;object-fit:contain}.gbx-project-photos figcaption{padding:22px}.gbx-project-photos h3{font-size:22px;margin:0 0 8px}.gbx-project-photos p{color:#5b7182;margin:0 0 14px;line-height:1.7}.gbx-project-photos figcaption a{font-size:13px;color:#276cb0;text-decoration:none}@media(max-width:700px){.gbx-project-photos{grid-template-columns:1fr;gap:16px}.gbx-project-photos figcaption{padding:18px}}

/* Green Bioxide only: compact sections with the complete content retained. */
main[data-screen-label="page-product:green-bioxide"]>.pd-hero{padding:32px 28px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero h1{font-size:clamp(36px,4vw,50px)}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .crumbs{margin-bottom:10px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .desc{max-width:none;font-size:15px;line-height:1.7;margin-top:14px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .visual{padding:18px;border-radius:20px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .visual .photo{height:320px}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .photo>svg{display:block;width:100%;height:100%}
main[data-screen-label="page-product:green-bioxide"] .pd-hero .keys{margin-top:18px;gap:14px;max-width:none}
main[data-screen-label="page-product:green-bioxide"]>.stack-section{padding:30px 28px}
main[data-screen-label="page-product:green-bioxide"]>.stack-section>.wrap-wide{padding-inline:0}
main[data-screen-label="page-product:green-bioxide"] .section-head{margin-bottom:20px}
main[data-screen-label="page-product:green-bioxide"] .section-head h2{font-size:28px;line-height:1.3}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos figure{border-radius:14px}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos img{aspect-ratio:1.65;height:auto}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos figcaption{padding:15px}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos h3{font-size:18px;line-height:1.4;margin-bottom:7px}
main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos p{font-size:13px;line-height:1.65;margin-bottom:10px}
main[data-screen-label="page-product:green-bioxide"]>.pd-spec{padding:30px 28px;grid-template-columns:minmax(0,1fr);gap:20px}
main[data-screen-label="page-product:green-bioxide"] .pd-spec h2{font-size:28px}
main[data-screen-label="page-product:green-bioxide"] .pd-spec .lede{margin-top:10px;font-size:15px;line-height:1.65}
main[data-screen-label="page-product:green-bioxide"] .pd-spec td{padding:10px 14px;line-height:1.6}
main[data-screen-label="page-product:green-bioxide"] .pd-spec td:first-child{width:30%}
main[data-screen-label="page-product:green-bioxide"] .pd-spec tr:nth-child(even){background:#f5f8f6}
main[data-screen-label="page-product:green-bioxide"]>.pd-features{padding:32px 28px}
main[data-screen-label="page-product:green-bioxide"] .pd-features-inner>div:first-child{max-width:none!important}
main[data-screen-label="page-product:green-bioxide"] .pd-features-inner>div:first-child h2{font-size:28px!important}
main[data-screen-label="page-product:green-bioxide"] .pd-features-inner>div:first-child p{font-size:15px!important;margin-top:10px!important}
main[data-screen-label="page-product:green-bioxide"] .pd-features .grid{margin-top:22px;gap:16px}
main[data-screen-label="page-product:green-bioxide"] .pd-features .item{padding:20px;border-radius:14px}
main[data-screen-label="page-product:green-bioxide"] .pd-features .icon{width:34px;height:34px;margin-bottom:12px}
main[data-screen-label="page-product:green-bioxide"] .app-grid{gap:12px}
main[data-screen-label="page-product:green-bioxide"] .app-card{padding:18px}
@media(max-width:1050px){
 main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 main[data-screen-label="page-product:green-bioxide"] .pd-hero-inner{grid-template-columns:minmax(0,1fr);gap:22px}
 main[data-screen-label="page-product:green-bioxide"] .pd-hero .visual{width:100%;max-width:520px;justify-self:center;box-sizing:border-box}
 main[data-screen-label="page-product:green-bioxide"] .pd-hero .visual .photo{height:260px}
 main[data-screen-label="page-product:green-bioxide"] .pd-features .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 main[data-screen-label="page-product:green-bioxide"]>.pd-hero,
 main[data-screen-label="page-product:green-bioxide"]>.stack-section,
 main[data-screen-label="page-product:green-bioxide"]>.pd-spec,
 main[data-screen-label="page-product:green-bioxide"]>.pd-features{padding:24px 18px}
 main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos,
 main[data-screen-label="page-product:green-bioxide"] .pd-features .grid{grid-template-columns:minmax(0,1fr)}
 main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos figure{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}
 main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos figcaption{padding:12px}
 main[data-screen-label="page-product:green-bioxide"] .gbx-project-photos h3{font-size:16px}
 main[data-screen-label="page-product:green-bioxide"] .pd-spec td{padding:10px 8px;font-size:13px;overflow-wrap:anywhere}
 main[data-screen-label="page-product:green-bioxide"] .pd-spec td:first-child{width:36%}
 main[data-screen-label="page-product:green-bioxide"]>.stack-section:last-child>.wrap-wide>div:last-child{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
}

.bnf-catalogue{margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.bnf-catalogue small{font-size:12px;color:#526b7c}.bnf-catalogue-dialog{box-sizing:border-box;border:0;border-radius:22px;padding:30px;width:min(520px,calc(100% - 28px));max-height:90dvh;overflow:auto;color:#142b40;background:#fff;box-shadow:0 24px 90px #001a3a55}.bnf-catalogue-dialog::backdrop{background:#07192bb3}.bnf-catalogue-dialog h2{font-size:26px;margin:10px 25px 8px 0}.bnf-catalogue-dialog p{line-height:1.65}.bnf-catalogue-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;background:#edf3f7;color:#18334a;border-radius:50%;font-size:25px;cursor:pointer}.bnf-catalogue-form{display:grid;gap:14px;margin-top:20px}.bnf-catalogue-form label{display:grid;gap:6px;font-size:14px}.bnf-catalogue-form input:not([type=hidden]),.bnf-catalogue-form textarea{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #bccfdc;border-radius:9px;font:inherit;color:#142b40;background:#fff}.bnf-catalogue-form .bnf-catalogue-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bnf-catalogue-purpose{font-size:12px;color:#526b7c;margin:0}.bnf-catalogue-error{color:#a32929;font-size:14px;margin:0}.bnf-catalogue-form button:disabled{opacity:.65;cursor:wait}
.ppwr-teaser{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:28px;padding:24px;margin-top:26px;background:#e8f4ee;border:1px solid #c8dfd6;border-radius:22px}.ppwr-teaser img{display:block;width:100%;height:auto}.ppwr-teaser h3{font-size:26px;line-height:1.35;margin:8px 0 12px}.ppwr-teaser p{max-width:720px;margin:0 0 16px;line-height:1.7;color:#496579}.ppwr-section{background:#f1f7f4;scroll-margin-top:90px}.ppwr-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:38px;align-items:center}.ppwr-intro h2{font-size:clamp(27px,3vw,38px);line-height:1.35;margin:12px 0 16px}.ppwr-intro p{line-height:1.8;color:#496579}.ppwr-intro figure{margin:0}.ppwr-intro img{display:block;width:100%;height:auto}.ppwr-intro figcaption{font-size:12px;text-align:center;color:#526b7c}.ppwr-date{display:inline-block;padding:9px 14px;border-radius:10px;background:#d7ebe2;color:#135d51;font-size:13px;font-weight:600}.ppwr-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.ppwr-timeline article{padding:20px;border-top:3px solid #178276;background:#fff;border-radius:0 0 14px 14px}.ppwr-timeline span{font-size:13px;font-weight:700;color:#127369}.ppwr-timeline h3,.ppwr-topic-grid h3{font-size:19px;margin:10px 0}.ppwr-timeline p,.ppwr-topic-grid p{font-size:14px;line-height:1.75;margin:0;color:#496579}.ppwr-topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ppwr-topic-grid article{padding:22px;background:#fff;border:1px solid #dce7e2;border-radius:16px}.ppwr-topic-grid article>span{display:inline-grid;place-items:center;background:#e4f2ee;color:#167468;border-radius:10px;width:38px;height:38px;font-weight:700}.ppwr-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#103f43;color:#fff;padding:26px;border-radius:20px;margin:24px 0 16px}.ppwr-cta h3{font-size:23px;margin:0 0 10px}.ppwr-cta p{font-size:14px;line-height:1.7;max-width:650px;margin:0;color:#d4e7e6}.ppwr-cta .service-actions{flex-shrink:0;flex-direction:column;gap:10px}.ppwr-cta .pill.ghost{color:#fff;border-color:#90b9bc}.ppwr-note,.ppwr-sources{font-size:12px;line-height:1.7;color:#526b7c}.ppwr-sources a{text-decoration:underline;color:#2465a0}@media(max-width:900px){.ppwr-topic-grid{grid-template-columns:repeat(2,1fr)}.ppwr-cta{align-items:stretch;flex-direction:column}.ppwr-cta .service-actions{flex-direction:row;flex-wrap:wrap}}@media(max-width:600px){.ppwr-teaser,.ppwr-intro,.ppwr-timeline,.ppwr-topic-grid{grid-template-columns:1fr}.ppwr-teaser{gap:12px;padding:20px}.ppwr-teaser-art{max-width:260px;margin:auto}.ppwr-intro{gap:20px}.ppwr-intro figure{max-width:360px;margin:auto}.ppwr-timeline{gap:12px}.ppwr-cta{padding:22px}.bnf-catalogue-dialog{padding:24px 20px}}

.bnf-catalogue-form textarea{resize:vertical;min-height:84px}.catalog-sources>.bnf-catalogue{margin-top:0}

.chemical-catalogue-downloads{display:grid;gap:16px;width:100%}.chemical-catalogue-downloads .bnf-catalogue{margin-top:0}.chemical-catalogue-downloads .pill{max-width:100%;white-space:normal;text-align:left}.chemical-catalogue-downloads .pill svg{flex-shrink:0}

.bnf-skip{position:fixed;left:12px;top:-100px;z-index:99999;background:#fff;color:#123;padding:12px}.bnf-skip:focus{top:8px}
.gnav .links a{font:inherit;font-size:13px;letter-spacing:-.006em;color:var(--color-ink-muted-80);text-decoration:none;padding:6px 0;white-space:nowrap}.gnav .links a.active{color:var(--color-primary);font-weight:var(--fw-semi)}.gnav .right a{display:inline-flex;padding:4px;color:inherit;text-decoration:none}
a.brand{color:inherit;text-decoration:none;cursor:pointer}
.bnf-enquiry-form{display:grid;gap:12px}.bnf-enquiry-form label{display:grid;gap:5px;font-size:13px}.bnf-enquiry-form input,.bnf-enquiry-form textarea{width:100%;padding:10px;border:1px solid #ccd6df;border-radius:8px;font:inherit}.bnf-enquiry-form textarea{min-height:90px}
.bnf-honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.bnf-form-status{padding:12px;color:#174b66}.bnf-wordpress .gnav{top:0}.admin-bar.bnf-wordpress .gnav{top:32px}
@media(max-width:782px){.admin-bar.bnf-wordpress .gnav{top:46px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep real WordPress navigation links spaced just like the original buttons. */
.bnf-wordpress .gnav{min-height:64px;height:auto;gap:28px;padding:8px 28px}
.bnf-wordpress .gnav .brand,.bnf-wordpress .gnav .right{flex-shrink:0}
.bnf-wordpress .gnav .links{display:flex;align-items:center;gap:6px;min-width:0}
.bnf-wordpress .gnav .links a{display:inline-flex;align-items:center;flex:0 0 auto;padding:10px;line-height:1.5;border-radius:8px}
.bnf-wordpress .gnav .links a:hover{background:#f2f6fa;color:var(--color-primary)}
@media(max-width:1000px){.bnf-wordpress .gnav{flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:10px 20px}.bnf-wordpress .gnav .links{order:3;flex:0 0 100%;width:100%;margin:2px 0 0;gap:8px;overflow-x:auto;overscroll-behavior-x:contain}.bnf-wordpress .gnav .links a{padding:8px 10px}.bnf-wordpress .gnav .right{margin-left:auto}}

.bnf-news-dialog{position:fixed;inset:0;width:min(540px,calc(100vw - 32px));max-width:540px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:8px;background:#132581;color:#fff;font-family:var(--font-text, sans-serif);box-shadow:0 24px 85px #0008;overflow:auto;overscroll-behavior:contain}
.bnf-news-dialog::backdrop{background:#080f18b8}
.bnf-news-dialog[open]{animation:bnf-news-appear .24s ease-out}
.bnf-news-top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:0;padding:0;position:sticky;top:0;z-index:2;overflow:visible}
.bnf-news-top>span{position:absolute;left:20px;top:16px;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;color:#d1e1ff}
.bnf-news-top i{width:6px;height:6px;border-radius:50%;background:#a1db46}
.bnf-news-close{position:absolute;top:0;right:0;width:40px;height:40px;border:0;border-radius:0 0 0 8px;background:#07123ccc;color:white;font-size:28px;cursor:pointer;line-height:1}
.bnf-news-viewport{overflow:hidden;touch-action:pan-y}
.bnf-news-track{display:flex;transition:transform .45s cubic-bezier(.22,.61,.36,1);align-items:stretch}
.bnf-news-slide{position:relative;isolation:isolate;flex:0 0 100%;min-width:0;display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;background-color:#172cb1;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),linear-gradient(145deg,#273bd6,#111c83);background-size:20px 20px,20px 20px,100% 100%}
.bnf-news-tone-1{background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),linear-gradient(145deg,#116b83,#102e63)}
.bnf-news-tone-2{background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),linear-gradient(145deg,#265dba,#131b67)}
.bnf-news-slide:before{content:"";position:absolute;z-index:-1;right:-35px;top:64px;width:138px;height:138px;border:1px solid #b6cdff55;border-radius:50%;box-shadow:0 0 0 10px #b6cdff22,0 0 0 20px #b6cdff15}
.bnf-news-slide:after{content:"";position:absolute;z-index:-1;left:-16px;bottom:15px;width:96px;height:120px;background:radial-gradient(circle,#d0deff88 2px,transparent 3px) 0 0/13px 13px;transform:rotate(-12deg)}
.bnf-news-photo{height:158px;width:82%;flex-shrink:0;margin:18px auto;background:#edf4f8;border:1px solid #fff7;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px #07174533}
.bnf-news-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.bnf-news-photo.contain{background:#fff}.bnf-news-photo.contain img{object-fit:contain;padding:12px}
.bnf-news-copy{padding:52px 32px 18px;display:flex;flex-direction:column;align-items:center;flex:1;text-align:center;min-height:478px}
.bnf-news-kicker{font-size:9px;letter-spacing:1.8px;font-weight:600;color:#a9c8ff}
.bnf-news-copy h2{font-family:inherit;font-size:36px;font-weight:700;line-height:1.32;letter-spacing:-.7px;margin:10px 0 0;color:#fff;max-width:430px;text-wrap:balance}
.bnf-news-copy p{font-size:14px;line-height:1.8;color:#ffe192;margin:0 0 19px;max-width:430px}
.bnf-news-copy .pill{margin-top:auto;font-size:14px;font-weight:600;padding:11px 25px;border-radius:6px;background:#ffbf36;color:#172852;min-width:220px}.bnf-news-copy .pill:hover{background:#ffd66c}
.bnf-news-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 24px 12px;background:#132581}
.bnf-news-controls>button{width:32px;height:32px;border:1px solid #aec9ff44;background:#ffffff0a;border-radius:50%;font-size:24px;color:#e1eaff;cursor:pointer;line-height:1}
.bnf-news-dots{display:flex;gap:3px;align-items:center}.bnf-news-dots button{display:grid;place-items:center;width:30px;height:32px;background:transparent;border:0;cursor:pointer;padding:0}.bnf-news-dots span{width:18px;height:3px;border-radius:3px;background:#ffffff44;transition:background .2s}.bnf-news-dots [aria-pressed=true] span{background:#fff}
.bnf-news-count{font-size:10px;color:#b7ccfa;min-width:32px;text-align:center}
.bnf-news-dialog button:focus-visible,.bnf-news-dialog a:focus-visible{outline:3px solid #ffe18a;outline-offset:2px}
@keyframes bnf-news-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.bnf-news-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.bnf-news-photo{height:135px;width:90%;margin:15px auto}.bnf-news-copy{padding:48px 22px 16px;min-height:430px}.bnf-news-copy h2{font-size:clamp(25px,7.1vw,34px)}.bnf-news-copy p{font-size:12px}.bnf-news-close{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.bnf-news-track,.bnf-news-dots span{transition:none}.bnf-news-dialog[open]{animation:none}}
