/* ============================================================
   VP TRADELINK — DESIGN SYSTEM v2.0 (FRESH BUILD)
   One color system. One typography. One spacing scale.
   One button system. One table system. No exceptions.
   ============================================================ */

:root {
  color-scheme: light dark;
  --logo-mark-src: url("data:image/png;base64,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");

  /* Color — locked, no bright/saturated colors anywhere */
  --ink: #14202B;
  --ink-soft: #44515C;
  --paper: #FBF9F5;
  --paper-raised: #FFFFFF;
  --line: #DAD4C6;
  --line-soft: #EAE6DB;
  --line-strong: #958869;
  --brass: #8A6D3B;
  --brass-dark: #6B5329;
  --steel: #35516B;
  --tint-feed: #F5EFE1;      /* warm wheat, derived from brass */
  --tint-minerals: #EDF1F3;  /* cool grey, derived from steel */
  --tint-agri: #EFF2E8;      /* muted sage, new but equally desaturated */
  --accent-agri: #5C6B45;    /* muted moss — third category accent, same saturation ceiling as brass/steel */
  --error: #A13D2D;          /* muted rust — same saturation ceiling as the rest of the palette */

  /* Type — one scale, used everywhere */
  --font-display: "Source Serif 4", Georgia, serif;
  --font-body: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SF Mono", Consolas, monospace;

  /* Base body floor raised to 16px minimum (was 15.2px); spec numbers get
     their own larger token below (--step-0-num) since that's the content
     buyers linger on longest. */
  --step-0: clamp(1rem, 0.97rem + 0.15vw, 1.05rem);
  --step-0-num: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem); /* ~17–18px for spec-table numbers */
  --step-1: clamp(1.1rem, 1rem + 0.4vw, 1.25rem);
  --step-2: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem);
  --step-3: clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);
  --step-4: clamp(2.2rem, 1.7rem + 2.2vw, 3.2rem);

  /* Micro-type — labels/notes below --step-0, consolidated to 3 named tokens.
     Raised so nothing on the site sits below ~13px; uppercase treatment is
     measurably harder to read than mixed case, so size compensates. */
  --label-sm: 0.82rem;  /* ~13.1px */
  --label-md: 0.875rem; /* ~14px */
  --note: 0.9rem;       /* ~14.4px */

  /* Spacing — 8px system, locked */
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 40px;
  --space-5: 64px;
  --space-6: 96px;

  --radius: 2px;
  --max: 1280px; /* within locked 1200-1320px desktop range */
}

/* Explicit overrides for the manual theme-toggle button in the header.
   Higher specificity than the bare :root inside the media query above, so
   these always win once the visitor picks a side — independent of what
   their OS is set to. No attribute = follow system preference as before. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #EDE9E0; --ink-soft: #B9C2CA; --paper: #14191F; --paper-raised: #1B222A;
  --line: #333C44; --line-soft: #262E36; --line-strong: #606D79;
  --brass: #C9A468; --brass-dark: #E0BD85; --steel: #8FB0C9;
  --tint-feed: #241F17; --tint-minerals: #182126; --tint-agri: #1B2018;
  --accent-agri: #9CB27E; --error: #E0897A;
}
:root[data-theme="dark"] .cat-card--photo::before {
  background: linear-gradient(180deg, rgba(10,14,18,0.45) 0%, rgba(10,14,18,0.65) 45%, rgba(10,14,18,0.94) 100%);
}
:root[data-theme="dark"] .hero--photo::after {
  background: linear-gradient(90deg, rgba(10,14,18,0.92) 0%, rgba(10,14,18,0.80) 40%, rgba(10,14,18,0.46) 75%, rgba(10,14,18,0.22) 100%);
}
:root[data-theme="dark"].home-page .hero--photo::after {
  background: linear-gradient(90deg, rgba(10,14,18,0.86) 0%, rgba(10,14,18,0.72) 42%, rgba(10,14,18,0.38) 76%, rgba(10,14,18,0.18) 100%);
}
:root[data-theme="light"] {
  color-scheme: light;
  --ink: #14202B; --ink-soft: #44515C; --paper: #FBF9F5; --paper-raised: #FFFFFF;
  --line: #DAD4C6; --line-soft: #EAE6DB; --line-strong: #958869;
  --brass: #8A6D3B; --brass-dark: #6B5329; --steel: #35516B;
  --tint-feed: #F5EFE1; --tint-minerals: #EDF1F3; --tint-agri: #EFF2E8;
  --accent-agri: #5C6B45; --error: #A13D2D;
}

/* ---------- Theme toggle button (header, next to the language switch) ---------- */
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius);
  background: none; color: var(--ink-soft); cursor: pointer; flex-shrink: 0;
}
.theme-toggle:hover { border-color: var(--ink); color: var(--ink); }
.theme-toggle svg { width: 18px; height: 18px; display: none; }
.theme-toggle .theme-toggle__sun { display: block; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__sun { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-toggle__moon { display: block; }
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .theme-toggle .theme-toggle__sun { display: none; }
  html:not([data-theme="light"]) .theme-toggle .theme-toggle__moon { display: block; }
}
/* ---------- Dark mode via system preference — a real variant, not just
   "stop forcing light". International buyers check supplier sites at odd
   hours across time zones; overriding their system dark-mode preference
   removed the single biggest eye-comfort lever available. Same hues,
   inverted luminance, same contrast discipline as the light palette (body
   text still exceeds WCAG AAA). Skipped when the visitor has explicitly
   picked a side via the theme-toggle button (data-theme set above). */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --ink: #EDE9E0;
    --ink-soft: #B9C2CA;
    --paper: #14191F;
    --paper-raised: #1B222A;
    --line: #333C44;
    --line-soft: #262E36;
    --line-strong: #606D79;
    --brass: #C9A468;
    --brass-dark: #E0BD85;
    --steel: #8FB0C9;
    --tint-feed: #241F17;
    --tint-minerals: #182126;
    --tint-agri: #1B2018;
    --accent-agri: #9CB27E;
    --error: #E0897A;
  }
  .cat-card--photo::before {
    background: linear-gradient(180deg, rgba(10,14,18,0.45) 0%, rgba(10,14,18,0.65) 45%, rgba(10,14,18,0.94) 100%);
  }
  .hero--photo::after {
    background: linear-gradient(90deg, rgba(10,14,18,0.92) 0%, rgba(10,14,18,0.80) 40%, rgba(10,14,18,0.46) 75%, rgba(10,14,18,0.22) 100%);
  }
  .home-page .hero--photo::after {
    background: linear-gradient(90deg, rgba(10,14,18,0.86) 0%, rgba(10,14,18,0.72) 42%, rgba(10,14,18,0.38) 76%, rgba(10,14,18,0.18) 100%);
  }
}

/* ---------- Skip link — hidden until keyboard focus ---------- */
.skip-link {
  position: absolute;
  top: -48px;
  left: var(--space-2);
  z-index: 100;
  background: var(--ink);
  color: var(--paper);
  padding: 0.75em 1.2em;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  transition: top 160ms ease;
}
.skip-link:focus {
  top: var(--space-2);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
main { background: var(--paper); }
section { background: var(--paper); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; margin: 0; }
p { margin: 0; }
table { border-collapse: collapse; width: 100%; }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------- Layout — max 1200-1320px, generous whitespace ---------- */
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--space-3); }
.section { padding: var(--space-5) 0; background: var(--paper); }
.section--tight { padding: var(--space-4) 0; background: var(--paper); }
.section--line { border-top: 1px solid var(--line); }

.site-header { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; padding-block: var(--space-2); gap: var(--space-3); }
.logo { font-family: var(--font-display); font-size: var(--step-1); font-weight: 600; display: flex; align-items: center; gap: 12px; color: var(--brass); }
.logo-icon {
  display: block;
  flex-shrink: 0;
  width: 40px;
  height: 30px;
  background-color: var(--brass);
  -webkit-mask-image: var(--logo-mark-src);
  mask-image: var(--logo-mark-src);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.2s ease;
}
.logo small { display: block; font-family: var(--font-mono); font-size: 0.62rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); margin-top: 2px; }
.nav { display: flex; gap: var(--space-3); align-items: center; }
.nav a { font-size: 0.9rem; color: var(--ink-soft); border-bottom: 1px solid transparent; padding-bottom: 2px; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--brass); }

/* Tablet gap — between the hamburger breakpoint (760px) and the 2-col layout
   breakpoint (1024px), the full desktop header (logo + tagline + full nav +
   CTA) has no shrink/wrap fallback. Trim the tagline and add a flex-wrap
   safety net so a genuine overflow degrades to two rows instead of clipping. */
@media (min-width: 761px) and (max-width: 900px) {
  .logo small { display: none; }
  .site-header .wrap { flex-wrap: wrap; }
  .nav { flex-wrap: wrap; }
}

@media (max-width: 1024px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-facts { grid-template-columns: repeat(2, 1fr); }
  .quick-facts > div:nth-child(3) { border-left: none; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Hamburger toggle button — hidden on desktop, one shared button system ---------- */
.nav-toggle {
  display: none; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius);
  background: none; cursor: pointer; flex-direction: column; gap: 4px; z-index: 65; position: relative;
}
.nav-toggle span { display: block; width: 20px; height: 2px; background: var(--ink); transition: transform 160ms ease, opacity 160ms ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* NOTE: this media query must come AFTER the unconditional .nav-toggle rule above —
   it relies on source-order to win the cascade tie (equal specificity) and reveal
   the button only at mobile widths. Previously this block sat BEFORE the base rule,
   so the base rule's display:none always won, hiding mobile nav entirely. Fixed. */
@media (max-width: 760px) {
  .nav-toggle { display: inline-flex; }
  .nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(78vw, 320px);
         background: var(--paper); border-left: 1px solid var(--line);
         flex-direction: column; align-items: flex-start; gap: 0;
         padding: 72px var(--space-3) var(--space-3);
         transform: translateX(100%); transition: transform 220ms ease;
         z-index: 60; }
  .nav.is-open { transform: translateX(0); box-shadow: -8px 0 24px rgba(20,32,43,0.12); }
  .nav a:not(.btn) { display: block; width: 100%; padding: 0.9em 0; border-bottom: 1px solid var(--line-soft); }
  .nav .btn { margin-top: var(--space-2); width: 100%; justify-content: center; }
  .nav-scrim { display: none; position: fixed; inset: 0; background: rgba(20,32,43,0.4); z-index: 55; }
  .nav-scrim.is-open { display: block; }
  body.nav-open { overflow: hidden; }
  body.nav-open .btn-sticky-mobile { display: none; }
}

/* ---------- ONE BUTTON SYSTEM — primary + ghost, nothing else ---------- */
.btn { display: inline-flex; align-items: center; gap: 0.5em; padding: 0.75em 1.4em; font-family: var(--font-body); font-size: 0.9rem; font-weight: 600; border: 1px solid var(--ink); border-radius: var(--radius); cursor: pointer; background: none; min-height: 44px; }
.btn--primary { background: var(--ink); color: var(--paper); }
.btn--primary:hover { background: var(--brass-dark); border-color: var(--brass-dark); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.btn--ghost:hover { border-color: var(--ink); }
.btn-row { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.btn-sticky-mobile { display: none; }
@media (max-width: 760px) {
  .btn-sticky-mobile { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; background: var(--paper); border-top: 1px solid var(--line); padding: var(--space-2); gap: var(--space-2); }
  .btn-sticky-mobile .btn { flex: 1; justify-content: center; }
  body.has-sticky-cta main { padding-bottom: 80px; }
}

/* ---------- Hero ---------- */
.hero { padding: var(--space-5) 0 var(--space-4); border-bottom: 1px solid var(--line); background: var(--paper); }
.hero .eyebrow { font-family: var(--font-mono); font-size: var(--label-md); letter-spacing: 0.14em; text-transform: uppercase; color: var(--brass-dark); margin-bottom: var(--space-2); }
.hero h1 { font-size: var(--step-4); line-height: 1.05; max-width: 16ch; margin-bottom: var(--space-3); }
.hero p.lede { font-size: var(--step-1); color: var(--ink-soft); max-width: 52ch; margin-bottom: var(--space-3); }

/* ---------- Hero photo variant — desktop/tablet/mobile art-directed via <picture>, dark scrim baked in via CSS so text stays legible on any photo ---------- */
.hero--photo { position: relative; overflow: hidden; border-bottom: none; padding: var(--space-6, 96px) 0 var(--space-5); }
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero--photo::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(20,32,43,0.90) 0%, rgba(20,32,43,0.78) 40%, rgba(20,32,43,0.42) 75%, rgba(20,32,43,0.20) 100%);
}
.hero--photo .wrap { position: relative; z-index: 2; }
.hero--photo .eyebrow { color: var(--brass); }
.hero--photo h1 { color: var(--paper); }
.hero--photo p.lede { color: rgba(251,249,245,0.82); }
.hero--photo .btn--ghost { color: var(--paper); border-color: rgba(251,249,245,0.45); }
.hero--photo .btn--ghost:hover { border-color: var(--paper); background: rgba(251,249,245,0.08); }
.hero--photo .btn--primary { background: var(--brass); color: var(--paper); }
.hero--photo .btn--primary:hover { background: var(--paper); color: var(--ink); }
@media (max-width: 760px) { .hero--photo { padding: var(--space-5) 0 var(--space-4); } }


/* ---------- Homepage visual blending ----------
   Homepage-only refinement: preserves the global design system while making
   the photo hero transition more naturally into the same paper/line system
   used throughout the rest of the site. */
.home-page .hero--photo {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.home-page .hero--photo::after {
  background: linear-gradient(
    90deg,
    rgba(20, 32, 43, 0.84) 0%,
    rgba(20, 32, 43, 0.70) 42%,
    rgba(20, 32, 43, 0.36) 76%,
    rgba(20, 32, 43, 0.16) 100%
  );
}
.home-page .section {
  background: linear-gradient(
    180deg,
    var(--paper) 0%,
    var(--paper-raised) 100%
  );
}
.home-page .section--line {
  border-top-color: var(--line-soft);
}

/* ---------- Category cards ---------- */
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cat-card { background: var(--paper-raised); padding: var(--space-4); display: flex; flex-direction: column; min-height: 260px; }
.cat-card .num { font-family: var(--font-mono); font-size: 0.75rem; color: var(--brass-dark); margin-bottom: var(--space-2); }
.cat-card h2 { font-size: var(--step-2); margin-bottom: var(--space-2); }
.cat-card ul { margin-top: auto; padding-top: var(--space-3); }
.cat-card li { font-size: 0.88rem; padding: 6px 0; border-top: 1px solid var(--line-soft); display: flex; justify-content: space-between; }
.cat-card li:first-child { border-top: none; }
@media (max-width: 760px) { .cat-grid { grid-template-columns: 1fr; } }

/* ---------- Section heading ---------- */
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.section-head h2 { font-size: var(--step-3); }
.section-head .eyebrow { font-family: var(--font-mono); font-size: var(--label-md); letter-spacing: 0.14em; text-transform: uppercase; color: var(--brass-dark); display: block; margin-bottom: var(--space-1); }

/* ---------- Quick Facts strip (locked block on every product page) ----------
   6 fields: Origin, Product Type, Available Forms, Incoterms, MOQ, Lead Time.
   MOQ/lead time answer the first qualifying question a buyer has ("can I
   actually order this, how fast") before spec/packaging details. */
.quick-facts { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.quick-facts--hero { margin-top: var(--space-3); background: var(--paper); }
.quick-facts dt { font-family: var(--font-mono); font-size: var(--label-sm); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-soft); }
.quick-facts dd { margin: 6px 0 0; font-size: 0.95rem; font-weight: 600; }
.quick-facts > div { padding: var(--space-3); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.quick-facts > div:nth-child(3n+1) { border-left: none; }
.quick-facts > div:nth-child(-n+3) { border-top: none; }
@media (max-width: 760px) {
  .quick-facts { grid-template-columns: repeat(2, 1fr); }
  .quick-facts > div:nth-child(3n+1) { border-left: 1px solid var(--line); }
  .quick-facts > div:nth-child(2n+1) { border-left: none; }
  .quick-facts > div:nth-child(-n+2) { border-top: none; }
}

/* ---------- Fact grid (Company/Export Capabilities) ---------- */
.fact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); background: var(--paper); }
.fact { border-top: 2px solid var(--ink); padding-top: var(--space-2); background: var(--paper); }
.fact .label { font-family: var(--font-mono); font-size: var(--label-md); color: var(--ink-soft); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
.fact .value { font-family: var(--font-display); font-size: var(--step-2); }
.fact .value--compact { font-size: var(--step-1); }
.fact--emphasis .value { font-size: var(--step-2); }
.fact .sub { font-size: 0.85rem; color: var(--ink-soft); margin-top: 4px; }
@media (max-width: 760px) { .fact-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- ONE TABLE SYSTEM — identical styling everywhere ---------- */
.spec-table, .compare-table { font-size: 0.92rem; }
.spec-table th, .spec-table td, .compare-table th, .compare-table td { text-align: left; padding: 0.7em 1em; border-bottom: 1px solid var(--line); }
.spec-table thead th, .compare-table thead th { font-family: var(--font-mono); font-size: var(--label-md); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-soft); font-weight: 500; border-bottom: 2px solid var(--ink); }
.spec-table td.num, .spec-table th.num, .compare-table td.num { font-family: var(--font-mono); text-align: right; font-size: var(--step-0-num); }
.spec-note { font-size: var(--note); color: var(--ink-soft); margin-top: var(--space-2); padding-left: 1em; border-left: 2px solid var(--line); }
.compare-table th, .compare-table td { border-left: 1px solid var(--line); }
.compare-table th:first-child, .compare-table td:first-child { border-left: none; }
.compare-table th.param-col { color: var(--ink); font-weight: 600; font-family: var(--font-body); background: none; }
.compare-table thead th .hs-code { display: block; font-weight: 400; font-size: var(--label-sm); margin-top: 3px; color: var(--ink-soft); }
@media (max-width: 760px) {
  .compare-table-wrap {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    position: relative;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent 100%);
  }
  .compare-table-wrap.is-scrolled-end { -webkit-mask-image: none; mask-image: none; }
}

/* ---------- Pipe list ---------- */
.pipe-list { font-size: 0.95rem; }
.pipe-list .sep { color: var(--line); margin: 0 0.6em; }

/* ---------- Industry / Applications strip ---------- */
.industry-fit { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--line); background: var(--paper); }
.industry-fit span { display: flex; align-items: center; gap: 0.55em; padding: 0.6em 1em; font-size: 0.88rem; border-left: 1px solid var(--line); background: var(--paper); }
.industry-fit span:first-child { border-left: none; }
.industry-fit .icon { width: 16px; height: 16px; color: var(--brass-dark); flex-shrink: 0; }

/* ---------- Product hero meta ---------- */
.product-id .hs-code { font-family: var(--font-mono); font-size: 0.85rem; color: var(--ink-soft); margin-top: 4px; }
.meta-row { display: grid; grid-template-columns: max-content 1fr; gap: var(--space-1) var(--space-3); margin-top: var(--space-3); font-size: 0.9rem; }
.meta-row dt { font-family: var(--font-mono); font-size: var(--label-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); align-self: start; padding-top: 3px; }
.meta-row dd { margin: 0; }

/* ---------- Product image ---------- */
.product-image { border: 1px solid var(--line); aspect-ratio: 4/3; overflow: hidden; background: var(--paper-raised); }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
:root[data-theme="dark"] .product-image img,
:root[data-theme="dark"] .cat-card--photo,
:root[data-theme="dark"] .row-link .thumb {
  filter: brightness(0.92) contrast(1.04);
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .product-image img,
  html:not([data-theme="light"]) .cat-card--photo,
  html:not([data-theme="light"]) .row-link .thumb {
    filter: brightness(0.92) contrast(1.04);
  }
}

/* ---------- Two-column product layout (dense, one-screen desktop) ---------- */
.product-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-4); align-items: start; }
.product-layout .col { display: flex; flex-direction: column; gap: var(--space-3); }
.mini-block h2 { font-family: var(--font-mono); font-size: var(--label-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); margin-bottom: 6px; }
.mini-block__note { font-size: var(--note); margin-top: 6px; }
@media (max-width: 1024px) {
  .product-layout { grid-template-columns: 1fr; }
}

/* ---------- Product hero photo ---------- */
.product-layout--hero { align-items: center; }
.product-layout--hero .product-image { border-radius: 2px; box-shadow: var(--shadow); }
@media (max-width: 1024px) {
  .product-layout--hero { gap: var(--space-3); }
  .product-layout--hero .product-image { order: -1; max-width: 480px; margin: 0 auto; }
}

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--line); padding: var(--space-5) 0 var(--space-4); font-size: 0.85rem; color: var(--ink-soft); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-3); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); margin-bottom: var(--space-3); }
.footer-grid h2 { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink); margin-bottom: var(--space-2); }
.footer-grid li { margin-bottom: 6px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); }
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- Form ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-family: var(--font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-soft); }
.form-field input, .form-field select, .form-field textarea { font-family: var(--font-body); font-size: 0.95rem; padding: 0.7em 0.9em; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--paper-raised); color: var(--ink); min-height: 44px; }
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field.full { grid-column: 1 / -1; }
.form-field:has(:required) label::after { content: " *"; color: var(--error); }
.form-field--invalid input, .form-field--invalid select, .form-field--invalid textarea { border-color: var(--error); }
.form-field__error { display: none; color: var(--error); font-size: var(--note); margin-top: 2px; }
.form-field--invalid .form-field__error { display: block; }
@media (max-width: 760px) { .form-grid { grid-template-columns: 1fr; } }

/* ---------- Utility ---------- */
.mono { font-family: var(--font-mono); }
.text-soft { color: var(--ink-soft); }

/* ---------- Print ---------- */
@media print {
  .site-header, .site-footer, .btn-row, .nav, .btn-sticky-mobile { display: none !important; }
  body { background: #fff; color: #000; }
  .section { padding: 1em 0; }
  .quick-facts, .compare-table, .spec-table { border-color: #000; }
}

/* ============================================================
   ADDITIVE UPGRADES — same tokens, applied everywhere, no exceptions
   1. Motion  2. Elevation  3. Table zebra  4. Image placeholder
   5. Icon system  6. Breadcrumbs  7. Language switcher
   ============================================================ */

/* ---------- 1. Utility classes — extracted from repeated inline styles.
   Each of these previously existed as a hand-typed style="..." attribute
   repeated dozens of times across product pages (×12 products × 3
   languages) and the contact page. Same visual output, one place to edit. ---------- */
.u-fs-note { font-size: 0.78em; }                                  /* footer "(Call / WhatsApp)" / "(Email)" sub-notes */
.u-mt-sm { margin-top: var(--space-2); }                           /* meta-row / quick-facts top spacing */
.u-note { font-size: 0.78rem; margin-top: 8px; }                   /* "Subject to availability..." disclaimer */
.u-note-lg { font-size: 0.82rem; margin-top: 8px; }                /* Incoterms / lead-time disclaimer paragraph */
.u-note-sm { font-size: 0.85rem; margin-top: var(--space-2); }     /* contact-page response-time note */
.u-note-tight { font-size: 0.82rem; margin-top: 6px; }             /* packaging / documentation small notes */
.u-note-wrap { margin-top: 8px; max-width: 32ch; }                 /* footer tagline under logo */
.u-py-sm { padding: var(--space-3) 0; }                            /* product hero section padding override */
.u-mt-auto { margin-top: auto; }                                   /* pushes a flex child to the bottom of its column */
.u-fs-footer-logo { font-size: 1rem; }                             /* footer brand wordmark, smaller than header .logo */
.quick-facts--2col { grid-template-columns: repeat(2, 1fr); margin-top: var(--space-2); }
.product-title { font-size: var(--step-3); margin-bottom: var(--space-2); max-width: 24ch; }
.product-title--wide { max-width: 26ch; }
.u-field-value { font-size: var(--step-0-num); margin-bottom: 6px; }         /* FAQ question headings */
.u-text-soft-mb { color: var(--ink-soft); margin-bottom: var(--space-2); }  /* FAQ answer paragraphs */
.u-text-soft { color: var(--ink-soft); }
.u-pb-md { padding-bottom: var(--space-4); }                                /* hero section on text-only pages */
.u-pb-block-md { padding-block: var(--space-4); }                           /* 404 hero */
.u-mw-72ch { max-width: 72ch; }
.u-mw-22ch { max-width: 22ch; }
.u-mw-20ch { max-width: 20ch; }
.u-mt-md { margin-top: var(--space-3); }
.u-label-eyebrow { font-size: var(--label-md); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.u-hidden { display: none; }                                                /* static honeypot field only —
  not to be confused with the JS-toggled #form-status / #inquiry-summary elements below, which
  now use their own is-visible classes for exactly the same reason: no inline style attributes
  left anywhere means CSP's style-src can drop 'unsafe-inline' entirely. */
#inquiry-summary { display: none; margin-bottom: var(--space-3); padding: var(--space-2) var(--space-3); border: 1px solid var(--line); background: var(--paper-raised); }
#inquiry-summary.is-visible { display: block; }
#form-status { font-size: 0.85rem; margin-top: 8px; display: none; }
#form-status.is-visible { display: block; }

/* ---------- 2. Motion — one easing curve, used everywhere ---------- */
:root { --ease: 160ms ease; }
.btn, .nav a, .cat-card, .compare-table tbody tr, .product-image img,
.fact, .industry-fit span, .form-field input, .form-field select, .form-field textarea {
  transition: background-color var(--ease), border-color var(--ease),
              transform var(--ease), box-shadow var(--ease), color var(--ease);
}
@media (prefers-reduced-motion: reduce) {
  .btn, .nav a, .cat-card, .compare-table tbody tr, .product-image img,
  .fact, .industry-fit span, .form-field input, .form-field select, .form-field textarea {
    transition: none;
  }
}

/* ---------- 3. Elevation — one shadow token, hover-only ---------- */
:root { --shadow: 0 4px 16px rgba(20,32,43,0.08); }
.cat-card { transform: translateY(0); }
.cat-card:hover { transform: translateY(-2px); border-color: var(--brass); box-shadow: var(--shadow); position: relative; z-index: 1; }
.product-image:hover img { transform: scale(1.03); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  border-color: var(--brass); box-shadow: var(--shadow); outline: 2px solid var(--brass); outline-offset: 1px;
}

/* ---------- 4. Table zebra — applied to every compare/spec table ---------- */
.compare-table tbody tr:nth-child(even),
.spec-table tbody tr:nth-child(even) { background: var(--line-soft); }
.compare-table tbody tr:hover,
.spec-table tbody tr:hover { background: var(--line-soft); }
.row-link { color: var(--ink); border-bottom: 1px solid transparent; font-weight: 500; }
.row-link:hover { color: var(--brass-dark); border-bottom-color: var(--brass); }
.compare-table tbody tr:hover .row-link { color: var(--brass-dark); }

/* ---------- Product listing thumbnails ---------- */
.row-link { display: inline-flex; align-items: center; gap: 0.85em; }
.row-link .thumb { width: 40px; height: 40px; border-radius: 2px; object-fit: cover; border: 1px solid var(--line); flex-shrink: 0; background: var(--paper-raised); }

/* ---------- Sibling category strip — same-category products, always reachable from any product page ---------- */
.sibling-nav { background: var(--paper-raised); border-bottom: 1px solid var(--line); }
.sibling-nav .wrap { display: flex; align-items: center; gap: var(--space-2); padding-block: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sibling-nav__label { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); white-space: nowrap; flex-shrink: 0; padding-right: var(--space-2); border-right: 1px solid var(--line); }
.sibling-nav a { font-size: var(--note); white-space: nowrap; color: var(--ink-soft); border-bottom: 1px solid transparent; flex-shrink: 0; }
.sibling-nav a:hover { color: var(--ink); border-bottom-color: var(--brass); }
.sibling-nav a[aria-current="page"] { color: var(--brass-dark); font-weight: 600; border-bottom-color: var(--brass-dark); }

/* ============================================================
   MEGA-MENU — full category tree reachable from the header nav
   on every page, no return trip to products.html required.
   ============================================================ */
.nav-dropdown { position: relative; }
.nav-dropdown__trigger { display: inline-flex; align-items: center; gap: 4px; }
.nav-dropdown__trigger .caret { width: 10px; height: 10px; transition: transform 160ms ease; }
.nav-dropdown__panel {
  display: none;
  background: var(--paper-raised);
  border: 1px solid var(--line);
  border-top: 3px solid var(--brass);
  box-shadow: 0 12px 28px rgba(20,32,43,0.14);
  padding: var(--space-3);
  gap: var(--space-4);
}
.nav-dropdown__col { min-width: 180px; }
.nav-dropdown__heading {
  display: block; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--brass-dark); margin-bottom: 10px; padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.nav-dropdown__col a { display: block; padding: 5px 0; font-size: 0.88rem; color: var(--ink); border-bottom: 1px solid transparent; }
.nav-dropdown__col a:hover { color: var(--brass-dark); border-bottom-color: var(--brass); }

@media (min-width: 761px) {
  .nav-dropdown__panel {
    position: absolute; top: 100%; left: 50%;
    transform: translateX(-50%);
    flex-direction: row; z-index: 70;
    width: max-content; max-width: calc(100vw - 2 * var(--space-3));
    margin-top: 0;
  }
  /* Invisible hover bridge — kept as extra insurance, though removing the
     margin-top gap above is what actually fixes the "menu closes before
     I reach it" bug: :hover was being lost in that gap, before the
     pointer ever reached this bridge. */
  .nav-dropdown__panel::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: -14px; height: 14px;
  }
  .nav-dropdown:hover .nav-dropdown__panel,
  .nav-dropdown:focus-within .nav-dropdown__panel { display: flex; }
  .nav-dropdown:hover .nav-dropdown__trigger .caret,
  .nav-dropdown:focus-within .nav-dropdown__trigger .caret { transform: rotate(180deg); }
}

@media (max-width: 760px) {
  .nav-dropdown { width: 100%; }
  .nav-dropdown__panel {
    position: static; flex-direction: column; border: none; box-shadow: none;
    padding: 10px 0 6px 14px; gap: var(--space-2); background: none;
  }
  .nav-dropdown.is-open .nav-dropdown__panel { display: flex; }
  .nav-dropdown.is-open .nav-dropdown__trigger .caret { transform: rotate(180deg); }
  .nav-dropdown__col { min-width: 0; }
  .nav-dropdown__trigger { width: 100%; justify-content: space-between; }
}

/* ---------- 5. Image placeholder — consistent "coming soon" state ---------- */
.product-image {
  position: relative;
  display: flex; align-items: center; justify-content: center;
}
.product-image:empty,
.product-image.is-placeholder {
  background: repeating-linear-gradient(135deg, var(--line-soft) 0 2px, var(--paper-raised) 2px 12px);
  border: 1px dashed var(--brass);
}
.product-image.is-placeholder::after {
  content: "Image pending";
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brass-dark);
  background: var(--paper);
  padding: 4px 10px;
  border: 1px solid var(--line);
}

/* ---------- 6. Icon system — 18px, single stroke, currentColor ---------- */
.icon {
  width: 18px; height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
  stroke-width: 1.75;
  fill: none;
  vertical-align: -3px;
}
.icon-row { display: flex; align-items: center; gap: 0.5em; }
/* Usage: <span class="icon-row"><svg class="icon">...</svg> +91 99094 76733</span> */

/* ---------- 7. Breadcrumbs — reuses eyebrow/mono styling, no new type ---------- */
.breadcrumbs {
  font-family: var(--font-mono);
  font-size: var(--label-md);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-soft);
  display: flex; align-items: center; gap: 0.5em;
  margin-bottom: var(--space-2);
}
.breadcrumbs a { color: var(--ink-soft); border-bottom: 1px solid transparent; }
.breadcrumbs a:hover { color: var(--ink); border-bottom-color: var(--brass); }
.breadcrumbs .sep { color: var(--line); }
.breadcrumbs .current { color: var(--ink); }

/* ---------- 8. Language switcher — globe menu ---------- */
.lang-switch { position: relative; }
.lang-switch__trigger {
  display: inline-flex; align-items: center; gap: 0.45rem;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: transparent; color: var(--ink-soft); cursor: pointer;
  padding: 0.55em 0.75em; font: inherit; min-height: 44px;
}
.lang-switch__trigger:hover, .lang-switch.is-open .lang-switch__trigger { color: var(--ink); background: var(--line-soft); }
.lang-switch__icon { width: 1.05em; height: 1.05em; stroke: currentColor; stroke-width: 1.7; fill: none; }
.lang-switch__current { font-family: var(--font-mono); font-size: var(--label-md); letter-spacing: 0.04em; }
.lang-switch__chevron { font-size: 0.9em; line-height: 1; }
.lang-switch__menu {
  position: absolute; right: 0; top: calc(100% + 0.5rem); z-index: 100;
  min-width: 11rem; padding: 0.35rem;
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.10); display: none;
}
.lang-switch.is-open .lang-switch__menu { display: block; }
.lang-switch__menu a {
  display: block; padding: 0.65rem 0.75rem; border-radius: calc(var(--radius) - 2px);
  color: var(--ink-soft); font-size: 0.9rem;
}
.lang-switch__menu a:hover, .lang-switch__menu a[aria-current="true"] { background: var(--line-soft); color: var(--ink); }
.lang-switch__menu a[aria-current="true"]::after { content: "✓"; float: right; }
@media (max-width: 760px) {
  .lang-switch__current { display: none; }
  .lang-switch__trigger { padding: 0.55em 0.65em; }
  .lang-switch__menu { right: 0; min-width: 12rem; }
}

/* ============================================================
   CATEGORY-TINTED PORTFOLIO — subtle, desaturated per-category
   backgrounds instead of flat white. Same restraint rule as the
   rest of the system: no bright/saturated colors, just enough
   hue separation to read as three distinct categories at a glance.
   Tokens (--tint-feed / --tint-minerals / --tint-agri / --accent-agri)
   live in the single :root block at the top of this file.
   ============================================================ */
.cat-card--feed { background: var(--tint-feed); }
.cat-card--minerals { background: var(--tint-minerals); }
.cat-card--agri { background: var(--tint-agri); }

.cat-card--feed .num { color: var(--brass-dark); }
.cat-card--minerals .num { color: var(--steel); }
.cat-card--agri .num { color: var(--accent-agri); }

/* Hover keeps the tint, just adds the same lift/shadow as before — no color shift on interaction */
.cat-card--feed:hover, .cat-card--minerals:hover, .cat-card--agri:hover { border-color: currentColor; }

/* ---------- Category cards — photo background variant ---------- */
.cat-card--photo { position: relative; background-size: cover; background-position: center; color: var(--paper); }
.cat-card--photo::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgba(20,32,43,0.30) 0%, rgba(20,32,43,0.50) 45%, rgba(20,32,43,0.90) 100%);
}
.cat-card--photo > * { position: relative; z-index: 1; }
.cat-card--photo .num { color: var(--paper); opacity: 0.85; }
.cat-card--photo h2 { color: var(--paper); }
.cat-card--photo li { border-top-color: rgba(251,249,245,0.25); }
.cat-card--photo a { color: var(--paper); }
.cat-card--photo a:hover { color: var(--brass); }
.cat-card--photo.cat-card--feed {
  background-image: url("../images/catalog/catalog-feed.jpg");
  background-image: image-set(url("../images/catalog/catalog-feed.webp") type("image/webp"), url("../images/catalog/catalog-feed.jpg") type("image/jpeg"));
}
.cat-card--photo.cat-card--minerals {
  background-image: url("../images/catalog/catalog-minerals.jpg");
  background-image: image-set(url("../images/catalog/catalog-minerals.webp") type("image/webp"), url("../images/catalog/catalog-minerals.jpg") type("image/jpeg"));
}
.cat-card--photo.cat-card--agri {
  background-image: url("../images/catalog/catalog-agro.jpg");
  background-image: image-set(url("../images/catalog/catalog-agro.webp") type("image/webp"), url("../images/catalog/catalog-agro.jpg") type("image/jpeg"));
}


/* Product table rows are fully clickable. */
.spec-table tbody tr {
  cursor: pointer;
}
.spec-table tbody tr:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: -2px;
}

/* Homepage visual refinement */
.home-page .hero::after {
  opacity: .72;
}

@media (max-width: 720px) {
  .home-page .hero::after {
    opacity: .68;
  }
}

/* ============================================================
   PROCESS FLOW — "How We Work" as a connected sequence, not a
   grid of four equal boxes. A visible line + arrow between steps
   so the sequence reads in the same glance the labels used to take.
   ============================================================ */
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: flow-step; }
.flow__step { position: relative; border-top: 2px solid var(--ink); padding: var(--space-2) var(--space-3) 0 0; }
.flow__step::before {
  counter-increment: flow-step;
  content: counter(flow-step);
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; margin-bottom: var(--space-2);
  border: 1px solid var(--ink); border-radius: 50%;
  font-family: var(--font-mono); font-size: 0.8rem; color: var(--ink);
  background: var(--paper);
}
.flow__step:not(:last-child)::after {
  content: "";
  position: absolute; top: 13px; left: calc(28px + 10px); right: -14px;
  height: 0; border-top: 2px dashed var(--line-strong);
}
.flow__step:not(:last-child) .flow__arrow {
  position: absolute; top: 4px; right: -10px;
  width: 18px; height: 18px; color: var(--brass-dark);
}
.flow__label { font-family: var(--font-mono); font-size: var(--label-md); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-soft); margin-bottom: 4px; }
.flow__value { font-family: var(--font-display); font-size: var(--step-2); margin-bottom: 6px; }
.flow__sub { font-size: 0.9rem; color: var(--ink-soft); }
@media (max-width: 1024px) {
  .flow { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
  .flow__step:nth-child(2)::after, .flow__step:nth-child(2) .flow__arrow { display: none; }
  .flow__step:nth-child(4)::after, .flow__step:nth-child(4) .flow__arrow { display: none; }
}
@media (max-width: 620px) {
  .flow { grid-template-columns: 1fr; }
  .flow__step { padding-right: 0; }
  .flow__step::after, .flow__step .flow__arrow { display: none; }
  .flow__step:not(:last-child) { padding-bottom: var(--space-3); margin-bottom: var(--space-2); border-bottom: 1px dashed var(--line); }
}

/* ============================================================
   ADD-TO-INQUIRY — lets a buyer tick several products (agri +
   minerals in the same container is normal for this business)
   and carry the whole list to one contact form instead of
   submitting separate inquiries or retyping a free-text list.
   ============================================================ */
.inquiry-add {
  display: inline-flex; align-items: center; gap: 0.5em;
  padding: 0.75em 1.2em; font-family: var(--font-body); font-size: 0.9rem; font-weight: 600;
  border: 1px solid var(--line-strong); border-radius: var(--radius);
  background: var(--paper-raised); color: var(--ink); cursor: pointer; min-height: 44px;
}
.inquiry-add:hover { border-color: var(--ink); }
.inquiry-add[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.inquiry-add .icon { width: 16px; height: 16px; }

.inquiry-tray {
  position: fixed; right: var(--space-3); bottom: var(--space-3); z-index: 80;
  display: inline-flex; align-items: center; gap: var(--space-2);
  background: var(--ink); color: var(--paper);
  border-radius: var(--radius); padding: 0.9em 1em;
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  font-family: var(--font-body); font-size: 0.88rem;
  opacity: 0; transform: translateY(8px); pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}
.inquiry-tray.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.inquiry-tray__count { font-family: var(--font-mono); background: var(--brass); color: var(--ink); border-radius: 999px; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; }
.inquiry-tray a.btn { min-height: 36px; padding: 0.5em 1em; font-size: 0.85rem; }
@media (max-width: 760px) { .inquiry-tray { left: var(--space-2); right: var(--space-2); bottom: 76px; justify-content: space-between; } }

.inquiry-list { font-size: var(--note); color: var(--ink-soft); margin-top: 4px; }
.inquiry-list__remove { color: var(--error); border-bottom: 1px solid transparent; cursor: pointer; background: none; border-top: none; border-left: none; border-right: none; font: inherit; padding: 0; }
.inquiry-list__remove:hover { border-bottom-color: var(--error); }

/* ---------- Payment & quality note strip (Company page) ---------- */
.trust-note { border-left: 2px solid var(--brass); padding-left: var(--space-3); margin-top: var(--space-3); }
.trust-note + .trust-note { margin-top: var(--space-3); }
.trust-note h3 { font-size: var(--step-1); margin-bottom: 6px; }
.trust-note p { color: var(--ink-soft); max-width: 68ch; }

/* Long-form legal content (Privacy Policy, Terms of Use): comfortable reading
   measure, visible list markers, clear rhythm between sections. */
.legal-copy { max-width: 72ch; }
.legal-copy h2 { font-size: var(--step-1); margin-top: var(--space-4); margin-bottom: var(--space-2); }
.legal-copy h2:first-child { margin-top: 0; }
.legal-copy p { color: var(--ink-soft); margin-bottom: var(--space-2); line-height: 1.65; }
.legal-copy ul { list-style: disc; padding-left: 1.4em; margin-bottom: var(--space-2); }
.legal-copy li { color: var(--ink-soft); line-height: 1.65; margin-bottom: 8px; }
.legal-copy a { color: var(--ink); }
.footer-legal-links a { color: inherit; }
.footer-legal-links a:not(:hover) { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
