:root {
  /* Palette REFTHE · riferimenti Pantone adattati per contrasto e lettura a schermo. */
  --pantone-sage: #9eaa96;
  --pantone-sage-wash: #edf1e9;
  --pantone-powder: #9eb4c0;
  --pantone-powder-wash: #eaf1f4;
  --pantone-lilac: #a99bb7;
  --pantone-lilac-wash: #f0edf4;
  --pantone-sand: #c6ae7b;
  --pantone-sand-wash: #f7f0e3;
  --pantone-coral: #d88b78;
  --pantone-coral-wash: #f9ece7;
  --pantone-teal: #77a79b;
  --pantone-teal-wash: #e7f2ef;
  --ink: #171a1d;
  --ink-soft: #343a3f;
  --muted: #697077;
  --line: #d8dbd8;
  --line-strong: #b8bdb9;
  --paper: #f6f5f1;
  --surface: #ffffff;
  --surface-2: #eeefec;
  --accent: #e35e25;
  --accent-dark: #b84317;
  --accent-soft: #fff0e8;
  --success: #267052;
  --warning: #93600b;
  --radius: 4px;
  --shadow: 0 15px 40px rgba(18, 22, 24, 0.08);
  --max: 1200px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji";
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 88% -8%, rgba(158, 180, 192, .12), transparent 27rem),
    radial-gradient(circle at 4% 25%, rgba(158, 170, 150, .10), transparent 31rem),
    var(--paper);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.panel-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

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

img,
svg {
  max-width: 100%;
}

.skip-link {
  position: fixed;
  z-index: 200;
  top: 8px;
  left: 8px;
  padding: 10px 14px;
  color: #fff;
  background: var(--ink);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

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

.simulation-bar {
  position: relative;
  z-index: 70;
  border-bottom: 1px solid #373b3e;
  color: #e9e8e4;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.035em;
}

.simulation-bar .container {
  display: flex;
  min-height: 35px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.simulation-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.simulation-status::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f48a54;
  box-shadow: 0 0 0 3px rgba(244, 138, 84, 0.15);
  content: "";
}

.simulation-feedback {
  border: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-header {
  position: sticky;
  z-index: 60;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(246, 245, 241, 0.96);
  backdrop-filter: blur(12px);
}

.header-inner {
  display: grid;
  min-height: 78px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 30px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

.brand-wordmark {
  display: block;
  width: 208px;
  height: auto;
}

.brand-subtitle {
  margin-top: 5px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brand-system {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.brand-system .brand-subtitle {
  white-space: nowrap;
}

.primary-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.primary-nav a {
  padding: 9px 10px;
  border-radius: 3px;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 650;
}

.primary-nav a:hover,
.primary-nav a[aria-current="page"] {
  color: var(--ink);
  background: #e9e9e5;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon-button {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: transparent;
  cursor: pointer;
}

.icon-button:hover {
  border-color: var(--line-strong);
  background: var(--surface);
}

.menu-toggle {
  display: none;
}

.kicker,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 15px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kicker::before,
.eyebrow::before {
  width: 20px;
  height: 2px;
  background: var(--accent);
  content: "";
}

.hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(to right, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: 40px 40px;
}

.hero::after {
  position: absolute;
  top: -100px;
  right: -100px;
  width: 430px;
  height: 430px;
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow:
    0 0 0 60px rgba(23, 26, 29, 0.018),
    0 0 0 120px rgba(23, 26, 29, 0.012);
  content: "";
}

.hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 590px;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  align-items: center;
  gap: 80px;
  padding-block: 80px;
}

.hero h1,
.page-hero h1,
.article-header h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 720;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.hero h1 span {
  color: var(--accent);
}

.hero-brand-expansion {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 0 0 24px;
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-brand-expansion span::first-letter {
  color: var(--accent-dark);
}

.hero-brand-expansion span {
  position: relative;
}

.hero-brand-expansion span + span::before {
  position: absolute;
  top: 50%;
  left: -11px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.hero-lead {
  max-width: 680px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 20px;
  line-height: 1.55;
}

.search-shell {
  position: relative;
  margin-top: 36px;
}

.technical-search {
  display: grid;
  max-width: 710px;
  grid-template-columns: 1fr auto;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 7px 7px 0 var(--ink);
}

.technical-search:focus-within {
  box-shadow: 7px 7px 0 var(--accent);
}

.technical-search input {
  min-width: 0;
  padding: 18px 20px;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
}

.technical-search button {
  min-width: 120px;
  margin: 5px;
  border: 0;
  border-radius: 2px;
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 750;
}

.technical-search button:hover {
  background: var(--accent-dark);
}

.search-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
  color: var(--muted);
  font-size: 12px;
}

.search-examples button {
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 100px;
  color: var(--ink-soft);
  background: rgba(255, 255, 255, 0.66);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 11px;
}

.search-results {
  position: absolute;
  z-index: 30;
  top: calc(100% + 14px);
  right: 0;
  left: 0;
  display: none;
  overflow: hidden;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.17);
}

.search-results.is-visible {
  display: block;
}

.search-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
}

.search-result-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  min-height: 72px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.search-result-item:last-child {
  border-bottom: 0;
}

.search-result-item:hover {
  background: linear-gradient(90deg, #fff7ef 0%, #faf9f6 72%);
}

.result-type {
  min-width: 72px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-align: center;
  text-transform: uppercase;
}

.result-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
}

.result-main { min-width: 0; }

.result-meta { display: block; margin-top: 3px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }

.result-arrow {
  color: var(--accent);
}

.empty-results {
  display: grid;
  gap: 8px;
  padding: 20px 22px;
  color: var(--muted);
}

.empty-results strong { color: var(--ink); }
.empty-results span { font-size: 13px; line-height: 1.45; }
.empty-results a { justify-self: start; margin-top: 4px; color: var(--accent-dark); font-family: var(--mono); font-size: 11px; font-weight: 800; }
}

.hero-panel {
  position: relative;
  padding: 28px;
  border: 1px solid var(--ink);
  background: var(--surface);
  box-shadow: 10px 10px 0 rgba(23, 26, 29, 0.12);
}

.panel-label {
  margin: 0 0 20px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.problem-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}

.problem-link {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.problem-link:hover .problem-title {
  color: var(--accent-dark);
}

.problem-code {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 10px;
}

.problem-title {
  display: block;
  font-size: 14px;
  font-weight: 750;
}

.problem-meta {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}

.problem-arrow {
  color: var(--accent);
}

.trust-strip {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.trust-item {
  display: flex;
  min-height: 96px;
  align-items: center;
  gap: 13px;
  padding: 22px;
  border-left: 1px solid var(--line);
}

.trust-item:last-child {
  border-right: 1px solid var(--line);
}

.trust-index {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 11px;
}

.trust-copy strong {
  display: block;
  font-size: 13px;
}

.trust-copy span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.section {
  padding-block: 94px;
}

.section-white {
  border-block: 1px solid var(--line);
  background: var(--surface);
}

.section-dark {
  color: #f3f2ee;
  background: var(--ink);
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}

.section-header h2,
.content-title {
  max-width: 760px;
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 710;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.section-header p {
  max-width: 480px;
  margin: 0;
  color: var(--muted);
}

.section-dark .section-header p {
  color: #afb4b5;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  font-weight: 750;
}

.text-link::after {
  color: var(--accent);
  content: "→";
}

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

.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.category-card {
  position: relative;
  min-height: 292px;
  padding: 26px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.category-card:hover {
  z-index: 2;
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.category-card::after {
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 150px;
  height: 150px;
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(23, 26, 29, 0.02);
  content: "";
}

.category-number {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 11px;
}

.category-card h3 {
  max-width: 210px;
  margin: 40px 0 12px;
  font-size: 24px;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.category-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.category-card .card-arrow {
  position: absolute;
  bottom: 24px;
  left: 26px;
  color: var(--accent);
  font-size: 20px;
}

.ranking-preview {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  border: 1px solid #454a4d;
}

.ranking-feature {
  display: grid;
  min-height: 510px;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 40px;
  padding: 48px;
  border-right: 1px solid #454a4d;
}

.product-visual {
  position: relative;
  display: grid;
  min-height: 330px;
  place-items: center;
  border: 1px solid #4f5558;
  background: #222629;
}

.product-visual img {
  width: 88%;
  filter: grayscale(1) contrast(1.1);
  mix-blend-mode: screen;
  opacity: 0.85;
}

.ranking-number {
  position: absolute;
  top: 14px;
  left: 17px;
  color: #fff;
  font-family: var(--mono);
  font-size: 12px;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: 2px;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.ranking-copy h3 {
  margin: 18px 0 10px;
  font-size: 33px;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.ranking-copy > p {
  color: #b8bdbe;
  font-size: 14px;
}

.score-line {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-block: 28px;
}

.score-value {
  font-size: 52px;
  font-weight: 750;
  letter-spacing: -0.05em;
  line-height: 0.9;
}

.score-meta {
  color: #aeb3b4;
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.5;
  text-transform: uppercase;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid var(--ink);
  border-radius: 2px;
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
}

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

.button-light {
  color: var(--ink);
  background: var(--surface);
  border-color: var(--surface);
}

.button-outline {
  color: currentColor;
  background: transparent;
  border-color: var(--line-strong);
}

.button-outline:hover {
  color: currentColor;
  background: rgba(127, 127, 127, 0.08);
  border-color: currentColor;
}

.button-accent {
  color: #fff;
  background: var(--accent-dark);
  border-color: var(--accent-dark);
}

.ranking-list {
  display: flex;
  flex-direction: column;
}

.ranking-mini {
  display: grid;
  min-height: 127px;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border-bottom: 1px solid #454a4d;
}

.ranking-mini:last-child {
  border-bottom: 0;
}

.ranking-mini:hover {
  background: #202427;
}

.ranking-mini-number {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 20px;
}

.ranking-mini strong {
  display: block;
  font-size: 14px;
}

.ranking-mini span {
  color: #aeb3b4;
  font-size: 11px;
}

.ranking-mini-score {
  color: #fff !important;
  font-family: var(--mono);
  font-size: 14px !important;
}

.editorial-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap: 16px;
}

.article-card {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.article-card.featured {
  min-height: 440px;
  background:
    linear-gradient(135deg, transparent 58%, rgba(217, 95, 37, 0.08) 58%),
    var(--surface);
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.article-card h3 {
  margin: 45px 0 14px;
  font-size: 24px;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.article-card.featured h3 {
  max-width: 530px;
  margin-top: 90px;
  font-size: 39px;
}

.article-card p {
  color: var(--muted);
  font-size: 13px;
}

.article-card .text-link {
  align-self: flex-start;
  margin-top: auto;
}

.newsletter {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 50px;
  padding: 46px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.newsletter h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -0.03em;
}

.newsletter p {
  max-width: 660px;
  margin: 9px 0 0;
  color: var(--muted);
}

.site-footer {
  padding-block: 60px 28px;
  color: #c9cdcd;
  background: #111416;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 0.7fr);
  gap: 60px;
}

.footer-brand p {
  max-width: 340px;
  color: #8e9496;
  font-size: 13px;
}

.footer-brand .brand-wordmark {
  width: 196px;
}

.footer-brand .brand-subtitle {
  color: #8e9496;
}

.footer-column h3 {
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.footer-column a {
  display: block;
  margin-block: 8px;
  color: #aeb3b4;
  font-size: 12px;
}

.footer-column a:hover {
  color: #fff;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 55px;
  padding-top: 25px;
  border-top: 1px solid #2e3335;
  color: #7e8587;
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.page-hero {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(to right, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: 40px 40px;
}

.page-hero-inner {
  display: grid;
  min-height: 440px;
  grid-template-columns: 1fr 300px;
  align-items: end;
  gap: 70px;
  padding-block: 70px;
}

.page-hero h1 {
  font-size: clamp(42px, 5.5vw, 68px);
}

.page-intro {
  max-width: 750px;
  margin: 25px 0 0;
  color: var(--ink-soft);
  font-size: 18px;
}

.page-stat {
  padding: 25px;
  border: 1px solid var(--ink);
  background: var(--surface);
  box-shadow: 7px 7px 0 var(--ink);
}

.page-stat strong {
  display: block;
  font-size: 42px;
  line-height: 1;
}

.page-stat span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.5;
  text-transform: uppercase;
}

.disclosure {
  padding-block: 15px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  background: var(--accent-soft);
  font-size: 12px;
}

.disclosure strong {
  color: var(--ink);
}

.ranking-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.filter-button {
  padding: 8px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  color: var(--ink-soft);
  background: transparent;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.filter-button.is-active,
.filter-button:hover {
  color: #fff;
  background: var(--ink);
}

.ranking-table {
  border-top: 2px solid var(--ink);
}

.product-row {
  display: grid;
  min-height: 222px;
  grid-template-columns: 70px 170px minmax(180px, 1.25fr) minmax(150px, 0.9fr) 120px;
  align-items: center;
  gap: 28px;
  padding: 28px 18px;
  border-bottom: 1px solid var(--line-strong);
  background: var(--surface);
}

.product-row[hidden] {
  display: none;
}

.product-rank {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 30px;
  text-align: center;
}

.product-thumb {
  display: grid;
  min-height: 140px;
  place-items: center;
  border: 1px solid var(--line);
  background: var(--surface-2);
}

.product-thumb img {
  width: 92%;
  filter: grayscale(1);
}

.product-main h2 {
  margin: 10px 0 8px;
  font-size: 21px;
  line-height: 1.1;
}

.product-main p,
.product-use p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.product-use strong {
  display: block;
  margin-bottom: 7px;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.product-action {
  text-align: center;
}

.product-score {
  display: block;
  margin-bottom: 13px;
  font-family: var(--mono);
  font-size: 24px;
  font-weight: 800;
}

.product-action .button {
  width: 100%;
}

.method-box {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 55px;
  margin-top: 55px;
  padding: 38px;
  border: 1px solid var(--line-strong);
  background: var(--surface-2);
}

.method-box h2 {
  margin: 0;
  font-size: 27px;
  line-height: 1.1;
}

.method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.method-item strong {
  display: block;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
}

.method-item p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.breadcrumbs {
  padding-block: 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.breadcrumbs a:hover {
  color: var(--ink);
}

.article-header {
  padding-block: 70px 55px;
  border-bottom: 1px solid var(--line);
}

.article-header-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  align-items: center;
  gap: 70px;
}

.article-header h1 {
  font-size: clamp(39px, 5vw, 62px);
}

.article-deck {
  max-width: 760px;
  margin: 24px 0;
  color: var(--ink-soft);
  font-size: 18px;
}

.article-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.article-visual {
  position: relative;
  padding: 20px;
  border: 1px solid var(--ink);
  background: var(--surface-2);
  box-shadow: 8px 8px 0 var(--ink);
}

.article-visual img {
  display: block;
  width: 100%;
  filter: grayscale(1);
}

.analysis-label {
  position: absolute;
  top: 30px;
  left: 30px;
  padding: 6px 8px;
  color: #fff;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.article-layout {
  display: grid;
  grid-template-columns: 245px minmax(0, 720px) 1fr;
  align-items: start;
  gap: 50px;
  padding-block: 65px 100px;
}

.article-toc {
  position: sticky;
  top: 115px;
  padding-top: 7px;
}

.article-toc h2 {
  margin: 0 0 15px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-toc a {
  display: block;
  padding: 7px 0 7px 14px;
  border-left: 1px solid var(--line-strong);
  color: var(--muted);
  font-size: 12px;
}

.article-toc a:hover {
  border-color: var(--accent);
  color: var(--ink);
}

.article-body {
  min-width: 0;
}

.article-body h2 {
  margin: 58px 0 18px;
  padding-top: 7px;
  border-top: 1px solid var(--line-strong);
  font-size: 30px;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.article-body h2:first-child {
  margin-top: 0;
}

.article-body h3 {
  margin: 30px 0 10px;
  font-size: 19px;
}

.article-body p,
.article-body li {
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.75;
}

.article-body ul,
.article-body ol {
  padding-left: 21px;
}

.article-body li + li {
  margin-top: 7px;
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 24px;
  font-size: 13px;
}

.spec-table th,
.spec-table td {
  padding: 12px 14px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.spec-table th {
  width: 38%;
  background: var(--surface-2);
}

.notice {
  margin-block: 25px;
  padding: 20px 22px;
  border-left: 4px solid var(--accent);
  background: var(--accent-soft);
}

.notice strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
}

.notice p {
  margin: 0;
  font-size: 13px;
}

.pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-block: 26px;
}

.pros-cons > div {
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.pros-cons h3 {
  margin-top: 0;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
}

.review-scorecard {
  margin-bottom: 28px;
  padding: 24px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.review-scorecard h2 {
  margin: 0 0 20px;
  font-size: 20px;
}

.metric {
  margin-top: 16px;
}

.metric-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.metric-bar {
  height: 4px;
  background: var(--line);
}

.metric-bar span {
  display: block;
  height: 100%;
  background: var(--accent);
}

.sticky-cta {
  position: sticky;
  top: 115px;
}

.buy-box {
  padding: 24px;
  border: 1px solid var(--ink);
  background: var(--surface);
  box-shadow: 6px 6px 0 rgba(23, 26, 29, 0.13);
}

.buy-box .button {
  width: 100%;
  margin-top: 16px;
}

.buy-box small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 10px;
}

.guide-steps {
  counter-reset: guide-step;
}

.guide-step {
  position: relative;
  margin: 28px 0;
  padding: 22px 22px 22px 76px;
  border: 1px solid var(--line);
  background: var(--surface);
  counter-increment: guide-step;
}

.guide-step::before {
  position: absolute;
  top: 20px;
  left: 20px;
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  color: #fff;
  background: var(--ink);
  content: counter(guide-step, decimal-leading-zero);
  font-family: var(--mono);
  font-size: 10px;
}

.guide-step h3 {
  margin-top: 0;
}

.feedback-toggle {
  position: fixed;
  z-index: 65;
  right: 20px;
  bottom: 20px;
  display: none;
  align-items: center;
  gap: 9px;
  padding: 11px 15px;
  border: 1px solid #fff;
  border-radius: 2px;
  color: #fff;
  background: var(--accent-dark);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.docs-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
  align-items: stretch;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.docs-feature-copy {
  display: flex;
  min-height: 430px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 54px;
  border-right: 1px solid var(--line-strong);
}

.docs-feature-copy h2 {
  margin: 0;
  font-size: clamp(34px, 4.5vw, 54px);
  font-weight: 710;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.docs-feature-copy p:not(.eyebrow) {
  max-width: 550px;
  margin: 22px 0 0;
  color: var(--muted);
}

.docs-feature-copy .button {
  margin-top: 30px;
}

.docs-feature-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 38px;
  background: var(--surface-2);
}

.doc-preview-row {
  display: grid;
  grid-template-columns: 55px 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 98px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line-strong);
}

.doc-preview-row:last-child {
  border-bottom: 0;
}

.doc-preview-code {
  display: grid;
  width: 48px;
  height: 58px;
  place-items: center;
  border: 1px solid var(--ink);
  color: var(--accent-dark);
  background: var(--surface);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

.doc-preview-row strong {
  display: block;
  font-size: 14px;
}

.doc-preview-row span {
  color: var(--muted);
  font-size: 11px;
}

.language-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.language-pill {
  display: inline-grid;
  min-width: 28px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--ink-soft) !important;
  background: var(--surface);
  font-family: var(--mono);
  font-size: 8px !important;
  font-weight: 800;
}

.library-hero {
  position: relative;
  overflow: hidden;
  padding-block: 76px 60px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(to right, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: 40px 40px;
}

.library-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  align-items: end;
  gap: 80px;
}

.library-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 710;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.library-hero h1 span {
  color: var(--accent);
}

.library-lead {
  max-width: 750px;
  margin: 25px 0 0;
  color: var(--ink-soft);
  font-size: 18px;
}

.library-principle {
  padding: 26px;
  border: 1px solid var(--ink);
  background: var(--surface);
  box-shadow: 7px 7px 0 var(--ink);
}

.library-principle strong {
  display: block;
  margin-bottom: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.library-principle p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.library-search-panel {
  margin-top: 48px;
  padding: 24px;
  border: 1px solid var(--ink);
  background: var(--surface);
  box-shadow: 8px 8px 0 rgba(23, 26, 29, 0.12);
}

.library-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.library-search input {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  outline: none;
  background: #fafaf8;
}

.library-search input:focus {
  border-color: var(--ink);
}

.library-search .button {
  min-width: 150px;
}

.library-search-suggestions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
}

.library-search-suggestions > span {
  margin-right: 5px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.075em;
}

.library-search-suggestions button {
  padding: 7px 12px;
  border: 1px solid #d4d7d3;
  border-radius: 999px;
  color: #4f5955;
  background: #f6f6f2;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.035em;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.library-search-suggestions button:hover {
  border-color: #83918b;
  color: #25332e;
  background: #edf2ef;
}

.library-stats {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.library-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.library-stat {
  padding: 24px;
  border-left: 1px solid var(--line);
}

.library-stat:last-child {
  border-right: 1px solid var(--line);
}

.library-stat strong {
  display: block;
  font-size: 28px;
  letter-spacing: -0.03em;
}

.library-stat span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.library-catalog-navigation {
  padding: 88px 0 76px;
  border-bottom: 1px solid #d9dcd8;
  background:
    linear-gradient(90deg, rgba(35, 42, 40, 0.022) 1px, transparent 1px) 0 0 / 52px 52px,
    #f7f6f2;
}

.library-catalog-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  align-items: end;
  gap: 60px;
  margin-bottom: 34px;
}

.library-catalog-heading h2 {
  max-width: 800px;
  margin: 10px 0 0;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 650;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.library-catalog-heading > p {
  margin: 0;
  color: #68716e;
  font-size: 14px;
  line-height: 1.65;
}

.library-shelf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.library-shelf-card {
  --shelf-bg: #e8f0f3;
  --shelf-border: #7797a8;
  position: relative;
  display: flex;
  min-height: 270px;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--shelf-border) 76%, #fff);
  border-top: 4px solid var(--shelf-border);
  border-radius: 10px;
  color: #252c2a;
  text-decoration: none;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.58), transparent 56%),
    var(--shelf-bg);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.25);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}

.library-shelf-card::after {
  position: absolute;
  right: -22px;
  bottom: -42px;
  width: 155px;
  height: 155px;
  border: 1px solid color-mix(in srgb, var(--shelf-border) 35%, transparent);
  border-radius: 50%;
  content: "";
}

.library-shelf-card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-repeat: no-repeat;
  background-position: 72% 50%;
  background-size: cover;
  content: "";
  filter: grayscale(0.16) saturate(0.56) contrast(0.92);
  opacity: 0.12;
  pointer-events: none;
  transition: opacity 180ms ease, transform 240ms ease;
}

.library-shelf-card:nth-child(1)::before { background-image: url("products/carel/pr300t-reference.svg"); }
.library-shelf-card:nth-child(2)::before { background-image: url("products/danfoss/ak-pc-572-reference.svg"); }
.library-shelf-card:nth-child(3)::before { background-image: url("products/carel/mpxone-reference.svg"); }
.library-shelf-card:nth-child(4)::before {
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-position: 50% 100%;
  background-size: 300% 200%;
}
.library-shelf-card:nth-child(5)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: 0 0;
  background-size: 300% 200%;
}
.library-shelf-card:nth-child(6)::before { background-image: url("products/dixell/xm679k-reference.svg"); }

.library-shelf-card > * {
  position: relative;
  z-index: 1;
}

.library-shelf-card:hover,
.library-shelf-card.is-active {
  border-color: var(--shelf-border);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.36), 0 17px 36px rgba(38, 48, 44, 0.085);
  transform: translateY(-3px);
}

.library-shelf-card:hover::before,
.library-shelf-card.is-active::before {
  opacity: 0.18;
  transform: scale(1.025);
}

.library-shelf-card.is-active {
  outline: 2px solid color-mix(in srgb, var(--shelf-border) 55%, transparent);
  outline-offset: 3px;
}

.library-shelf-card:focus-visible,
.library-index-row button:focus-visible,
.library-search-suggestions button:focus-visible {
  outline: 3px solid rgba(227, 94, 37, 0.3);
  outline-offset: 3px;
}

.shelf-all { --shelf-bg: #edf0ef; --shelf-border: #6f7b77; }
.shelf-cooling { --shelf-bg: #e5f1ef; --shelf-border: #5e9188; }
.shelf-control { --shelf-bg: #e8eff3; --shelf-border: #65879a; }
.shelf-drive { --shelf-bg: #efebf3; --shelf-border: #827493; }
.shelf-install { --shelf-bg: #f3efe2; --shelf-border: #9b8757; }
.shelf-program { --shelf-bg: #f4e9e5; --shelf-border: #a36f60; }

.library-shelf-code {
  color: var(--shelf-border);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.library-book-mark {
  display: flex;
  height: 64px;
  align-items: end;
  gap: 4px;
  margin: 27px 0 22px;
  padding: 0 6px 5px;
  border-bottom: 2px solid color-mix(in srgb, var(--shelf-border) 70%, transparent);
}

.library-book-mark i {
  display: block;
  width: 13px;
  height: 46px;
  border: 1px solid var(--shelf-border);
  border-radius: 2px 2px 0 0;
  background: rgba(255, 255, 255, 0.42);
  box-shadow: inset 3px 0 rgba(255, 255, 255, 0.42);
}

.library-book-mark i:nth-child(2) { height: 58px; }
.library-book-mark i:nth-child(3) { height: 39px; }

.library-shelf-card strong {
  position: relative;
  z-index: 1;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.library-shelf-card small {
  position: relative;
  z-index: 1;
  max-width: 270px;
  margin-top: 7px;
  color: #66706c;
  font-size: 12px;
  line-height: 1.5;
}

.library-shelf-card em {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 18px;
  color: var(--shelf-border);
  font-family: var(--mono);
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: 0.045em;
}

.library-index-bars {
  margin-top: 18px;
  border: 1px solid #cfd4d0;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 31px rgba(36, 44, 41, 0.045);
}

.library-index-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  min-height: 76px;
  padding: 15px 18px;
}

.library-index-row + .library-index-row { border-top: 1px solid #dce0dc; }

.library-index-row > strong {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.library-index-row > strong span {
  display: grid;
  min-width: 39px;
  height: 31px;
  place-items: center;
  border: 1px solid #939d98;
  color: #59635f;
  font-size: 8px;
}

.library-index-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.library-index-row button {
  min-height: 37px;
  padding: 8px 14px;
  border: 1px solid #cfd5d1;
  border-radius: 4px;
  color: #48524e;
  background: #fbfbf8;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.025em;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
}

.library-index-row button:hover,
.library-index-row button.is-active {
  border-color: #667b73;
  color: #fff;
  background: #566a63;
}

.library-language-index button:hover,
.library-language-index button.is-active {
  border-color: #647f8c;
  background: #637e8a;
}

.controller-visual-library {
  padding: 94px 0 86px;
  border-bottom: 1px solid #d8dcd8;
  background: #eeefeb;
}

.controller-visual-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 450px);
  align-items: end;
  gap: 60px;
  margin-bottom: 34px;
}

.controller-visual-heading h2 {
  max-width: 810px;
  margin: 10px 0 0;
  font-size: clamp(42px, 5.2vw, 68px);
  font-weight: 650;
  letter-spacing: -0.058em;
  line-height: 0.96;
}

.controller-visual-heading > p {
  margin: 0;
  color: #68726e;
  font-size: 14px;
  line-height: 1.65;
}

.controller-brand-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 11px;
  border: 1px solid #cbd0cc;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
}

.controller-brand-tabs button {
  min-height: 39px;
  padding: 9px 14px;
  border: 1px solid #c7ceca;
  border-radius: 4px;
  color: #4f5b56;
  background: #fbfbf8;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.045em;
  cursor: pointer;
}

.controller-brand-tabs button span {
  margin-left: 7px;
  color: #89938f;
}

.controller-brand-tabs button:hover,
.controller-brand-tabs button.is-active {
  border-color: #2f3d38;
  color: #fff;
  background: #2f3d38;
}

.controller-brand-tabs button.is-active span { color: #c8d4cf; }

.controller-brand-tabs em {
  margin-left: auto;
  padding-right: 8px;
  color: #7b8581;
  font-family: var(--mono);
  font-size: 8px;
  font-style: normal;
  text-transform: uppercase;
}

.controller-visual-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.controller-visual-card {
  --controller-accent: #76847e;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #cbd1cd;
  border-top: 4px solid var(--controller-accent);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(35, 43, 40, 0.055);
  transition: transform 170ms ease, box-shadow 170ms ease;
}

.controller-visual-card[hidden] { display: none; }
.controller-danfoss { --controller-accent: #b66f73; }
.controller-carel { --controller-accent: #c78479; }
.controller-dixell { --controller-accent: #5e9389; }

.controller-visual-card:hover {
  box-shadow: 0 21px 45px rgba(35, 43, 40, 0.1);
  transform: translateY(-4px);
}

.controller-photo {
  position: relative;
  display: grid;
  height: 215px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #dde1de;
  background:
    linear-gradient(90deg, rgba(30, 37, 34, 0.025) 1px, transparent 1px) 0 0 / 34px 34px,
    #f6f6f2;
}

.controller-photo img {
  width: 100%;
  height: 100%;
  padding: 19px;
  object-fit: contain;
  transition: transform 220ms ease;
}

.controller-visual-card:hover .controller-photo img { transform: scale(1.035); }

.controller-photo span {
  position: absolute;
  right: 10px;
  bottom: 9px;
  left: 10px;
  padding: 7px 9px;
  color: #fff;
  background: rgba(31, 39, 36, 0.84);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-align: center;
}

.controller-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.controller-card-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 15px;
}

.controller-card-title h3 {
  margin: 0;
  font-size: 26px;
  letter-spacing: -0.045em;
}

.controller-card-title b {
  padding: 5px 7px;
  border: 1px solid color-mix(in srgb, var(--controller-accent) 48%, #fff);
  color: var(--controller-accent);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.04em;
}

.controller-card-body > p {
  min-height: 61px;
  margin: 11px 0 18px;
  color: #68716e;
  font-size: 12px;
  line-height: 1.58;
}

.controller-card-body dl {
  margin: 0 0 20px;
  border-top: 1px solid #dfe2df;
}

.controller-card-body dl div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #e4e7e4;
}

.controller-card-body dt {
  color: #88918d;
  font-family: var(--mono);
  font-size: 7px;
  text-transform: uppercase;
}

.controller-card-body dd {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
}

.controller-card-actions {
  display: grid;
  margin-top: auto;
  grid-template-columns: 1fr;
  gap: 9px;
}

.controller-card-actions .button {
  width: 100%;
  border-color: #2d3834;
  background: #2d3834;
}

.controller-card-actions > a:not(.button) {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding-block: 8px;
  color: var(--controller-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 850;
  text-align: center;
}

.controller-archive-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 18px;
  padding: 17px;
  border: 1px solid #cdd2ce;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.65);
}

.controller-archive-links span {
  margin-right: auto;
  color: #78827e;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.controller-archive-links a {
  padding: 9px 12px;
  border: 1px solid #ccd2ce;
  border-radius: 4px;
  color: #44514c;
  background: #fbfbf8;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
}

@media (max-width: 1040px) {
  .controller-visual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .controller-visual-library { padding: 68px 0 62px; }
  .controller-visual-heading { grid-template-columns: 1fr; gap: 20px; }
  .controller-brand-tabs em { width: 100%; margin: 4px 0 0; }
}

/* Release minima: guide, pagine istituzionali e pannello di pubblicazione */
.release-page { background: #f7f6f2; }
.release-hero { border-bottom: 1px solid #d8ded9; background: radial-gradient(circle at 88% 18%, rgba(116, 151, 141, .16), transparent 26%), #f4f5f1; }
.release-hero-grid { display: grid; min-height: 560px; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .55fr); align-items: center; gap: 78px; padding-block: 76px; }
.release-hero h1 { max-width: 900px; margin: 0; font-size: clamp(52px, 6.6vw, 88px); font-weight: 590; letter-spacing: -.064em; line-height: .94; }
.release-hero h1 span { color: #62837a; }
.release-hero-copy > p:not(.kicker) { max-width: 740px; margin: 26px 0 0; color: #65706c; font-size: 17px; line-height: 1.68; }
.release-summary { padding: 29px; border: 1px solid #465854; border-radius: 8px; color: #edf2f0; background: #25302e; box-shadow: 17px 19px 0 rgba(96, 130, 121, .1); }
.release-summary > span { color: #9ab8b0; font-family: var(--mono); font-size: 9px; font-weight: 800; }
.release-summary strong { display: block; margin: 45px 0 4px; font-family: var(--mono); font-size: 58px; letter-spacing: -.07em; }
.release-summary p { margin: 0; color: #aebbb7; font-size: 11px; }
.release-summary ul { margin: 28px 0 0; padding: 0; border-top: 1px solid #465653; list-style: none; }
.release-summary li { padding: 11px 0; border-bottom: 1px solid #465653; color: #c7d2ce; font-size: 10px; }

.guide-index { background: #fbfaf7; }
.guide-index-intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }
.guide-index-intro h2 { margin: 0; font-size: clamp(40px, 4.7vw, 66px); letter-spacing: -.055em; line-height: .98; }
.guide-index-intro p { margin: 0; color: #68716e; font-size: 15px; line-height: 1.75; }
.guide-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 56px; }
.guide-card { display: grid; min-height: 335px; grid-template-rows: auto 1fr auto; padding: 29px; border: 1px solid #c9d6d1; border-radius: 8px; background: #edf4f1; transition: transform .2s ease, box-shadow .2s ease; }
.guide-card:nth-child(2n) { border-color: #cbd6e0; background: #eef2f6; }
.guide-card:nth-child(3n) { border-color: #dfd1bd; background: #f5f0e7; }
.guide-card:hover { transform: translateY(-3px); box-shadow: 0 17px 36px rgba(24, 32, 29, .08); }
.guide-card-meta { display: flex; justify-content: space-between; gap: 20px; color: #65837b; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .04em; }
.guide-card h3 { align-self: end; max-width: 580px; margin: 60px 0 12px; font-size: 30px; letter-spacing: -.045em; line-height: 1.06; }
.guide-card p { margin: 0 0 29px; color: #68736f; font-size: 11px; line-height: 1.65; }
.guide-card-link { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid rgba(80, 105, 97, .25); color: #53766d; font-family: var(--mono); font-size: 9px; font-style: normal; font-weight: 800; }
.guide-library-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(250px, .7fr); gap: 60px; align-items: end; margin-top: 105px; padding-top: 54px; border-top: 1px solid #ccd6d1; }
.guide-library-heading .eyebrow { margin: 0 0 13px; }
.guide-library-heading h2 { max-width: 730px; margin: 0; font-size: clamp(35px, 4.1vw, 58px); letter-spacing: -.055em; line-height: .98; }
.guide-library-heading > p { margin: 0 0 3px; color: #65706c; font-size: 14px; line-height: 1.75; }
.guide-card-grid--visual { margin-top: 43px; }
.guide-card--visual { position: relative; min-height: 435px; grid-template-rows: auto auto 1fr auto; overflow: hidden; padding-top: 0; }
.guide-card--visual > img { width: calc(100% + 58px); height: 160px; margin: 0 -29px 22px; object-fit: cover; object-position: right center; opacity: .9; filter: saturate(.78) contrast(.94); }
.guide-card--visual:nth-child(2n) > img { object-position: center center; }
.guide-card--visual:nth-child(3n) > img { object-position: 66% 52%; }
.guide-card--visual h3 { margin-top: 28px; }

.technical-article-hero { border-bottom: 1px solid #d3dbd7; background: linear-gradient(120deg, #eef4f1, #f8f7f3 62%); }
.technical-article-hero .container { max-width: 1080px; padding-block: 75px; }
.article-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 38px; color: #687b75; font-family: var(--mono); font-size: 9px; }
.technical-article-hero h1 { max-width: 990px; margin: 0; font-size: clamp(48px, 6.3vw, 82px); font-weight: 590; letter-spacing: -.065em; line-height: .94; }
.technical-article-hero .article-deck { max-width: 790px; margin: 27px 0 0; color: #626d69; font-size: 18px; line-height: 1.68; }
.article-facts { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 33px; }
.article-facts span { padding: 8px 10px; border: 1px solid #cad6d1; border-radius: 3px; color: #55746c; background: rgba(255,255,255,.58); font-family: var(--mono); font-size: 8px; font-weight: 800; }
.technical-article { padding: 84px 0 110px; background: #fbfaf7; }
.technical-article-layout { display: grid; max-width: 1080px; grid-template-columns: minmax(0, 1fr) 265px; align-items: start; gap: 82px; }
.technical-copy { min-width: 0; }
.technical-copy h2 { margin: 70px 0 18px; font-size: 36px; letter-spacing: -.045em; line-height: 1.05; }
.technical-copy h2:first-child { margin-top: 0; }
.technical-copy h3 { margin: 35px 0 12px; font-size: 22px; letter-spacing: -.03em; }
.technical-copy p, .technical-copy li { color: #4f5955; font-size: 15px; line-height: 1.78; }
.technical-copy ol, .technical-copy ul { padding-left: 22px; }
.technical-copy li + li { margin-top: 10px; }
.article-callout { margin: 30px 0; padding: 24px 26px; border-left: 4px solid #6d9489; background: #edf4f1; }
.article-callout.warning { border-color: #c7834d; background: #f8eee6; }
.article-callout strong { display: block; margin-bottom: 6px; font-size: 14px; }
.article-callout p { margin: 0; font-size: 13px; }
.diagnostic-table { width: 100%; margin: 28px 0; border-collapse: collapse; background: #fff; }
.diagnostic-table th, .diagnostic-table td { padding: 14px; border: 1px solid #d9dfdb; text-align: left; vertical-align: top; }
.diagnostic-table th { color: #4d6d65; background: #edf3f0; font-family: var(--mono); font-size: 9px; }
.diagnostic-table td { color: #53605b; font-size: 12px; line-height: 1.55; }
.article-toc { position: sticky; top: 105px; padding: 23px; border: 1px solid #d4dcd8; border-radius: 7px; background: #f2f4f1; }
.article-toc > span { color: #648078; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.article-toc a { display: block; padding: 10px 0; border-bottom: 1px solid #d7ded9; color: #59635f; font-size: 11px; }
.article-toc a:last-of-type { border-bottom: 0; }
.article-sources { margin-top: 75px; padding-top: 32px; border-top: 1px solid #ccd5d0; }
.article-sources a { color: #426d62; text-decoration: underline; text-underline-offset: 3px; }
.article-safety { padding: 31px 0; color: #c8d3cf; background: #202827; }
.article-safety .container { max-width: 1080px; }
.article-safety strong { color: #f1f3f2; font-family: var(--mono); font-size: 9px; }
.article-safety p { margin: 7px 0 0; font-size: 11px; line-height: 1.65; }

.guide-operative-hero { border-bottom: 1px solid #d3dbd7; background: radial-gradient(circle at 12% 18%, rgba(112, 155, 141, .14), transparent 28%), #f8f7f3; }
.guide-operative-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .82fr); gap: 60px; align-items: center; max-width: 1180px; padding-block: 72px; }
.guide-operative-hero h1 { max-width: 760px; margin: 0; font-size: clamp(46px, 5.45vw, 76px); font-weight: 590; letter-spacing: -.063em; line-height: .95; }
.guide-operative-hero .article-deck { max-width: 720px; margin: 25px 0 0; color: #626d69; font-size: 17px; line-height: 1.68; }
.guide-operative-figure { position: relative; min-height: 390px; margin: 0; overflow: hidden; border: 1px solid #c6d3ce; border-radius: 9px; background: #dfe8e3; box-shadow: 17px 19px 0 rgba(96, 130, 121, .1); }
.guide-operative-figure::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(34, 47, 43, .17), transparent 54%); content: ''; pointer-events: none; }
.guide-operative-figure img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; object-position: right center; }
.guide-operative-figure figcaption { position: absolute; z-index: 1; right: 18px; bottom: 17px; left: 18px; padding: 11px 13px; color: #dfe9e5; background: rgba(32, 40, 38, .83); font-family: var(--mono); font-size: 9px; font-weight: 700; line-height: 1.45; }
.guide-operation-steps { display: grid; gap: 14px; margin: 34px 0 64px; }
.guide-operation-step { position: relative; padding: 27px 28px 26px 104px; border: 1px solid #cad7d2; border-radius: 8px; background: linear-gradient(120deg, #eef5f1, #f8f8f4); }
.guide-operation-step:nth-child(2n) { border-color: #d4d9e0; background: linear-gradient(120deg, #f0f3f6, #faf9f5); }
.guide-operation-step:nth-child(3n) { border-color: #e0d4c3; background: linear-gradient(120deg, #f8f0e7, #faf9f5); }
.guide-operation-step > span { position: absolute; top: 29px; left: 25px; width: 57px; color: #5a7c72; font-family: var(--mono); font-size: 9px; font-weight: 800; line-height: 1.45; }
.guide-operation-step h2 { margin: 0; font-size: 27px; }
.guide-operation-step p { margin: 9px 0 0; }
.guide-worksheet { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(250px, .72fr); gap: 0; margin: 34px 0; border: 1px solid #a5c4b6; background: linear-gradient(135deg, #edf6f1, #f9f9f4); }
.guide-worksheet > div, .guide-worksheet > aside { padding: 27px 29px; }
.guide-worksheet > aside { border-left: 1px solid #a5c4b6; background: rgba(255,255,255,.55); }
.guide-worksheet span, .guide-technical-board figcaption span { display: block; color: #4d786a; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.guide-worksheet h2 { margin: 12px 0 9px; font-size: 29px; line-height: 1; }
.guide-worksheet p { margin: 0; color: #51645d; font-size: 13px; line-height: 1.65; }
.guide-worksheet ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; margin: 21px 0 0; padding: 0; list-style: none; }
.guide-worksheet li { position: relative; padding-left: 17px; color: #40564e; font-size: 12px; line-height: 1.45; }
.guide-worksheet li::before { position: absolute; top: .38rem; left: 0; width: 7px; height: 7px; border: 1px solid #557c70; content: ''; }
.guide-worksheet aside p { margin-top: 17px; }
.guide-worksheet aside small { display: block; margin-top: 22px; padding-top: 15px; border-top: 1px solid #c7d9d1; color: #6a7d75; font-family: var(--mono); font-size: 9px; line-height: 1.55; }
.guide-technical-board { margin: 35px 0 44px; padding: 0; overflow: hidden; border: 1px solid #8ba99d; background: #f9fcfa; }
.guide-technical-board figcaption { display: flex; justify-content: space-between; padding: 15px 19px; color: #385c50; border-bottom: 1px solid #b2c8be; background: #e2eee8; font-family: var(--mono); font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.guide-technical-board figcaption span { color: #5d8174; }
.guide-board-flow { display: grid; grid-template-columns: repeat(9, auto); align-items: center; gap: 8px; padding: 29px 20px 23px; background-image: linear-gradient(rgba(122,156,144,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(122,156,144,.09) 1px, transparent 1px); background-size: 24px 24px; }
.guide-board-node { min-width: 0; min-height: 92px; padding: 13px 10px; border: 1px solid #86a99a; background: rgba(255,255,255,.82); }
.guide-board-node b { display: block; color: #758e85; font-family: var(--mono); font-size: 9px; }.guide-board-node strong { display: block; margin-top: 19px; color: #315547; font-family: var(--mono); font-size: 9px; line-height: 1.2; }
.guide-board-node.is-focus { border: 2px solid #e26737; background: #fff5ec; box-shadow: 4px 4px 0 rgba(226,103,55,.14); }.guide-board-node.is-focus strong { color: #b84f28; }
.guide-board-flow > i { color: #66877a; font-style: normal; }.guide-technical-board > p { margin: 0; padding: 14px 19px; color: #65766f; border-top: 1px solid #cbdad3; font-size: 11px; line-height: 1.5; }
.guide-resource-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid #cbd7d1; border-radius: 5px; color: #426d62; background: #eef4f1; font-weight: 700; text-decoration: none !important; }
.guide-resource-link span { font-size: 20px; }

.institutional-hero { padding: 95px 0 80px; border-bottom: 1px solid #d7ddda; background: radial-gradient(circle at 85% 25%, rgba(226, 112, 57, .11), transparent 23%), #f4f5f1; }
.institutional-hero h1 { max-width: 950px; margin: 0; font-size: clamp(50px, 6.2vw, 82px); font-weight: 590; letter-spacing: -.063em; line-height: .94; }
.institutional-hero p:last-child { max-width: 790px; margin: 25px 0 0; color: #65706c; font-size: 17px; line-height: 1.68; }
.institutional-content { padding: 78px 0 110px; background: #fbfaf7; }
.institutional-grid { display: grid; max-width: 1050px; grid-template-columns: minmax(0, 1fr) 270px; align-items: start; gap: 85px; }
.institutional-copy h2 { margin: 56px 0 14px; font-size: 34px; letter-spacing: -.04em; }
.institutional-copy h2:first-child { margin-top: 0; }
.institutional-copy h3 { margin: 32px 0 10px; font-size: 21px; }
.institutional-copy p, .institutional-copy li { color: #515b57; font-size: 14px; line-height: 1.78; }
.institutional-copy a { color: #426d62; text-decoration: underline; text-underline-offset: 3px; }
.institutional-side { padding: 24px; border: 1px solid #d4dcd8; border-radius: 7px; background: #eef3f0; }
.institutional-side strong { display: block; margin-bottom: 12px; font-size: 16px; }
.institutional-side a { display: block; padding: 9px 0; border-bottom: 1px solid #d3ddd8; color: #55736b; font-size: 11px; }
.contact-status { display: inline-flex; margin-top: 15px; padding: 7px 9px; border: 1px solid #d9c2a8; color: #8a5e30; background: #f7efe5; font-family: var(--mono); font-size: 8px; font-weight: 800; }

.release-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.release-check-card { padding: 26px; border: 1px solid #cbd8d2; border-radius: 8px; background: #edf4f1; }
.release-check-card.is-blocked { border-color: #e0c9af; background: #f7eee4; }
.release-check-card span { color: #5f8178; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.release-check-card h3 { margin: 48px 0 12px; font-size: 24px; letter-spacing: -.035em; }
.release-check-card p { color: #68726e; font-size: 11px; line-height: 1.6; }
.release-link-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 35px; border-top: 1px solid #ccd6d1; }
.release-link-list a { display: flex; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #ccd6d1; color: #4e6f67; font-size: 12px; }
.release-link-list a:nth-child(odd) { padding-right: 24px; }
.release-link-list a:nth-child(even) { padding-left: 24px; border-left: 1px solid #ccd6d1; }

@media (max-width: 900px) {
  .release-hero-grid,
  .guide-index-intro,
  .guide-library-heading,
  .guide-operative-hero-grid,
  .technical-article-layout,
  .institutional-grid { grid-template-columns: 1fr; gap: 45px; }
  .article-toc { position: static; }
  .release-check-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .guide-card-grid,
  .release-link-list { grid-template-columns: 1fr; }
  .release-link-list a:nth-child(odd),
  .release-link-list a:nth-child(even) { padding-inline: 0; border-left: 0; }
  .technical-article-hero h1,
  .institutional-hero h1 { font-size: 48px; }
  .guide-operative-hero h1 { font-size: 46px; }
  .guide-operative-figure { min-height: 270px; }
  .guide-operative-figure img { min-height: 270px; }
  .guide-operation-step { padding: 24px 22px 23px; }
  .guide-operation-step > span { position: static; display: block; width: auto; margin-bottom: 19px; }
  .diagnostic-table { display: block; overflow-x: auto; }
  .guide-worksheet { grid-template-columns: 1fr; }.guide-worksheet > aside { border-top: 1px solid #a5c4b6; border-left: 0; }.guide-worksheet ul { grid-template-columns: 1fr; }.guide-board-flow { grid-template-columns: 1fr; gap: 0; padding: 17px; }.guide-board-flow > i { height: 18px; text-align: center; transform: rotate(90deg); }.guide-board-node { min-height: 0; }.guide-board-node strong { margin-top: 7px; }
}

@media (max-width: 580px) {
  .controller-visual-grid { grid-template-columns: 1fr; }
  .controller-photo { height: 225px; }
  .controller-card-body > p { min-height: 0; }
}

.library-layout {
  display: grid;
  grid-template-columns: 255px minmax(0, 1fr);
  align-items: start;
  gap: 42px;
}

.library-filters {
  position: sticky;
  top: 112px;
  padding: 22px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.library-filter-label {
  display: block;
  margin-bottom: 7px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.library-filter-intro {
  margin: -8px 0 21px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.library-filters h2 {
  margin: 0 0 20px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.filter-field + .filter-field {
  margin-top: 18px;
}

.filter-field label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.filter-field select {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  color: var(--ink);
  background: var(--surface);
  font-size: 12px;
}

.filter-reset {
  width: 100%;
  margin-top: 20px;
}

.library-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.library-results-header h2 {
  margin: 0;
  font-size: 26px;
  letter-spacing: -0.03em;
}

.library-result-count {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.document-list {
  border-top: 2px solid var(--ink);
}

.document-card {
  display: grid;
  grid-template-columns: 60px minmax(0, 1.35fr) minmax(170px, 0.65fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 146px;
  padding: 22px 16px;
  border-bottom: 1px solid var(--line-strong);
  background: var(--surface);
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.document-card:hover {
  border-color: #9fa8a3;
  background: #fdfdfb;
  transform: translateX(3px);
}

.document-card[hidden] {
  display: none;
}

.document-icon {
  display: grid;
  width: 54px;
  height: 68px;
  place-items: center;
  border: 1px solid var(--ink);
  color: var(--accent-dark);
  background: var(--surface-2);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  box-shadow: 4px 4px 0 rgba(35, 42, 39, 0.08);
}

@media (max-width: 1040px) {
  .library-shelf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .library-catalog-navigation { padding: 62px 0 55px; }
  .library-catalog-heading { grid-template-columns: 1fr; gap: 20px; }
  .library-index-row { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 560px) {
  .library-shelf-grid { grid-template-columns: 1fr; }
  .library-shelf-card { min-height: 235px; }
  .library-search-suggestions > span { width: 100%; }
}

.document-main h3 {
  margin: 7px 0;
  font-size: 18px;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.document-main p,
.document-meta p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.document-brand {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.document-meta strong {
  display: block;
  margin-bottom: 7px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.document-actions {
  min-width: 128px;
  text-align: right;
}

.document-actions .language-pills {
  margin-bottom: 12px;
}

.document-actions .button {
  width: 100%;
}

.library-empty {
  display: none;
  padding: 55px 24px;
  border-bottom: 1px solid var(--line-strong);
  color: var(--muted);
  background: var(--surface);
  text-align: center;
}

.library-empty.is-visible {
  display: block;
}

.source-method {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 55px;
  margin-top: 60px;
  padding: 40px;
  border: 1px solid var(--line-strong);
  background: var(--surface-2);
}

.source-method h2 {
  margin: 0;
  font-size: 31px;
  line-height: 1.12;
}

.source-method-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.source-rule strong {
  display: block;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.source-rule p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.simulation-note {
  color: #aeb3b4;
  font-size: 10px;
  text-transform: uppercase;
}

.home-header .header-inner {
  min-height: 86px;
}

.home-mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 14px;
}

.home-mark img {
  display: block;
  width: 52px;
  height: 52px;
}

.home-hero-v2 {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(to right, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    var(--paper);
  background-size: 40px 40px;
}

.home-hero-v2::before {
  position: absolute;
  top: -280px;
  right: -190px;
  width: 750px;
  height: 750px;
  border: 1px solid rgba(23, 26, 29, 0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(23, 26, 29, 0.015), 0 0 0 160px rgba(23, 26, 29, 0.01);
  content: "";
}

.home-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 720px;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
  align-items: center;
  gap: 75px;
  padding-block: 78px;
}

.home-hero-copy h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(52px, 6.3vw, 86px);
  font-weight: 720;
  letter-spacing: -0.055em;
  line-height: 0.94;
}

.home-hero-copy h1 span {
  color: var(--accent);
}

.home-hero-lead {
  max-width: 700px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 19px;
  line-height: 1.58;
}

.home-search-shell {
  margin-top: 34px;
}

.home-search-shell .technical-search {
  max-width: 760px;
}

.home-search-shell .technical-search button {
  min-width: 155px;
}

.home-command {
  position: relative;
  padding: 30px;
  border: 1px solid #111416;
  color: #f4f3ef;
  background: linear-gradient(145deg, #111416 0%, #202528 68%, #30373a 100%);
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.15);
}

.command-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 23px;
  border-bottom: 1px solid #474d50;
}

.command-top img {
  width: 66px;
  height: 66px;
}

.command-top > span {
  color: #92999b;
  font-family: var(--mono);
  font-size: 9px;
  line-height: 1.7;
  text-align: right;
  text-transform: uppercase;
}

.command-top strong {
  color: #fff;
}

.command-label {
  margin: 24px 0 7px;
  color: #aab0b2;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}

.command-links {
  border-top: 1px solid #474d50;
}

.command-links a {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 84px;
  border-bottom: 1px solid #474d50;
}

.command-links a:hover {
  background: rgba(255, 255, 255, 0.035);
}

.command-links a > span:last-child {
  color: var(--accent);
  font-size: 20px;
}

.command-code {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
}

.command-links strong {
  display: block;
  font-size: 14px;
}

.command-links small {
  display: block;
  margin-top: 3px;
  color: #92999b;
  font-size: 10px;
}

.command-foot {
  padding-top: 18px;
  color: #777f82;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-align: center;
}

.home-proof {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.home-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.home-proof-grid > div {
  display: flex;
  min-height: 104px;
  align-items: center;
  gap: 14px;
  padding: 20px 25px;
  border-left: 1px solid var(--line);
}

.home-proof-grid > div:last-child {
  border-right: 1px solid var(--line);
}

.home-proof-grid strong {
  color: var(--accent-dark);
  font-size: 24px;
  letter-spacing: -0.04em;
}

.home-proof-grid span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.home-intent {
  padding: 82px 0;
  border-bottom: 1px solid #d9dfdc;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 118, 66, .11), transparent 22rem),
    linear-gradient(135deg, #f8faf7, #edf3f0 63%, #f5f1eb);
}

.home-intent-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 460px);
  gap: 65px;
  align-items: end;
  margin-bottom: 34px;
}

.home-intent-head h2 {
  margin: 0;
  color: #1b2926;
  font-size: clamp(40px, 5vw, 64px);
  letter-spacing: -.065em;
  line-height: .94;
}

.home-intent-head h2 span { color: #55776c; }

.home-intent-head > p {
  margin: 0 0 4px;
  color: #61716c;
  font-size: 14px;
  line-height: 1.65;
}

.home-intent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #b8c9c2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(43, 62, 56, .08);
}

.intent-card {
  --intent: #658d7e;
  position: relative;
  min-height: 328px;
  padding: 29px;
  overflow: hidden;
  border-right: 1px solid #cbd8d2;
  color: #263632;
  background: linear-gradient(145deg, #fff, var(--intent-wash, #edf5f1));
  transition: transform .18s ease, background .18s ease;
}

.intent-card:last-child { border-right: 0; }
.intent-card:hover { z-index: 1; transform: translateY(-4px); background: #fff; }
.intent-card > span { display: block; color: var(--intent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.intent-symbol { display: grid; width: 52px; height: 52px; place-items: center; margin: 29px 0 25px; border: 1px solid color-mix(in srgb, var(--intent) 55%, #fff); border-radius: 50%; color: var(--intent); background: rgba(255,255,255,.7); font-family: var(--mono); font-size: 17px; font-weight: 800; box-shadow: inset 0 0 0 7px color-mix(in srgb, var(--intent) 11%, transparent); }
.intent-card h3 { max-width: 300px; margin: 0; font-size: 25px; letter-spacing: -.052em; line-height: 1.02; }
.intent-card p { max-width: 350px; margin: 15px 0 0; color: #61716b; font-size: 12px; line-height: 1.65; }
.intent-card strong { display: flex; position: absolute; right: 29px; bottom: 27px; left: 29px; align-items: center; justify-content: space-between; color: var(--intent); font-family: var(--mono); font-size: 8px; letter-spacing: .065em; }
.intent-card strong i { font-size: 18px; font-style: normal; }
.intent-fault { --intent: #a15e4a; --intent-wash: #fff2ec; }
.intent-library { --intent: #47798b; --intent-wash: #eef6f8; }
.intent-tools { --intent: #7b6d41; --intent-wash: #fbf6e9; }

.home-section-heading {
  margin-bottom: 46px;
}

.home-sectors {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 16%, rgba(168, 199, 218, 0.17), transparent 28%),
    radial-gradient(circle at 91% 84%, rgba(201, 189, 219, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(238, 239, 236, 0.42));
}

.home-sector-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.home-sector-card {
  --sector-border: #b9c3ca;
  --sector-ink: #55616a;
  --sector-wash: rgba(185, 195, 202, 0.14);
  position: relative;
  display: grid;
  min-height: 235px;
  grid-template-columns: 64px 1fr;
  align-items: center;
  gap: 20px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--sector-border);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), var(--sector-wash));
  box-shadow: 0 14px 34px rgba(27, 33, 37, 0.055), inset 0 1px rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.home-sector-card::before {
  position: absolute;
  z-index: 2;
  inset: 18px auto 18px 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--sector-border);
  content: "";
}

.home-sector-card::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-repeat: no-repeat;
  background-size: 300% 200%;
  content: "";
  filter: grayscale(0.12) saturate(0.58) contrast(0.92);
  opacity: 0.14;
  pointer-events: none;
  transition: opacity 180ms ease, transform 240ms ease;
}

.home-sector-card .sector-identity,
.home-sector-card > div,
.home-sector-card .sector-arrow {
  position: relative;
  z-index: 1;
}

.sector-electric {
  --sector-border: #a8c7da;
  --sector-ink: #386f87;
  --sector-wash: rgba(168, 199, 218, 0.16);
}

.sector-electric::after { background-position: 0 0; }

.sector-cooling {
  --sector-border: #aed5cb;
  --sector-ink: #34786c;
  --sector-wash: rgba(174, 213, 203, 0.16);
}

.sector-cooling::after { background-position: 50% 0; }

.sector-library {
  --sector-border: #e8c2a7;
  --sector-ink: #a15835;
  --sector-wash: rgba(232, 194, 167, 0.16);
}

.sector-library::after { background-position: 100% 0; }

.sector-tools {
  --sector-border: #c9bddb;
  --sector-ink: #6b5c83;
  --sector-wash: rgba(201, 189, 219, 0.16);
}

.sector-tools::after { background-position: 0 100%; }

.sector-inverter {
  --sector-border: #b8c7df;
  --sector-ink: #536b96;
  --sector-wash: rgba(184, 199, 223, 0.18);
}

.sector-inverter::after { background-position: 50% 100%; }

.sector-topten {
  --sector-border: #dfbfc1;
  --sector-ink: #92595d;
  --sector-wash: rgba(223, 191, 193, 0.18);
}

.sector-topten::after { background-position: 100% 100%; }

.home-sector-card:hover {
  z-index: 1;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), var(--sector-wash));
  box-shadow: 0 19px 42px rgba(27, 33, 37, 0.09), inset 0 1px rgba(255, 255, 255, 0.95);
  transform: translateY(-3px);
}

.home-sector-card:hover::after {
  opacity: 0.2;
  transform: scale(1.025);
}

.home-sector-card:focus-visible {
  outline: 3px solid rgba(227, 94, 37, 0.28);
  outline-offset: 4px;
}

.sector-identity {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
}

.sector-mark {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border: 1px solid var(--sector-border);
  border-radius: 16px;
  color: var(--sector-ink);
  background: rgba(255, 255, 255, 0.52);
  box-shadow: inset 0 0 0 6px var(--sector-wash);
}

.sector-mark svg {
  width: 38px;
  height: 38px;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sector-index {
  color: var(--sector-ink);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.home-sector-card h3 {
  margin: 0 0 9px;
  font-size: 23px;
  letter-spacing: -0.025em;
}

.home-sector-card p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.sector-detail-line {
  display: inline-flex;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--sector-border);
  color: var(--sector-ink);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sector-arrow {
  position: absolute;
  right: 22px;
  bottom: 20px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--sector-border);
  border-radius: 50%;
  color: var(--sector-ink);
  font-size: 22px;
  line-height: 1;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.home-sector-card:hover .sector-arrow {
  color: #fff;
  background: var(--sector-ink);
  transform: translateX(2px);
}

/* REFTHE visual navigation system — pastels, stronger contours, quiet imagery */
.home-sector-card {
  border-width: 2px;
  box-shadow: 0 14px 34px rgba(27, 33, 37, 0.055), inset 0 0 0 1px rgba(255, 255, 255, 0.92);
}

.sector-cooling { --sector-border: #58a995; --sector-ink: #286e61; }
.sector-library { --sector-border: #d88559; --sector-ink: #964f2b; }
.sector-tools { --sector-border: #9c7fc0; --sector-ink: #655079; }
.sector-inverter { --sector-border: #6689bf; --sector-ink: #445f8a; }
.sector-topten { --sector-border: #c66d78; --sector-ink: #87434d; }
.home-sector-card::after { opacity: 0.18; }
.home-sector-card:hover::after { opacity: 0.26; }

.refrigeration-entry-grid > a {
  border-width: 2px;
  box-shadow: 0 10px 28px rgba(36, 53, 49, 0.055), inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}
.refrigeration-entry-grid > a:nth-child(1) { --card-accent: #ad6757; --card-border: #cf9689; }
.refrigeration-entry-grid > a:nth-child(2) { --card-accent: #5f8e65; --card-border: #91b592; }
.refrigeration-entry-grid > a:nth-child(3) { --card-accent: #537e99; --card-border: #91b1c4; }
.refrigeration-entry-grid > a:nth-child(4) { --card-accent: #78668e; --card-border: #ae9fc0; }
.refrigeration-entry-grid > a:nth-child(5) { --card-accent: #927a46; --card-border: #c6b177; }
.refrigeration-entry-grid > a:nth-child(6) { --card-accent: #438a80; --card-border: #82b8b0; }
.refrigeration-entry-photo { opacity: 0.17; }
.refrigeration-entry-grid > a:hover .refrigeration-entry-photo { opacity: 0.25; }

.component-atlas-grid > a,
.application-route-grid > a,
.manufacturer-name-grid > a,
.home-tools-route a {
  --visual-accent: #5c988c;
  --visual-border: #98beb5;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.component-atlas-grid > a {
  border-color: var(--visual-border);
  border-right-width: 2px;
  border-bottom-width: 2px;
  background: linear-gradient(140deg, rgba(255,255,255,.76), color-mix(in srgb, var(--visual-border) 16%, #fff));
  transition: color 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.component-atlas-grid > a::before,
.application-route-grid > a::before,
.manufacturer-name-grid > a::before,
.home-tools-route a::before {
  position: absolute;
  z-index: -1;
  inset: 12px 8px 10px 38%;
  background: url("home-sectors-photo-grid-v1.webp") center / 300% 200% no-repeat;
  content: "";
  filter: grayscale(.2) saturate(.68) contrast(.9);
  opacity: .1;
  pointer-events: none;
  transition: opacity 180ms ease, transform 240ms ease;
}
.component-atlas-grid > a > *,
.application-route-grid > a > *,
.manufacturer-name-grid > a > *,
.home-tools-route a > * { position: relative; z-index: 1; }
.component-atlas-grid > a:hover,
.application-route-grid > a:hover,
.manufacturer-name-grid > a:hover { border-color: var(--visual-accent); }
.component-atlas-grid > a:hover { box-shadow: 0 17px 35px rgba(30, 74, 64, .09); transform: translateY(-3px); }
.component-atlas-grid > a:hover::before,
.application-route-grid > a:hover::before,
.manufacturer-name-grid > a:hover::before,
.home-tools-route a:hover::before { opacity: .2; transform: scale(1.04); }
.component-atlas-grid > a:nth-child(2n), .application-route-grid > a:nth-child(2n), .manufacturer-name-grid > a:nth-child(2n), .home-tools-route a:nth-child(2n) { --visual-accent: #6686aa; --visual-border: #9bb6ca; }
.component-atlas-grid > a:nth-child(3n), .application-route-grid > a:nth-child(3n), .manufacturer-name-grid > a:nth-child(3n), .home-tools-route a:nth-child(3n) { --visual-accent: #a77559; --visual-border: #d2ad98; }
.component-atlas-grid > a:nth-child(4n), .application-route-grid > a:nth-child(4n), .manufacturer-name-grid > a:nth-child(4n), .home-tools-route a:nth-child(4n) { --visual-accent: #8a719f; --visual-border: #b9a7c8; }
.component-atlas-grid > a:nth-child(5n), .application-route-grid > a:nth-child(5n), .manufacturer-name-grid > a:nth-child(5n) { --visual-accent: #9b844e; --visual-border: #cab980; }
.component-atlas-grid > a:nth-child(2)::before, .application-route-grid > a:nth-child(2)::before, .manufacturer-name-grid > a:nth-child(2)::before, .home-tools-route a:nth-child(2)::before { background-position: 50% 0; }
.component-atlas-grid > a:nth-child(3)::before, .application-route-grid > a:nth-child(3)::before, .manufacturer-name-grid > a:nth-child(3)::before, .home-tools-route a:nth-child(3)::before { background-position: 100% 0; }
.component-atlas-grid > a:nth-child(4)::before, .application-route-grid > a:nth-child(4)::before, .manufacturer-name-grid > a:nth-child(4)::before, .home-tools-route a:nth-child(4)::before { background-position: 0 100%; }
.component-atlas-grid > a:nth-child(5)::before, .application-route-grid > a:nth-child(5)::before, .manufacturer-name-grid > a:nth-child(5)::before { background-position: 50% 100%; }
.component-atlas-grid > a:nth-child(6)::before, .application-route-grid > a:nth-child(6)::before, .manufacturer-name-grid > a:nth-child(6)::before { background-position: 100% 100%; }

.application-route-grid > a {
  border-width: 2px;
  border-color: var(--visual-border);
  background: linear-gradient(145deg, rgba(255,255,255,.94), color-mix(in srgb, var(--visual-border) 18%, #fff));
}
.manufacturer-name-grid > a {
  border-width: 2px;
  border-color: var(--visual-border);
  background: linear-gradient(145deg, rgba(255,255,255,.89), color-mix(in srgb, var(--visual-border) 13%, #fff));
}
.manufacturer-name-grid > a::before { inset: 15px 7px 8px 47%; opacity: .075; }
.manufacturer-name-grid > a:hover::before { opacity: .15; }

.home-tools-route a {
  border-right: 2px solid var(--visual-border);
  border-bottom: 2px solid var(--visual-border);
  background: linear-gradient(145deg, color-mix(in srgb, #202428 88%, var(--visual-accent)), #202428);
}
.home-tools-route a::before { opacity: .095; filter: grayscale(.35) saturate(.7) contrast(.88); }
.home-tools-route a:hover { background: linear-gradient(145deg, color-mix(in srgb, #282d31 84%, var(--visual-accent)), #282d31); box-shadow: inset 0 -3px 0 var(--visual-accent); }
.home-tools-route a span,
.home-tools-route a i { color: color-mix(in srgb, var(--visual-accent) 70%, #fff); }

.manual-category-card,
.top10-category-card,
.library-shelf-card { border-width: 2px; }
.manual-category-card { border-color: color-mix(in srgb, var(--tone-accent) 62%, #fff); }
.manual-category-card::after { opacity: .17; }
.manual-category-card:hover::after { opacity: .25; }
.top10-category-card { border-color: color-mix(in srgb, var(--top10-tone-accent) 62%, #fff); }
.top10-category-card::before { opacity: .17; }
.top10-category-card:hover::before { opacity: .25; }

.home-library-v2 {
  padding-block: 95px;
  color: #f4f3ef;
  background: linear-gradient(135deg, #111416 0%, #1b2023 55%, #2a3033 100%);
}

.home-library-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(500px, 1.18fr);
  align-items: center;
  gap: 80px;
}

.home-library-copy h2 {
  max-width: 580px;
  margin: 0;
  font-size: clamp(42px, 5vw, 66px);
  letter-spacing: -0.045em;
  line-height: 1;
}

.home-library-copy > p:not(.eyebrow) {
  max-width: 560px;
  margin: 24px 0 0;
  color: #b7bcbd;
  font-size: 16px;
}

.library-language-line {
  display: flex;
  gap: 8px;
  margin-block: 28px;
}

.library-language-line span {
  display: grid;
  width: 38px;
  height: 33px;
  place-items: center;
  border: 1px solid #5a6164;
  color: #e9eae6;
  font-family: var(--mono);
  font-size: 9px;
}

.home-library-console {
  border: 1px solid #565d60;
  background: rgba(8, 10, 11, 0.25);
}

.library-console-head,
.library-console-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 14px 18px;
  color: #8f9799;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.library-console-head {
  border-bottom: 1px solid #565d60;
}

.library-console-foot {
  justify-content: flex-start;
  gap: 25px;
  border-top: 1px solid #565d60;
}

.home-library-console > a {
  display: grid;
  min-height: 100px;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid #454c4f;
}

.home-library-console > a:nth-last-of-type(1) {
  border-bottom: 0;
}

.home-library-console > a:hover {
  background: rgba(255, 255, 255, 0.035);
}

.library-file {
  display: grid;
  width: 46px;
  height: 58px;
  place-items: center;
  border: 1px solid #737a7d;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 8px;
}

.home-library-console strong {
  display: block;
  font-size: 14px;
}

.home-library-console small {
  display: block;
  margin-top: 4px;
  color: #909799;
  font-size: 10px;
}

.library-langs {
  color: #c2c6c6;
  font-family: var(--mono);
  font-size: 9px;
}

.commerce-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(300px, 0.58fr);
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.commerce-feature {
  display: grid;
  min-height: 500px;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 45px;
  padding: 44px;
  border-right: 1px solid var(--line-strong);
}

.commerce-visual {
  position: relative;
  display: grid;
  min-height: 370px;
  place-items: center;
  border: 1px solid var(--line-strong);
  background: var(--surface-2);
}

.commerce-visual img {
  width: 92%;
  filter: grayscale(1) contrast(1.08);
}

.commerce-rank {
  position: absolute;
  top: 16px;
  left: 17px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 10px;
}

.commerce-copy h3 {
  margin: 18px 0 11px;
  font-size: 42px;
  letter-spacing: -0.04em;
  line-height: 1;
}

.commerce-copy > p {
  color: var(--muted);
  font-size: 14px;
}

.commerce-score {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-block: 28px;
}

.commerce-score strong {
  font-size: 55px;
  letter-spacing: -0.05em;
  line-height: 0.85;
}

.commerce-score span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.commerce-method {
  padding: 34px;
  background: var(--surface-2);
}

.commerce-method > div {
  padding-block: 23px;
  border-top: 1px solid var(--line-strong);
}

.commerce-method > div span {
  display: block;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.commerce-method > div strong {
  display: block;
  margin-top: 7px;
  font-size: 14px;
}

.commerce-method > div p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.commerce-method .text-link {
  margin-top: 20px;
}

.review-principles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid var(--ink);
  border-left: 1px solid var(--line-strong);
}

.review-principles article {
  min-height: 265px;
  padding: 28px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.review-principles span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
}

.review-principles h3 {
  margin: 60px 0 12px;
  font-size: 20px;
  line-height: 1.1;
}

.review-principles p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.home-guides-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.home-guide-feature {
  display: flex;
  min-height: 470px;
  flex-direction: column;
  padding: 44px;
  border-right: 1px solid var(--line-strong);
  background: linear-gradient(135deg, transparent 58%, rgba(227, 94, 37, 0.07) 58%);
}

.home-guide-feature h3 {
  max-width: 650px;
  margin: 95px 0 18px;
  font-size: 42px;
  letter-spacing: -0.04em;
  line-height: 1.04;
}

.home-guide-feature p {
  max-width: 650px;
  color: var(--muted);
}

.home-guide-feature .text-link {
  align-self: flex-start;
  margin-top: auto;
}

.home-guide-list {
  display: flex;
  flex-direction: column;
}

.home-guide-list a {
  display: grid;
  min-height: 156px;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 12px 20px;
  padding: 28px;
  border-bottom: 1px solid var(--line-strong);
}

.home-guide-list a:last-child {
  border-bottom: 0;
}

.home-guide-list a:hover {
  background: #faf9f6;
}

.home-guide-list span {
  grid-column: 1;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.home-guide-list strong {
  font-size: 16px;
  line-height: 1.3;
}

.home-guide-list i {
  grid-row: 1 / 3;
  grid-column: 2;
  align-self: center;
  color: var(--accent);
  font-style: normal;
  font-size: 20px;
}

.home-loyalty {
  padding-block: 95px;
  color: #f4f3ef;
  background: #111416;
}

.loyalty-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(500px, 1.18fr);
  align-items: center;
  gap: 85px;
}

.loyalty-grid h2 {
  margin: 0;
  font-size: clamp(43px, 5vw, 68px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.loyalty-grid > div:first-child > p:not(.eyebrow) {
  max-width: 580px;
  margin: 23px 0 30px;
  color: #aeb4b5;
}

.loyalty-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #444b4e;
  border-left: 1px solid #444b4e;
}

.loyalty-features > div {
  min-height: 175px;
  padding: 24px;
  border-right: 1px solid #444b4e;
  border-bottom: 1px solid #444b4e;
}

.loyalty-features span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.loyalty-features strong {
  display: block;
  margin-top: 27px;
  font-size: 14px;
}

.loyalty-features p {
  margin: 8px 0 0;
  color: #949b9d;
  font-size: 11px;
}

.home-footer .footer-brand .brand-wordmark {
  width: 220px;
}

.feedback-panel {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  display: flex;
  width: min(440px, 100%);
  height: 100%;
  flex-direction: column;
  border-left: 1px solid var(--ink);
  background: var(--paper);
  box-shadow: -20px 0 60px rgba(0, 0, 0, 0.18);
  transform: translateX(105%);
  transition: transform 220ms ease;
}

.feedback-panel.is-open {
  transform: translateX(0);
}

.panel-backdrop {
  position: fixed;
  z-index: 90;
  inset: 0;
  display: none;
  background: rgba(17, 20, 22, 0.55);
}

.panel-backdrop.is-visible {
  display: block;
}

.feedback-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line-strong);
  background: var(--surface);
}

.feedback-header h2 {
  margin: 0;
  font-size: 20px;
}

.feedback-content {
  flex: 1;
  padding: 24px;
  overflow: auto;
}

.feedback-content > p {
  margin-top: 0;
  color: var(--muted);
  font-size: 13px;
}

.feedback-section {
  margin-top: 24px;
}

.feedback-section h3,
.field-label {
  display: block;
  margin: 0 0 11px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.check-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: 11px;
}

.feedback-content textarea,
.feedback-content select {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  color: var(--ink);
  background: var(--surface);
  outline: none;
}

.feedback-content textarea {
  min-height: 130px;
  resize: vertical;
}

.feedback-content textarea:focus,
.feedback-content select:focus {
  border-color: var(--ink);
}

.feedback-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 18px 24px;
  border-top: 1px solid var(--line-strong);
  background: var(--surface);
}

.feedback-footer .button {
  width: 100%;
}

.toast {
  position: fixed;
  z-index: 150;
  bottom: 24px;
  left: 50%;
  padding: 11px 16px;
  border-radius: 2px;
  color: #fff;
  background: var(--ink);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 20px);
  transition: opacity 180ms ease, transform 180ms ease;
  font-size: 12px;
}

.toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.brand-board {
  padding-block: 70px 100px;
}

.brand-board-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 36px;
}

.brand-sample {
  display: grid;
  min-height: 330px;
  place-items: center;
  padding: 45px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.brand-sample.dark {
  border-color: #34393c;
  background: var(--ink);
}

.brand-sample img {
  width: min(100%, 390px);
}

.brand-applications {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 16px;
  margin-top: 16px;
}

.avatar-sample,
.brand-rationale {
  min-height: 290px;
  padding: 38px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.avatar-sample {
  display: grid;
  place-items: center;
  background:
    linear-gradient(45deg, #e7e8e5 25%, transparent 25%),
    linear-gradient(-45deg, #e7e8e5 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e7e8e5 75%),
    linear-gradient(-45deg, transparent 75%, #e7e8e5 75%),
    #f5f4ef;
  background-position: 0 0, 0 14px, 14px -14px, -14px 0;
  background-size: 28px 28px;
}

.avatar-sample img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  box-shadow: var(--shadow);
}

.brand-rationale h2 {
  margin: 0 0 22px;
  font-size: 29px;
  letter-spacing: -0.03em;
}

.brand-rationale ul {
  margin: 0;
  padding-left: 20px;
  color: var(--ink-soft);
}

.brand-rationale li + li {
  margin-top: 11px;
}

@media (max-width: 1080px) {
  .header-inner {
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .primary-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    padding: 12px 20px 20px;
    border-bottom: 1px solid var(--line-strong);
    background: var(--paper);
    box-shadow: var(--shadow);
  }

  .primary-nav.is-open {
    display: grid;
  }

  .primary-nav a {
    padding: 12px;
    border-bottom: 1px solid var(--line);
  }

  .menu-toggle {
    display: inline-grid;
  }

  .hero-inner {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .hero-panel {
    display: none;
  }

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

  .trust-item:nth-child(3) {
    border-top: 1px solid var(--line);
  }

  .trust-item:nth-child(4) {
    border-top: 1px solid var(--line);
    border-right: 1px solid var(--line);
  }

  .ranking-preview,
  .ranking-feature {
    grid-template-columns: 1fr;
  }

  .ranking-feature {
    border-right: 0;
    border-bottom: 1px solid #454a4d;
  }

  .ranking-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .ranking-mini {
    border-right: 1px solid #454a4d;
    border-bottom: 0;
  }

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

  .article-card.featured {
    grid-column: 1 / -1;
  }

  .product-row {
    grid-template-columns: 55px 130px 1fr 120px;
  }

  .product-use {
    display: none;
  }

  .article-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }

  .article-toc {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 30px;
  }

  .docs-feature,
  .library-hero-grid {
    grid-template-columns: 1fr;
  }

  .docs-feature-copy {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }

  .library-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 25px;
  }

  .document-card {
    grid-template-columns: 54px 1fr auto;
  }

  .document-meta {
    display: none;
  }

  .home-hero-grid,
  .home-library-grid,
  .loyalty-grid {
    grid-template-columns: 1fr;
  }

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

  .home-hero-grid {
    gap: 50px;
  }

  .home-command {
    display: none;
  }

  .home-library-grid,
  .loyalty-grid {
    gap: 50px;
  }

  .commerce-grid,
  .commerce-feature {
    grid-template-columns: 1fr;
  }

  .commerce-feature {
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }

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

@media (max-width: 760px) {
  .container {
    width: min(calc(100% - 28px), var(--max));
  }

  .simulation-bar .container {
    min-height: 38px;
  }

  .simulation-status span:last-child {
    display: none;
  }

  .header-inner {
    min-height: 68px;
  }

  .brand-subtitle {
    display: none;
  }

  .brand-wordmark {
    width: 164px;
  }

  .hero-inner {
    min-height: auto;
    padding-block: 65px 76px;
  }

  .hero h1,
  .page-hero h1,
  .article-header h1 {
    font-size: 42px;
  }

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

  .technical-search {
    grid-template-columns: 1fr;
    box-shadow: 5px 5px 0 var(--ink);
  }

  .technical-search button {
    min-height: 45px;
  }

  .search-result-item {
    grid-template-columns: 1fr auto;
  }

  .result-type {
    display: none;
  }

  .trust-grid,
  .category-grid,
  .editorial-grid,
  .newsletter,
  .page-hero-inner,
  .article-header-grid,
  .article-layout,
  .method-box,
  .method-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .trust-item,
  .trust-item:last-child {
    min-height: 78px;
    border: 0;
    border-bottom: 1px solid var(--line);
  }

  .section {
    padding-block: 65px;
  }

  .section-header {
    display: block;
  }

  .section-header p,
  .section-header .text-link {
    margin-top: 18px;
  }

  .category-grid {
    gap: 10px;
  }

  .category-card {
    min-height: 235px;
  }

  .ranking-feature {
    padding: 26px;
  }

  .ranking-list {
    grid-template-columns: 1fr;
  }

  .ranking-mini {
    border-right: 0;
    border-bottom: 1px solid #454a4d;
  }

  .article-card,
  .article-card.featured {
    min-height: 310px;
  }

  .article-card.featured h3 {
    margin-top: 50px;
    font-size: 31px;
  }

  .newsletter {
    gap: 25px;
    padding: 28px;
  }

  .newsletter .button {
    width: 100%;
  }

  .page-hero-inner {
    min-height: auto;
    align-items: start;
    gap: 34px;
    padding-block: 55px;
  }

  .ranking-toolbar {
    display: block;
  }

  .ranking-toolbar .text-link {
    margin-top: 16px;
  }

  .product-row {
    grid-template-columns: 45px 95px 1fr;
    gap: 14px;
    padding: 20px 8px;
  }

  .product-action {
    grid-column: 2 / -1;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    text-align: left;
  }

  .product-score {
    margin: 0;
  }

  .method-box {
    gap: 30px;
    padding: 26px;
  }

  .article-header {
    padding-block: 50px;
  }

  .article-layout {
    padding-block: 48px 70px;
  }

  .sticky-cta {
    position: static;
  }

  .pros-cons {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    gap: 20px;
  }

  .footer-column {
    padding-top: 18px;
    border-top: 1px solid #2e3335;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .feedback-toggle {
    right: 12px;
    bottom: 12px;
  }

  .feedback-toggle span {
    display: none;
  }

  .brand-board-grid,
  .brand-applications {
    grid-template-columns: 1fr;
  }

  .brand-sample {
    min-height: 230px;
    padding: 28px;
  }

  .docs-feature,
  .library-layout,
  .source-method,
  .source-method-grid {
    grid-template-columns: 1fr;
  }

  .docs-feature-copy,
  .docs-feature-list {
    padding: 28px;
  }

  .library-hero {
    padding-block: 55px 45px;
  }

  .library-hero-grid {
    gap: 30px;
  }

  .library-hero h1 {
    font-size: 45px;
  }

  .library-search {
    grid-template-columns: 1fr;
  }

  .library-search .button {
    width: 100%;
  }

  .library-stats-inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .library-stat:nth-child(3),
  .library-stat:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .library-filters {
    position: static;
  }

  .document-card {
    grid-template-columns: 50px 1fr;
    gap: 14px;
  }

  .document-actions {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    text-align: left;
  }

  .document-actions .language-pills {
    margin: 0;
  }

  .source-method {
    gap: 30px;
    padding: 27px;
  }

  .simulation-note {
    display: none;
  }

  .home-header .header-inner {
    min-height: 72px;
  }

  .home-mark,
  .home-mark img {
    width: 48px;
    height: 48px;
  }

  .home-hero-grid {
    min-height: auto;
    padding-block: 62px 76px;
  }

  .home-hero-copy h1 {
    font-size: 49px;
  }

  .home-hero-lead {
    font-size: 16px;
  }

  .home-proof-grid,
  .home-sector-grid,
  .review-principles,
  .home-guides-grid,
  .loyalty-features {
    grid-template-columns: 1fr;
  }

  .home-proof-grid > div,
  .home-proof-grid > div:last-child {
    min-height: 75px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .home-sector-card {
    min-height: 165px;
    grid-template-columns: 66px 1fr;
    gap: 18px;
    padding: 24px;
  }

  .sector-mark {
    width: 56px;
    height: 56px;
    border-radius: 14px;
  }

  .sector-mark svg {
    width: 34px;
    height: 34px;
  }

  .home-library-v2,
  .home-loyalty {
    padding-block: 68px;
  }

  .home-library-grid,
  .loyalty-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .home-library-console > a {
    grid-template-columns: 46px 1fr;
  }

  .library-langs {
    grid-column: 2;
  }

  .commerce-feature {
    padding: 25px;
  }

  .commerce-visual {
    min-height: 300px;
  }

  .commerce-copy h3 {
    font-size: 35px;
  }

  .review-principles article {
    min-height: 220px;
  }

  .review-principles h3 {
    margin-top: 42px;
  }

  .home-guide-feature {
    min-height: 390px;
    padding: 28px;
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }

  .home-guide-feature h3 {
    margin-top: 60px;
    font-size: 33px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Homepage · Biblioteca Tecnica: superficie editoriale ad alto contrasto. */
.home-v2 .home-library-v2 {
  color: #162f35 !important;
  background:
    radial-gradient(circle at 88% 15%, rgba(132, 178, 191, .22), transparent 28rem),
    linear-gradient(135deg, #e4f0f3 0%, #f6f8f6 54%, #e8f0ee 100%) !important;
}
.home-v2 .home-library-copy h2 { color: #19343a; }
.home-v2 .home-library-v2 .eyebrow { color: #bd5b31; }
.home-v2 .home-library-v2 .eyebrow::before { background: #ed632a; }
.home-v2 .home-library-copy > p:not(.eyebrow) { color: #4b6267; }
.home-v2 .home-library-v2 .library-language-line span {
  border-color: #8ba8ae;
  background: rgba(255, 255, 255, .72);
  color: #32575e;
}
.home-v2 .home-library-v2 .button-light {
  border-color: #2f655d;
  background: #315f59;
  color: #fff;
  box-shadow: 0 10px 20px rgba(47, 101, 93, .16);
}
.home-v2 .home-library-v2 .button-light:hover { background: #244c47; }
.home-v2 .home-library-v2 .home-library-console {
  overflow: hidden;
  border: 1px solid #94adb1;
  border-top: 4px solid #486f78;
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 20px 44px rgba(41, 73, 80, .15);
}
.home-v2 .home-library-v2 .library-console-head,
.home-v2 .home-library-v2 .library-console-foot {
  color: #49676d;
  background: #e1ebeb;
}
.home-v2 .home-library-v2 .home-library-console > a {
  border-color: #c7d6d7;
  background: rgba(255, 255, 255, .86);
}
.home-v2 .home-library-v2 .home-library-console > a:nth-child(2n) { background: #f0f5f4; }
.home-v2 .home-library-v2 .home-library-console > a:hover { background: #e0efeb; }
.home-v2 .home-library-v2 .home-library-console strong { color: #1d383e; }
.home-v2 .home-library-v2 .home-library-console small { color: #60777a; }
.home-v2 .home-library-v2 .library-file {
  border-color: #91aeb3;
  background: #eaf4f3;
  color: #cf5e37;
}
.home-v2 .home-library-v2 .library-langs { color: #53757b !important; }

/* REFTHE · armocromia calma: ogni sezione ha un orientamento visivo proprio,
   mantenendo gli stessi contrasti e la stessa precisione tecnica. */
.site-header { background: rgba(249, 248, 244, .94); }
.primary-nav a:hover,
.primary-nav a[aria-current="page"] { background: var(--pantone-powder-wash); }
.home-hero-v2 {
  background:
    radial-gradient(circle at 89% 14%, rgba(119, 167, 155, .20), transparent 24rem),
    radial-gradient(circle at 12% 82%, rgba(158, 180, 192, .16), transparent 28rem),
    linear-gradient(135deg, #f8faf7 0%, #eef4f0 54%, #edf2f3 100%);
}
.home-proof { background: linear-gradient(90deg, var(--pantone-sage-wash), var(--pantone-powder-wash), var(--pantone-lilac-wash)); }
.home-sectors { background: linear-gradient(145deg, #fafaf7, #f1f4ef); }
.home-library-v2 {
  color: #f0f5f6;
  background:
    radial-gradient(circle at 87% 18%, rgba(158, 180, 192, .22), transparent 25rem),
    radial-gradient(circle at 10% 85%, rgba(119, 167, 155, .15), transparent 24rem),
    linear-gradient(135deg, #132224 0%, #1e3032 57%, #22323f 100%);
}
.home-library-v2 .eyebrow { color: #a9d6ce; }
.home-library-v2 .eyebrow::before { background: #d88b78; }
.home-library-copy > p:not(.eyebrow) { color: #c4d1d1; }
.home-library-v2 .library-language-line span {
  border-color: rgba(183, 209, 213, .45);
  background: rgba(255, 255, 255, .055);
  color: #f3f6f5;
}
.home-library-v2 .home-library-console {
  border-color: rgba(185, 209, 214, .35);
  border-radius: 10px;
  background: rgba(9, 23, 27, .64);
  box-shadow: 18px 22px 0 rgba(82, 120, 129, .16);
}
.home-library-v2 .library-console-head,
.home-library-v2 .library-console-foot {
  color: #b9cbd0;
  background: rgba(255, 255, 255, .035);
}
.home-library-v2 .home-library-console > a { border-color: rgba(185, 209, 214, .20); }
.home-library-v2 .home-library-console > a:nth-child(2n) { background: rgba(158, 180, 192, .075); }
.home-library-v2 .home-library-console > a:hover { background: rgba(119, 167, 155, .18); }
.home-library-v2 .home-library-console strong { color: #f3f7f6; }
.home-library-v2 .home-library-console small { color: #b4c1c1; }
.home-library-v2 .library-file {
  border-color: #88b7bc;
  color: #f2a17e;
  background: rgba(136, 183, 188, .10);
}
.home-library-v2 .library-langs { color: #b5d8d2 !important; }
.home-tools-gateway { background: linear-gradient(135deg, #f7efe2, #fbf8f1 58%, #f2eadc); }
.home-commerce { background: linear-gradient(135deg, #f9ece7, #fbf7f3 57%, #f4efec); }
.home-guides-grid .home-guide-feature { background: linear-gradient(145deg, var(--pantone-teal-wash), #f8fbf9); }
.review-principles article:nth-child(1) { background: var(--pantone-sage-wash); }
.review-principles article:nth-child(2) { background: var(--pantone-powder-wash); }
.review-principles article:nth-child(3) { background: var(--pantone-lilac-wash); }
.review-principles article:nth-child(4) { background: var(--pantone-sand-wash); }
.section-dark, .site-footer { background: linear-gradient(135deg, #263531, #344640 58%, #2b373c); }
.button:not(.button-outline) { background: #35584e; }
.button:not(.button-outline):hover { background: #29473f; }

/* Cinque ingressi: riconoscibili a colpo d'occhio, senza saturazioni aggressive. */
.home-sector-card.sector-cooling { --sector-bg: var(--pantone-sage-wash); --sector-border: var(--pantone-sage); --sector-ink: #4d6652; }
.home-sector-card.sector-inverter { --sector-bg: var(--pantone-lilac-wash); --sector-border: var(--pantone-lilac); --sector-ink: #5f536e; }
.home-sector-card.sector-library { --sector-bg: var(--pantone-powder-wash); --sector-border: var(--pantone-powder); --sector-ink: #486775; }
.home-sector-card.sector-tools { --sector-bg: var(--pantone-sand-wash); --sector-border: var(--pantone-sand); --sector-ink: #715d35; }
.home-sector-card.sector-topten { --sector-bg: var(--pantone-coral-wash); --sector-border: var(--pantone-coral); --sector-ink: #875142; }
.home-sector-card { background: linear-gradient(145deg, var(--sector-bg), #fff); border-color: var(--sector-border); }
.home-sector-card .sector-mark, .home-sector-card .sector-index, .home-sector-card .sector-arrow { color: var(--sector-ink); }

/* Consultazione: azzurro polvere per documenti, salvia per procedure, sabbia per strumenti. */
.library-hero, .library-catalog-navigation { background-color: var(--pantone-powder-wash); }
.guide-index { background: linear-gradient(135deg, var(--pantone-sage-wash), #fbfaf7 68%); }
.guide-operative-hero { background: radial-gradient(circle at 12% 18%, rgba(158, 170, 150, .20), transparent 28%), var(--pantone-sage-wash); }
.choice-page-section.alt { background: linear-gradient(135deg, var(--pantone-sand-wash), #f7f8f3); }
.fault-answer-content { background: linear-gradient(135deg, #f9fbf8, var(--pantone-sage-wash)); }
.fault-answer-manual { background: linear-gradient(135deg, var(--pantone-powder-wash), #f8f9f7); }

/* REFTHE · Atlante componenti: ricerca rapida e scelta progressiva. */
.plant-search-field { max-width: 820px; margin: 34px 0 0; }
.plant-search-field label { display: block; margin-bottom: 10px; color: #58736a; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.plant-search-field input { width: 100%; padding: 17px 19px; border: 2px solid #9bbcaf; border-radius: 6px; outline: 0; color: #2a3934; background: rgba(255,255,255,.82); font: inherit; font-size: 13px; }
.plant-search-field input:focus { border-color: #557a6d; box-shadow: 0 0 0 4px rgba(119,167,155,.16); }
.plant-selection-intro { display: grid; grid-template-columns: 1fr .7fr; gap: 70px; align-items: end; margin-bottom: 35px; }
.plant-selection-intro h2 { max-width: 610px; margin: 0; font-size: clamp(38px, 4.8vw, 63px); letter-spacing: -.065em; line-height: .93; }
.plant-selection-intro > p { max-width: 470px; margin: 0; color: #60716a; font-size: 13px; line-height: 1.7; }
.plant-selection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #bfcfc7; border-left: 1px solid #bfcfc7; }
.plant-selection-module { min-height: 267px; padding: 25px; border-right: 1px solid #bfcfc7; border-bottom: 1px solid #bfcfc7; background: #fff; }
.plant-selection-module.module-2 { background: var(--pantone-powder-wash); }.plant-selection-module.module-3 { background: var(--pantone-sage-wash); }.plant-selection-module.module-4 { background: var(--pantone-sand-wash); }.plant-selection-module.module-5 { background: var(--pantone-coral-wash); }.plant-selection-module.module-6 { background: var(--pantone-lilac-wash); }
.plant-selection-module span { color: #55746a; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.plant-selection-module h2 { margin: 48px 0 13px; font-size: 26px; letter-spacing: -.055em; line-height: .98; }
.plant-selection-module p { margin: 0; color: #586963; font-size: 12px; line-height: 1.67; }
.plant-brand-section { padding: 86px 0; border-top: 1px solid #ccd8d2; background: linear-gradient(135deg, #edf4f1, #eef2f5 62%, #f8f7f2); }
.plant-brand-heading { display: grid; grid-template-columns: 1fr .7fr; gap: 75px; align-items: end; margin-bottom: 33px; }
.plant-brand-heading h2 { margin: 0; font-size: clamp(38px, 5vw, 66px); letter-spacing: -.067em; line-height: .91; }.plant-brand-heading h2 span { color: #587b70; }
.plant-brand-heading > p { max-width: 470px; margin: 0; color: #60716b; font-size: 13px; line-height: 1.72; }
.plant-brand-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid #bacbc3; border-left: 1px solid #bacbc3; }
.plant-brand-card { display: flex; min-height: 185px; flex-direction: column; padding: 19px; border-right: 1px solid #bacbc3; border-bottom: 1px solid #bacbc3; color: #2e3b36; background: rgba(255,255,255,.76); transition: background .18s ease, transform .18s ease; }
.plant-brand-card:nth-child(2n) { background: rgba(234,241,244,.82); }.plant-brand-card:nth-child(3n) { background: rgba(237,241,233,.82); }.plant-brand-card:hover { z-index: 1; color: #254b40; background: #fff; transform: translateY(-4px); box-shadow: 0 15px 25px rgba(41,61,53,.12); }
.plant-brand-card span { color: #749187; font-family: var(--mono); font-size: 8px; font-weight: 800; }.plant-brand-card strong { display: block; margin-top: 32px; font-size: 19px; letter-spacing: -.045em; line-height: 1; }.plant-brand-card small { margin-top: 10px; color: #65756e; font-size: 10px; line-height: 1.45; }.plant-brand-card i { margin-top: auto; padding-top: 17px; color: #4d756a; font-family: var(--mono); font-size: 7px; font-style: normal; font-weight: 800; letter-spacing: .045em; }
.plant-brand-note { max-width: 850px; margin: 22px 0 0; color: #63746d; font-size: 11px; line-height: 1.65; }
@media (max-width: 980px) { .plant-selection-intro, .plant-brand-heading { grid-template-columns: 1fr; gap: 26px; }.plant-selection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.plant-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) { .plant-selection-grid, .plant-brand-grid { grid-template-columns: 1fr; }.plant-selection-module { min-height: auto; }.plant-selection-module h2 { margin-top: 35px; }.plant-brand-card { min-height: 150px; }.plant-search-field { margin-top: 27px; } }

/* REFTHE · Catalogo CAREL esteso */
.carel-official-page .danfoss-search > div { grid-template-columns: minmax(0, 1fr); }
.carel-official-page .filter-field:first-child { min-width: min(100%, 350px); }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 3px; }
.filter-chips button { min-height: 38px; padding: 0 12px; border: 1px solid #b7c4be; border-radius: 4px; color: #52615d; background: #f8faf8; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.filter-chips button[aria-pressed="true"] { border-color: #2e413b; color: #fff; background: #2e413b; }
.carel-official-card[hidden] { display: none; }
.carel-official-page .library-empty { margin-top: 30px; }
@media (max-width: 620px) { .carel-official-page .filter-field:first-child { min-width: 100%; } .filter-chips button { flex: 1 1 auto; } }

/* Attrezzature REFTHE */
.tools-page {
  background: #f4f3ef;
}

.tools-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f4f3ef;
  background-size: 42px 42px;
}

.tools-hero-grid {
  display: grid;
  min-height: 630px;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
  align-items: center;
  gap: 78px;
  padding-block: 82px;
}

.tools-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 720;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.tools-hero h1 span {
  color: var(--accent-dark);
}

.tools-hero-lead {
  max-width: 740px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 19px;
  line-height: 1.6;
}

.tools-search-shell {
  margin-top: 36px;
}

.tools-search {
  display: grid;
  max-width: 760px;
  grid-template-columns: 1fr auto;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 8px 8px 0 var(--ink);
}

.tools-search:focus-within {
  box-shadow: 8px 8px 0 var(--accent);
}

.tools-search input {
  min-width: 0;
  padding: 19px 21px;
  border: 0;
  outline: 0;
  background: transparent;
}

.tools-search button {
  margin: 5px;
  padding-inline: 20px;
  border: 0;
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.tools-search button:hover {
  background: var(--accent-dark);
}

.tools-path-card {
  padding: 30px;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.12);
}

.tools-path-card ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.tools-path-card li {
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 13px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.tools-path-card li > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
}

.tools-path-card strong,
.tools-path-card small {
  display: block;
}

.tools-path-card strong {
  font-size: 14px;
}

.tools-path-card small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.tools-path-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.tools-path-note i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.tools-workflow {
  padding-block: 48px;
  border-bottom: 1px solid #33383b;
  color: #fff;
  background: var(--ink);
}

.tools-workflow-head,
.tools-catalog-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 28px;
}

.tools-workflow-head h2,
.tools-catalog-head h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.04em;
  line-height: 1;
}

.tools-workflow-head p {
  max-width: 470px;
  margin: 0;
  color: #b8bdbf;
}

.tools-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  border: 1px solid #4b5053;
  background: #202428;
}

.tools-filter-field {
  padding: 12px 15px;
  border-right: 1px solid #454a4d;
}

.tools-filter-field label {
  display: block;
  margin-bottom: 5px;
  color: #9da3a5;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tools-filter-field select {
  width: 100%;
  border: 0;
  outline: 0;
  color: #fff;
  background: #202428;
  font-size: 13px;
  font-weight: 700;
}

.tools-filter-reset {
  min-width: 90px;
  border: 0;
  color: #fff;
  background: var(--accent-dark);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.tools-filter-reset:hover {
  background: var(--accent);
}

.tools-filter-summary {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #92999b;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.tool-ladder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--line-strong);
}

.tool-ladder > a {
  position: relative;
  min-height: 360px;
  padding: 24px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: #fff;
  transition: background 160ms ease, transform 160ms ease;
}

.tool-ladder > a:hover {
  z-index: 1;
  background: #faf7f2;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-3px);
}

.tool-ladder > a > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
}

.tool-symbol {
  display: grid;
  width: 68px;
  height: 68px;
  margin: 50px 0 28px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 24px;
  font-weight: 800;
}

.tool-ladder h3 {
  margin: 0;
  font-size: 21px;
  letter-spacing: -0.02em;
}

.tool-ladder p {
  min-height: 72px;
  margin: 12px 0 20px;
  color: var(--muted);
  font-size: 13px;
}

.tool-ladder small {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

.screwdriver-feature {
  padding-block: 88px;
  border-block: 1px solid var(--line);
  background: #fff;
}

.screwdriver-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: center;
}

.screwdriver-copy h2 {
  max-width: 560px;
  margin: 0;
  font-size: clamp(37px, 4.5vw, 58px);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.screwdriver-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 25px 0 0;
  color: var(--ink-soft);
}

.screwdriver-criteria {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 30px;
}

.screwdriver-criteria span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  color: var(--ink-soft);
  background: var(--paper);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.screwdriver-shortlist {
  border: 1px solid var(--ink);
  background: var(--paper);
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.1);
}

.shortlist-head {
  display: flex;
  justify-content: space-between;
  padding: 13px 18px;
  border-bottom: 1px solid var(--ink);
  color: #fff;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
}

.screwdriver-shortlist article {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  padding: 25px;
  border-bottom: 1px solid var(--line);
}

.screwdriver-shortlist article:last-child {
  border-bottom: 0;
}

.shortlist-rank {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 800;
}

.screwdriver-shortlist small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.screwdriver-shortlist h3 {
  margin: 5px 0 8px;
  font-size: 18px;
}

.screwdriver-shortlist p {
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 12px;
}

.screwdriver-shortlist a {
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 800;
}

.tools-catalog {
  background: #ecece8;
}

.tools-catalog-head {
  margin-bottom: 40px;
}

.catalog-legend {
  display: flex;
  gap: 18px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.catalog-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--line-strong);
}

.status-dot.verified {
  background: var(--success);
}

.status-dot.demo {
  background: var(--accent);
}

.tool-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.affiliate-disclosure {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  margin: -12px 0 28px;
  padding: 15px 18px;
  border: 1px solid var(--line-strong);
  background: #fff;
}

.affiliate-disclosure > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.affiliate-disclosure p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.tool-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: #fff;
  box-shadow: 0 8px 25px rgba(23, 26, 29, 0.035);
}

.tool-card[hidden] {
  display: none;
}

.tool-card-top {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.tool-category-code {
  color: var(--muted);
}

.tool-source-state {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--success);
}

.tool-source-state i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success);
}

.tool-source-state.pending {
  color: var(--warning);
}

.tool-source-state.pending i {
  background: var(--warning);
}

.tool-card-visual {
  display: grid;
  min-height: 175px;
  place-content: center;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f7f6f2;
  background-size: 24px 24px;
  text-align: center;
}

.tool-card-photo {
  position: relative;
  display: grid;
  min-height: 250px;
  margin: 0;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.03) 1px, transparent 1px),
    #fff;
  background-size: 24px 24px;
}

.tool-card-photo img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: contain;
  padding: 16px;
  mix-blend-mode: multiply;
}

.tool-card-photo figcaption {
  position: absolute;
  right: 10px;
  bottom: 8px;
  padding: 4px 6px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.9);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.tool-card-visual span,
.tool-card-visual small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.tool-card-visual strong {
  display: block;
  margin: 6px 0 2px;
  color: var(--ink);
  font-size: 42px;
  letter-spacing: -0.05em;
  line-height: 1;
}

.placeholder-card .tool-card-visual strong {
  color: var(--accent-dark);
}

.tool-card-body {
  flex: 1;
  padding: 22px;
}

.tool-best-for {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tool-card h3 {
  margin: 8px 0 9px;
  font-size: 20px;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.tool-card-body > p {
  min-height: 63px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 12px;
}

.tool-card dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.tool-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
}

.tool-card dt {
  color: var(--muted);
}

.tool-card dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}

.tool-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 22px 22px;
}

.tool-card-actions .button {
  width: 100%;
  text-align: center;
}

.price-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border: 0;
  border-top: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.price-link span {
  color: var(--accent);
  font-size: 16px;
}

.purchase-link {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 13px;
  border: 1px solid var(--accent-dark);
  color: #fff;
  background: var(--accent-dark);
  transition: background 150ms ease, transform 150ms ease;
}

.purchase-link:hover {
  background: var(--accent);
  transform: translateY(-1px);
}

.purchase-link span,
.purchase-link small,
.purchase-link strong {
  display: block;
}

.purchase-link small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.75);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 600;
  text-transform: uppercase;
}

.purchase-link strong {
  font-size: 10px;
  letter-spacing: 0.02em;
}

.purchase-link i {
  font-size: 18px;
  font-style: normal;
}

.tools-empty {
  display: none;
  padding: 45px;
  border: 1px solid var(--line-strong);
  background: #fff;
  text-align: center;
}

.tools-empty.is-visible {
  display: block;
}

.tools-empty strong,
.tools-empty span {
  display: block;
}

.tools-empty span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
}

.tools-job-link {
  padding-block: 90px;
  color: #fff;
  background: var(--ink);
}

.job-link-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  gap: 70px;
}

.job-link-grid h2 {
  max-width: 480px;
  margin: 0;
  font-size: clamp(38px, 4.5vw, 60px);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.job-link-grid > div:first-child > p:not(.eyebrow) {
  max-width: 510px;
  margin: 22px 0 28px;
  color: #b8bdbe;
}

.job-link-flow {
  display: grid;
  grid-template-columns: repeat(7, auto);
  align-items: center;
}

.job-link-flow > div {
  display: flex;
  width: 145px;
  min-height: 145px;
  flex-direction: column;
  justify-content: space-between;
  padding: 17px;
  border: 1px solid #4c5154;
  background: #202428;
}

.job-link-flow > i {
  margin-inline: 8px;
  color: var(--accent);
  font-style: normal;
}

.job-link-flow span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.job-link-flow strong,
.job-link-flow small {
  display: block;
}

.job-link-flow strong {
  font-size: 14px;
}

.job-link-flow small {
  margin-top: 4px;
  color: #9fa5a7;
  font-size: 9px;
}

.tools-companies {
  background: #fff;
}

.company-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--line);
}

.company-grid article {
  min-height: 155px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.company-grid strong,
.company-grid span,
.company-grid small {
  display: block;
}

.company-grid strong {
  font-size: 22px;
  letter-spacing: -0.02em;
}

.company-grid span {
  margin-top: 36px;
  color: var(--ink-soft);
  font-size: 12px;
}

.company-grid small {
  margin-top: 3px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
}

.company-next {
  color: #fff;
  background: var(--ink);
}

.company-next span,
.company-next small {
  color: #b4b9ba;
}

.company-beta {
  box-shadow: inset 4px 0 0 var(--accent);
  background: #fff8f4;
}

.company-beta strong {
  color: var(--accent-dark);
}

.beta-visual {
  box-shadow: inset 0 4px 0 var(--accent);
}

.home-tools-gateway {
  padding-block: 84px;
  border-bottom: 1px solid #363b3e;
  color: #f4f3ef;
  background: var(--ink);
}

.home-tools-gateway-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 74px;
  align-items: center;
}

.home-tools-gateway-copy h2 {
  max-width: 470px;
  margin: 0;
  font-size: clamp(40px, 5vw, 62px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.home-tools-gateway-copy > p:not(.eyebrow) {
  max-width: 500px;
  margin: 23px 0 29px;
  color: #b5babc;
}

.home-tools-route {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #505558;
  border-left: 1px solid #505558;
}

.home-tools-route a {
  display: grid;
  min-height: 170px;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  padding: 21px;
  border-right: 1px solid #505558;
  border-bottom: 1px solid #505558;
  background: #202428;
}

.home-tools-route a:hover {
  background: #282d31;
  box-shadow: inset 0 -3px 0 var(--accent);
}

.home-tools-route span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.home-tools-route strong {
  grid-column: 1;
  align-self: end;
  font-size: 17px;
}

.home-tools-route small {
  grid-column: 1;
  color: #9fa5a6;
  font-size: 10px;
}

.home-tools-route i {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  color: var(--accent);
  font-style: normal;
}

.company-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  padding: 17px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--paper);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
}

.company-rule i {
  color: var(--accent-dark);
  font-style: normal;
  font-weight: 500;
}

@media (max-width: 1050px) {
  .tools-hero-grid,
  .screwdriver-grid,
  .job-link-grid,
  .home-tools-gateway-grid {
    grid-template-columns: 1fr;
  }

  .tools-hero-grid {
    gap: 48px;
  }

  .tools-path-card {
    max-width: 650px;
  }

  .tools-filter-panel {
    grid-template-columns: repeat(2, 1fr);
  }

  .tools-filter-field:nth-child(2) {
    border-right: 0;
  }

  .tools-filter-field:nth-child(-n + 2) {
    border-bottom: 1px solid #454a4d;
  }

  .tools-filter-reset {
    grid-column: 1 / -1;
    min-height: 45px;
  }

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

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

  .job-link-flow {
    justify-content: start;
  }
}

@media (max-width: 720px) {
  .tools-hero-grid {
    min-height: auto;
    padding-block: 58px 70px;
  }

  .tools-hero h1 {
    font-size: 49px;
  }

  .tools-hero-lead {
    font-size: 16px;
  }

  .tools-search {
    grid-template-columns: 1fr;
  }

  .tools-search button {
    min-height: 46px;
  }

  .tools-workflow-head,
  .tools-catalog-head,
  .tools-filter-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .tools-filter-panel,
  .tool-ladder,
  .tool-card-grid,
  .company-grid,
  .home-tools-route {
    grid-template-columns: 1fr;
  }

  .affiliate-disclosure {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .tools-filter-field,
  .tools-filter-field:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #454a4d;
  }

  .tool-ladder > a {
    min-height: 300px;
  }

  .tool-ladder p {
    min-height: auto;
  }

  .screwdriver-grid {
    gap: 46px;
  }

  .catalog-legend {
    align-items: flex-start;
    flex-direction: column;
  }

  .job-link-flow {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .job-link-flow > div {
    width: 100%;
    min-height: 105px;
  }

  .job-link-flow > i {
    text-align: center;
    transform: rotate(90deg);
  }

  .company-rule {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Refrigerazione / catalogo temperatura */
.temperature-page {
  background: #f2f1ed;
}

.temperature-hero {
  border-bottom: 1px solid var(--line-strong);
  background:
    radial-gradient(circle at 82% 34%, rgba(229, 112, 66, 0.1), transparent 23%),
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f4f3ef;
  background-size: auto, 44px 44px, 44px 44px, auto;
}

.temperature-hero-grid {
  display: grid;
  min-height: 660px;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.65fr);
  align-items: center;
  gap: 90px;
  padding-block: 82px;
}

.temperature-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(52px, 6.7vw, 92px);
  font-weight: 650;
  letter-spacing: -0.062em;
  line-height: 0.94;
}

.temperature-hero h1 span {
  color: var(--accent-dark);
  font-weight: 520;
}

.temperature-lead {
  max-width: 760px;
  margin: 29px 0 31px;
  color: var(--ink-soft);
  font-size: 18px;
  line-height: 1.65;
}

.temperature-readout {
  padding: 22px;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 14px 14px 0 rgba(23, 26, 29, 0.11);
}

.readout-screen {
  position: relative;
  min-height: 190px;
  padding: 24px;
  color: #e9f0e9;
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255, 255, 255, 0.018) 5px 6px),
    #202624;
  font-family: var(--mono);
}

.readout-screen span,
.readout-screen strong,
.readout-screen b {
  display: block;
}

.readout-screen span {
  color: #8fa095;
  font-size: 9px;
  letter-spacing: 0.09em;
}

.readout-screen strong {
  margin-top: 38px;
  color: #edf3de;
  font-size: 68px;
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.9;
  text-shadow: 0 0 16px rgba(226, 244, 196, 0.15);
}

.readout-screen b {
  position: absolute;
  right: 23px;
  bottom: 25px;
  color: #9dab9d;
  font-size: 18px;
}

.temperature-readout dl {
  margin: 19px 0 0;
  border-top: 1px solid var(--line);
}

.temperature-readout dl > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.temperature-readout dt {
  color: var(--muted);
  font-family: var(--mono);
  text-transform: uppercase;
}

.temperature-readout dd {
  margin: 0;
  font-weight: 750;
  text-align: right;
}

.temperature-readout > p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.temperature-readout > p i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.temperature-context {
  color: #dce0de;
  background: var(--ink);
}

.temperature-context-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.temperature-context-grid span {
  padding: 16px 20px;
  border-right: 1px solid #41474a;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.temperature-context-grid span:first-child {
  border-left: 1px solid #41474a;
}

.temperature-use-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.temperature-use-grid button {
  position: relative;
  min-height: 295px;
  padding: 25px;
  border: 0;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.42);
  cursor: pointer;
  text-align: left;
  transition: background 160ms ease, transform 160ms ease;
}

.temperature-use-grid button:hover,
.temperature-use-grid button.active {
  z-index: 1;
  background: #fff;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-2px);
}

.temperature-use-grid span,
.temperature-use-grid strong,
.temperature-use-grid small {
  display: block;
}

.temperature-use-grid span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.temperature-use-grid strong {
  max-width: 330px;
  margin-top: 75px;
  font-size: 24px;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

.temperature-use-grid small {
  max-width: 340px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.temperature-use-grid i {
  position: absolute;
  right: 24px;
  bottom: 22px;
  color: var(--accent-dark);
  font-style: normal;
}

.temperature-catalog {
  border-top: 1px solid var(--line-strong);
  background: #e8e8e4;
}

.temperature-catalog-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 45px;
  margin-bottom: 35px;
}

.temperature-catalog-head h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(38px, 4.8vw, 62px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.temperature-filterbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.62);
}

.temperature-filterbar button,
.temperature-empty button,
.temperature-table button {
  border: 0;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

.temperature-filterbar button {
  min-height: 34px;
  padding: 0 11px;
}

.temperature-filterbar button:hover,
.temperature-filterbar button.active {
  color: #fff;
  background: var(--ink);
}

.temperature-filterbar span {
  margin-left: 7px;
  padding: 0 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

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

.temperature-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: #fff;
  box-shadow: 0 10px 26px rgba(23, 26, 29, 0.035);
}

.temperature-product-card[hidden] {
  display: none;
}

.temperature-card-meta {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.055em;
}

.temperature-card-meta span {
  color: var(--muted);
}

.temperature-card-meta b {
  color: var(--success);
}

.temperature-product-card.is-configuration .temperature-card-meta b {
  color: var(--warning);
}

.temperature-card-gauge {
  display: grid;
  min-height: 195px;
  place-content: center;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at center, rgba(229, 112, 66, 0.065), transparent 40%),
    linear-gradient(90deg, rgba(23, 26, 29, 0.04) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.04) 1px, transparent 1px),
    #f5f4f0;
  background-size: auto, 24px 24px, 24px 24px, auto;
  text-align: center;
}

.temperature-card-gauge span,
.temperature-card-gauge small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.temperature-card-gauge strong {
  display: block;
  margin: 7px 0 5px;
  font-size: 43px;
  font-weight: 650;
  letter-spacing: -0.06em;
  line-height: 1;
}

.temperature-card-photo {
  display: grid;
  min-height: 254px;
  margin: 0;
  grid-template-rows: 208px 46px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.027) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.027) 1px, transparent 1px),
    #f7f7f4;
  background-size: 24px 24px;
}

.temperature-card-photo > img {
  width: 100%;
  height: 208px;
  padding: 17px 24px 13px;
  object-fit: contain;
  transition: transform 220ms ease;
}

.temperature-product-card:hover .temperature-card-photo > img {
  transform: scale(1.025);
}

.temperature-card-photo figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.92);
}

.temperature-card-photo figcaption img {
  width: auto;
  max-width: 122px;
  height: 27px;
  object-fit: contain;
  object-position: left center;
}

.temperature-card-photo figcaption span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: 0.045em;
  text-align: right;
  text-transform: uppercase;
}

.temperature-card-body {
  flex: 1;
  padding: 23px;
}

.temperature-best {
  margin: 0;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.temperature-card-body h3 {
  margin: 8px 0 10px;
  font-size: 21px;
  letter-spacing: -0.03em;
}

.temperature-card-body > p:not(.temperature-best) {
  min-height: 76px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.temperature-card-body dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.temperature-card-body dl > div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
}

.temperature-card-body dt {
  color: var(--muted);
  font-family: var(--mono);
  text-transform: uppercase;
}

.temperature-card-body dd {
  max-width: 64%;
  margin: 0;
  font-weight: 750;
  text-align: right;
}

.temperature-card-actions {
  display: grid;
  grid-template-columns: 0.82fr 0.95fr 1.15fr;
  border-top: 1px solid var(--line-strong);
}

.temperature-card-actions a,
.temperature-card-actions button {
  display: grid;
  min-height: 54px;
  padding: 9px 12px;
  place-items: center;
  border: 0;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 7.4px;
  font-weight: 850;
  letter-spacing: 0.015em;
  text-align: center;
}

.temperature-card-actions a {
  border-right: 1px solid var(--line-strong);
}

.temperature-card-actions a:hover {
  color: var(--accent-dark);
  background: #f7f4ef;
}

.temperature-card-actions button {
  color: #fff;
  background: var(--ink);
}

.temperature-card-actions button:hover {
  background: var(--accent-dark);
}

.temperature-media-note,
.temperature-maker-note {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.temperature-media-note {
  padding: 16px 18px;
  border-left: 3px solid var(--accent);
  background: rgba(255, 255, 255, 0.68);
}

.temperature-media-note strong {
  color: var(--ink);
}

.temperature-empty {
  display: none;
  margin-top: 20px;
  padding: 25px;
  border: 1px dashed var(--line-strong);
  text-align: center;
}

.temperature-empty.is-visible {
  display: block;
}

.temperature-empty button {
  margin-left: 10px;
  color: var(--accent-dark);
}

.temperature-comparison {
  background: #fff;
}

.temperature-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line-strong);
}

.temperature-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 12px;
}

.temperature-table th,
.temperature-table td {
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.temperature-table th {
  color: #d9dcda;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.temperature-table tr:last-child td {
  border-bottom: 0;
}

.temperature-table td:last-child,
.temperature-table th:last-child {
  border-right: 0;
}

.temperature-table button {
  color: var(--accent-dark);
}

.temperature-table span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.temperature-makers {
  border-top: 1px solid var(--line-strong);
  background: #f2f1ed;
}

.temperature-maker-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.temperature-maker-grid a {
  position: relative;
  display: flex;
  min-height: 255px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.42);
  transition: background 160ms ease, transform 160ms ease;
}

.temperature-maker-grid a:hover {
  z-index: 1;
  background: #fff;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-2px);
}

.temperature-maker-logo {
  display: flex;
  height: 58px;
  align-items: center;
  margin-bottom: 13px;
}

.temperature-maker-logo img {
  width: auto;
  max-width: 190px;
  height: auto;
  max-height: 50px;
  object-fit: contain;
  object-position: left center;
}

.temperature-maker-grid span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 750;
}

.temperature-maker-grid strong {
  margin-top: 17px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.temperature-maker-grid small {
  max-width: 270px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}

.temperature-maker-grid i {
  position: absolute;
  right: 24px;
  bottom: 21px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.045em;
  font-style: normal;
}

.temperature-maker-note {
  max-width: 830px;
}

.temperature-method {
  padding-block: 105px;
  color: #f1f1ed;
  background: var(--ink);
}

.temperature-method-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 100px;
}

.temperature-method-grid h2 {
  max-width: 580px;
  margin: 0;
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.temperature-method-grid > div > p:last-child {
  max-width: 590px;
  margin-top: 24px;
  color: #adb3b0;
}

.temperature-method-grid ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.temperature-method-grid li {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 20px;
  padding: 19px 0;
  border-bottom: 1px solid #474d50;
}

.temperature-method-grid li > span {
  color: #a0a7a4;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
}

.temperature-method-grid strong,
.temperature-method-grid small {
  display: block;
}

.temperature-method-grid small {
  margin-top: 4px;
  color: #979e9a;
}

.temperature-method-grid li.active {
  padding-inline: 18px;
  border-left: 3px solid var(--accent);
  background: #202427;
}

.temperature-method-grid li.active > span {
  color: #f2956b;
}

.temperature-gateway {
  padding-block: 88px;
  border-block: 1px solid var(--line-strong);
  background: var(--ink);
}

.temperature-gateway-grid {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  align-items: center;
  gap: 90px;
}

.temperature-gateway h2 {
  margin: 0;
  color: #f2f2ee;
  font-size: clamp(42px, 5.5vw, 72px);
  letter-spacing: -0.055em;
}

.temperature-gateway-grid > div:first-child > p:not(.eyebrow) {
  max-width: 690px;
  margin: 20px 0 30px;
  color: #aeb4b1;
  font-size: 17px;
}

.temperature-gateway .button-outline {
  border-color: #676e70;
  color: #fff;
}

.temperature-gateway-readout {
  position: relative;
  min-height: 270px;
  padding: 30px;
  border: 1px solid #565d5f;
  color: #e9f0e9;
  background: #202624;
  box-shadow: 12px 12px 0 rgba(0, 0, 0, 0.25);
  font-family: var(--mono);
}

.temperature-gateway-readout span,
.temperature-gateway-readout strong,
.temperature-gateway-readout small {
  display: block;
}

.temperature-gateway-readout span {
  color: #8fa095;
  font-size: 9px;
  letter-spacing: 0.09em;
}

.temperature-gateway-readout strong {
  margin-top: 45px;
  font-size: 72px;
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.9;
}

.temperature-gateway-readout b {
  position: absolute;
  right: 29px;
  top: 105px;
  color: #9dab9d;
  font-size: 18px;
}

.temperature-gateway-readout small {
  position: absolute;
  right: 29px;
  bottom: 27px;
  left: 29px;
  padding-top: 14px;
  border-top: 1px solid #46504a;
  color: #93a097;
  font-size: 9px;
  letter-spacing: 0.04em;
}

@media (max-width: 1080px) {
  .temperature-hero-grid,
  .temperature-method-grid,
  .temperature-gateway-grid {
    grid-template-columns: 1fr;
  }

  .temperature-hero-grid {
    gap: 55px;
  }

  .temperature-readout {
    max-width: 520px;
  }

  .temperature-catalog-head {
    align-items: stretch;
    flex-direction: column;
  }

  .temperature-filterbar {
    align-self: flex-start;
  }

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

  .temperature-method-grid,
  .temperature-gateway-grid {
    gap: 58px;
  }

  .temperature-gateway-readout {
    max-width: 550px;
  }
}

@media (max-width: 720px) {
  .temperature-hero-grid {
    min-height: auto;
    padding-block: 70px;
  }

  .temperature-hero h1 {
    font-size: 51px;
  }

  .temperature-lead {
    font-size: 16px;
  }

  .temperature-context-grid,
  .temperature-use-grid,
  .temperature-product-grid,
  .temperature-maker-grid {
    grid-template-columns: 1fr;
  }

  .temperature-context-grid span {
    border-right: 1px solid #41474a;
    border-bottom: 1px solid #41474a;
  }

  .temperature-context-grid span:first-child {
    border-left: 0;
  }

  .temperature-use-grid button {
    min-height: 250px;
  }

  .temperature-filterbar {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .temperature-filterbar button {
    text-align: left;
  }

  .temperature-filterbar span {
    margin: 8px 0;
  }

  .temperature-disclosure {
    grid-template-columns: 1fr;
  }

  .temperature-method,
  .temperature-gateway {
    padding-block: 78px;
  }

  .temperature-card-actions {
    grid-template-columns: 1fr;
  }

  .temperature-card-actions a {
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }
}

/* Affiliate policy and internal activation center */
.affiliate-policy-hero,
.affiliate-dashboard-hero {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 0 74%, rgba(23, 26, 29, 0.035) 74% 74.1%, transparent 74.1%),
    var(--paper);
}

.affiliate-policy-hero-grid,
.affiliate-dashboard-hero-grid {
  display: grid;
  min-height: 540px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  align-items: center;
  gap: 80px;
}

.affiliate-policy-hero h1,
.affiliate-dashboard-hero h1 {
  max-width: 830px;
  margin: 0 0 28px;
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 620;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.affiliate-policy-hero h1 span,
.affiliate-dashboard-hero h1 span {
  color: var(--muted);
  font-weight: 480;
}

.affiliate-policy-hero-grid > div > p:last-child,
.affiliate-dashboard-hero-grid > div > p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 19px;
  line-height: 1.65;
}

.affiliate-policy-state,
.readiness-meter {
  padding: 32px;
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow);
}

.affiliate-policy-state > span,
.readiness-meter span,
.program-card-head,
.security-do-dont span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.affiliate-policy-state strong {
  display: block;
  margin: 18px 0 12px;
  font-size: 27px;
  letter-spacing: -0.025em;
}

.affiliate-policy-state p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.policy-principle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.policy-principle-grid article {
  min-height: 300px;
  padding: 30px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.4);
}

.policy-principle-grid article > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}

.policy-principle-grid h3 {
  margin: 54px 0 13px;
  font-size: 22px;
  letter-spacing: -0.025em;
}

.policy-principle-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.policy-method {
  padding: 110px 0;
  color: #f3f2ee;
  background: var(--ink);
}

.policy-method-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  align-items: center;
  gap: 80px;
}

.policy-method h2 {
  margin: 0 0 22px;
  font-size: clamp(36px, 4vw, 58px);
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.policy-method p:not(.eyebrow) {
  color: #b9bebb;
}

.policy-method-flow {
  display: grid;
  grid-template-columns: repeat(5, auto);
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.policy-method-flow > div {
  display: flex;
  min-width: 165px;
  min-height: 175px;
  flex-direction: column;
  justify-content: space-between;
  padding: 23px;
  border: 1px solid #454b4e;
  background: #202427;
}

.policy-method-flow span {
  color: #ee8a5d;
  font-family: var(--mono);
  font-size: 12px;
}

.policy-method-flow strong {
  font-size: 18px;
}

.policy-method-flow small {
  color: #9da3a0;
  font-size: 12px;
}

.policy-method-flow > i {
  color: #737a77;
  font-family: var(--mono);
  font-style: normal;
}

.policy-question-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.policy-question-grid h2 {
  max-width: 400px;
  margin: 0;
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.policy-answer-list details {
  border-top: 1px solid var(--line-strong);
}

.policy-answer-list details:last-child {
  border-bottom: 1px solid var(--line-strong);
}

.policy-answer-list summary {
  position: relative;
  padding: 24px 44px 24px 0;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
}

.policy-answer-list summary::-webkit-details-marker {
  display: none;
}

.policy-answer-list summary::after {
  position: absolute;
  top: 24px;
  right: 4px;
  color: var(--accent-dark);
  content: "+";
}

.policy-answer-list details[open] summary::after {
  content: "−";
}

.policy-answer-list p {
  max-width: 750px;
  margin: -8px 0 28px;
  color: var(--muted);
}

.readiness-meter > div:first-child {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.readiness-meter > div:first-child strong {
  font-size: 32px;
  letter-spacing: -0.04em;
}

.readiness-track {
  height: 5px;
  margin: 22px 0 24px;
  background: #dedfdb;
}

.readiness-track i {
  display: block;
  width: 62%;
  height: 100%;
  background: var(--accent);
}

.readiness-meter ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 9px;
  list-style: none;
}

.readiness-meter li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  font-size: 13px;
}

.readiness-meter li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  content: "";
}

.readiness-meter li.done {
  color: var(--ink);
}

.readiness-meter li.done::before {
  border-color: var(--success);
  background: var(--success);
}

.affiliate-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.affiliate-program-card {
  display: flex;
  min-height: 420px;
  flex-direction: column;
  padding: 32px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.55);
}

.affiliate-program-card.is-priority {
  border-top: 4px solid var(--accent);
  background: var(--surface);
  box-shadow: 0 12px 34px rgba(18, 22, 24, 0.055);
}

.program-card-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.program-card-head em {
  color: var(--accent-dark);
  font-style: normal;
}

.affiliate-program-card h3 {
  margin: 45px 0 13px;
  font-size: 30px;
  letter-spacing: -0.035em;
}

.affiliate-program-card > p {
  max-width: 540px;
  margin: 0 0 26px;
  color: var(--muted);
}

.affiliate-program-card dl {
  margin: auto 0 26px;
}

.affiliate-program-card dl > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.affiliate-program-card dl > div:last-child {
  border-bottom: 1px solid var(--line);
}

.affiliate-program-card dt {
  color: var(--muted);
}

.affiliate-program-card dd {
  margin: 0;
  font-weight: 700;
}

.affiliate-program-card .button {
  align-self: flex-start;
}

.activation-gate-section {
  padding: 110px 0;
  color: #f1f0ec;
  background: var(--ink);
}

.activation-gate-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.activation-gate-grid h2,
.owner-security-grid h2 {
  margin: 0 0 20px;
  font-size: clamp(38px, 4.5vw, 62px);
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.activation-gate-grid > div > p:last-child {
  color: #aeb4b1;
}

.activation-checklist {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.activation-checklist li {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 19px 0;
  border-bottom: 1px solid #474d50;
}

.activation-checklist li > span,
.activation-checklist b {
  color: #8f9693;
  font-family: var(--mono);
  font-size: 11px;
}

.activation-checklist strong,
.activation-checklist small {
  display: block;
}

.activation-checklist small {
  margin-top: 3px;
  color: #959c99;
}

.activation-checklist li.done b {
  color: #8fd2b3;
}

.owner-security-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 90px;
}

.security-do-dont {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.security-do-dont > div {
  padding: 28px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.55);
}

.security-do-dont > div:last-child {
  border-top: 4px solid var(--accent);
}

.security-do-dont ul {
  margin: 24px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
}

.security-do-dont li + li {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid,
  .policy-method-grid,
  .policy-question-grid,
  .activation-gate-grid,
  .owner-security-grid {
    grid-template-columns: 1fr;
  }

  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid {
    min-height: auto;
    padding: 90px 0;
    gap: 48px;
  }

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

  .policy-method-flow {
    justify-content: start;
  }
}

@media (max-width: 680px) {
  .affiliate-policy-hero h1,
  .affiliate-dashboard-hero h1 {
    font-size: 46px;
  }

  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid {
    padding: 68px 0;
  }

  .policy-principle-grid,
  .affiliate-program-grid,
  .security-do-dont {
    grid-template-columns: 1fr;
  }

  .policy-principle-grid article {
    min-height: 240px;
  }

  .policy-method,
  .activation-gate-section {
    padding: 80px 0;
  }

  .policy-method-flow {
    grid-template-columns: 1fr;
  }

  .policy-method-flow > div {
    width: 100%;
    min-height: 130px;
  }

  .policy-method-flow > i {
    text-align: center;
  }

  .affiliate-program-card {
    min-height: auto;
  }

  .affiliate-program-card dl {
    margin-top: 20px;
  }

  .activation-checklist li {
    grid-template-columns: 36px 1fr;
  }

  .activation-checklist b {
    grid-column: 2;
  }
}

/* International professional tools directory */
.tools-verification {
  padding: 112px 0;
  color: #f3f2ee;
  background: var(--ink);
}

.verification-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  gap: 90px;
}

.verification-copy h2 {
  max-width: 600px;
  margin: 0 0 24px;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 590;
  letter-spacing: -0.05em;
  line-height: 1;
}

.verification-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 0 0 30px;
  color: #b7bdba;
  font-size: 17px;
}

.verification-levels {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.verification-levels li {
  display: grid;
  grid-template-columns: 65px 1fr;
  align-items: center;
  gap: 22px;
  min-height: 86px;
  border-bottom: 1px solid #474d50;
}

.verification-levels li > span {
  color: #858c89;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}

.verification-levels strong,
.verification-levels small {
  display: block;
}

.verification-levels strong {
  font-size: 17px;
}

.verification-levels small {
  margin-top: 3px;
  color: #949b98;
}

.verification-levels li.active {
  padding-inline: 18px;
  border-left: 3px solid var(--accent);
  background: #202427;
}

.verification-levels li.active > span {
  color: #f2956b;
}

.global-companies {
  background: #f2f1ed;
}

.brand-directory-controls {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 24px;
  padding: 10px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.52);
}

.brand-directory-controls button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid transparent;
  color: var(--muted);
  background: transparent;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.045em;
  cursor: pointer;
}

.brand-directory-controls button:hover,
.brand-directory-controls button.active {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.brand-directory-controls > span {
  margin-left: auto;
  padding: 0 12px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
}

.global-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.global-brand-card {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.4);
  transition: background 160ms ease, transform 160ms ease;
}

.global-brand-card:hover {
  position: relative;
  z-index: 1;
  background: #fff;
  box-shadow: 0 12px 32px rgba(18, 22, 24, 0.07);
  transform: translateY(-2px);
}

.global-brand-card[hidden] {
  display: none;
}

.global-brand-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.brand-country,
.brand-level {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.brand-country {
  display: inline-grid;
  min-width: 32px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--ink);
}

.brand-level {
  color: var(--success);
}

.global-brand-card h3 {
  margin: 41px 0 8px;
  font-size: 23px;
  letter-spacing: -0.025em;
}

.global-brand-card p {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 14px;
}

.global-brand-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: auto;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.global-brand-card a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Internal publication compliance center */
.compliance-hero {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 0 74%, rgba(23, 26, 29, 0.04) 74% 74.1%, transparent 74.1%),
    var(--paper);
}

.compliance-hero-grid {
  display: grid;
  min-height: 550px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  align-items: center;
  gap: 80px;
}

.compliance-hero h1 {
  margin: 0 0 28px;
  font-size: clamp(56px, 7vw, 94px);
  font-weight: 620;
  letter-spacing: -0.06em;
  line-height: 0.94;
}

.compliance-hero h1 span {
  color: var(--muted);
  font-weight: 470;
}

.compliance-hero-grid > div > p:last-child {
  max-width: 760px;
  color: var(--ink-soft);
  font-size: 19px;
}

.publication-lock {
  padding: 32px;
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: var(--shadow);
}

.publication-lock > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.publication-lock > strong {
  display: block;
  margin: 18px 0 6px;
  font-size: 39px;
  letter-spacing: -0.045em;
}

.publication-lock > p {
  color: var(--muted);
  font-size: 14px;
}

.publication-lock > div {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--success);
  font-size: 12px;
  font-weight: 700;
}

.publication-lock i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
}

.compliance-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.compliance-board article {
  display: flex;
  min-height: 305px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.44);
}

.compliance-board article > span,
.compliance-board b {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.055em;
}

.compliance-board article > span {
  color: var(--muted);
}

.compliance-board h3 {
  margin: 44px 0 11px;
  font-size: 22px;
}

.compliance-board p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 14px;
}

.compliance-board b {
  margin-top: auto;
}

.state-safe {
  color: var(--success);
}

.state-progress {
  color: var(--warning);
}

.state-wait,
.state-block {
  color: var(--accent-dark);
}

.privacy-default-section {
  padding: 110px 0;
  color: #f2f1ed;
  background: var(--ink);
}

.privacy-default-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  gap: 90px;
}

.privacy-default-grid h2,
.launch-sequence-grid h2 {
  margin: 0 0 22px;
  font-size: clamp(42px, 5vw, 68px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.privacy-default-grid > div:first-child > p:last-child {
  color: #aeb4b1;
}

.privacy-switches {
  border-top: 1px solid #474d50;
}

.privacy-switches > div {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #474d50;
}

.privacy-switches span {
  color: #d9dcda;
}

.privacy-switches b {
  min-width: 58px;
  padding: 5px 9px;
  border: 1px solid #59605d;
  color: #9fd0b8;
  font-family: var(--mono);
  font-size: 10px;
  text-align: center;
}

.launch-sequence-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.launch-sequence-grid ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.launch-sequence-grid li {
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: center;
  gap: 20px;
  min-height: 82px;
  border-bottom: 1px solid var(--line-strong);
}

.launch-sequence-grid li > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
}

.launch-sequence-grid strong,
.launch-sequence-grid small {
  display: block;
}

.launch-sequence-grid small {
  margin-top: 3px;
  color: var(--muted);
}

@media (max-width: 1020px) {
  .global-brand-grid,
  .compliance-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .verification-grid,
  .compliance-hero-grid,
  .privacy-default-grid,
  .launch-sequence-grid {
    grid-template-columns: 1fr;
  }

  .compliance-hero-grid {
    min-height: auto;
    padding: 90px 0;
  }
}

@media (max-width: 720px) {
  .tools-verification,
  .privacy-default-section {
    padding: 80px 0;
  }

  .brand-directory-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-directory-controls button {
    text-align: left;
  }

  .brand-directory-controls > span {
    margin: 8px 0 0;
  }

  .global-brand-grid,
  .compliance-board {
    grid-template-columns: 1fr;
  }

  .global-brand-card,
  .compliance-board article {
    min-height: 250px;
  }

  .compliance-hero h1 {
    font-size: 52px;
  }

  .compliance-hero-grid {
    padding: 70px 0;
    gap: 46px;
  }
}

/* Danfoss refrigeration document library */
.manufacturer-library-page {
  --manufacturer: #e20015;
  --manufacturer-dark: #a80010;
  background: #f3f3f0;
}

.danfoss-hero {
  position: relative;
  overflow: hidden;
  color: #f7f6f2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    #171a1d;
}

.danfoss-hero::after {
  position: absolute;
  right: -170px;
  bottom: -270px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(255, 255, 255, 0.018), 0 0 0 180px rgba(255, 255, 255, 0.012);
  content: "";
}

.danfoss-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 570px;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: stretch;
  gap: 90px;
  padding: 82px 0;
}

.danfoss-hero-copy {
  align-self: center;
}

.danfoss-identity-line {
  display: flex;
  margin-bottom: 44px;
  align-items: center;
  gap: 24px;
  color: #aeb4b1;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.danfoss-identity-line span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #b7d3c4;
}

.danfoss-identity-line span:last-child::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #67a984;
  content: "";
}

.danfoss-hero-logo {
  display: block;
  width: 246px;
  margin-bottom: 30px;
  padding: 11px 16px;
  background: #fff;
}

.danfoss-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(50px, 6.2vw, 84px);
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.danfoss-hero h1 span {
  color: #aab0ad;
  font-weight: 450;
}

.danfoss-hero-copy > p {
  max-width: 680px;
  margin: 31px 0 0;
  color: #c7cbc8;
  font-size: 17px;
}

.danfoss-trust-panel {
  display: flex;
  align-self: center;
  min-height: 418px;
  flex-direction: column;
  padding: 34px;
  border-top: 3px solid var(--manufacturer);
  background: rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(10px);
}

.danfoss-panel-index {
  color: #929996;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.danfoss-trust-panel h2 {
  margin: 38px 0 32px;
  font-size: 30px;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.danfoss-trust-panel ul {
  margin: auto 0 0;
  padding: 0;
  border-top: 1px solid #454b4e;
  list-style: none;
}

.danfoss-trust-panel li {
  display: grid;
  min-height: 50px;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border-bottom: 1px solid #454b4e;
}

.danfoss-trust-panel li span {
  color: #7f8783;
  font-family: var(--mono);
  font-size: 9px;
}

.danfoss-trust-panel li strong {
  color: #e4e5e2;
  font-size: 12px;
  font-weight: 600;
}

.danfoss-command-bar {
  border-bottom: 1px solid var(--line-strong);
  background: var(--surface);
}

.danfoss-command-bar .container {
  display: grid;
  grid-template-columns: 1fr;
}

.danfoss-search {
  display: grid;
  min-height: 112px;
  grid-template-columns: 250px 1fr;
  align-items: center;
  gap: 30px;
  border-bottom: 1px solid var(--line);
}

.danfoss-search > label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.danfoss-search > div {
  display: grid;
  grid-template-columns: 1fr auto;
}

.danfoss-search input {
  min-width: 0;
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--line-strong);
  border-right: 0;
  border-radius: 0;
  color: var(--ink);
  background: #fafaf8;
  outline: none;
}

.danfoss-search input:focus {
  border-color: var(--ink);
  box-shadow: inset 3px 0 0 var(--manufacturer);
}

.danfoss-search .button {
  min-width: 118px;
  border-color: var(--ink);
  background: var(--ink);
}

.danfoss-filter-row {
  display: grid;
  min-height: 106px;
  grid-template-columns: repeat(3, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding: 22px 0 26px;
}

.danfoss-filter-row .filter-field {
  margin: 0;
}

.danfoss-filter-row .filter-field select {
  min-height: 42px;
  background: #fafaf8;
}

.danfoss-reset {
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-bottom: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.danfoss-metrics {
  color: #eee;
  background: #24282b;
}

.danfoss-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.danfoss-metrics-grid > div {
  display: flex;
  min-height: 102px;
  flex-direction: column;
  justify-content: center;
  padding: 0 28px;
  border-right: 1px solid #454a4d;
}

.danfoss-metrics-grid > div:first-child {
  border-left: 1px solid #454a4d;
}

.danfoss-metrics-grid strong {
  font-size: 26px;
  letter-spacing: -0.04em;
}

.danfoss-metrics-grid span {
  margin-top: 2px;
  color: #9ea5a1;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.danfoss-catalog-section {
  padding-top: 95px;
}

.danfoss-catalog-heading {
  display: flex;
  margin-bottom: 42px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.danfoss-catalog-heading h2 {
  max-width: 760px;
  margin: 10px 0 0;
  font-size: clamp(38px, 4.7vw, 62px);
  letter-spacing: -0.055em;
  line-height: 1;
}

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

.danfoss-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.danfoss-product-card:hover {
  border-color: #8a908d;
  box-shadow: 0 18px 48px rgba(23, 26, 29, 0.08);
  transform: translateY(-2px);
}

.danfoss-product-card[hidden] {
  display: none;
}

.danfoss-product-card-featured {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.danfoss-product-card-featured[hidden] {
  display: none;
}

.danfoss-product-visual {
  position: relative;
  display: grid;
  min-height: 280px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.028) 1px, transparent 1px) 0 0 / 38px 38px,
    linear-gradient(rgba(23, 26, 29, 0.028) 1px, transparent 1px) 0 0 / 38px 38px,
    #f7f7f4;
}

.danfoss-product-card-featured .danfoss-product-visual {
  min-height: 100%;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.danfoss-product-visual img {
  width: 100%;
  height: 265px;
  padding: 30px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.danfoss-product-card-featured .danfoss-product-visual img {
  height: 460px;
  padding: 48px;
}

.danfoss-product-visual > span {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 5px 8px;
  color: #fff;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.danfoss-product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 30px;
}

.danfoss-product-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.danfoss-product-title > div > span {
  color: var(--manufacturer-dark);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.075em;
}

.danfoss-product-title h3 {
  margin: 4px 0 0;
  font-size: 36px;
  letter-spacing: -0.05em;
  line-height: 1;
}

.verified-mark {
  flex: none;
  padding: 5px 7px;
  border: 1px solid #a9c5b5;
  color: var(--success);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.danfoss-product-body > p {
  min-height: 68px;
  margin: 21px 0 25px;
  color: var(--muted);
  font-size: 14px;
}

.danfoss-specs {
  display: grid;
  margin: 0 0 27px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.danfoss-specs div {
  min-width: 0;
  padding: 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.danfoss-specs dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.danfoss-specs dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
}

.danfoss-card-actions {
  display: flex;
  margin-top: auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.danfoss-card-actions .button {
  min-height: 43px;
  padding-inline: 15px;
  border-color: var(--ink);
  background: var(--ink);
  font-size: 9px;
}

.danfoss-card-actions .button:hover {
  border-color: var(--manufacturer);
  background: var(--manufacturer);
}

.danfoss-card-actions .button-outline {
  color: var(--ink);
  background: transparent;
}

.danfoss-card-actions .button-outline:hover {
  color: #fff;
}

.danfoss-card-actions-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.text-action {
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.danfoss-product-card-featured .text-action {
  display: inline-block;
  margin-top: 18px;
}

.danfoss-product-grid > .library-empty {
  grid-column: 1 / -1;
  border: 1px solid var(--line-strong);
}

.danfoss-workflow {
  margin-top: 105px;
  padding: 100px 0;
  color: #efefec;
  background: #1d2023;
}

.danfoss-workflow-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 100px;
}

.danfoss-workflow .kicker {
  color: #f28b96;
}

.danfoss-workflow h2 {
  margin: 15px 0 25px;
  font-size: clamp(38px, 4.6vw, 60px);
  letter-spacing: -0.055em;
  line-height: 1;
}

.danfoss-workflow p:not(.kicker) {
  max-width: 570px;
  color: #aeb4b1;
}

.danfoss-workflow-links {
  border-top: 1px solid #464c4f;
}

.danfoss-workflow-links a {
  display: grid;
  min-height: 105px;
  grid-template-columns: 150px 1fr 30px;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #464c4f;
  transition: background 150ms ease, padding 150ms ease;
}

.danfoss-workflow-links a:hover {
  padding-inline: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.danfoss-workflow-links span {
  color: #8f9692;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
}

.danfoss-workflow-links strong {
  font-size: 16px;
}

.danfoss-workflow-links i {
  color: #f28b96;
  font-size: 22px;
  font-style: normal;
}

.danfoss-source-note {
  padding-block: 70px;
}

.danfoss-source-note .container {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 70px;
  padding: 30px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

.danfoss-source-note strong {
  display: block;
  margin-bottom: 8px;
  color: var(--manufacturer-dark);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
}

.danfoss-source-note p {
  max-width: 880px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.danfoss-source-note a {
  white-space: nowrap;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

@media (max-width: 1020px) {
  .danfoss-hero-grid,
  .danfoss-workflow-grid {
    grid-template-columns: 1fr;
  }

  .danfoss-hero-grid {
    gap: 55px;
  }

  .danfoss-trust-panel {
    min-height: auto;
  }

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

  .danfoss-product-card-featured {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .danfoss-product-card-featured .danfoss-product-visual {
    min-height: 300px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .danfoss-product-card-featured .danfoss-product-visual img {
    height: 300px;
  }

  .danfoss-filter-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .danfoss-hero-grid {
    min-height: auto;
    padding: 62px 0;
  }

  .danfoss-identity-line {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .danfoss-hero h1 {
    font-size: 47px;
  }

  .danfoss-hero-copy > p {
    font-size: 15px;
  }

  .danfoss-trust-panel {
    padding: 25px;
  }

  .danfoss-search {
    padding: 24px 0;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .danfoss-search > div {
    grid-template-columns: 1fr;
  }

  .danfoss-search input {
    border-right: 1px solid var(--line-strong);
  }

  .danfoss-filter-row,
  .danfoss-metrics-grid {
    grid-template-columns: 1fr;
  }

  .danfoss-metrics-grid > div,
  .danfoss-metrics-grid > div:first-child {
    min-height: 78px;
    border-right: 1px solid #454a4d;
    border-bottom: 1px solid #454a4d;
    border-left: 1px solid #454a4d;
  }

  .danfoss-catalog-section {
    padding-top: 70px;
  }

  .danfoss-catalog-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .danfoss-product-visual,
  .danfoss-product-card-featured .danfoss-product-visual {
    min-height: 230px;
  }

  .danfoss-product-visual img,
  .danfoss-product-card-featured .danfoss-product-visual img {
    height: 225px;
    padding: 32px;
  }

  .danfoss-product-body {
    padding: 24px;
  }

  .danfoss-product-title h3 {
    font-size: 31px;
  }

  .danfoss-product-body > p {
    min-height: 0;
  }

  .danfoss-specs {
    grid-template-columns: 1fr;
  }

  .danfoss-card-actions,
  .danfoss-card-actions-split {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .danfoss-card-actions .button {
    width: 100%;
  }

  .danfoss-workflow {
    margin-top: 80px;
    padding: 75px 0;
  }

  .danfoss-workflow-grid {
    gap: 55px;
  }

  .danfoss-workflow-links a {
    min-height: 120px;
    grid-template-columns: 1fr 24px;
  }

  .danfoss-workflow-links span {
    grid-column: 1 / -1;
    align-self: end;
  }

  .danfoss-source-note .container {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

/* Manufacturer entry point on the main documentation library */
.manufacturer-feature-section {
  padding: 55px 0 5px;
}

.manufacturer-feature-card {
  display: grid;
  min-height: 320px;
  grid-template-columns: 0.72fr 1.28fr;
  align-items: stretch;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  box-shadow: 0 18px 48px rgba(23, 26, 29, 0.07);
}

.manufacturer-feature-brand {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 42px;
  border-right: 1px solid #3b4144;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 45px 45px,
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 45px 45px,
    #1d2023;
}

.manufacturer-feature-brand > span {
  margin-bottom: 45px;
  color: #979e9a;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.07em;
}

.manufacturer-feature-brand img {
  width: 240px;
  padding: 11px 15px;
  background: #fff;
}

.manufacturer-feature-brand p {
  margin: 17px 0 0;
  color: #b9bfbc;
  font-size: 12px;
}

.manufacturer-feature-copy {
  padding: 42px 42px 34px;
}

.manufacturer-feature-copy h2 {
  max-width: 650px;
  margin: 10px 0 16px;
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.manufacturer-feature-copy > p:not(.kicker) {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.manufacturer-feature-facts {
  display: flex;
  margin-top: 31px;
  gap: 30px;
}

.manufacturer-feature-facts span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.manufacturer-feature-facts b {
  display: block;
  color: var(--ink);
  font-family: var(--font);
  font-size: 24px;
}

.manufacturer-feature-action {
  grid-column: 2;
  width: calc(100% - 84px);
  margin: 0 42px 35px;
  border-color: var(--ink);
  background: var(--ink);
}

@media (max-width: 850px) {
  .manufacturer-feature-card {
    grid-template-columns: 1fr;
  }

  .manufacturer-feature-brand {
    min-height: 260px;
    border-right: 0;
    border-bottom: 1px solid #3b4144;
  }

  .manufacturer-feature-action {
    grid-column: 1;
  }
}

@media (max-width: 540px) {
  .manufacturer-feature-brand,
  .manufacturer-feature-copy {
    padding: 28px;
  }

  .manufacturer-feature-facts {
    flex-direction: column;
    gap: 12px;
  }

  .manufacturer-feature-action {
    width: calc(100% - 56px);
    margin: 0 28px 28px;
  }
}

/* CAREL and Dixell controller libraries */
.carel-library-page {
  --manufacturer: #e31b23;
  --manufacturer-dark: #aa1118;
}

.dixell-library-page {
  --manufacturer: #008f78;
  --manufacturer-dark: #006553;
}

.carel-library-page .danfoss-workflow .kicker,
.carel-library-page .danfoss-workflow-links i {
  color: #ff9ba0;
}

.dixell-library-page .danfoss-workflow .kicker,
.dixell-library-page .danfoss-workflow-links i {
  color: #68ccb7;
}

.carel-hero-logo {
  width: 260px;
  height: 108px;
  object-fit: cover;
  object-position: 50% 50%;
}

.manufacturer-logo-lockup {
  display: flex;
  width: max-content;
  margin-bottom: 30px;
  align-items: center;
  gap: 15px;
  background: #fff;
}

.manufacturer-logo-lockup .dixell-hero-logo {
  width: 220px;
  height: 74px;
  margin: 0;
  padding: 0 12px;
  object-fit: contain;
  object-position: 50% 50%;
}

.manufacturer-logo-lockup > span {
  padding-right: 17px;
  color: #5d6461;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.installed-base-mark {
  border-color: #b8b8b2;
  color: #646965;
}

.portrait-source img {
  padding-block: 20px;
}

.danfoss-card-actions-split + .text-action {
  display: inline-block;
  margin-top: 14px;
}

/* Three manufacturer entry points on the main library */
.manufacturer-directory-heading {
  display: grid;
  margin-bottom: 34px;
  grid-template-columns: 1fr minmax(280px, 430px);
  align-items: end;
  gap: 60px;
}

.manufacturer-directory-heading h2 {
  max-width: 760px;
  margin: 10px 0 0;
  font-size: clamp(40px, 5vw, 64px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.manufacturer-directory-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.manufacturer-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.manufacturer-archive-card {
  --archive-accent: #e20015;
  display: flex;
  min-width: 0;
  min-height: 520px;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  box-shadow: 0 15px 42px rgba(23, 26, 29, 0.055);
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
}

.manufacturer-archive-card:hover {
  border-color: #7f8582;
  box-shadow: 0 22px 54px rgba(23, 26, 29, 0.1);
  transform: translateY(-3px);
}

.carel-archive-card {
  --archive-accent: #e31b23;
}

.dixell-archive-card {
  --archive-accent: #005eb8;
}

.manufacturer-archive-index {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 22px;
  border-top: 4px solid var(--archive-accent);
  border-bottom: 1px solid #41474a;
  color: #fff;
  background: #1d2023;
}

.manufacturer-archive-index span {
  font-size: 25px;
  font-weight: 720;
  letter-spacing: -0.05em;
}

.manufacturer-archive-index em {
  color: #aab0ad;
  font-family: var(--mono);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: right;
}

.manufacturer-archive-logo {
  display: grid;
  min-height: 150px;
  place-items: center;
  padding: 28px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.025) 1px, transparent 1px) 0 0 / 38px 38px,
    linear-gradient(rgba(23, 26, 29, 0.025) 1px, transparent 1px) 0 0 / 38px 38px,
    #f8f8f5;
}

.manufacturer-archive-logo img {
  max-width: 220px;
  max-height: 64px;
  object-fit: contain;
}

.dixell-archive-card .manufacturer-archive-logo img {
  width: 190px;
  height: 64px;
  object-fit: contain;
  object-position: 50% 50%;
}

.carel-archive-card .manufacturer-archive-logo img {
  width: 220px;
  height: 92px;
  object-fit: cover;
  object-position: 50% 50%;
}

.manufacturer-archive-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.manufacturer-archive-copy h3 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.045em;
  line-height: 1;
}

.manufacturer-archive-copy > p {
  min-height: 64px;
  margin: 16px 0 22px;
  color: var(--muted);
  font-size: 13px;
}

.manufacturer-archive-copy dl {
  display: grid;
  margin: 0 0 24px;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.manufacturer-archive-copy dl div {
  padding: 11px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.manufacturer-archive-copy dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.manufacturer-archive-copy dd {
  margin: 3px 0 0;
  font-size: 21px;
  font-weight: 720;
}

.manufacturer-archive-copy .button {
  width: 100%;
  margin-top: auto;
  border-color: var(--ink);
  background: var(--ink);
}

.manufacturer-archive-copy .button:hover {
  border-color: var(--archive-accent);
  background: var(--archive-accent);
}

@media (max-width: 1040px) {
  .manufacturer-archive-grid {
    grid-template-columns: 1fr;
  }

  .manufacturer-archive-card {
    min-height: 0;
  }

  .manufacturer-archive-copy > p {
    min-height: 0;
  }
}

@media (max-width: 760px) {
  .manufacturer-directory-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .manufacturer-logo-lockup {
    max-width: 100%;
  }

  .manufacturer-logo-lockup .dixell-hero-logo {
    width: 180px;
  }

  .manufacturer-logo-lockup > span {
    display: none;
  }
}

/* Hub Inverter V1 */
.inverter-page,
.installation-page {
  background: #f4f3ef;
}

.button-outline-light {
  color: #f4f3ef;
  border-color: rgba(255, 255, 255, 0.5);
  background: transparent;
}

.button-outline-light:hover {
  color: var(--ink);
  border-color: #fff;
  background: #fff;
}

.inverter-hero {
  position: relative;
  overflow: hidden;
  color: #f4f3ef;
  background:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 68% 26%, rgba(227, 94, 37, 0.13), transparent 30%),
    linear-gradient(135deg, #101315, #1c2225 64%, #111416);
  background-size: 48px 48px, 48px 48px, auto, auto;
}

.inverter-hero-grid {
  display: grid;
  min-height: 700px;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  align-items: center;
  gap: 88px;
  padding-block: 86px;
}

.inverter-section-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 42px;
}

.inverter-section-brand img {
  width: 72px;
  height: 72px;
}

.inverter-section-brand span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.inverter-section-brand strong,
.inverter-section-brand small {
  font-family: var(--mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.inverter-section-brand strong {
  font-size: 10px;
}

.inverter-section-brand small {
  color: #8e989d;
  font-size: 8px;
}

.inverter-hero-copy h1 {
  max-width: 780px;
  margin: 12px 0 28px;
  font-size: clamp(48px, 5.4vw, 78px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.inverter-hero-copy h1 span {
  color: #ef7440;
}

.inverter-hero-copy > p:not(.kicker) {
  max-width: 690px;
  margin: 0;
  color: #b7bec1;
  font-size: 18px;
  line-height: 1.7;
}

.inverter-hero-actions,
.installation-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 38px;
}

.drive-hero-passport { display: grid; max-width: 660px; gap: 8px; margin-top: 31px; padding: 15px 17px; border-left: 2px solid #e35e25; background: rgba(255,255,255,.035); }
.drive-hero-passport span { color: #e38b61; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.drive-hero-passport strong { color: #e3e7e5; font-family: var(--mono); font-size: 12px; letter-spacing: .03em; }
.drive-hero-passport small { color: #99a6a2; font-size: 10px; line-height: 1.55; }

.drive-signal-console {
  padding: 25px;
  border: 1px solid #495156;
  border-radius: 7px;
  background: rgba(14, 17, 19, 0.82);
  box-shadow: 18px 18px 0 rgba(227, 94, 37, 0.09);
}

.drive-console-head,
.library-console-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #859096;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.11em;
}

.drive-live {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #8bcab5;
}

.drive-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #48b98e;
  box-shadow: 0 0 0 5px rgba(72, 185, 142, 0.12);
}

.drive-wave {
  margin: 28px 0 15px;
  padding: 22px 0;
  border-block: 1px solid #343b3f;
}

.drive-wave svg {
  display: block;
  width: 100%;
  height: 110px;
}

.drive-wave path {
  fill: none;
  stroke: #e35e25;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
}

.drive-console-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-left: 1px solid #343b3f;
  border-top: 1px solid #343b3f;
}

.drive-console-values div {
  padding: 15px;
  border-right: 1px solid #343b3f;
  border-bottom: 1px solid #343b3f;
}

.drive-console-values small,
.drive-console-values strong {
  display: block;
}

.drive-console-values small {
  color: #737e84;
  font-family: var(--mono);
  font-size: 7px;
}

.drive-console-values strong {
  margin-top: 5px;
  color: #f1f0eb;
  font-size: 17px;
}

.drive-signal-console ol {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.drive-signal-console li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid #2d3438;
  color: #aab2b6;
  font-size: 12px;
}

.drive-signal-console li span {
  color: #e35e25;
  font-family: var(--mono);
  font-size: 9px;
}

.drive-console-checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 18px; }
.drive-console-checklist span { display: flex; align-items: center; gap: 7px; color: #8e9b98; font-family: var(--mono); font-size: 7px; letter-spacing: .03em; }
.drive-console-checklist i { width: 6px; height: 6px; border: 1px solid #5b8578; border-radius: 50%; }

.inverter-proof {
  color: #f4f3ef;
  border-top: 1px solid #2f363a;
  background: #181c1f;
}

.inverter-proof-grid,
.installation-promise-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.inverter-proof-grid div,
.installation-promise-grid div {
  display: flex;
  min-height: 98px;
  align-items: center;
  gap: 13px;
  padding: 20px 24px;
  border-left: 1px solid #353c40;
}

.inverter-proof-grid div:last-child,
.installation-promise-grid div:last-child {
  border-right: 1px solid #353c40;
}

.inverter-proof-grid strong,
.installation-promise-grid strong {
  color: #ed7441;
  font-size: 25px;
}

.inverter-proof-grid span,
.installation-promise-grid span {
  color: #929b9f;
  font-family: var(--mono);
  font-size: 8px;
  text-transform: uppercase;
}

.drive-command-center { padding: 95px 0; background: #f6f5f1; }
.drive-command-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: end; gap: 70px; margin-bottom: 45px; }
.drive-command-intro h2 { max-width: 780px; margin: 0; color: #202726; font-size: clamp(39px, 4.5vw, 64px); letter-spacing: -.06em; line-height: .95; }
.drive-command-intro h2 span { color: #547d72; }
.drive-command-intro > p { max-width: 430px; margin: 0; color: #62706c; font-size: 13px; line-height: 1.7; }
.drive-command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #bfcac5; border-left: 1px solid #bfcac5; }
.drive-command-grid article { min-height: 295px; padding: 25px; border-right: 1px solid #bfcac5; border-bottom: 1px solid #bfcac5; background: #fbfaf7; }
.drive-command-grid article:nth-child(2n) { background: #eef4f1; }
.drive-command-grid span { color: #5b8175; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.drive-command-grid h3 { margin: 42px 0 11px; color: #242e2b; font-size: 25px; letter-spacing: -.045em; line-height: 1.02; }
.drive-command-grid p { margin: 0; color: #64716d; font-size: 11px; line-height: 1.65; }
.drive-command-grid a { display: inline-block; margin-top: 23px; color: #456f64; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .025em; }

.drive-anchor-nav {
  position: sticky;
  z-index: 8;
  top: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(246, 245, 241, 0.93);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.drive-anchor-nav .container {
  display: flex;
  align-items: center;
  overflow-x: auto;
}

.drive-anchor-nav a {
  display: flex;
  min-width: 150px;
  align-items: center;
  gap: 10px;
  padding: 17px 20px;
  border-left: 1px solid var(--line);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.drive-anchor-nav a:last-child {
  border-right: 1px solid var(--line);
}

.drive-anchor-nav a:hover {
  background: #fff;
}

.drive-anchor-nav span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 8px;
}

.inverter-section-heading {
  margin-bottom: 54px;
}

.drive-brand-panel {
  --drive-accent: #e35e25;
  display: grid;
  min-height: 590px;
  margin-bottom: 28px;
  grid-template-columns: minmax(390px, 0.82fr) minmax(0, 1.18fr);
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(25, 30, 33, 0.065);
}

.drive-abb {
  --drive-accent: #e32920;
}

.drive-schneider {
  --drive-accent: #3dcd58;
}

.drive-panel-visual {
  position: relative;
  display: flex;
  min-height: 590px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 28px;
  overflow: hidden;
  border-right: 1px solid var(--line);
  background:
    linear-gradient(rgba(31, 37, 41, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 37, 41, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 50% 52%, rgba(255, 255, 255, 0.98), rgba(233, 234, 230, 0.9));
  background-size: 32px 32px, 32px 32px, auto;
}

.drive-panel-visual::after {
  position: absolute;
  right: -105px;
  bottom: -105px;
  width: 230px;
  height: 230px;
  border: 36px solid color-mix(in srgb, var(--drive-accent) 11%, transparent);
  border-radius: 50%;
  content: "";
}

.drive-brand-logo {
  display: grid;
  min-width: 250px;
  min-height: 82px;
  place-items: center;
  padding: 11px 20px;
  border: 1px solid #d7dad7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.87);
  box-shadow: 0 9px 20px rgba(23, 27, 30, 0.06);
}

.drive-brand-logo img {
  display: block;
  max-width: 230px;
  max-height: 64px;
  object-fit: contain;
}

.drive-device {
  position: relative;
  width: 212px;
  height: 300px;
  padding: 23px;
  border: 1px solid #747d82;
  border-radius: 10px 10px 16px 16px;
  background: linear-gradient(145deg, #e6e8e5, #bbc1c2);
  box-shadow: 17px 22px 30px rgba(19, 23, 25, 0.18), inset 4px 4px rgba(255, 255, 255, 0.46);
}

.drive-device::before,
.drive-device::after {
  position: absolute;
  bottom: -10px;
  width: 38px;
  height: 14px;
  border-radius: 2px;
  background: #555d61;
  content: "";
}

.drive-device::before { left: 22px; }
.drive-device::after { right: 22px; }

.device-model {
  display: block;
  margin-bottom: 14px;
  color: #4e565a;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.device-screen {
  position: relative;
  height: 82px;
  padding: 12px;
  border: 5px solid #3d4549;
  border-radius: 5px;
  color: #1d2926;
  background: #a7c4b1;
  box-shadow: inset 0 0 14px rgba(11, 29, 23, 0.2);
}

.device-screen small,
.device-screen strong {
  display: block;
}

.device-screen small {
  font-family: var(--mono);
  font-size: 7px;
}

.device-screen strong {
  font-family: var(--mono);
  font-size: 28px;
  line-height: 1.2;
}

.device-screen span {
  position: absolute;
  right: 11px;
  bottom: 10px;
  font-family: var(--mono);
  font-size: 8px;
}

.device-dial {
  width: 48px;
  height: 48px;
  margin: 24px auto 22px;
  border: 10px solid #50595d;
  border-radius: 50%;
  background: #e35e25;
  box-shadow: 0 2px 0 #252a2d;
}

.device-vents {
  display: grid;
  gap: 7px;
}

.device-vents i {
  display: block;
  height: 3px;
  border-radius: 4px;
  background: #858d90;
}

.drive-visual-note {
  position: relative;
  z-index: 1;
  color: #7b8489;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.drive-panel-content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 56px 62px;
}

.drive-panel-index {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.drive-panel-index span {
  color: var(--drive-accent);
  font-weight: 700;
}

.drive-panel-index em {
  color: var(--muted);
  font-style: normal;
}

.drive-panel-content h3 {
  margin: 0 0 18px;
  font-size: clamp(35px, 4vw, 54px);
  letter-spacing: -0.045em;
  line-height: 1;
}

.drive-panel-lead {
  max-width: 650px;
  margin: 0 0 25px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.drive-application-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 25px;
}

.drive-application-tags span {
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--drive-accent) 40%, #d4d8d5);
  border-radius: 999px;
  color: #4d565b;
  background: color-mix(in srgb, var(--drive-accent) 5%, #fff);
  font-family: var(--mono);
  font-size: 8px;
  text-transform: uppercase;
}

.drive-facts {
  display: grid;
  margin: 0 0 27px;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.drive-facts div {
  padding: 13px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.drive-facts dt {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  text-transform: uppercase;
}

.drive-facts dd {
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 720;
}

.drive-panel-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.drive-panel-actions .button {
  border-color: var(--ink);
  background: var(--ink);
}

.drive-panel-actions .text-action {
  font-size: 11px;
  font-weight: 700;
}

.drive-footnote {
  margin-top: 18px;
  color: #8a9296;
  font-size: 9px;
}

.drive-choice-section {
  padding-block: 92px;
  color: #f4f3ef;
  background: #171b1e;
}

.drive-choice-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.68fr) minmax(580px, 1.32fr);
  align-items: center;
  gap: 78px;
}

.drive-choice-copy h2 {
  margin: 10px 0 22px;
  font-size: clamp(40px, 4.5vw, 62px);
  letter-spacing: -0.045em;
  line-height: 1;
}

.drive-choice-copy > p:not(.eyebrow) {
  color: #aab2b6;
}

.drive-choice-copy .text-link {
  display: inline-block;
  margin-top: 18px;
  color: #ef7440;
}

.drive-choice-matrix {
  border-top: 1px solid #4b5357;
  border-left: 1px solid #4b5357;
}

.choice-row {
  display: grid;
  grid-template-columns: 0.7fr 1.4fr 0.7fr;
}

.choice-row > * {
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #4b5357;
  border-bottom: 1px solid #4b5357;
}

.choice-row strong {
  color: #f0efeb;
  font-size: 12px;
}

.choice-row span {
  color: #9ba4a8;
  font-size: 11px;
}

.choice-row a {
  color: #ef7440;
  font-size: 10px;
  font-weight: 700;
}

.choice-head > * {
  color: #748086;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.inverter-manual-section {
  background: #ecece8;
}

.drive-manual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.drive-manual-card {
  display: flex;
  min-height: 405px;
  flex-direction: column;
  padding: 25px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 9px 25px rgba(24, 28, 31, 0.045);
}

.manual-card-brand {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.manual-card-brand img {
  max-width: 185px;
  max-height: 54px;
  object-fit: contain;
}

.manual-card-brand span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  white-space: nowrap;
}

.drive-manual-card h3 {
  margin: 25px 0 10px;
  font-size: 23px;
  letter-spacing: -0.025em;
}

.drive-manual-card > p {
  min-height: 66px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.drive-manual-card dl {
  margin: 20px 0;
}

.drive-manual-card dl div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 9px;
}

.drive-manual-card dt {
  color: var(--muted);
  font-family: var(--mono);
  text-transform: uppercase;
}

.drive-manual-card dd {
  margin: 0;
  text-align: right;
}

.drive-manual-card .button {
  width: 100%;
  margin-top: auto;
  border-color: var(--ink);
  background: var(--ink);
}

.manual-source-rule {
  display: grid;
  margin-top: 28px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 24px;
  color: #f4f3ef;
  border-radius: 9px;
  background: #1a1e21;
}

.manual-source-rule strong,
.manual-source-rule p {
  display: block;
  margin: 0;
}

.manual-source-rule p {
  margin-top: 5px;
  color: #aab2b6;
  font-size: 11px;
}

.manual-source-rule a {
  color: #ef7440;
  font-size: 11px;
  font-weight: 700;
}

.drive-tools-section {
  padding-block: 96px;
  background: #f7f6f2;
}

.drive-tools-head {
  display: grid;
  margin-bottom: 46px;
  grid-template-columns: 1fr 0.62fr;
  align-items: end;
  gap: 80px;
}

.drive-tools-head h2 {
  margin: 10px 0 0;
  font-size: clamp(40px, 4.7vw, 64px);
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.drive-tools-head > p {
  color: var(--muted);
}

.drive-tools-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.drive-tools-grid a {
  position: relative;
  display: flex;
  min-height: 305px;
  flex-direction: column;
  padding: 24px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.75);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.drive-tools-grid a::before {
  position: absolute;
  z-index: -1;
  inset: 44px 10px 12px 34%;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  filter: grayscale(0.28) saturate(0.7);
  opacity: 0.1;
  pointer-events: none;
  transition: opacity 180ms ease, transform 220ms ease;
}

.drive-tools-grid a:nth-child(1)::before { background-image: url("products/temperature/fluke-54-iib-reference.svg"); }
.drive-tools-grid a:nth-child(2)::before {
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-position: right bottom;
  background-size: 300% 200%;
}
.drive-tools-grid a:nth-child(3)::before {
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-position: right bottom;
  background-size: 300% 200%;
}
.drive-tools-grid a:nth-child(4)::before { background-image: url("products/temperature/fluke-54-iib-reference.svg"); }

.drive-tools-grid a:hover::before {
  opacity: 0.17;
  transform: scale(1.025);
}

.drive-tools-grid a:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}

.drive-tools-grid span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 8px;
}

.drive-tools-grid svg {
  width: 58px;
  height: 58px;
  margin: 35px 0;
  color: #414a4f;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.drive-tools-grid strong {
  font-size: 20px;
}

.drive-tools-grid p {
  margin: 8px 0 20px;
  color: var(--muted);
  font-size: 11px;
}

.drive-tools-grid i {
  margin-top: auto;
  color: var(--accent);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.inverter-next-route {
  padding-block: 86px;
  border-top: 1px solid #343b3f;
  color: #f4f3ef;
  background: #171b1e;
}

.inverter-next-grid {
  display: grid;
  grid-template-columns: 1fr minmax(420px, 0.8fr);
  align-items: center;
  gap: 80px;
}

.inverter-next-grid h2 {
  margin: 9px 0 20px;
  font-size: clamp(38px, 4.5vw, 60px);
  letter-spacing: -0.045em;
  line-height: 1;
}

.inverter-next-grid p:not(.eyebrow) {
  max-width: 690px;
  color: #a7b0b4;
}

.route-card {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid #576166;
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(174, 213, 203, 0.08), rgba(255, 255, 255, 0.02));
}

.route-card span,
.route-card small {
  color: #7d898e;
  font-family: var(--mono);
  font-size: 8px;
  text-transform: uppercase;
}

.route-card strong {
  max-width: 420px;
  margin: 34px 0 12px;
  font-size: 28px;
  line-height: 1.15;
}

.route-card i {
  margin-top: auto;
  color: #77b9aa;
  font-size: 26px;
  font-style: normal;
}

.drive-legal-note {
  padding-block: 28px;
  border-top: 1px solid var(--line);
  background: #ecece8;
}

.drive-legal-note .container {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 30px;
}

.drive-legal-note strong {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.drive-legal-note p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
}

/* Tecniche di installazione refrigerazione */
.installation-hero {
  position: relative;
  overflow: hidden;
  padding-block: 92px;
  background:
    radial-gradient(circle at 86% 18%, rgba(174, 213, 203, 0.42), transparent 27%),
    linear-gradient(135deg, #f9f8f4, #e9eeea);
}

.installation-hero-grid {
  display: grid;
  min-height: 570px;
  grid-template-columns: minmax(0, 1fr) minmax(450px, 0.8fr);
  align-items: center;
  gap: 86px;
}

.installation-hero h1 {
  max-width: 800px;
  margin: 12px 0 26px;
  font-size: clamp(52px, 5.7vw, 80px);
  letter-spacing: -0.06em;
  line-height: 0.98;
}

.installation-hero h1 span {
  color: #34786c;
}

.installation-hero-grid > div > p:not(.kicker) {
  max-width: 710px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.installation-blueprint {
  padding: 24px;
  border: 1px solid #8fb9ae;
  border-radius: 10px;
  color: #285e55;
  background:
    linear-gradient(rgba(52, 120, 108, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(52, 120, 108, 0.08) 1px, transparent 1px),
    rgba(255, 255, 255, 0.64);
  background-size: 24px 24px;
  box-shadow: 17px 17px 0 rgba(52, 120, 108, 0.09);
}

.blueprint-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.installation-blueprint > svg {
  display: block;
  width: 100%;
  height: 310px;
  margin-block: 18px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.installation-blueprint circle {
  fill: #f8f8f3;
}

.blueprint-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-family: var(--mono);
  font-size: 8px;
  text-transform: uppercase;
}

.blueprint-legend span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.blueprint-legend i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e35e25;
}

.installation-promise {
  border-block: 1px solid var(--line);
  background: #fff;
}

.installation-promise-grid div {
  border-color: var(--line);
}

.installation-promise-grid div:last-child {
  border-color: var(--line);
}

.installation-promise-grid strong {
  color: #34786c;
}

.installation-promise-grid span {
  color: var(--muted);
}

.installation-heading {
  margin-bottom: 64px;
}

.installation-steps {
  position: relative;
}

.installation-step {
  display: grid;
  min-height: 290px;
  grid-template-columns: 64px 88px minmax(0, 1fr) 260px;
  gap: 26px;
  padding: 34px 0;
  border-top: 1px solid var(--line-strong);
}

.installation-step:last-child {
  border-bottom: 1px solid var(--line-strong);
}

.step-rail {
  position: relative;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
}

.step-rail span {
  color: #34786c;
}

.step-rail i {
  position: absolute;
  top: 30px;
  bottom: -35px;
  left: 7px;
  width: 1px;
  background: #aed5cb;
}

.step-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border: 1px solid #aed5cb;
  border-radius: 16px;
  color: #34786c;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: inset 0 0 0 7px rgba(174, 213, 203, 0.12);
}

.step-icon svg {
  width: 42px;
  height: 42px;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.step-code {
  color: #34786c;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.step-copy h3 {
  margin: 7px 0 13px;
  font-size: 31px;
  letter-spacing: -0.035em;
}

.step-copy > p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.step-copy details {
  margin-top: 19px;
  border-top: 1px solid var(--line);
}

.step-copy summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 0;
  cursor: pointer;
  font-size: 11px;
  font-weight: 720;
  list-style: none;
}

.step-copy summary::-webkit-details-marker { display: none; }
.step-copy summary span { color: #34786c; font-size: 18px; }
.step-copy details[open] summary span { transform: rotate(45deg); }

.step-copy ul {
  margin: 0 0 15px;
  padding-left: 18px;
  color: var(--muted);
  font-size: 11px;
}

.step-tools {
  display: flex;
  align-self: start;
  flex-direction: column;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.64);
}

.step-tools > span {
  margin-bottom: 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.07em;
}

.step-tools a {
  padding: 10px 0;
  border-top: 1px solid var(--line);
  color: #34786c;
  font-size: 10px;
  font-weight: 700;
}

.installation-sources {
  padding-block: 94px;
  color: #f4f3ef;
  background: #171b1e;
}

.installation-sources-head {
  display: grid;
  margin-bottom: 46px;
  grid-template-columns: 1fr 0.6fr;
  align-items: end;
  gap: 70px;
}

.installation-sources-head h2 {
  margin: 9px 0 0;
  font-size: clamp(42px, 4.8vw, 64px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.installation-sources-head > p {
  color: #a6afb3;
}

.installation-source-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.installation-source-grid article {
  display: flex;
  min-height: 400px;
  flex-direction: column;
  padding: 26px;
  border: 1px solid #485156;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
}

.source-origin {
  color: #77b9aa;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.installation-source-grid h3 {
  margin: 33px 0 14px;
  font-size: 27px;
}

.installation-source-grid p {
  color: #a6afb3;
  font-size: 12px;
}

.installation-source-grid dl {
  margin: 18px 0 25px;
}

.installation-source-grid dl div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 9px 0;
  border-top: 1px solid #3c4448;
  font-size: 9px;
}

.installation-source-grid dt {
  color: #7f898e;
  font-family: var(--mono);
  text-transform: uppercase;
}

.installation-source-grid dd {
  margin: 0;
  text-align: right;
}

.installation-source-grid .button {
  width: 100%;
  margin-top: auto;
  color: #17201e;
  border-color: #aed5cb;
  background: #aed5cb;
}

.installation-commerce {
  padding-block: 96px;
  background: #f7f6f2;
}

.installation-commerce-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(500px, 1.1fr);
  align-items: center;
  gap: 90px;
}

.installation-commerce h2 {
  margin: 9px 0 22px;
  font-size: clamp(44px, 5vw, 68px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.installation-commerce p:not(.eyebrow) {
  color: var(--muted);
}

.installation-commerce .button {
  margin-top: 24px;
}

.installation-commerce-routes {
  border-top: 2px solid var(--ink);
}

.installation-commerce-routes a {
  display: grid;
  min-height: 94px;
  grid-template-columns: 128px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 19px 22px;
  border-bottom: 1px solid var(--line-strong);
  transition: background 160ms ease;
}

.installation-commerce-routes a:hover {
  background: #fff;
}

.installation-commerce-routes span {
  color: #34786c;
  font-family: var(--mono);
  font-size: 8px;
}

.installation-commerce-routes strong {
  font-size: 19px;
}

.installation-commerce-routes i {
  color: #34786c;
  font-size: 22px;
  font-style: normal;
}

.installation-next {
  padding-block: 38px;
  color: #f4f3ef;
  background: #181c1f;
}

.installation-next .container,
.installation-next .container > div {
  display: flex;
  align-items: center;
}

.installation-next .container {
  justify-content: space-between;
  gap: 40px;
}

.installation-next .container > div {
  gap: 21px;
}

.installation-next span {
  display: flex;
  flex-direction: column;
}

.installation-next small {
  color: #7c878c;
  font-family: var(--mono);
  font-size: 8px;
}

.installation-next strong {
  margin-top: 4px;
  font-size: 20px;
}

@media (max-width: 1100px) {
  .inverter-hero-grid,
  .installation-hero-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .inverter-hero-grid {
    min-height: 0;
  }

  .drive-signal-console,
  .installation-blueprint {
    max-width: 720px;
  }

  .drive-brand-panel {
    grid-template-columns: 0.78fr 1.22fr;
  }

  .drive-panel-content {
    padding: 45px 38px;
  }

  .drive-choice-grid,
  .drive-command-intro,
  .installation-commerce-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .drive-manual-grid,
  .installation-source-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

  .installation-step {
    grid-template-columns: 50px 76px 1fr;
  }

  .step-tools {
    grid-column: 3;
  }
}

@media (max-width: 780px) {
  .inverter-hero-grid,
  .installation-hero-grid {
    padding-block: 58px;
  }

  .inverter-hero-copy h1,
  .installation-hero h1 {
    font-size: 47px;
  }

  .inverter-section-brand {
    margin-bottom: 28px;
  }

  .drive-signal-console,
  .installation-blueprint {
    padding: 18px;
  }

  .drive-console-values,
  .inverter-proof-grid,
  .installation-promise-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .drive-brand-panel {
    grid-template-columns: 1fr;
  }

  .drive-panel-visual {
    min-height: 500px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .drive-panel-content {
    padding: 36px 25px;
  }

  .drive-choice-matrix {
    overflow-x: auto;
  }

  .choice-row {
    min-width: 680px;
  }

  .drive-manual-grid,
  .drive-tools-grid,
  .drive-command-grid,
  .installation-source-grid {
    grid-template-columns: 1fr;
  }

  .drive-command-center { padding: 66px 0; }
  .drive-command-grid article { min-height: 0; }
  .drive-console-checklist { grid-template-columns: 1fr; }

  .manual-source-rule {
    grid-template-columns: auto 1fr;
  }

  .manual-source-rule a {
    grid-column: 1 / -1;
  }

  .drive-tools-head,
  .installation-sources-head,
  .inverter-next-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .installation-step {
    grid-template-columns: 42px 1fr;
    gap: 16px;
  }

  .step-icon {
    grid-column: 2;
    grid-row: 1;
  }

  .step-copy,
  .step-tools {
    grid-column: 2;
  }

  .step-rail {
    grid-row: 1 / span 3;
  }

  .installation-blueprint > svg {
    height: 240px;
  }

  .installation-commerce-routes a {
    grid-template-columns: 1fr auto;
  }

  .installation-commerce-routes span {
    grid-column: 1 / -1;
  }

  .installation-next .container {
    align-items: flex-start;
    flex-direction: column;
  }

  .drive-legal-note .container {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* Gateway inverter nella homepage */
.home-inverter-hub {
  padding-block: 54px;
  color: #f4f3ef;
  border-block: 1px solid #373e42;
  background:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(135deg, #161a1d, #22282c);
  background-size: 40px 40px, 40px 40px, auto;
}

.home-inverter-hub-grid {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 260px;
  align-items: center;
  gap: 42px;
}

.home-inverter-symbol {
  display: flex;
  align-items: center;
  gap: 13px;
}

.home-inverter-symbol img {
  width: 92px;
  height: 92px;
}

.home-inverter-symbol span {
  color: #7d888d;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.12em;
}

.home-inverter-copy h2 {
  margin: 6px 0 12px;
  font-size: clamp(32px, 3.5vw, 47px);
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.home-inverter-copy > p:not(.eyebrow) {
  max-width: 710px;
  margin: 0;
  color: #aab2b6;
  font-size: 12px;
}

.home-inverter-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}

.home-inverter-brands span {
  padding: 6px 9px;
  border: 1px solid #475055;
  border-radius: 999px;
  color: #b8bfc2;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.06em;
}

.home-inverter-actions {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 15px;
}

.home-inverter-actions .button {
  width: 100%;
}

.home-inverter-actions > a:not(.button) {
  color: #ef7440;
  font-size: 10px;
  font-weight: 700;
}

/* Gateway inverter nella Bibliotecha */
.inverter-library-gateway {
  display: grid;
  min-height: 210px;
  margin-top: 22px;
  grid-template-columns: 150px minmax(0, 1fr) 360px auto;
  align-items: center;
  gap: 30px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid #3d464b;
  border-radius: 10px;
  color: #f4f3ef;
  background:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(135deg, #171b1e, #252c30);
  background-size: 32px 32px, 32px 32px, auto;
  box-shadow: 0 17px 34px rgba(23, 27, 30, 0.1);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.inverter-library-gateway:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 45px rgba(23, 27, 30, 0.15);
}

.inverter-library-mark {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

.inverter-library-mark span {
  color: #879197;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.09em;
}

.inverter-library-gateway h3 {
  margin: 5px 0 10px;
  font-size: 31px;
  letter-spacing: -0.035em;
}

.inverter-library-gateway p:not(.kicker) {
  max-width: 670px;
  margin: 0;
  color: #aab2b6;
  font-size: 11px;
}

.inverter-library-logos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 8px;
}

.inverter-library-logos img {
  display: block;
  width: 100%;
  max-height: 48px;
  object-fit: contain;
  border-radius: 6px;
}

.inverter-library-gateway > i {
  color: #ef7440;
  font-size: 30px;
  font-style: normal;
}

@media (max-width: 980px) {
  .home-inverter-hub-grid {
    grid-template-columns: 120px 1fr;
  }

  .home-inverter-actions {
    grid-column: 2;
  }

  .inverter-library-gateway {
    grid-template-columns: 120px 1fr auto;
  }

  .inverter-library-logos {
    grid-column: 2;
  }
}

@media (max-width: 680px) {
  .home-inverter-hub-grid {
    grid-template-columns: 1fr;
  }

  .home-inverter-actions {
    grid-column: 1;
  }

  .home-inverter-symbol {
    justify-content: flex-start;
  }

  .inverter-library-gateway {
    grid-template-columns: 1fr;
  }

  .inverter-library-mark {
    align-items: flex-start;
  }

  .inverter-library-logos {
    grid-column: 1;
  }
}

/* ================================================================
   REFTHE / HUB REFRIGERAZIONE V1
   ================================================================ */

.refrigeration-page {
  background: #f3f5f2;
}

.refrigeration-header {
  border-bottom-color: #c8d8d3;
  background: rgba(249, 250, 247, 0.96);
}

.refrigeration-hero {
  position: relative;
  overflow: hidden;
  padding-block: 76px 72px;
  color: #eef5f2;
  background:
    radial-gradient(circle at 14% 35%, rgba(80, 150, 138, 0.16), transparent 29%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(135deg, #0e1618, #172326 62%, #0f181b);
  background-size: auto, 44px 44px, 44px 44px, auto;
}

.refrigeration-hero::after {
  position: absolute;
  width: 420px;
  height: 420px;
  right: -190px;
  bottom: -230px;
  border: 1px solid rgba(139, 191, 181, 0.12);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(139, 191, 181, 0.025), 0 0 0 120px rgba(139, 191, 181, 0.018);
  content: "";
}

.refrigeration-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(420px, 0.86fr);
  align-items: center;
  gap: 70px;
}

.refrigeration-section-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 34px;
}

.cooling-core {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border: 1px solid #4d6866;
  border-radius: 50%;
  color: #91c8bd;
  background: rgba(122, 181, 169, 0.06);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.025);
}

.cooling-core svg {
  width: 38px;
  height: 38px;
  stroke: currentColor;
  stroke-width: 1.5;
}

.refrigeration-section-brand > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.refrigeration-section-brand strong,
.refrigeration-section-brand small {
  font-family: var(--mono);
  letter-spacing: 0.09em;
}

.refrigeration-section-brand strong {
  color: #dce8e4;
  font-size: 9px;
}

.refrigeration-section-brand small {
  color: #778a88;
  font-size: 7px;
}

.refrigeration-hero-copy h1 {
  max-width: 760px;
  margin: 8px 0 22px;
  font-size: clamp(48px, 5.7vw, 76px);
  letter-spacing: -0.058em;
  line-height: 0.96;
}

.refrigeration-hero-copy h1 span {
  color: #95cbbf;
}

.refrigeration-hero-copy > p:not(.kicker) {
  max-width: 720px;
  margin: 0;
  color: #abb9b6;
  font-size: 14px;
}

.refrigeration-search-shell {
  margin-top: 34px;
}

.refrigeration-search-shell .technical-search {
  padding: 7px;
  border: 1px solid #405351;
  border-radius: 5px;
  background: #f5f7f3;
}

.refrigeration-search-shell .technical-search button {
  background: #377d70;
}

.refrigeration-search-shell .search-examples {
  color: #82918e;
}

.refrigeration-search-shell .search-examples button {
  color: #b5c2bf;
  border-color: #40504f;
}

.refrigeration-system-map {
  padding: 22px;
  border: 1px solid #34484a;
  border-radius: 8px;
  background: rgba(9, 15, 17, 0.58);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(8px);
}

.system-map-head {
  display: flex;
  justify-content: space-between;
  color: #778a88;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.09em;
}

.system-ready {
  color: #8fc1b7;
}

.system-ready i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: #7fc6a9;
  box-shadow: 0 0 0 4px rgba(127, 198, 169, 0.09);
}

.cycle-map {
  position: relative;
  min-height: 258px;
  margin-block: 14px 18px;
  border-block: 1px solid #263638;
}

.cycle-map svg {
  width: 100%;
  height: 240px;
  stroke: #4d6967;
  stroke-width: 1.5;
}

.cycle-map .cycle-line {
  stroke: #75aa9f;
  stroke-dasharray: 7 6;
}

.cycle-map .cycle-line-return {
  stroke: #637779;
}

.cycle-map .cycle-pulse {
  stroke: #ef7440;
  stroke-width: 2;
  stroke-dasharray: 15 120;
}

.map-label {
  position: absolute;
  color: #9aa9a7;
  font-family: var(--mono);
  font-size: 6px;
  letter-spacing: 0.07em;
}

.map-compressor { top: 46px; left: 5px; }
.map-condenser { top: 29px; left: 43%; }
.map-valve { right: 2px; bottom: 46px; }
.map-evaporator { left: 1px; bottom: 34px; }

.refrigeration-system-map ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.refrigeration-system-map li {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid #28383a;
  color: #b9c6c3;
  font-size: 9px;
}

.refrigeration-system-map li span {
  color: #718481;
  font-family: var(--mono);
  font-size: 7px;
}

.refrigeration-proof {
  border-bottom: 1px solid #c8d5d0;
  background: #e4ece8;
}

.refrigeration-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.refrigeration-proof-grid > div {
  display: flex;
  min-height: 86px;
  align-items: center;
  gap: 13px;
  padding-inline: 24px;
  border-left: 1px solid #c8d5d0;
}

.refrigeration-proof-grid > div:last-child {
  border-right: 1px solid #c8d5d0;
}

.refrigeration-proof-grid strong {
  color: #276e62;
  font-size: 26px;
  letter-spacing: -0.04em;
}

.refrigeration-proof-grid span {
  color: #596965;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.refrigeration-anchor-nav {
  position: sticky;
  z-index: 45;
  top: 0;
  border-bottom: 1px solid #d2dad6;
  background: rgba(248, 249, 246, 0.94);
  backdrop-filter: blur(12px);
}

.refrigeration-anchor-nav .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.refrigeration-anchor-nav a {
  display: flex;
  min-height: 49px;
  align-items: center;
  gap: 10px;
  padding-inline: 14px;
  border-left: 1px solid #e0e5e2;
  color: #42514d;
  font-size: 9px;
  font-weight: 700;
  transition: color 150ms ease, background 150ms ease;
}

.refrigeration-anchor-nav a:last-child { border-right: 1px solid #e0e5e2; }
.refrigeration-anchor-nav a:hover { color: #1e665a; background: #edf4f1; }
.refrigeration-anchor-nav a span { color: #8a9692; font-family: var(--mono); font-size: 7px; }

.refrigeration-entry-section {
  padding-block: 90px;
  background:
    radial-gradient(circle at 8% 12%, rgba(185, 208, 199, 0.16), transparent 27%),
    radial-gradient(circle at 92% 88%, rgba(205, 197, 218, 0.13), transparent 28%),
    #f7f8f5;
}

.refrigeration-heading h2 {
  font-size: clamp(36px, 4.3vw, 57px);
  letter-spacing: -0.05em;
  line-height: 1.01;
}

.refrigeration-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.refrigeration-entry-grid > a {
  --card-accent: #668f84;
  --card-border: #c8d8d1;
  --card-wash: #edf4f0;
  --card-icon: rgba(102, 143, 132, 0.11);
  position: relative;
  display: grid;
  min-height: 240px;
  grid-template-columns: 1fr 58px;
  align-content: start;
  padding: 26px;
  overflow: hidden;
  border: 1px solid var(--card-border);
  border-radius: 9px;
  background:
    radial-gradient(circle at 92% 10%, var(--card-icon), transparent 31%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), transparent 52%),
    var(--card-wash);
  box-shadow: 0 9px 25px rgba(36, 53, 49, 0.045);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.refrigeration-entry-grid > a::before {
  position: absolute;
  height: 4px;
  inset: 0 0 auto;
  background: var(--card-accent);
  opacity: 0.72;
  content: "";
}

.refrigeration-entry-grid > a::after {
  position: absolute;
  width: 90px;
  height: 90px;
  right: -51px;
  bottom: -51px;
  border: 1px solid var(--card-border);
  border-radius: 50%;
  box-shadow: 0 0 0 14px rgba(255, 255, 255, 0.14);
  content: "";
}

.refrigeration-entry-grid > a:nth-child(1) {
  --card-accent: #a06f61;
  --card-border: #dec9c1;
  --card-wash: #f4eae6;
  --card-icon: rgba(177, 119, 101, 0.13);
}

.refrigeration-entry-grid > a:nth-child(2) {
  --card-accent: #728d72;
  --card-border: #c9d8c7;
  --card-wash: #eaf1e8;
  --card-icon: rgba(110, 143, 111, 0.13);
}

.refrigeration-entry-grid > a:nth-child(3) {
  --card-accent: #668394;
  --card-border: #c6d6de;
  --card-wash: #e8f0f3;
  --card-icon: rgba(100, 136, 155, 0.13);
}

.refrigeration-entry-grid > a:nth-child(4) {
  --card-accent: #81788f;
  --card-border: #d4cddd;
  --card-wash: #efebf2;
  --card-icon: rgba(130, 116, 148, 0.12);
}

.refrigeration-entry-grid > a:nth-child(5) {
  --card-accent: #9a875e;
  --card-border: #ddd3b9;
  --card-wash: #f3efe2;
  --card-icon: rgba(158, 137, 91, 0.12);
}

.refrigeration-entry-grid > a:nth-child(6) {
  --card-accent: #5f8b86;
  --card-border: #c2d9d5;
  --card-wash: #e6f1ef;
  --card-icon: rgba(92, 146, 137, 0.13);
}

.refrigeration-entry-grid > a:hover {
  z-index: 1;
  border-color: var(--card-accent);
  box-shadow: 0 20px 44px rgba(42, 62, 57, 0.11);
  filter: saturate(1.04);
  transform: translateY(-4px);
}

.refrigeration-entry-grid > a:focus-visible {
  outline: 3px solid rgba(227, 94, 37, 0.24);
  outline-offset: 3px;
}

.refrigeration-entry-grid > a > span:not(.refrigeration-entry-photo) {
  color: var(--card-accent);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.refrigeration-entry-photo {
  position: absolute;
  z-index: 0;
  inset: 36px 12px 14px 38%;
  border: 0;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  filter: grayscale(0.18) saturate(0.78) contrast(0.92);
  opacity: 0.13;
  pointer-events: none;
  transform: scale(0.97);
  transition: opacity 180ms ease, transform 220ms ease;
}

.refrigeration-entry-grid > a:nth-child(1) .refrigeration-entry-photo { background-image: url("products/dixell/xer-reference.svg"); }
.refrigeration-entry-grid > a:nth-child(2) .refrigeration-entry-photo { background-image: url("products/danfoss/ets-5m-reference.svg"); }
.refrigeration-entry-grid > a:nth-child(3) .refrigeration-entry-photo { background-image: url("products/carel/smartcella-reference.svg"); }
.refrigeration-entry-grid > a:nth-child(4) .refrigeration-entry-photo { background-image: url("products/danfoss/ak-cc55-reference.svg"); }
.refrigeration-entry-grid > a:nth-child(5) .refrigeration-entry-photo { background-image: url("products/carel/mpxpro-manual-reference.svg"); }
.refrigeration-entry-grid > a:nth-child(6) .refrigeration-entry-photo { background-image: url("products/temperature/fieldpiece-jl3pc-reference.svg"); }

.refrigeration-entry-grid > a:hover .refrigeration-entry-photo {
  opacity: 0.2;
  transform: scale(1.015);
}

.refrigeration-entry-grid svg,
.refrigeration-entry-grid strong,
.refrigeration-entry-grid p,
.refrigeration-entry-grid i,
.refrigeration-entry-grid > a > span:not(.refrigeration-entry-photo) {
  position: relative;
  z-index: 1;
}

.refrigeration-entry-grid svg {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 54px;
  height: 54px;
  padding: 11px;
  border: 1px solid var(--card-border);
  border-radius: 50%;
  color: var(--card-accent);
  background: var(--card-icon);
  stroke: currentColor;
  stroke-width: 1.5;
}

.refrigeration-entry-grid strong {
  margin-top: 28px;
  color: #27302e;
  font-size: 23px;
  letter-spacing: -0.035em;
}

.refrigeration-entry-grid p {
  grid-column: 1 / -1;
  margin: 9px 0 24px;
  color: #68736f;
  font-size: 11px;
}

.refrigeration-entry-grid i {
  grid-column: 1 / -1;
  align-self: end;
  color: var(--card-accent);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.refrigeration-problem-section {
  border-block: 1px solid #334547;
  color: #edf2ef;
  background:
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px),
    #121c1e;
  background-size: 36px 36px;
}

.refrigeration-problem-section .refrigeration-heading > p { color: #9daaa7; }

.problem-desk {
  border: 1px solid #334649;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(10, 16, 17, 0.45);
}

.problem-desk-head,
.problem-desk article {
  display: grid;
  grid-template-columns: 1.05fr 1.35fr 0.7fr;
  gap: 30px;
  align-items: center;
}

.problem-desk-head {
  min-height: 42px;
  padding-inline: 22px;
  color: #6f8581;
  background: #0d1517;
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.08em;
}

.problem-desk article {
  min-height: 120px;
  padding: 20px 22px;
  border-top: 1px solid #2b3d3f;
  transition: background 150ms ease;
}

.problem-desk article:hover { background: rgba(116, 174, 162, 0.045); }

.problem-desk article > div:first-child {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: baseline;
}

.problem-desk em {
  color: #689b90;
  font-family: var(--mono);
  font-size: 8px;
  font-style: normal;
}

.problem-desk strong {
  font-size: 15px;
}

.problem-desk small {
  grid-column: 2;
  margin-top: 4px;
  color: #72827f;
  font-size: 8px;
}

.problem-desk article > p {
  margin: 0;
  color: #aab6b3;
  font-size: 10px;
}

.problem-desk article > div:last-child {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 7px;
}

.problem-desk article a {
  color: #9fcfc3;
  font-size: 8px;
  font-weight: 700;
}

.qualified-note,
.refrigeration-legal-note .container {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 30px;
  margin-top: 18px;
  padding: 17px 20px;
  border-left: 3px solid #dd7648;
  color: #9eaaa7;
  background: #0e1719;
}

.qualified-note strong,
.refrigeration-legal-note strong {
  color: #d88965;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.qualified-note p,
.refrigeration-legal-note p {
  margin: 0;
  font-size: 9px;
}

.refrigeration-components { background: #edf2ef; }

.component-atlas-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid #cbd6d1;
  border-left: 1px solid #cbd6d1;
}

.component-atlas-grid > a {
  display: flex;
  min-height: 225px;
  flex-direction: column;
  padding: 22px;
  border-right: 1px solid #cbd6d1;
  border-bottom: 1px solid #cbd6d1;
  background: rgba(255, 255, 255, 0.55);
  transition: color 150ms ease, background 150ms ease;
}

.component-atlas-grid > a:hover { color: #145d51; background: #fff; }
.component-atlas-grid span { color: #78928b; font-family: var(--mono); font-size: 7px; }
.component-atlas-grid strong { margin-top: 34px; font-size: 17px; letter-spacing: -0.025em; }
.component-atlas-grid p { margin: 8px 0 18px; color: #64716d; font-size: 9px; }
.component-atlas-grid small { margin-top: auto; color: #7b8884; font-size: 7px; }
.component-atlas-grid i { margin-top: 14px; color: #2d7b6e; font-style: normal; }

.refrigeration-applications {
  padding-block: 92px;
  background: #f9faf7;
}

.application-route-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.application-route-grid > a {
  min-height: 260px;
  padding: 28px;
  border: 1px solid #d7dfda;
  border-radius: 7px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(235, 243, 239, 0.82));
  box-shadow: 0 10px 26px rgba(30, 54, 48, 0.04);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.application-route-grid > a:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(30, 74, 64, 0.1); }
.application-route-grid span { color: #5f9689; font-family: var(--mono); font-size: 9px; }
.application-route-grid strong { display: block; margin-top: 55px; font-size: 25px; letter-spacing: -0.04em; }
.application-route-grid p { min-height: 46px; margin: 8px 0 22px; color: #67746f; font-size: 10px; }
.application-route-grid small { color: #236a5e; font-size: 8px; font-weight: 800; letter-spacing: 0.03em; }

.manufacturer-directory { background: #e8eeeb; }

.manufacturer-group {
  margin-top: 44px;
  padding-top: 27px;
  border-top: 1px solid #bfcfc8;
}

.manufacturer-group-title {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 28px;
  align-items: start;
  margin-bottom: 22px;
}

.manufacturer-group-title > span {
  color: #588177;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.08em;
}

.manufacturer-group-title h3 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.035em;
}

.manufacturer-group-title p { margin: 5px 0 0; color: #697570; font-size: 10px; }

.manufacturer-name-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.manufacturer-name-grid > a {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 16px;
  border: 1px solid #c9d5d0;
  border-radius: 6px;
  background: #f8faf7;
  transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.manufacturer-name-grid > a:hover {
  border-color: #7ca699;
  box-shadow: 0 15px 34px rgba(35, 67, 59, 0.09);
  transform: translateY(-3px);
}

.manufacturer-nameplate {
  display: flex;
  min-height: 72px;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 13px 15px;
  border: 1px solid #d2dad6;
  border-radius: 4px;
  color: #20292a;
  background:
    linear-gradient(90deg, #edf1ee 1px, transparent 1px),
    #fff;
  background-size: 14px 100%;
}

.manufacturer-nameplate small {
  color: #84918d;
  font-family: var(--mono);
  font-size: 6px;
  letter-spacing: 0.12em;
}

.manufacturer-nameplate strong {
  font-size: 19px;
  font-weight: 750;
  letter-spacing: 0.045em;
}

.manufacturer-name-grid p { margin: 13px 3px; color: #687570; font-size: 9px; }
.manufacturer-name-grid em { margin: auto 3px 0; color: #276e62; font-size: 7px; font-style: normal; font-weight: 800; letter-spacing: 0.05em; }

.refrigeration-knowledge {
  padding-block: 92px;
  color: #eef3f1;
  background: #172124;
}

.refrigeration-knowledge-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 80px;
}

.knowledge-intro h2 {
  margin: 8px 0 18px;
  font-size: clamp(38px, 4.2vw, 56px);
  letter-spacing: -0.05em;
  line-height: 1.01;
}

.knowledge-intro > p:not(.eyebrow) { color: #9aa8a5; font-size: 12px; }
.knowledge-languages { display: flex; gap: 7px; margin-top: 32px; }
.knowledge-languages span { display: grid; width: 38px; height: 31px; place-items: center; border: 1px solid #435457; border-radius: 3px; color: #9ec6bd; font-family: var(--mono); font-size: 8px; }

.knowledge-routes { border-top: 1px solid #36474a; }

.knowledge-routes a {
  display: grid;
  min-height: 92px;
  grid-template-columns: 110px 1fr auto;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #36474a;
  transition: padding 150ms ease, background 150ms ease;
}

.knowledge-routes a:hover { padding-inline: 14px; background: rgba(120, 179, 167, 0.045); }
.knowledge-routes span { color: #6f8984; font-family: var(--mono); font-size: 7px; }
.knowledge-routes strong { font-size: 15px; }
.knowledge-routes small { grid-column: 2; margin-top: -31px; color: #768582; font-size: 8px; }
.knowledge-routes i { grid-column: 3; grid-row: 1 / span 2; color: #ef7440; font-style: normal; }

.refrigeration-commerce { background: #f8f9f6; }

.commerce-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 11px;
  padding: 24px;
  border: 1px solid #d4dcd8;
  border-radius: 8px;
  background: #eef3f0;
}

.commerce-flow > div { min-height: 142px; padding: 17px; border: 1px solid #d2dcd7; border-radius: 5px; background: #fff; }
.commerce-flow > div span { color: #558d80; font-family: var(--mono); font-size: 8px; }
.commerce-flow > div strong { display: block; margin-top: 28px; font-size: 14px; }
.commerce-flow > div p { margin: 6px 0 0; color: #6e7b76; font-size: 8px; }
.commerce-flow > i { color: #6f9189; font-style: normal; }

.refrigeration-buy-routes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.refrigeration-buy-routes > a {
  display: grid;
  min-height: 185px;
  grid-template-columns: 1fr auto;
  align-content: start;
  padding: 24px;
  border: 1px solid #d3dcd8;
  border-radius: 6px;
  background: #fff;
  transition: border-color 150ms ease, transform 150ms ease;
}

.refrigeration-buy-routes > a:hover { border-color: #7da89c; transform: translateY(-3px); }
.refrigeration-buy-routes span { color: #6c8d85; font-family: var(--mono); font-size: 7px; }
.refrigeration-buy-routes strong { grid-column: 1 / -1; margin-top: 30px; font-size: 18px; }
.refrigeration-buy-routes p { grid-column: 1 / -1; margin: 7px 0 20px; color: #6d7874; font-size: 9px; }
.refrigeration-buy-routes i { grid-column: 2; color: #277064; font-size: 8px; font-style: normal; font-weight: 800; }

.refrigeration-final-route {
  padding-block: 72px;
  color: #f4f2ee;
  background: linear-gradient(135deg, #286e62, #1e514b);
}

.refrigeration-final-route .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.refrigeration-final-route h2 { margin: 5px 0 14px; font-size: clamp(40px, 4.5vw, 58px); letter-spacing: -0.05em; line-height: 1; }
.refrigeration-final-route p:not(.eyebrow) { max-width: 680px; margin: 0; color: #c0d7d1; font-size: 11px; }
.refrigeration-final-route .container > div:last-child { display: flex; min-width: 250px; flex-direction: column; gap: 15px; }
.refrigeration-final-route .container > div:last-child > a:not(.button) { color: #f2c4b0; font-size: 9px; font-weight: 700; }

.refrigeration-legal-note { padding-block: 20px; background: #0d1517; }
.refrigeration-legal-note .container { margin-top: 0; }

/* Targhette neutrali usate anche nell'Hub Inverter e in Bibliotecha */
.drive-brand-logo .manufacturer-nameplate,
.manual-card-brand .manufacturer-nameplate,
.inverter-library-logos .manufacturer-nameplate {
  width: 100%;
  color: #eff2ef;
  border-color: #465255;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    #242b2e;
  background-size: 13px 100%;
}

.manufacturer-archive-logo .manufacturer-nameplate {
  width: min(100%, 230px);
  min-height: 70px;
  color: #20292a;
}

.drive-brand-logo .manufacturer-nameplate { min-width: 205px; }
.manual-card-brand .manufacturer-nameplate { min-width: 126px; min-height: 54px; }
.inverter-library-logos .manufacturer-nameplate { min-height: 55px; }

@media (max-width: 1080px) {
  .refrigeration-hero-grid { grid-template-columns: 1fr; }
  .refrigeration-system-map { max-width: 680px; }
  .component-atlas-grid { grid-template-columns: repeat(3, 1fr); }
  .manufacturer-name-grid { grid-template-columns: repeat(2, 1fr); }
  .commerce-flow { grid-template-columns: repeat(5, 1fr); }
  .commerce-flow > i { display: none; }
  .inverter-library-logos .manufacturer-nameplate strong { font-size: 13px; }
}

@media (max-width: 820px) {
  .refrigeration-entry-grid,
  .application-route-grid,
  .refrigeration-buy-routes { grid-template-columns: repeat(2, 1fr); }
  .refrigeration-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .refrigeration-anchor-nav .container { overflow-x: auto; grid-template-columns: repeat(6, minmax(120px, 1fr)); }
  .problem-desk-head { display: none; }
  .problem-desk article { grid-template-columns: 1fr; gap: 13px; }
  .problem-desk article > div:last-child { flex-direction: row; flex-wrap: wrap; }
  .refrigeration-knowledge-grid { grid-template-columns: 1fr; gap: 44px; }
  .commerce-flow { grid-template-columns: repeat(2, 1fr); }
  .refrigeration-final-route .container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .refrigeration-hero { padding-block: 54px; }
  .refrigeration-hero-grid { gap: 42px; }
  .refrigeration-hero-copy h1 { font-size: 44px; }
  .refrigeration-system-map { padding: 16px; }
  .refrigeration-entry-grid,
  .application-route-grid,
  .manufacturer-name-grid,
  .refrigeration-buy-routes,
  .commerce-flow { grid-template-columns: 1fr; }
  .component-atlas-grid { grid-template-columns: repeat(2, 1fr); }
  .refrigeration-proof-grid > div { padding-inline: 15px; }
  .manufacturer-group-title { grid-template-columns: 1fr; gap: 8px; }
  .knowledge-routes a { grid-template-columns: 82px 1fr auto; }
  .qualified-note,
  .refrigeration-legal-note .container { grid-template-columns: 1fr; gap: 8px; }
}

/* REFTHE · Hub utensili manuali V1 */
.manual-tools-page {
  --manual-paper: #f3f2ed;
  --manual-ink: #222728;
  --manual-muted: #6c7471;
  --manual-line: #d3d7d2;
  --manual-clay: #f4eae6;
  --manual-clay-accent: #a06f61;
  --manual-sage: #eaf1e8;
  --manual-sage-accent: #728d72;
  --manual-powder: #e8f0f3;
  --manual-powder-accent: #668394;
  --manual-lavender: #efebf2;
  --manual-lavender-accent: #81788f;
  --manual-sand: #f3efe2;
  --manual-sand-accent: #9a875e;
  --manual-aqua: #e6f1ef;
  --manual-aqua-accent: #5f8b86;
  color: var(--manual-ink);
  background: var(--manual-paper);
}

.manual-tools-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--manual-line);
  background:
    radial-gradient(circle at 9% 18%, rgba(244, 234, 230, 0.9), transparent 25%),
    radial-gradient(circle at 85% 74%, rgba(230, 241, 239, 0.9), transparent 28%),
    linear-gradient(90deg, rgba(34, 39, 40, 0.025) 1px, transparent 1px),
    linear-gradient(rgba(34, 39, 40, 0.025) 1px, transparent 1px),
    var(--manual-paper);
  background-size: auto, auto, 48px 48px, 48px 48px, auto;
}

.manual-tools-hero-grid {
  display: grid;
  min-height: 700px;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
  align-items: center;
  gap: clamp(48px, 7vw, 104px);
  padding-block: 84px;
}

.manual-tools-hero-copy h1 {
  max-width: 800px;
  margin: 0;
  font-size: clamp(56px, 6.6vw, 92px);
  font-weight: 590;
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.manual-tools-hero-copy h1 span {
  display: block;
  color: #526d68;
}

.manual-tools-hero-copy > p:not(.kicker) {
  max-width: 720px;
  margin: 28px 0 0;
  color: var(--manual-muted);
  font-size: 18px;
  line-height: 1.65;
}

.manual-tools-hero-copy .button-row { margin-top: 34px; }

.manual-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--manual-line);
}

.manual-proof-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #626c68;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.manual-proof-row i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6f958b;
  box-shadow: 0 0 0 4px rgba(111, 149, 139, 0.13);
}

.manual-tools-hero-board {
  position: relative;
  min-height: 510px;
  border: 1px solid #aeb9b5;
  border-radius: 8px;
  color: #5d736e;
  background:
    linear-gradient(90deg, rgba(84, 108, 101, 0.055) 1px, transparent 1px),
    linear-gradient(rgba(84, 108, 101, 0.055) 1px, transparent 1px),
    rgba(250, 251, 248, 0.76);
  background-size: 28px 28px;
  box-shadow: 22px 24px 0 rgba(112, 143, 134, 0.12);
}

.manual-tools-hero-board::before {
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(96, 119, 113, 0.18);
  border-radius: 4px;
  content: "";
}

.manual-tools-hero-board svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 430px;
  padding: 50px 28px 10px;
}

.manual-board-label {
  position: absolute;
  z-index: 2;
  top: 26px;
  right: 26px;
  left: 26px;
  display: flex;
  justify-content: space-between;
  color: #70837e;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.manual-board-readout {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 25px;
  display: grid;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 0 8px;
  padding: 13px 16px;
  border: 1px solid #adc0ba;
  border-radius: 4px;
  color: #516964;
  background: rgba(230, 241, 239, 0.92);
}

.manual-board-readout span,
.manual-board-readout small {
  grid-column: 1 / -1;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.manual-board-readout strong { font-size: 28px; line-height: 1; }
.manual-board-readout small { margin-top: 3px; color: #758984; }

.manual-anchor-nav {
  position: sticky;
  z-index: 8;
  top: 0;
  border-bottom: 1px solid #cdd4d0;
  background: rgba(248, 248, 244, 0.92);
  backdrop-filter: blur(14px);
}

.manual-anchor-nav .container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding-block: 0;
}

.manual-anchor-nav a {
  padding: 15px 10px;
  border-right: 1px solid #dce0dd;
  color: #69736f;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-align: center;
  text-transform: uppercase;
}

.manual-anchor-nav a:first-child { border-left: 1px solid #dce0dd; }
.manual-anchor-nav a:hover { color: #274e47; background: #edf3f0; }

.manual-category-section { background: #faf9f6; }

.manual-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.manual-category-card {
  position: relative;
  display: flex;
  min-height: 330px;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 38%, #fff);
  border-radius: 8px;
  color: var(--manual-ink);
  background: var(--tone-bg);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.34);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.manual-category-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-repeat: no-repeat;
  background-size: 300% 200%;
  content: "";
  filter: grayscale(0.18) saturate(0.58) contrast(0.9);
  opacity: 0.13;
  pointer-events: none;
  transition: opacity 180ms ease, transform 260ms ease;
}

.manual-category-card:nth-child(1)::after { background-position: 0 0; }
.manual-category-card:nth-child(2)::after { background-position: 50% 0; }
.manual-category-card:nth-child(3)::after { background-position: 100% 0; }
.manual-category-card:nth-child(4)::after { background-position: 0 100%; }
.manual-category-card:nth-child(5)::after { background-position: 50% 100%; }
.manual-category-card:nth-child(6)::after { background-position: 100% 100%; }

.manual-category-card > * {
  position: relative;
  z-index: 1;
}

.manual-category-card:hover {
  border-color: var(--tone-accent);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.42), 0 18px 38px rgba(37, 46, 44, 0.08);
  transform: translateY(-4px);
}

.manual-category-card:hover::after {
  opacity: 0.19;
  transform: scale(1.025);
}

.manual-category-card > span {
  color: var(--tone-accent);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.manual-category-card svg {
  width: 70px;
  height: 70px;
  margin: 32px 0 25px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 52%, #fff);
  border-radius: 50%;
  fill: none;
  stroke: var(--tone-accent);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.manual-category-card h3 { margin: 0; font-size: 23px; letter-spacing: -0.03em; }
.manual-category-card p { max-width: 340px; margin: 10px 0 22px; color: #65706c; font-size: 13px; line-height: 1.55; }
.manual-category-card small { margin-top: auto; color: var(--tone-accent); font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: 0.045em; }

.manual-tone-clay,
.pastel-clay { --tone-bg: var(--manual-clay, #f4eae6); --tone-accent: var(--manual-clay-accent, #a06f61); }
.manual-tone-sage,
.pastel-sage { --tone-bg: var(--manual-sage, #eaf1e8); --tone-accent: var(--manual-sage-accent, #728d72); }
.manual-tone-powder,
.pastel-powder { --tone-bg: var(--manual-powder, #e8f0f3); --tone-accent: var(--manual-powder-accent, #668394); }
.manual-tone-lavender { --tone-bg: var(--manual-lavender); --tone-accent: var(--manual-lavender-accent); }
.manual-tone-sand { --tone-bg: var(--manual-sand); --tone-accent: var(--manual-sand-accent); }
.manual-tone-aqua { --tone-bg: var(--manual-aqua); --tone-accent: var(--manual-aqua-accent); }

.manual-work-section {
  padding-block: 92px;
  color: #e9efec;
  background: #242b2c;
}

.manual-work-head,
.manual-selection-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 34px;
}

.manual-work-head h2,
.manual-selection-head h2 {
  max-width: 790px;
  margin: 0;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 580;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.manual-work-head > p { max-width: 440px; margin: 0; color: #aab7b2; font-size: 14px; line-height: 1.6; }

.manual-work-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #4b5553;
  border-left: 1px solid #4b5553;
}

.manual-work-grid article {
  display: flex;
  min-height: 360px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid #4b5553;
  border-bottom: 1px solid #4b5553;
  background: rgba(255, 255, 255, 0.02);
  transition: background 150ms ease;
}

.manual-work-grid article:hover { background: rgba(230, 241, 239, 0.065); }
.manual-work-grid article > span { color: #8facaa; font-family: var(--mono); font-size: 9px; letter-spacing: 0.08em; }
.manual-work-grid h3 { margin: 47px 0 24px; font-size: 23px; line-height: 1.15; }
.manual-work-grid ul { margin: 0; padding: 0; list-style: none; }
.manual-work-grid li { padding: 8px 0; border-bottom: 1px solid #3d4745; color: #b9c4c0; font-size: 12px; }
.manual-work-grid a { margin-top: auto; padding-top: 25px; color: #b9d6cf; font-family: var(--mono); font-size: 9px; font-weight: 800; }

.manual-brands-section { background: #f6f5f1; }

.manual-brand-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.manual-brand-feature {
  display: flex;
  min-height: 610px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 36%, #fff);
  border-radius: 8px;
  background: var(--tone-bg);
}

.manual-brand-nameplate {
  padding: 19px 21px 17px;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 62%, #fff);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.42);
}

.manual-brand-nameplate span,
.manual-brand-nameplate small,
.manual-brand-nameplate strong { display: block; }
.manual-brand-nameplate span { color: var(--tone-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.08em; }
.manual-brand-nameplate strong { margin-top: 14px; font-size: 32px; font-weight: 720; letter-spacing: 0.06em; }
.manual-brand-nameplate small { margin-top: 4px; color: #7a807d; font-size: 8px; }
.manual-brand-feature h3 { margin: 45px 0 13px; font-size: 30px; letter-spacing: -0.04em; line-height: 1.05; }
.manual-brand-feature > p { margin: 0; color: #65706c; font-size: 14px; line-height: 1.65; }
.manual-brand-feature dl { margin: 35px 0 28px; border-top: 1px solid color-mix(in srgb, var(--tone-accent) 30%, #fff); }
.manual-brand-feature dl div { display: grid; grid-template-columns: 110px 1fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--tone-accent) 25%, #fff); }
.manual-brand-feature dt { color: #7a807e; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.manual-brand-feature dd { margin: 0; font-size: 11px; font-weight: 700; }
.manual-brand-feature > a { margin-top: auto; color: var(--tone-accent); font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: 0.04em; }

.manual-specialist-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  padding: 14px;
  border: 1px solid #d5dad6;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.66);
}

.manual-specialist-strip span { margin-right: auto; color: #717a77; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.06em; }
.manual-specialist-strip a { min-width: 82px; padding: 12px 14px; border: 1px solid #d3d9d5; border-radius: 4px; color: #37413f; font-family: var(--mono); font-size: 9px; font-weight: 800; text-align: center; }
.manual-specialist-strip a:hover { border-color: #829e96; background: #eaf1ee; }

.manual-selection-section { background: #eeefeb; }
.manual-selection-head .catalog-legend { flex-shrink: 0; }

.manual-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.manual-product-card {
  display: flex;
  min-height: 650px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--tone-accent) 34%, #fff);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  transition: box-shadow 170ms ease, transform 170ms ease;
}

.manual-product-card:hover { box-shadow: 0 20px 42px rgba(40, 49, 47, 0.09); transform: translateY(-3px); }
.manual-product-head { display: flex; justify-content: space-between; padding: 17px 19px; color: var(--tone-accent); font-family: var(--mono); font-size: 8px; letter-spacing: 0.065em; }
.manual-product-head b { font-weight: 800; }
.manual-product-art { min-height: 190px; padding: 30px 24px; border-block: 1px solid color-mix(in srgb, var(--tone-accent) 22%, #fff); color: color-mix(in srgb, var(--tone-accent) 82%, #222); background: var(--tone-bg); }
.manual-product-art span,
.manual-product-art strong,
.manual-product-art small { display: block; }
.manual-product-art span { font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: 0.09em; }
.manual-product-art strong { margin-top: 32px; font-size: 30px; font-weight: 720; letter-spacing: -0.025em; }
.manual-product-art small { margin-top: 5px; font-family: var(--mono); font-size: 8px; letter-spacing: 0.07em; }
.manual-product-copy { padding: 25px 24px 20px; }
.manual-product-copy h3 { margin: 7px 0 10px; font-size: 24px; letter-spacing: -0.035em; line-height: 1.1; }
.manual-product-copy > p:not(.tool-best-for) { margin: 0; color: #6b7471; font-size: 13px; line-height: 1.55; }
.manual-product-copy dl { margin: 23px 0 0; border-top: 1px solid #dfe3df; }
.manual-product-copy dl div { display: grid; grid-template-columns: 90px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e2e5e2; }
.manual-product-copy dt { color: #89908d; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.manual-product-copy dd { margin: 0; font-size: 10px; font-weight: 700; }
.manual-product-actions { display: grid; gap: 8px; margin-top: auto; padding: 0 24px 24px; }
.manual-product-actions a,
.manual-product-actions button { width: 100%; min-height: 45px; padding: 13px 14px; border: 1px solid #bcc8c3; border-radius: 4px; color: #3e5f58; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.035em; text-align: center; }
.manual-product-actions button { border-color: #31403d; color: #fff; background: #31403d; }
.manual-product-actions a:hover { border-color: var(--tone-accent); }
.manual-product-actions button:hover { background: #47645e; }

.manual-pastel-card { border-color: color-mix(in srgb, var(--tone-accent) 36%, #fff); }
.manual-pastel-card .tool-card-visual { color: color-mix(in srgb, var(--tone-accent) 85%, #222); background: var(--tone-bg); }

.manual-tools-gateway {
  padding-block: 84px;
  border-block: 1px solid #d6d9d5;
  background: #f7f6f2;
}

.manual-tools-gateway-grid { display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: 80px; }
.manual-tools-gateway-copy h2 { max-width: 690px; margin: 0; font-size: clamp(44px, 5.4vw, 68px); letter-spacing: -0.055em; line-height: 0.95; }
.manual-tools-gateway-copy > p:not(.eyebrow) { max-width: 650px; margin: 23px 0 0; color: #6c7471; font-size: 15px; line-height: 1.65; }
.manual-tools-gateway-copy .button-row { margin-top: 30px; }
.manual-tools-gateway-brands { display: grid; gap: 10px; }
.manual-gateway-brand { padding: 19px 22px; border: 1px solid color-mix(in srgb, var(--gateway-accent) 40%, #fff); border-radius: 6px; background: var(--gateway-bg); }
.manual-gateway-brand span,
.manual-gateway-brand strong,
.manual-gateway-brand small { display: block; }
.manual-gateway-brand span { color: var(--gateway-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.manual-gateway-brand strong { margin-top: 10px; font-size: 23px; letter-spacing: 0.045em; }
.manual-gateway-brand small { margin-top: 3px; color: #6c7572; font-size: 9px; }
.brand-clay { --gateway-bg: #f4eae6; --gateway-accent: #a06f61; }
.brand-powder { --gateway-bg: #e8f0f3; --gateway-accent: #668394; }
.brand-sage { --gateway-bg: #eaf1e8; --gateway-accent: #728d72; }

.manual-kit-section {
  padding-block: 92px;
  border-block: 1px solid #d0d7d3;
  background: #e7efec;
}

.manual-kit-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 85px; }
.manual-kit-copy h2 { margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -0.055em; line-height: 0.97; }
.manual-kit-copy > p:not(.eyebrow) { margin: 22px 0 0; color: #65726e; font-size: 14px; line-height: 1.65; }
.manual-kit-copy .button-row { margin-top: 29px; }
.manual-kit-table { border: 1px solid #aebeb8; border-radius: 7px; background: rgba(255, 255, 255, 0.7); }
.manual-kit-table > div { display: grid; grid-template-columns: 1.45fr 0.75fr 0.8fr; gap: 16px; padding: 17px 20px; border-bottom: 1px solid #ced8d4; }
.manual-kit-table > div:last-child { border-bottom: 0; }
.manual-kit-table > div:first-child { color: #6f827c; background: rgba(105, 138, 129, 0.08); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.06em; }
.manual-kit-table strong { font-size: 12px; }
.manual-kit-table span { color: #747e7a; font-size: 10px; }
.manual-kit-table b { color: #4b7168; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.manual-commerce-section { padding-block: 92px; color: #e8eeeb; background: #232a2b; }
.manual-commerce-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 90px; }
.manual-commerce-grid h2 { max-width: 670px; margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -0.055em; line-height: 0.98; }
.manual-commerce-grid > div > p:not(.eyebrow) { max-width: 620px; margin: 22px 0 0; color: #aab6b2; font-size: 14px; line-height: 1.65; }
.manual-commerce-grid ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid #4d5755; border-left: 1px solid #4d5755; list-style: none; }
.manual-commerce-grid li { min-height: 170px; padding: 21px; border-right: 1px solid #4d5755; border-bottom: 1px solid #4d5755; }
.manual-commerce-grid li span,
.manual-commerce-grid li strong,
.manual-commerce-grid li small { display: block; }
.manual-commerce-grid li span { color: #89aba2; font-family: var(--mono); font-size: 8px; }
.manual-commerce-grid li strong { margin-top: 44px; font-size: 16px; }
.manual-commerce-grid li small { margin-top: 6px; color: #98a6a1; font-size: 9px; }
.manual-commerce-note { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 28px; margin-top: 45px; padding: 20px; border: 1px solid #4c5754; border-radius: 5px; }
.manual-commerce-note > span { color: #9abcb3; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.manual-commerce-note p { margin: 0; color: #a8b4b0; font-size: 10px; line-height: 1.55; }
.manual-commerce-note a { color: #c0ded6; font-family: var(--mono); font-size: 8px; font-weight: 800; white-space: nowrap; }

@media (max-width: 1120px) {
  .manual-tools-hero-grid { grid-template-columns: 1fr; }
  .manual-tools-hero-board { max-width: 760px; }
  .manual-work-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-brand-feature-grid,
  .manual-product-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-tools-gateway-grid,
  .manual-kit-grid,
  .manual-commerce-grid { grid-template-columns: 1fr; gap: 48px; }
  .manual-specialist-strip { flex-wrap: wrap; }
  .manual-specialist-strip span { width: 100%; }
}

@media (max-width: 820px) {
  .manual-anchor-nav .container { overflow-x: auto; grid-template-columns: repeat(6, minmax(130px, 1fr)); }
  .manual-category-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-work-head,
  .manual-selection-head { align-items: flex-start; flex-direction: column; }
  .manual-product-grid { grid-template-columns: 1fr; }
  .manual-product-card { min-height: 610px; }
  .manual-commerce-note { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .manual-tools-hero-grid { min-height: auto; padding-block: 58px; }
  .manual-tools-hero-copy h1 { font-size: 50px; }
  .manual-tools-hero-board { min-height: 390px; box-shadow: 10px 12px 0 rgba(112, 143, 134, 0.12); }
  .manual-tools-hero-board svg { height: 350px; padding-inline: 6px; }
  .manual-category-grid,
  .manual-work-grid,
  .manual-brand-feature-grid,
  .manual-commerce-grid ol { grid-template-columns: 1fr; }
  .manual-category-card { min-height: 300px; }
  .manual-brand-feature { min-height: 560px; }
  .manual-specialist-strip a { flex: 1 1 42%; }
  .manual-tools-gateway { padding-block: 62px; }
  .manual-kit-table > div { grid-template-columns: 1fr; gap: 7px; }
}

/* Attrezzature V3 · quattro porte collegate dal problema alla scelta */
.tools-categories {
  padding-block: 96px;
  background:
    radial-gradient(circle at 4% 12%, rgba(244, 234, 230, 0.54), transparent 24%),
    radial-gradient(circle at 96% 88%, rgba(230, 241, 239, 0.58), transparent 28%),
    #f8f7f3;
}

.tools-route-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin: 38px 0 22px;
  padding: 13px;
  border: 1px solid #d6dbd7;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.64);
}

.tools-route-flow > div {
  display: flex;
  min-height: 55px;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  border: 1px solid #e0e3e0;
  border-radius: 4px;
  background: rgba(249, 249, 246, 0.88);
}

.tools-route-flow span {
  color: #80918c;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
}

.tools-route-flow strong {
  font-size: 12px;
  letter-spacing: -0.01em;
}

.tools-route-flow i {
  color: #8ba099;
  font-family: var(--mono);
  font-size: 11px;
  font-style: normal;
}

.tool-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  border: 0;
}

.tool-ladder > .tool-ladder-card {
  --tool-card-bg: #f4eae6;
  --tool-card-accent: #a06f61;
  --tool-card-ring: rgba(160, 111, 97, 0.13);
  position: relative;
  display: flex;
  min-height: 470px;
  flex-direction: column;
  padding: 25px;
  overflow: hidden;
  border: 2px solid var(--tool-card-accent);
  border-radius: 10px;
  color: #232829;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.55), transparent 48%),
    var(--tool-card-bg);
  box-shadow:
    inset 0 0 0 5px rgba(255, 255, 255, 0.42),
    0 10px 24px var(--tool-card-ring);
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.tool-ladder > .tool-ladder-card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  content: "";
  filter: grayscale(0.1) saturate(0.55) contrast(0.92);
  opacity: 0.12;
  pointer-events: none;
  transition: opacity 180ms ease, transform 240ms ease;
}

.tool-ladder > .tool-ladder-card:nth-child(1)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: 0 0;
  background-size: 300% 200%;
}

.tool-ladder > .tool-ladder-card:nth-child(2)::before {
  background-image: url("products/temperature/fluke-54-iib-reference.svg");
}

.tool-ladder > .tool-ladder-card:nth-child(3)::before {
  background-image: url("products/temperature/fieldpiece-jl3pc-reference.svg");
}

.tool-ladder > .tool-ladder-card:nth-child(4)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: 100% 100%;
  background-size: 300% 200%;
}

.tool-ladder > .tool-ladder-card > * {
  position: relative;
  z-index: 1;
}

.tool-ladder > .tool-ladder-card:hover {
  z-index: 1;
  color: #1e2425;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.68), transparent 52%),
    var(--tool-card-bg);
  box-shadow:
    inset 0 0 0 5px rgba(255, 255, 255, 0.52),
    0 20px 42px var(--tool-card-ring);
  transform: translateY(-5px);
}

.tool-ladder > .tool-ladder-card:hover::before {
  opacity: 0.19;
  transform: scale(1.025);
}

.tool-tone-clay {
  --tool-card-bg: #f4eae6 !important;
  --tool-card-accent: #9f6e61 !important;
  --tool-card-ring: rgba(159, 110, 97, 0.16) !important;
}

.tool-tone-powder {
  --tool-card-bg: #e8f0f3 !important;
  --tool-card-accent: #648293 !important;
  --tool-card-ring: rgba(100, 130, 147, 0.16) !important;
}

.tool-tone-aqua {
  --tool-card-bg: #e6f1ef !important;
  --tool-card-accent: #5b887f !important;
  --tool-card-ring: rgba(91, 136, 127, 0.16) !important;
}

.tool-tone-lavender {
  --tool-card-bg: #efebf2 !important;
  --tool-card-accent: #7f758e !important;
  --tool-card-ring: rgba(127, 117, 142, 0.16) !important;
}

.tool-ladder > .tool-ladder-card > span {
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.075em;
}

.tool-card-icon {
  display: grid;
  width: 70px;
  height: 70px;
  margin: 31px 0 26px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--tool-card-accent) 62%, #fff);
  border-radius: 50%;
  color: var(--tool-card-accent);
  background: rgba(255, 255, 255, 0.33);
}

.tool-card-icon svg {
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tool-card-kicker {
  margin-bottom: 7px;
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.tool-ladder > .tool-ladder-card h3 {
  margin: 0;
  font-size: 23px;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.tool-ladder > .tool-ladder-card p {
  min-height: 80px;
  margin: 12px 0 18px;
  color: #626d69;
  font-size: 12px;
  line-height: 1.55;
}

.tool-card-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}

.tool-card-brands span {
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--tool-card-accent) 38%, #fff);
  border-radius: 999px;
  color: color-mix(in srgb, var(--tool-card-accent) 82%, #222);
  background: rgba(255, 255, 255, 0.33);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.tool-ladder > .tool-ladder-card small {
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid color-mix(in srgb, var(--tool-card-accent) 30%, #fff);
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.035em;
}

.tool-footwear-gateway {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 150px;
  margin-top: 14px;
  grid-template-columns: auto 82px minmax(280px, 1fr) auto auto;
  align-items: center;
  gap: 24px;
  padding: 24px 27px;
  overflow: hidden;
  border: 2px solid #7d8e7f;
  border-radius: 10px;
  color: #28302c;
  background:
    radial-gradient(circle at 83% 0%, rgba(255,255,255,.72), transparent 28%),
    linear-gradient(115deg, #e8ede5, #f0ebe2 72%, #e8e1d7);
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.42),
    0 10px 26px rgba(91,112,96,.14);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.tool-footwear-gateway::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("footwear/refthe-safety-footwear-hero-v1.jpg") 78% 52% / cover no-repeat;
  content: "";
  filter: grayscale(0.2) saturate(0.62);
  opacity: 0.16;
  pointer-events: none;
  transition: opacity 180ms ease, transform 260ms ease;
}

.tool-footwear-gateway:hover {
  color: #202824;
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.52),
    0 20px 42px rgba(91,112,96,.2);
  transform: translateY(-4px);
}

.tool-footwear-gateway:hover::before {
  opacity: 0.22;
  transform: scale(1.02);
}

.tool-footwear-index {
  align-self: start;
  color: #697c6d;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .075em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.tool-footwear-icon {
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  border: 1px solid #95a398;
  border-radius: 50%;
  color: #64786a;
  background: rgba(255,255,255,.42);
}

.tool-footwear-icon svg {
  width: 58px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tool-footwear-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tool-footwear-copy small {
  color: #7b665b;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
}

.tool-footwear-copy strong {
  margin-top: 5px;
  font-size: 27px;
  letter-spacing: -.04em;
  line-height: 1;
}

.tool-footwear-copy em {
  max-width: 670px;
  margin-top: 9px;
  color: #626c67;
  font-size: 11px;
  font-style: normal;
  line-height: 1.55;
}

.tool-footwear-brands {
  display: flex;
  max-width: 190px;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.tool-footwear-brands i {
  padding: 6px 8px;
  border: 1px solid #a7afa6;
  border-radius: 999px;
  color: #5f6e63;
  background: rgba(255,255,255,.38);
  font-family: var(--mono);
  font-size: 6px;
  font-style: normal;
  font-weight: 800;
}

.tool-footwear-action {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 14px;
  padding: 0 17px;
  border-left: 1px solid rgba(105,124,109,.35);
  color: #526457;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}

.tool-footwear-action b {
  color: #9a6e59;
  font-size: 18px;
}

@media (max-width: 1050px) {
  .tool-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools-route-flow { overflow-x: auto; grid-template-columns: repeat(9, max-content); }
  .tools-route-flow > div { min-width: 145px; }
  .tool-footwear-gateway { grid-template-columns: 70px minmax(0, 1fr) auto; }
  .tool-footwear-index { display: none; }
  .tool-footwear-icon { width: 70px; height: 70px; }
  .tool-footwear-brands { display: none; }
}

@media (max-width: 720px) {
  .tools-categories { padding-block: 68px; }
  .tool-ladder { grid-template-columns: 1fr; }
  .tool-ladder > .tool-ladder-card { min-height: 425px; }
  .tool-ladder > .tool-ladder-card p { min-height: auto; }
  .tool-footwear-gateway {
    min-height: 300px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 17px;
    padding: 24px;
  }
  .tool-footwear-icon { width: 66px; height: 66px; }
  .tool-footwear-copy strong { font-size: 25px; }
  .tool-footwear-action {
    width: 100%;
    justify-content: space-between;
    margin-top: auto;
    padding: 14px 0 0;
    border-top: 1px solid rgba(105,124,109,.35);
    border-left: 0;
  }
}

/* REFTHE · Top 10 V2 */
.top10-page {
  --top10-paper: #f4f3ef;
  --top10-ink: #222728;
  --top10-muted: #68716e;
  --top10-line: #d3d8d4;
  color: var(--top10-ink);
  background: var(--top10-paper);
}

.top10-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--top10-line);
  background:
    radial-gradient(circle at 10% 12%, rgba(244, 234, 230, 0.86), transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(230, 241, 239, 0.88), transparent 29%),
    linear-gradient(90deg, rgba(34, 39, 40, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(34, 39, 40, 0.03) 1px, transparent 1px),
    #f5f4f0;
  background-size: auto, auto, 48px 48px, 48px 48px, auto;
}

.top10-hero-grid {
  display: grid;
  min-height: 680px;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.55fr);
  align-items: center;
  gap: 90px;
  padding-block: 84px;
}

.top10-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(58px, 7vw, 94px);
  font-weight: 590;
  letter-spacing: -0.065em;
  line-height: 0.92;
}

.top10-hero h1 span { display: block; color: #58766f; }
.top10-hero-grid > div > p:not(.kicker) { max-width: 740px; margin: 29px 0 0; color: var(--top10-muted); font-size: 18px; line-height: 1.65; }
.top10-hero .button-row { margin-top: 34px; }

.top10-hero-card {
  padding: 30px;
  border: 1px solid #3d4846;
  border-radius: 8px;
  color: #edf1ef;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    #252c2d;
  background-size: 21px 100%;
  box-shadow: 18px 20px 0 rgba(76, 107, 99, 0.13);
}

.top10-hero-card > div:first-child { display: flex; align-items: flex-end; justify-content: space-between; }
.top10-hero-card > div:first-child span { color: #9bb4ad; font-family: var(--mono); font-size: 8px; letter-spacing: 0.08em; }
.top10-hero-card > div:first-child strong { color: #d7a187; font-family: var(--mono); font-size: 64px; line-height: 0.82; }
.top10-hero-card h2 { margin: 52px 0 30px; font-size: 30px; letter-spacing: -0.04em; line-height: 1.05; }
.top10-hero-card dl { margin: 0; border-top: 1px solid #46504f; }
.top10-hero-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid #46504f; }
.top10-hero-card dt { color: #8f9e9a; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.top10-hero-card dd { margin: 0; font-size: 11px; font-weight: 700; }
.top10-hero-card > small { display: block; margin-top: 23px; color: #82928e; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.top10-disclosure { padding-block: 17px; border-bottom: 1px solid #cbd5d1; background: #e6efec; }
.top10-disclosure .container { display: grid; grid-template-columns: 165px 1fr auto; align-items: center; gap: 28px; }
.top10-disclosure span { color: #567d73; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.top10-disclosure p { margin: 0; color: #67736f; font-size: 10px; line-height: 1.55; }
.top10-disclosure a { color: #3e6c61; font-family: var(--mono); font-size: 8px; font-weight: 800; white-space: nowrap; }

.top10-hub-section { background: #faf9f6; }
.top10-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.top10-category-card {
  --top10-tone-bg: #e8f0f3;
  --top10-tone-accent: #668394;
  position: relative;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--top10-tone-accent) 48%, #fff);
  border-radius: 8px;
  color: var(--top10-ink);
  background: var(--top10-tone-bg);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.34);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.top10-category-card::before {
  position: absolute;
  z-index: -1;
  inset: 48px 12px 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  filter: grayscale(0.24) saturate(0.72) contrast(0.92);
  opacity: 0.13;
  pointer-events: none;
  transform: scale(0.98);
  transition: opacity 180ms ease, transform 220ms ease;
}
.top10-category-card:nth-child(1)::before { background-image: url("products/temperature/fluke-54-iib-reference.svg"); }
.top10-category-card:nth-child(2)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: left top;
  background-size: 300% 200%;
}
.top10-category-card:nth-child(3)::before { background-image: url("products/temperature/fieldpiece-jl3pc-reference.svg"); }
.top10-category-card:nth-child(4)::before {
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-position: right bottom;
  background-size: 300% 200%;
}
.top10-category-card:hover::before { opacity: 0.21; transform: scale(1.025); }
.top10-category-card:hover { border-color: var(--top10-tone-accent); box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.44), 0 16px 34px rgba(41, 50, 48, 0.08); transform: translateY(-4px); }
.top10-category-card.is-current { border-width: 2px; }
.top10-category-card > span { color: var(--top10-tone-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.075em; }
.top10-category-card > strong { margin-top: 70px; font-size: 25px; letter-spacing: -0.035em; line-height: 1.05; }
.top10-category-card p { margin: 11px 0 20px; color: #65706c; font-size: 12px; line-height: 1.55; }
.top10-category-card small { margin-top: auto; color: var(--top10-tone-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; }
.top10-tone-powder { --top10-tone-bg: #e8f0f3; --top10-tone-accent: #668394; }
.top10-tone-clay { --top10-tone-bg: #f4eae6; --top10-tone-accent: #a06f61; }
.top10-tone-aqua { --top10-tone-bg: #e6f1ef; --top10-tone-accent: #5f8b86; }
.top10-tone-lavender { --top10-tone-bg: #efebf2; --top10-tone-accent: #81788f; }

.top10-ranking-section { border-top: 1px solid var(--top10-line); background: #f0f1ed; }
.top10-ranking-intro,
.top10-rest-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 34px; }
.top10-ranking-intro h2,
.top10-rest-head h2 { max-width: 800px; margin: 0; font-size: clamp(42px, 5vw, 66px); font-weight: 590; letter-spacing: -0.055em; line-height: 0.97; }
.top10-ranking-intro > p,
.top10-rest-head > p { max-width: 450px; margin: 0; color: var(--top10-muted); font-size: 13px; line-height: 1.6; }
.top10-toolbar { margin: 0 0 18px; padding: 12px; border: 1px solid var(--top10-line); border-radius: 6px; background: rgba(255, 255, 255, 0.65); }
.top10-toolbar > span { color: #7a8581; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.top10-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.top10-feature-card {
  --podium-bg: #e8f0f3;
  --podium-accent: #668394;
  display: flex;
  min-height: 770px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--podium-accent) 46%, #fff);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  transition: box-shadow 170ms ease, transform 170ms ease;
}
.top10-feature-card:hover { box-shadow: 0 22px 44px rgba(40, 49, 47, 0.1); transform: translateY(-4px); }
.top10-feature-card[hidden] { display: none; }
.top10-place-one { --podium-bg: #f3efe2; --podium-accent: #9a875e; border-width: 2px; }
.top10-place-two { --podium-bg: #e8f0f3; --podium-accent: #668394; }
.top10-place-three { --podium-bg: #e6f1ef; --podium-accent: #5f8b86; }
.top10-feature-rank { display: flex; align-items: flex-end; justify-content: space-between; padding: 18px 21px; color: var(--podium-accent); }
.top10-feature-rank span { font-family: var(--mono); font-size: 30px; font-weight: 700; }
.top10-feature-rank small { font-family: var(--mono); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.top10-feature-card figure { position: relative; display: grid; min-height: 255px; margin: 0; place-items: center; border-block: 1px solid color-mix(in srgb, var(--podium-accent) 27%, #fff); background: var(--podium-bg); }
.top10-feature-card figure img { width: 100%; height: 255px; padding: 23px; object-fit: contain; mix-blend-mode: multiply; }
.top10-feature-card figcaption { position: absolute; right: 13px; bottom: 10px; color: #77827e; font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.top10-feature-copy { padding: 24px 23px 18px; }
.top10-feature-copy h3 { margin: 8px 0 10px; font-size: 29px; letter-spacing: -0.04em; line-height: 1.05; }
.top10-feature-copy > p { margin: 0; color: #68716e; font-size: 12px; line-height: 1.55; }
.top10-feature-copy dl { margin: 23px 0 0; border-top: 1px solid #dde2de; }
.top10-feature-copy dl div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e0e4e1; }
.top10-feature-copy dt { color: #8a928f; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.top10-feature-copy dd { margin: 0; font-size: 10px; font-weight: 700; }
.top10-feature-actions { display: grid; gap: 7px; margin-top: auto; padding: 0 23px 23px; }
.top10-feature-actions a,
.top10-feature-actions button { min-height: 43px; padding: 12px 13px; border: 1px solid #c3cdc9; border-radius: 4px; color: #46675f; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.035em; text-align: center; }
.top10-feature-actions button:last-child { border-color: #31403d; color: #fff; background: #31403d; }
.top10-feature-actions a:hover { border-color: var(--podium-accent); }
.top10-feature-actions button:hover { background: #47645e; }

.top10-rest-head { margin-top: 90px; }
.top10-ranking-table { border-top-color: #2d3534; }
.top10-ranking-table .product-row { grid-template-columns: 60px 130px minmax(210px, 1.2fr) minmax(170px, 0.85fr) 105px; gap: 22px; min-height: 200px; padding: 25px 16px; background: rgba(255, 255, 255, 0.72); }
.top10-ranking-table .product-thumb { min-height: 120px; border-radius: 4px; background: #f2f3ef; }
.top10-ranking-table .product-thumb img { width: 78%; opacity: 0.72; filter: grayscale(1); }
.top10-ranking-table .product-action { display: grid; gap: 7px; }
.top10-ranking-table .product-action a,
.top10-ranking-table .product-action button { min-height: 39px; padding: 10px 9px; border: 1px solid #bdc7c3; color: #4c6d65; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; text-align: center; }
.top10-ranking-table .product-action button { border-color: #354441; color: #fff; background: #354441; }

.top10-method { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; margin-top: 90px; padding: 48px; border-radius: 8px; color: #eaf0ed; background: #242b2c; }
.top10-method h2 { margin: 0; font-size: clamp(40px, 4.5vw, 58px); letter-spacing: -0.055em; line-height: 0.98; }
.top10-method > div > p:not(.eyebrow) { margin: 20px 0 0; color: #aab6b2; font-size: 12px; line-height: 1.6; }
.top10-method ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid #4c5754; border-left: 1px solid #4c5754; list-style: none; }
.top10-method li { min-height: 150px; padding: 19px; border-right: 1px solid #4c5754; border-bottom: 1px solid #4c5754; }
.top10-method li span,
.top10-method li strong,
.top10-method li small { display: block; }
.top10-method li span { color: #8fb0a8; font-family: var(--mono); font-size: 8px; }
.top10-method li strong { margin-top: 39px; font-size: 14px; }
.top10-method li small { margin-top: 5px; color: #91a09c; font-size: 9px; }

/* La scelta tecnica resta davanti alla proposta commerciale. */
.refthe-decision-panel { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(460px, 1.28fr); gap: 28px; margin: 28px 0 24px; padding: 28px; border: 1px solid #c7d7d1; border-radius: 9px; background: linear-gradient(125deg, #eef7f3 0%, #f7f2ea 100%); box-shadow: 0 16px 36px rgba(44, 75, 67, .06); }
.refthe-decision-intro h2 { max-width: 360px; margin: 8px 0 13px; color: #2f4942; font-size: 31px; letter-spacing: -.045em; line-height: 1.02; }
.refthe-decision-intro > p:not(.eyebrow) { max-width: 390px; margin: 0; color: #61716b; font-size: 13px; line-height: 1.6; }
.refthe-decision-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #c4d3cd; border-left: 1px solid #c4d3cd; list-style: none; }
.refthe-decision-steps li { min-height: 116px; padding: 17px; border-right: 1px solid #c4d3cd; border-bottom: 1px solid #c4d3cd; background: rgba(255,255,255,.45); }
.refthe-decision-steps span,.refthe-decision-steps strong,.refthe-decision-steps small { display: block; }
.refthe-decision-steps span { color: #bc7354; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.refthe-decision-steps strong { margin-top: 27px; color: #32443e; font-size: 13px; }
.refthe-decision-steps small { margin-top: 5px; color: #697a73; font-size: 10px; line-height: 1.45; }
.refthe-decision-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 18px; padding-top: 2px; }
.refthe-decision-actions a { color: #3a6a60; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .045em; }
.home-decision-standard { background: #f8f8f4; border-block: 1px solid #e2e5de; }
.decision-standard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.decision-standard-card { --decision-bg: #edf5f0; --decision-accent: #669b8c; display: flex; min-height: 238px; flex-direction: column; padding: 22px; border: 2px solid color-mix(in srgb, var(--decision-accent) 64%, #fff); border-radius: 8px; background: var(--decision-bg); box-shadow: 0 12px 26px rgba(35, 52, 47, .045); }
.decision-standard-card span { color: var(--decision-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .075em; }
.decision-standard-card h3 { margin: 38px 0 10px; color: #2e3936; font-size: 22px; letter-spacing: -.04em; line-height: 1.05; }
.decision-standard-card p { margin: 0; color: #64716c; font-size: 12px; line-height: 1.58; }
.decision-standard-card a { margin-top: auto; padding-top: 18px; color: var(--decision-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .05em; }
.decision-standard-card:hover { box-shadow: 0 19px 36px rgba(39, 60, 53, .11); transform: translateY(-4px); }
.tone-mint { --decision-bg: #e9f4ee; --decision-accent: #5a9180; }.tone-sand { --decision-bg: #f5eee4; --decision-accent: #af7a5d; }.tone-sky { --decision-bg: #e9f1f5; --decision-accent: #62869a; }.tone-lilac { --decision-bg: #f0edf6; --decision-accent: #82719d; }
.top10-feature-actions .top10-offer-promise { border-color: #31403d; color: #fff; background: #31403d; }.top10-feature-actions .top10-offer-promise:hover { background: #47645e; }
@media (max-width: 900px) { .refthe-decision-panel { grid-template-columns: 1fr; } .decision-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .refthe-decision-panel { padding: 20px; } .refthe-decision-steps,.decision-standard-grid { grid-template-columns: 1fr; } .decision-standard-card { min-height: 210px; } }

@media (max-width: 1080px) {
  .top10-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .top10-hero-card { max-width: 620px; }
  .top10-category-grid { grid-template-columns: repeat(2, 1fr); }
  .top10-podium { grid-template-columns: repeat(2, 1fr); }
  .top10-ranking-table .product-row { grid-template-columns: 55px 110px 1fr 120px; }
  .top10-ranking-table .product-use { display: none; }
  .top10-method { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 760px) {
  .top10-hero-grid { min-height: auto; padding-block: 58px; }
  .top10-hero h1 { font-size: 50px; }
  .top10-disclosure .container { grid-template-columns: 1fr; gap: 8px; }
  .top10-category-grid,
  .top10-podium { grid-template-columns: 1fr; }
  .top10-ranking-intro,
  .top10-rest-head { align-items: flex-start; flex-direction: column; }
  .top10-toolbar { align-items: flex-start; flex-direction: column; }
  .top10-feature-card { min-height: 720px; }
  .top10-ranking-table .product-row { grid-template-columns: 45px 85px 1fr; gap: 13px; }
  .top10-ranking-table .product-action { grid-column: 2 / -1; grid-template-columns: repeat(2, 1fr); }
  .top10-method { padding: 29px; }
  .top10-method ol { grid-template-columns: 1fr; }
}

/* Awin publisher candidate release */
.awin-readiness-page {
  --awin-sage: #668f84;
  --awin-powder: #e8f0f3;
  --awin-clay: #f4eae6;
  --awin-linen: #f3efe2;
  background: #f7f7f3;
}

.awin-dashboard-hero {
  background:
    radial-gradient(circle at 88% 28%, rgba(102, 143, 132, 0.12), transparent 26%),
    linear-gradient(90deg, transparent 0 73%, rgba(23, 26, 29, 0.035) 73% 73.1%, transparent 73.1%),
    #f6f5f1;
}

.awin-readiness-meter .readiness-track i { width: 82%; }
.affiliate-setup-page .readiness-track i { width: 82%; }

.awin-profile-section { background: #fbfaf7; }

.awin-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.awin-profile-grid article {
  min-height: 285px;
  padding: 27px;
  border: 1px solid #c7d7d1;
  border-radius: 8px;
  background: #edf4f0;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.34);
}

.awin-profile-grid article:nth-child(2) { border-color: #c7d6de; background: var(--awin-powder); }
.awin-profile-grid article:nth-child(3) { border-color: #dec9c1; background: var(--awin-clay); }
.awin-profile-grid article:nth-child(4) { border-color: #ddd3b9; background: var(--awin-linen); }
.awin-profile-grid span { color: #668075; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.awin-profile-grid h3 { margin: 52px 0 8px; color: #6d7773; font-size: 13px; font-weight: 650; }
.awin-profile-grid strong { display: block; font-size: 22px; letter-spacing: -0.03em; line-height: 1.1; }
.awin-profile-grid p { margin: 14px 0 0; color: #69736f; font-size: 11px; line-height: 1.58; }

.awin-description-section {
  padding: 92px 0;
  border-block: 1px solid #d5dbd7;
  background: #eef0ec;
}

.awin-description-grid {
  display: grid;
  grid-template-columns: minmax(270px, 0.58fr) minmax(0, 1.42fr);
  align-items: start;
  gap: 80px;
}

.awin-description-grid h2 { margin: 0; font-size: clamp(38px, 4.2vw, 58px); letter-spacing: -0.05em; line-height: 0.98; }
.awin-description-grid > div > p:last-child { color: var(--muted); }
.awin-description-grid blockquote {
  margin: 0;
  padding: 38px 42px;
  border: 1px solid #c5d0cb;
  border-left: 4px solid var(--awin-sage);
  border-radius: 7px;
  color: #39413f;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 16px 38px rgba(33, 43, 40, 0.06);
  font-size: 16px;
  line-height: 1.75;
}

.awin-sequence-section { background: #faf9f6; }
.awin-sequence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.awin-sequence-grid article {
  min-height: 245px;
  padding: 26px;
  border: 1px solid #ced5d1;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.68);
}
.awin-sequence-grid article:nth-child(2) { border-top: 4px solid #668394; background: var(--awin-powder); }
.awin-sequence-grid article:nth-child(3) { border-top: 4px solid #9a875e; background: var(--awin-linen); }
.awin-sequence-grid article:nth-child(4) { border-top: 4px solid #5f8b86; background: #e6f1ef; }
.awin-sequence-grid span { color: var(--awin-sage); font-family: var(--mono); font-size: 24px; font-weight: 750; }
.awin-sequence-grid h3 { margin: 48px 0 10px; font-size: 21px; letter-spacing: -0.025em; }
.awin-sequence-grid p { margin: 0; color: #69736f; font-size: 11px; line-height: 1.58; }

.awin-official-actions {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  padding: 22px;
  border: 1px solid #cbd3cf;
  border-radius: 7px;
  background: #eef0ec;
}
.awin-official-actions strong { font-size: 13px; }
.awin-official-actions p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }

@media (max-width: 1080px) {
  .awin-profile-grid,
  .awin-sequence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .awin-description-grid { grid-template-columns: 1fr; gap: 34px; }
  .awin-official-actions { grid-template-columns: 1fr 1fr; }
  .awin-official-actions > div { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .awin-profile-grid,
  .awin-sequence-grid,
  .awin-official-actions { grid-template-columns: 1fr; }
  .awin-official-actions > div { grid-column: auto; }
  .awin-description-grid blockquote { padding: 27px; font-size: 14px; }
}

/* REFTHE refrigeration focus, language gateway and partners */
.site-language-switcher {
  position: relative;
  z-index: 80;
}

.language-switcher-toggle {
  display: inline-flex;
  min-width: 48px;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: #55605c;
  background: rgba(255, 255, 255, 0.44);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.language-switcher-toggle:hover,
.language-switcher-toggle[aria-expanded="true"] { border-color: #8fa59e; background: #fff; }
.language-switcher-toggle span { color: var(--accent); font-size: 13px; line-height: 1; }
.language-switcher-link{display:inline-flex;min-width:78px;height:40px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);color:#55605c;background:rgba(255,255,255,.44);font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.08em;text-decoration:none}.language-switcher-link:hover{border-color:#8fa59e;background:#fff;color:#2f3936}.language-switcher-link span{color:var(--accent);font-size:15px;line-height:1}

.language-switcher-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  display: grid;
  width: 190px;
  padding: 7px;
  border: 1px solid #bdc9c4;
  border-radius: 6px;
  background: rgba(250, 249, 246, 0.985);
  box-shadow: 0 18px 45px rgba(25, 34, 31, 0.15);
}

.language-switcher-menu[hidden] { display: none; }
.language-switcher-menu a { display: grid; grid-template-columns: 34px 1fr; align-items: center; min-height: 39px; padding: 7px 10px; border-radius: 3px; color: #58635f; font-size: 11px; }
.language-switcher-menu a:hover,
.language-switcher-menu a[aria-current="page"] { color: #2f3936; background: #e9f0ed; }
.language-switcher-menu a span { color: #68887f; font-family: var(--mono); font-size: 8px; font-weight: 800; }

.home-sector-card.sector-primary {
  min-height: 260px;
  grid-column: span 2;
}

.home-sector-card.sector-primary h3 { font-size: clamp(25px, 2.3vw, 34px); }
.home-sector-card.sector-primary p { max-width: 620px; font-size: 12px; }

.home-partner-preview {
  padding: 98px 0;
  overflow: hidden;
  border-top: 1px solid #34413f;
  color: #f0f3f1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(135deg, #18201f, #25312f 62%, #1f2727);
  background-size: 48px 100%, auto;
}

.home-partner-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1.18fr);
  align-items: center;
  gap: 90px;
}

.home-partner-copy h2 { max-width: 700px; margin: 0; font-size: clamp(45px, 5.3vw, 72px); letter-spacing: -0.055em; line-height: 0.95; }
.home-partner-copy > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 30px; color: #aebbb7; font-size: 14px; line-height: 1.65; }
.partner-light-link { color: #b9d2cb; }

.home-partner-signal {
  position: relative;
  min-height: 430px;
  padding: 38px;
  overflow: hidden;
  border: 1px solid #4a5d59;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 18px 20px 0 rgba(126, 164, 154, 0.08);
}

.home-partner-signal::after {
  position: absolute;
  inset: 0;
  background: url("home-sectors-photo-grid-v1.webp") 50% 0 / 300% 200% no-repeat;
  content: "";
  filter: grayscale(0.35) saturate(0.45);
  opacity: 0.08;
  pointer-events: none;
}

.home-partner-signal > * { position: relative; z-index: 1; }
.partner-status { display: block; color: #98b8af; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.075em; }
.partner-nameplate { display: inline-flex; align-items: flex-start; flex-direction: column; margin: 46px 0 25px; padding-left: 18px; border-left: 4px solid #8eb0a6; }
.partner-nameplate small { color: #90a39d; font-family: var(--mono); font-size: 7px; font-weight: 750; letter-spacing: 0.08em; }
.partner-nameplate strong { font-size: 54px; font-weight: 670; letter-spacing: -0.055em; line-height: 0.93; }
.home-partner-signal > p { max-width: 660px; color: #c4ceca; font-size: 13px; line-height: 1.6; }
.partner-signal-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.partner-signal-meta span { padding: 8px 10px; border: 1px solid #536863; border-radius: 3px; color: #c6d9d3; font-family: var(--mono); font-size: 8px; }
.home-partner-signal > small { display: block; margin-top: 17px; color: #879a94; font-size: 8px; }
.home-partner-signal > a { display: inline-flex; margin-top: 26px; color: #b6d3cb; font-family: var(--mono); font-size: 8px; font-weight: 800; }

.partner-hero {
  border-bottom: 1px solid #ced6d2;
  background:
    radial-gradient(circle at 88% 24%, rgba(111, 153, 142, 0.16), transparent 25%),
    linear-gradient(90deg, rgba(26, 37, 34, 0.032) 1px, transparent 1px),
    #f5f5f0;
  background-size: auto, 52px 100%, auto;
}

.partner-hero-grid { display: grid; min-height: 690px; grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.62fr); align-items: center; gap: 90px; padding-block: 85px; }
.partner-hero h1 { max-width: 900px; margin: 0; font-size: clamp(58px, 7.3vw, 96px); font-weight: 590; letter-spacing: -0.067em; line-height: 0.91; }
.partner-hero h1 span { display: block; color: #5d8178; }
.partner-hero-grid > div > p:not(.kicker) { max-width: 780px; margin: 28px 0 0; color: #68736f; font-size: 17px; line-height: 1.65; }
.partner-hero-grid .button-row { margin-top: 34px; }

.partner-hero-manifesto { padding: 31px; border: 1px solid #3f504d; border-radius: 7px; color: #eaf0ed; background: #26302f; box-shadow: 18px 20px 0 rgba(102, 143, 132, 0.11); }
.partner-hero-manifesto > span { color: #94b2aa; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-hero-manifesto > strong { display: block; margin: 44px 0 27px; font-size: 29px; letter-spacing: -0.04em; line-height: 1.05; }
.partner-hero-manifesto ul { margin: 0; padding: 0; border-top: 1px solid #4b5956; list-style: none; }
.partner-hero-manifesto li { padding: 12px 0; border-bottom: 1px solid #4b5956; color: #aebbb7; font-size: 10px; }

.partner-proof { border-bottom: 1px solid #ced6d2; background: #e8efec; }
.partner-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.partner-proof-grid div { display: flex; min-height: 105px; align-items: center; gap: 14px; padding: 22px; border-right: 1px solid #c4d0cb; }
.partner-proof-grid div:first-child { border-left: 1px solid #c4d0cb; }
.partner-proof-grid strong { color: #5e7d75; font-family: var(--mono); font-size: 23px; }
.partner-proof-grid span { color: #68736f; font-size: 10px; }

.partner-value-section { background: #faf9f6; }
.partner-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.partner-value-grid article { min-height: 310px; padding: 28px; border: 1px solid #cad5d0; border-radius: 7px; background: #eef4f1; }
.partner-value-grid article:nth-child(2) { border-color: #c8d6dd; background: #e9f0f3; }
.partner-value-grid article:nth-child(3) { border-color: #ddd1bc; background: #f3eee2; }
.partner-value-grid article:nth-child(4) { border-color: #d8c9dc; background: #efebf1; }
.partner-value-grid span { color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-value-grid h3 { margin: 78px 0 13px; font-size: 24px; letter-spacing: -0.035em; }
.partner-value-grid p { margin: 0; color: #68736f; font-size: 11px; line-height: 1.6; }

.partner-opportunity-section { padding: 110px 0; color: #eef2f0; background: #171d1c; }
.partner-opportunity-head { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .62fr); align-items: end; gap: 90px; margin-bottom: 50px; }
.partner-opportunity-head h2 { max-width: 900px; margin: 0; font-size: clamp(48px, 5.8vw, 78px); letter-spacing: -.06em; line-height: .94; }
.partner-opportunity-head > p { margin: 0; color: #aeb8b5; font-size: 14px; line-height: 1.7; }
.partner-path-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #465653; border-left: 1px solid #465653; }
.partner-path-grid article { display: flex; min-height: 330px; flex-direction: column; padding: 27px; border-right: 1px solid #465653; border-bottom: 1px solid #465653; background: rgba(255,255,255,.018); }
.partner-path-grid article:nth-child(2) { background: rgba(154,190,206,.04); }
.partner-path-grid article:nth-child(3) { background: rgba(222,198,151,.04); }
.partner-path-grid article:nth-child(4) { background: rgba(194,171,202,.04); }
.partner-path-grid span { color: #99bcb2; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.partner-path-grid strong { margin-top: 78px; font-size: 25px; letter-spacing: -.035em; }
.partner-path-grid p { margin: 15px 0 0; color: #aeb8b5; font-size: 11px; line-height: 1.65; }
.partner-path-grid small { margin-top: auto; padding-top: 30px; color: #778984; font-family: var(--mono); font-size: 7px; font-weight: 800; letter-spacing: .055em; }

.partner-showcase-section { background: #edf1ef; }
.partner-slot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.partner-slot-grid article { position: relative; min-height: 285px; overflow: hidden; padding: 27px; border: 1px dashed #aabbb4; border-radius: 7px; background: rgba(255,255,255,.52); }
.partner-slot-grid article::after { position: absolute; right: -26px; bottom: -52px; color: rgba(82,117,107,.07); content: "R."; font-size: 150px; font-weight: 720; letter-spacing: -.09em; }
.partner-slot-grid span { position: relative; z-index: 1; color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-slot-grid strong { position: relative; z-index: 1; display: block; margin-top: 82px; font-size: 25px; letter-spacing: -.04em; }
.partner-slot-grid p { position: relative; z-index: 1; max-width: 230px; margin: 13px 0 0; color: #68736f; font-size: 10px; line-height: 1.6; }
.partner-slot-grid .partner-slot-rule { border-style: solid; border-color: #627d75; color: #edf2ef; background: #31413e; }
.partner-slot-grid .partner-slot-rule span { color: #b3d0c8; }
.partner-slot-grid .partner-slot-rule p { color: #bac6c2; }

.partner-proposal-section { background: #f2f2ee; }
.partner-proposal-grid { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 90px; }
.partner-proposal-grid h2 { margin: 0; font-size: clamp(43px, 5vw, 67px); letter-spacing: -0.055em; line-height: 0.98; }
.partner-proposal-grid > div > p:last-child { color: var(--muted); }
.partner-proposal-grid ol { margin: 0; padding: 0; border-top: 1px solid #bec8c3; list-style: none; }
.partner-proposal-grid li { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid #bec8c3; }
.partner-proposal-grid li > span { color: #65857c; font-family: var(--mono); font-size: 10px; font-weight: 800; }
.partner-proposal-grid li strong { font-size: 16px; }
.partner-proposal-grid li p { margin: 5px 0 0; color: #707a76; font-size: 10px; }

.partner-contact-band { padding: 80px 0; color: #eff2f0; background: #31413e; }
.partner-contact-band .container { display: flex; align-items: end; justify-content: space-between; gap: 70px; }
.partner-contact-band span { color: #a4c4bb; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-contact-band h2 { max-width: 870px; margin: 15px 0 12px; font-size: clamp(37px, 4.3vw, 58px); letter-spacing: -0.05em; line-height: 0.98; }
.partner-contact-band p { max-width: 850px; color: #b4c0bc; }
.partner-contact-band .button-row { flex: 0 0 auto; }

/* First localized landing pages */
.international-home { background: #f6f5f1; }
.intl-hero { border-bottom: 1px solid #d0d8d4; background: radial-gradient(circle at 82% 24%, rgba(102, 143, 132, 0.16), transparent 25%), #f6f5f1; }
.intl-hero-grid { display: grid; min-height: 690px; grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.55fr); align-items: center; gap: 85px; padding-block: 80px; }
.intl-hero h1 { max-width: 940px; margin: 0; font-size: clamp(58px, 7vw, 94px); font-weight: 590; letter-spacing: -0.067em; line-height: 0.91; }
.intl-hero h1 span { display: block; color: #5f8078; }
.intl-hero-copy > p:not(.kicker) { max-width: 760px; margin: 27px 0 0; color: #68736f; font-size: 17px; line-height: 1.65; }
.intl-hero-copy .button-row { margin-top: 33px; }
.intl-market-card { padding: 29px; border: 1px solid #3f4e4b; border-radius: 7px; color: #ecf1ef; background: #26302f; box-shadow: 18px 20px 0 rgba(100, 139, 129, 0.1); }
.intl-market-card > span { color: #96b4ac; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-market-card h2 { margin: 48px 0 20px; font-size: 28px; letter-spacing: -0.04em; line-height: 1.05; }
.intl-market-card p { color: #aab6b2; font-size: 11px; line-height: 1.6; }
.intl-market-card div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 25px; }
.intl-market-card div span { padding: 8px 9px; border: 1px solid #50605d; color: #b5cbc5; font-family: var(--mono); font-size: 8px; }
.intl-pillars { background: #faf9f6; }
.intl-pillar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.intl-pillar-card { display: flex; min-height: 320px; flex-direction: column; padding: 27px; border: 1px solid #c6d5cf; border-radius: 8px; background: #ebf3ef; }
.intl-pillar-card:nth-child(2) { border-color: #c4d1e0; background: #ebeff5; }
.intl-pillar-card:nth-child(3) { border-color: #e1c9b7; background: #f4ebe5; }
.intl-pillar-card:nth-child(4) { border-color: #d3c8df; background: #f0ecf3; }
.intl-pillar-card span { color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-pillar-card h2 { margin: 78px 0 11px; font-size: 26px; letter-spacing: -0.04em; }
.intl-pillar-card p { margin: 0 0 25px; color: #68736f; font-size: 11px; line-height: 1.6; }
.intl-pillar-card a { margin-top: auto; color: #577970; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-partner { padding: 90px 0; color: #edf2ef; background: #1c2422; }
.intl-partner-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 90px; }
.intl-partner h2 { margin: 0; font-size: clamp(45px, 5.4vw, 72px); letter-spacing: -0.055em; line-height: 0.95; }
.intl-partner p { color: #aab6b2; line-height: 1.65; }
.intl-partner-card { padding: 34px; border: 1px solid #465955; border-radius: 7px; background: rgba(255,255,255,0.035); }
.intl-partner-card .partner-nameplate { margin-top: 35px; }
.intl-partner-card a { display: inline-flex; margin-top: 22px; color: #afd0c7; font-family: var(--mono); font-size: 8px; font-weight: 800; }

@media (max-width: 1080px) {
  .home-partner-preview-grid,
  .partner-hero-grid,
  .partner-opportunity-head,
  .partner-proposal-grid,
  .intl-hero-grid,
  .intl-partner-grid { grid-template-columns: 1fr; gap: 48px; }
  .partner-value-grid,
  .partner-path-grid,
  .partner-slot-grid,
  .intl-pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-contact-band .container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 760px) {
  .home-sector-card.sector-primary { min-height: 190px; grid-column: span 1; }
  .home-partner-preview-grid { grid-template-columns: 1fr; }
  .home-partner-signal { min-height: 390px; padding: 27px; }
  .partner-proof-grid,
  .partner-value-grid,
  .partner-path-grid,
  .partner-slot-grid,
  .intl-pillar-grid { grid-template-columns: 1fr; }
  .partner-proof-grid div,
  .partner-proof-grid div:first-child { border-left: 1px solid #c4d0cb; border-bottom: 1px solid #c4d0cb; }
  .partner-hero-grid,
  .intl-hero-grid { min-height: auto; padding-block: 58px; }
  .partner-hero h1,
  .intl-hero h1 { font-size: 51px; }
  .partner-contact-band .button-row { align-items: stretch; flex-direction: column; }
  .partner-contact-band .button { width: 100%; }
  .language-switcher-menu { position: fixed; top: 112px; right: 20px; }
}

/* Visual navigation finishing layer — one calm, recognisable language for every main route. */
.refrigeration-entry-grid > a {
  border-width: 2px;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.28), 0 10px 25px rgba(36, 53, 49, 0.05);
}
.refrigeration-entry-grid > a:nth-child(1) { --card-accent: #ad6757; --card-border: #cf9689; }
.refrigeration-entry-grid > a:nth-child(2) { --card-accent: #648d69; --card-border: #a9c8a8; }
.refrigeration-entry-grid > a:nth-child(3) { --card-accent: #5b8298; --card-border: #a7c6d3; }
.refrigeration-entry-grid > a:nth-child(4) { --card-accent: #7b6a97; --card-border: #bbaed0; }
.refrigeration-entry-grid > a:nth-child(5) { --card-accent: #9b7b4d; --card-border: #cfbb91; }
.refrigeration-entry-grid > a:nth-child(6) { --card-accent: #4f8b83; --card-border: #9ec9c3; }
.refrigeration-entry-photo { opacity: 0.17; }
.refrigeration-entry-grid > a:hover .refrigeration-entry-photo { opacity: 0.25; }

.component-atlas-grid > a,
.application-route-grid > a,
.manufacturer-name-grid > a,
.home-tools-route a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-width: 2px;
  border-color: var(--visual-border, #b6ccc5);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(237, 245, 241, 0.64));
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.30), 0 9px 22px rgba(36, 53, 49, 0.04);
}
.component-atlas-grid > a::before,
.application-route-grid > a::before,
.manufacturer-name-grid > a::before,
.home-tools-route a::before {
  position: absolute;
  z-index: -1;
  inset: 30px 12px 12px 40%;
  background: url("home-sectors-photo-grid-v1.webp") center / cover no-repeat;
  content: "";
  filter: grayscale(0.32) saturate(0.58) contrast(0.92);
  opacity: 0.12;
  pointer-events: none;
  transition: opacity 180ms ease, transform 220ms ease;
}
.component-atlas-grid > a:hover::before,
.application-route-grid > a:hover::before,
.manufacturer-name-grid > a:hover::before,
.home-tools-route a:hover::before { opacity: 0.19; transform: scale(1.03); }
.component-atlas-grid > a:nth-child(4n+1),
.application-route-grid > a:nth-child(3n+1),
.manufacturer-name-grid > a:nth-child(4n+1),
.home-tools-route a:nth-child(4n+1) { --visual-border: #9ecbc2; }
.component-atlas-grid > a:nth-child(4n+2),
.application-route-grid > a:nth-child(3n+2),
.manufacturer-name-grid > a:nth-child(4n+2),
.home-tools-route a:nth-child(4n+2) { --visual-border: #d5ad91; }
.component-atlas-grid > a:nth-child(4n+3),
.application-route-grid > a:nth-child(3n+3),
.manufacturer-name-grid > a:nth-child(4n+3),
.home-tools-route a:nth-child(4n+3) { --visual-border: #b9abd3; }
.component-atlas-grid > a:nth-child(4n),
.manufacturer-name-grid > a:nth-child(4n),
.home-tools-route a:nth-child(4n) { --visual-border: #b4c898; }

.manual-category-card,
.top10-category-card {
  border-width: 2px;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.38), 0 9px 24px rgba(36, 53, 49, 0.045);
}
.manual-category-card::after { opacity: 0.17; }
.manual-category-card:hover::after { opacity: 0.25; }
.top10-category-card::before { opacity: 0.17; }
.top10-category-card:hover::before { opacity: 0.25; }

/* REFTHE · Inverter atlas and problem-solving routes */
.drive-catalog-section { padding: 104px 0; background: #f3f5f2; }
.drive-catalog-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.drive-catalog-card { position: relative; display: flex; min-height: 310px; flex-direction: column; overflow: hidden; padding: 22px; border: 2px solid var(--drive-border); border-radius: 8px; background: var(--drive-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.34), 0 8px 24px rgba(34,48,45,.045); }
.drive-catalog-card::after { position: absolute; right: -24px; bottom: -35px; width: 145px; height: 145px; border: 1px solid color-mix(in srgb, var(--drive-ink) 30%, transparent); border-radius: 50%; content: ""; opacity: .28; }
.drive-catalog-card > * { position: relative; z-index: 1; }
.drive-catalog-card > span { color: var(--drive-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.drive-catalog-card h3 { margin: 30px 0 10px; color: #202625; font-size: 25px; letter-spacing: -.045em; line-height: .94; }
.drive-catalog-card h3 em { color: var(--drive-ink); font-family: var(--mono); font-size: 11px; font-style: normal; letter-spacing: .045em; }
.drive-catalog-card p { min-height: 39px; margin: 0; color: #62706c; font-size: 11px; line-height: 1.45; }
.drive-catalog-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 21px 0 16px; padding-top: 13px; border-top: 1px solid color-mix(in srgb, var(--drive-border) 70%, #fff); }
.drive-catalog-card dt { color: #7d8985; font-family: var(--mono); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.drive-catalog-card dd { margin: 4px 0 0; color: #303a37; font-size: 9px; font-weight: 700; line-height: 1.25; }
.drive-catalog-card a { margin-top: auto; color: #26322f; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .025em; }
.drive-catalog-card a:hover { color: var(--drive-ink); }
.drive-catalog-card.tone-aqua { --drive-bg:#e7f4f1; --drive-border:#8bbdb6; --drive-ink:#267c71; }
.drive-catalog-card.tone-sage { --drive-bg:#edf3e6; --drive-border:#a7c28d; --drive-ink:#557a3d; }
.drive-catalog-card.tone-peach { --drive-bg:#fbefe7; --drive-border:#dcac89; --drive-ink:#a35d3b; }
.drive-catalog-card.tone-lilac { --drive-bg:#f0edf8; --drive-border:#b4a8d2; --drive-ink:#66558b; }
.drive-catalog-card.tone-amber { --drive-bg:#f8f1df; --drive-border:#d2b872; --drive-ink:#8d6c22; }
.drive-catalog-card.tone-blue { --drive-bg:#e8f0f8; --drive-border:#91b2ce; --drive-ink:#3b6c91; }
.drive-catalog-card.tone-powder { --drive-bg:#e9f3f5; --drive-border:#91bdc6; --drive-ink:#3f7780; }
.drive-catalog-card.tone-mint { --drive-bg:#eaf4ee; --drive-border:#92bfa8; --drive-ink:#3d7860; }
.drive-catalog-card.tone-rose { --drive-bg:#f8eaed; --drive-border:#d3a1a9; --drive-ink:#96535f; }
.drive-catalog-card.tone-stone { --drive-bg:#f1f0eb; --drive-border:#c6bda9; --drive-ink:#71654e; }
.drive-catalog-note { max-width: 790px; margin: 26px auto 0; color: #71807a; font-size: 11px; line-height: 1.55; text-align: center; }
.drive-problem-section { padding: 88px 0; color: #ecf1ef; background: #263130; }
.drive-problem-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.drive-problem-section h2 { margin: 0; font-size: clamp(40px,5vw,66px); letter-spacing: -.06em; line-height: .95; }
.drive-problem-section > .container > div > p:not(.eyebrow) { max-width: 510px; color: #aebbb6; font-size: 14px; line-height: 1.65; }
.drive-problem-routes { display: grid; border-top: 1px solid #4c5a57; border-left: 1px solid #4c5a57; }
.drive-problem-routes a { display: grid; grid-template-columns: 54px 1fr 18px; align-items: center; gap: 15px; min-height: 92px; padding: 16px 20px; border-right: 1px solid #4c5a57; border-bottom: 1px solid #4c5a57; color: #e9f0ed; }
.drive-problem-routes a:hover { background: #34413e; }
.drive-problem-routes b { color: #a9d2c6; font-family: var(--mono); font-size: 10px; }
.drive-problem-routes small, .drive-problem-routes strong { display: block; }
.drive-problem-routes small { color: #9ca9a5; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.drive-problem-routes strong { margin-top: 6px; font-size: 14px; }
.drive-problem-routes i { color: #a9d2c6; font-size: 19px; font-style: normal; }
.drive-clinic-section { padding: 104px 0; background: #fbfaf7; }
.drive-clinic-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; margin-top: 45px; }
.drive-clinic-grid a { display: flex; min-height: 266px; flex-direction: column; padding: 23px; border: 2px solid #aac9c0; border-radius: 8px; color: #25302e; background: linear-gradient(145deg, #ebf4f0, #f7f8f4); box-shadow: inset 0 0 0 4px rgba(255,255,255,.4), 0 8px 24px rgba(34,48,45,.045); transition: transform .2s ease, box-shadow .2s ease; }
.drive-clinic-grid a:nth-child(2n) { border-color: #b7c4d1; background: linear-gradient(145deg, #eef3f7, #f8f8f5); }
.drive-clinic-grid a:nth-child(3n) { border-color: #ddc5a8; background: linear-gradient(145deg, #f9f0e6, #faf9f5); }
.drive-clinic-grid a:nth-child(4n) { border-color: #c5b9d7; background: linear-gradient(145deg, #f2eff8, #faf9f5); }
.drive-clinic-grid a:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 4px rgba(255,255,255,.45), 0 18px 34px rgba(34,48,45,.1); }
.drive-clinic-grid span { color: #5b7c72; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.drive-clinic-grid strong { margin-top: 42px; font-size: 23px; letter-spacing: -.04em; line-height: 1.02; }
.drive-clinic-grid p { margin: 12px 0 20px; color: #65716d; font-size: 11px; line-height: 1.55; }
.drive-clinic-grid i { margin-top: auto; color: #496e64; font-family: var(--mono); font-size: 9px; font-style: normal; font-weight: 800; }
.drive-clinic-hero { border-bottom: 1px solid #3c4d49; color: #edf2ef; background: radial-gradient(circle at 85% 20%, rgba(119, 177, 159, .23), transparent 30%), #22302d; }
.drive-clinic-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(285px, .55fr); gap: 86px; align-items: center; max-width: 1080px; padding-block: 77px; }
.drive-clinic-hero .article-breadcrumb { color: #a9c0b9; }
.drive-clinic-hero h1 { max-width: 840px; margin: 0; font-size: clamp(48px, 6.1vw, 80px); letter-spacing: -.065em; line-height: .94; }
.drive-clinic-hero .article-deck { max-width: 730px; margin: 26px 0 0; color: #b4c5c0; font-size: 17px; line-height: 1.68; }
.drive-clinic-hero .article-facts span { border-color: #48645c; color: #b9d4ca; background: rgba(0,0,0,.11); }
.drive-clinic-panel { padding: 32px; border: 1px solid #557068; border-radius: 8px; background: rgba(9, 17, 15, .25); box-shadow: 17px 19px 0 rgba(0,0,0,.1); }
.drive-clinic-panel img { display: block; margin-bottom: 54px; }
.drive-clinic-panel > span { display: block; color: #9dc2b5; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.drive-clinic-panel strong { display: block; margin: 16px 0 38px; font-size: 28px; letter-spacing: -.04em; line-height: 1.07; }
.drive-clinic-panel small { display: block; padding-top: 16px; border-top: 1px solid #456158; color: #aebdb7; font-size: 10px; line-height: 1.55; }
.drive-clinic-steps { display: grid; gap: 13px; margin: 30px 0 62px; }
.drive-decision{margin:30px 0;padding:26px;border:2px solid #9ec2b8;background:linear-gradient(135deg,#e5f3ee,#f8fbf8)}.drive-decision>span{display:block;color:#4b7a70;font:800 9px var(--mono);letter-spacing:.08em}.drive-decision>strong{display:block;max-width:740px;margin:14px 0 18px;font-size:19px;line-height:1.25}.drive-decision>div{display:flex;flex-wrap:wrap;gap:9px}.drive-decision button{padding:12px 15px;border:1px solid #547e74;background:#fff;color:#315e55;font:800 10px var(--mono);letter-spacing:.04em;cursor:pointer}.drive-decision button.is-selected{background:#315e55;color:#fff}.drive-decision p{margin:16px 0 0;color:#54736b;font-size:13px;line-height:1.55}
.drive-clinic-steps article { display: grid; grid-template-columns: 145px 1fr; gap: 23px; padding: 23px 25px; border: 1px solid #c9d7d1; border-radius: 7px; background: #eef4f1; }
.drive-clinic-steps article:nth-child(even) { border-color: #d1d8df; background: #f1f4f7; }
.drive-clinic-steps span { color: #52766c; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.drive-clinic-steps p { margin: 0; }
@media (max-width: 1050px) { .drive-catalog-grid { grid-template-columns: repeat(3,1fr); } .drive-problem-grid { grid-template-columns: 1fr; gap: 42px; } }
@media (max-width: 1050px) { .drive-clinic-grid { grid-template-columns: repeat(3,1fr); } .drive-clinic-hero-grid { grid-template-columns: 1fr; gap: 45px; } .drive-clinic-panel { max-width: 680px; } }
@media (max-width: 680px) { .drive-catalog-section, .drive-clinic-section { padding: 66px 0; } .drive-catalog-grid, .drive-clinic-grid { grid-template-columns: 1fr; } .drive-catalog-card { min-height: 270px; } .drive-problem-section { padding: 63px 0; } .drive-problem-routes a { grid-template-columns: 36px 1fr 14px; padding: 15px; } .drive-clinic-hero-grid { padding-block: 58px; } .drive-clinic-hero h1 { font-size: 46px; } .drive-clinic-steps article { grid-template-columns: 1fr; gap: 11px; } }

/* REFTHE · Diagnosi inverter */
.inverter-faults-page { background:#f5f8f7; color:#26312f; }
.inverter-faults-hero { padding:88px 0 76px; color:#eff7f4; background:radial-gradient(circle at 82% 16%,rgba(132,179,193,.23),transparent 28%),linear-gradient(125deg,#233c42,#273433); }
.inverter-faults-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.6fr); gap:88px; align-items:center; }
.inverter-faults-hero h1 { margin:12px 0 19px; font-size:clamp(50px,6.3vw,84px); letter-spacing:-.07em; line-height:.9; }.inverter-faults-hero h1 span{color:#a9d3ce}.inverter-faults-hero p{max-width:680px;color:#c8d7d3;font-size:17px;line-height:1.7}.inverter-faults-hero aside{position:relative;padding:31px;border:1px solid #71918b;background:rgba(8,22,22,.22);box-shadow:18px 18px 0 rgba(0,0,0,.11)}.inverter-faults-hero aside span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#a9d3ce}.inverter-faults-hero aside strong{display:block;margin:25px 0 17px;font-size:31px;line-height:1.02;letter-spacing:-.05em}.inverter-faults-hero aside p{font-size:12px}.inverter-faults-hero aside a{color:#c8e1dc;font-family:var(--mono);font-weight:800;font-size:10px;letter-spacing:.05em}.inverter-search{margin-top:35px;padding:17px;border:1px solid #6d938b;background:rgba(0,0,0,.16)}.inverter-search label{display:block;margin-bottom:9px;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.08em;color:#b8dcd3}.inverter-search input{width:100%;box-sizing:border-box;padding:17px;border:0;background:#f7fbf9;color:#213a38;font:600 15px var(--sans)}.inverter-search span{display:block;margin-top:11px;font-family:var(--mono);font-size:9px;color:#b8dcd3;letter-spacing:.08em}.inverter-faults-index{padding:58px 0 104px}.inverter-filter-row{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:23px;border-bottom:1px solid #c3d0cd}.inverter-filter-row button{padding:12px 15px;border:1px solid #a9c0bb;background:#fafcfb;color:#44625d;font:800 9px var(--mono);letter-spacing:.04em;cursor:pointer}.inverter-filter-row button.is-active{border-color:#284d49;background:#284d49;color:#fff}.inverter-result-count{margin:22px 0 19px;color:#627773;font:800 10px var(--mono);letter-spacing:.06em}.inverter-fault-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.inverter-fault-card{display:flex;min-height:210px;flex-direction:column;padding:23px;border:2px solid #9dbbb4;background:linear-gradient(145deg,#eaf4f0,#fbfbf7);color:#26312f;box-shadow:inset 0 0 0 4px rgba(255,255,255,.36),0 7px 18px rgba(35,58,53,.05);transition:.2s}.inverter-fault-card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 4px rgba(255,255,255,.36),0 15px 28px rgba(35,58,53,.13)}.inverter-fault-card.tone-1{border-color:#b6c3d5;background:linear-gradient(145deg,#eef3f9,#fafbf9)}.inverter-fault-card.tone-2{border-color:#d3bfa7;background:linear-gradient(145deg,#faf2e8,#fbfaf7)}.inverter-fault-card.tone-3{border-color:#cbbbd8;background:linear-gradient(145deg,#f3eff7,#fbfaf9)}.inverter-fault-card.tone-4{border-color:#d4b7b1;background:linear-gradient(145deg,#faf0ee,#fbfaf8)}.inverter-fault-card span{font:800 8px var(--mono);letter-spacing:.07em;color:#507970}.inverter-fault-card strong{margin-top:33px;font-size:22px;letter-spacing:-.045em;line-height:1.04}.inverter-fault-card p{margin:11px 0 18px;color:#62716d;font-size:11px;line-height:1.55}.inverter-fault-card i{margin-top:auto;color:#38685f;font:800 9px var(--mono);font-style:normal;letter-spacing:.04em}.no-results{grid-column:1/-1;padding:30px;border:1px dashed #9dbbb4}.inverter-faults-rule{padding:36px 0;background:#263130;color:#c8d9d4}.inverter-faults-rule strong{display:block;margin-bottom:9px;font:800 10px var(--mono);letter-spacing:.08em;color:#a9d3ce}.inverter-faults-rule p{max-width:840px;margin:0;font-size:13px;line-height:1.65}@media(max-width:900px){.inverter-faults-hero-grid{grid-template-columns:1fr;gap:40px}.inverter-fault-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.inverter-faults-hero{padding:60px 0}.inverter-faults-hero h1{font-size:49px}.inverter-fault-grid{grid-template-columns:1fr}.inverter-filter-row{gap:6px}.inverter-filter-row button{padding:10px}.inverter-faults-index{padding:42px 0 70px}}

/* REFTHE · Guasti refrigerazione */
.faults-page { color: #26312f; background: #f5f7f4; }
.faults-hero { padding: 96px 0 84px; color: #ecf2ef; background: radial-gradient(circle at 81% 13%, rgba(102,169,154,.22), transparent 30%), #263130; }
.faults-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 96px; align-items: center; }
.faults-hero h1 { max-width: 760px; margin: 0; font-size: clamp(52px, 6.2vw, 84px); letter-spacing: -.068em; line-height: .89; }
.faults-hero h1 span { color: #9bd5c7; }
.faults-hero p:not(.eyebrow) { max-width: 710px; color: #b7c3bf; font-size: 15px; line-height: 1.68; }
.fault-search { margin-top: 33px; }
.fault-search label { display: block; margin-bottom: 10px; color: #abc0ba; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.fault-search > div { display: grid; grid-template-columns: 1fr auto; border: 1px solid #62736e; border-radius: 5px; overflow: hidden; background: rgba(255,255,255,.07); }
.fault-search input { min-width: 0; padding: 17px 18px; border: 0; color: #eff5f2; outline: 0; background: transparent; font: inherit; }
.fault-search input::placeholder { color: #a2b1ad; }
.fault-search button { border: 0; padding: 0 21px; color: #23302d; background: #a8dacb; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.fault-count { margin: 12px 0 0; color: #9db0aa !important; font-family: var(--mono); font-size: 9px !important; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.faults-hero aside { padding: 28px; border: 1px solid #53615d; border-radius: 7px; background: rgba(18,29,27,.35); }
.faults-hero aside > span { color: #9bd5c7; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.faults-hero aside ol { margin: 22px 0; padding: 0; list-style: none; counter-reset: none; }
.faults-hero aside li { display: flex; gap: 14px; padding: 13px 0; border-bottom: 1px solid #4c5a57; color: #e6eeeb; font-size: 13px; }
.faults-hero aside b { color: #96d3c3; font-family: var(--mono); font-size: 9px; }
.faults-hero aside a { color: #b9e0d5; font-family: var(--mono); font-size: 9px; font-weight: 800; }
.faults-directory { padding: 88px 0 105px; }
.fault-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 70px; padding-bottom: 22px; border-bottom: 1px solid #d0dad6; }
.fault-filter-bar button { padding: 11px 13px; border: 1px solid #b9c8c3; border-radius: 4px; color: #596863; background: #f9fbf9; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .035em; cursor: pointer; }
.fault-filter-bar button span { margin-left: 7px; color: #8b9793; }
.fault-filter-bar button.active, .fault-filter-bar button:hover { border-color: #314b46; color: #f4f8f6; background: #314b46; }
.fault-filter-bar button.active span, .fault-filter-bar button:hover span { color: #b4d8ce; }
.faults-directory-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 38px; }
.faults-directory-head h2 { margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -.06em; line-height: .95; }
.faults-directory-head > p { max-width: 460px; margin: 0; color: #697671; font-size: 13px; line-height: 1.6; }
.fault-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.fault-card { display: flex; min-height: 315px; flex-direction: column; padding: 21px; border: 2px solid var(--fault-border); border-radius: 7px; background: var(--fault-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.35), 0 8px 21px rgba(33,51,47,.045); }
.fault-card-head, .fault-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fault-card-head span { color: var(--fault-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.fault-card-head b { padding: 4px 6px; border: 1px solid color-mix(in srgb, var(--fault-ink) 35%, #fff); color: var(--fault-ink); font-family: var(--mono); font-size: 7px; letter-spacing: .05em; }
.fault-card h3 { margin: 27px 0 13px; font-size: 23px; letter-spacing: -.045em; line-height: 1; }
.fault-card > p { margin: 0; color: #5c6965; font-size: 11px; line-height: 1.55; }
.fault-card-bottom { margin-top: auto; padding-top: 17px; border-top: 1px solid color-mix(in srgb, var(--fault-border) 65%, #fff); }
.fault-card-bottom a { color: var(--fault-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .035em; }
.fault-card-bottom a i { margin-left: 4px; font-size: 13px; font-style: normal; }
.fault-card-bottom span { color: #7f8c87; font-size: 8px; text-align: right; }
.tone-temperatura { --fault-bg:#eaf4f1; --fault-border:#9ec9c0; --fault-ink:#357d70; }
.tone-pressione { --fault-bg:#eaf1f7; --fault-border:#9fbfd3; --fault-ink:#3c6f8c; }
.tone-elettrico { --fault-bg:#f8eeee; --fault-border:#d5aaa9; --fault-ink:#9a5652; }
.tone-sbrinamento { --fault-bg:#f0edf8; --fault-border:#b8add3; --fault-ink:#665789; }
.tone-perdite { --fault-bg:#fbf1e4; --fault-border:#d7b583; --fault-ink:#946627; }
.tone-aria { --fault-bg:#edf4e9; --fault-border:#acc69c; --fault-ink:#5e7b45; }
.tone-controllo { --fault-bg:#e9f4f5; --fault-border:#9ac4c8; --fault-ink:#42777c; }
.tone-olio { --fault-bg:#f3f0e8; --fault-border:#c7bda8; --fault-ink:#75644b; }
.tone-inverter { --fault-bg:#f6eaf0; --fault-border:#d3a7b7; --fault-ink:#955269; }
.fault-empty { padding: 42px; border: 1px dashed #aebdb8; color: #65736e; text-align: center; }
.faults-next { padding: 82px 0; color: #ebf2ef; background: #34423f; }
.faults-next .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.faults-next h2 { margin: 0; font-size: clamp(40px,5vw,65px); letter-spacing: -.06em; line-height: .95; }
.faults-next-links { display: grid; border-top: 1px solid #65736e; border-left: 1px solid #65736e; }
.faults-next-links a { display: grid; grid-template-columns: 100px 1fr 20px; align-items: center; gap: 16px; padding: 20px; border-right: 1px solid #65736e; border-bottom: 1px solid #65736e; color: #edf3f0; }
.faults-next-links a:hover { background: #40514d; }
.faults-next-links span { color: #a4d1c5; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.faults-next-links strong { font-size: 14px; }
.faults-next-links i { color: #a4d1c5; font-size: 19px; font-style: normal; }
.faults-safety { padding: 26px 0; background: #e6ece8; }
.faults-safety .container { display: grid; grid-template-columns: 180px 1fr; gap: 30px; }
.faults-safety strong { color: #47605a; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; }
.faults-safety p { margin: 0; color: #5f6c68; font-size: 10px; line-height: 1.55; }
@media (max-width: 980px) { .faults-hero-grid, .faults-next .container { grid-template-columns: 1fr; gap: 46px; } .fault-card-grid { grid-template-columns: repeat(2,1fr); } .faults-directory-head { align-items: flex-start; flex-direction: column; gap: 20px; } }
@media (max-width: 620px) { .faults-hero { padding: 62px 0; } .fault-search > div { grid-template-columns: 1fr; } .fault-search button { min-height: 50px; } .fault-filter-bar { margin-bottom: 44px; } .fault-card-grid { grid-template-columns: 1fr; } .faults-next-links a { grid-template-columns: 70px 1fr 14px; padding: 16px; } .faults-safety .container { grid-template-columns: 1fr; gap: 10px; } }

.problem-desk-cta { display: flex; align-items: center; gap: 18px; margin: -8px 0 34px; }
.problem-desk-cta span { color: #6e7c77; font-size: 12px; }
@media (max-width: 620px) { .problem-desk-cta { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 27px; } }

/* REFTHE · Percorsi di scelta affiliazione */
.tools-path-link { display: inline-flex; margin-top: 17px; color: #b9dfd2; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.tools-path-link:hover { color: #fff; }
.choice-page { background: #f5f7f4; color: #293330; }
.choice-hero { padding: 93px 0 82px; color: #edf4f1; background: radial-gradient(circle at 83% 13%, rgba(125, 186, 166, .22), transparent 29%), #263130; }
.choice-hero-grid { display: grid; grid-template-columns: 1.16fr .64fr; gap: 80px; align-items: center; }
.choice-hero h1 { max-width: 830px; margin: 0; font-size: clamp(52px, 6.1vw, 82px); letter-spacing: -.067em; line-height: .9; }
.choice-hero h1 span { color: #a9d7c9; }
.choice-hero-copy { max-width: 740px; margin: 25px 0 0; color: #b6c5c0; font-size: 16px; line-height: 1.67; }
.choice-hero-card { padding: 27px; border: 1px solid #50635e; border-radius: 8px; background: rgba(10, 20, 17, .27); }
.choice-hero-card span { color: #a3cfc1; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.choice-hero-card strong { display: block; margin: 27px 0 25px; font-size: 26px; letter-spacing: -.04em; line-height: 1.05; }
.choice-hero-card p { margin: 0; color: #acbbb5; font-size: 11px; line-height: 1.6; }
.choice-page-section { padding: 88px 0; }
.choice-page-section.alt { background: #edf2ef; }
.choice-section-head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 38px; }
.choice-section-head h2 { margin: 0; font-size: clamp(38px, 5vw, 64px); letter-spacing: -.06em; line-height: .95; }
.choice-section-head > p { max-width: 480px; margin: 0; color: #687570; font-size: 13px; line-height: 1.65; }
.choice-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.choice-route { display: flex; min-height: 390px; flex-direction: column; padding: 25px; border: 2px solid var(--choice-border); border-radius: 8px; background: var(--choice-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.35), 0 9px 22px rgba(32,48,43,.055); }
.choice-route > span { color: var(--choice-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.choice-route h3 { margin: 39px 0 14px; font-size: 29px; letter-spacing: -.055em; line-height: .98; }
.choice-route > p { margin: 0; color: #5d6b66; font-size: 12px; line-height: 1.6; }
.choice-route ol { margin: 24px 0; padding: 0; border-top: 1px solid color-mix(in srgb, var(--choice-border) 67%, #fff); list-style: none; }
.choice-route li { display: grid; grid-template-columns: 30px 1fr; gap: 9px; padding: 10px 0; border-bottom: 1px solid color-mix(in srgb, var(--choice-border) 60%, #fff); color: #4e5e59; font-size: 10px; line-height: 1.35; }
.choice-route li b { color: var(--choice-ink); font-family: var(--mono); font-size: 8px; }
.choice-route .button { margin-top: auto; align-self: flex-start; }
.choice-route.tone-thermal { --choice-bg:#e7f3ef; --choice-border:#96c4b7; --choice-ink:#34796d; }
.choice-route.tone-hand { --choice-bg:#f9eee7; --choice-border:#d8ad8c; --choice-ink:#9b5f3e; }
.choice-route.tone-safety { --choice-bg:#edf0f8; --choice-border:#afb8d5; --choice-ink:#5d6892; }
.choice-disclosure { display: grid; grid-template-columns: 165px 1fr; gap: 27px; padding: 27px 0; border-top: 1px solid #b9c9c3; border-bottom: 1px solid #b9c9c3; }
.choice-disclosure strong { color: #466b61; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; }
.choice-disclosure p { margin: 0; color: #596762; font-size: 12px; line-height: 1.65; }
.choice-next { padding: 81px 0; color: #edf4f1; background: #2c3936; }
.choice-next .container { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }
.choice-next h2 { margin: 0; font-size: clamp(40px,5vw,68px); letter-spacing: -.06em; line-height: .93; }
.choice-next p { max-width: 450px; color: #b3c1bc; font-size: 14px; line-height: 1.65; }
.choice-next-links { display: grid; border-top: 1px solid #596964; border-left: 1px solid #596964; }
.choice-next-links a { display: grid; grid-template-columns: 100px 1fr 17px; gap: 15px; padding: 19px; border-right: 1px solid #596964; border-bottom: 1px solid #596964; color: #e8f1ed; }
.choice-next-links a:hover { background: #374844; }
.choice-next-links span { color: #a4d2c4; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.choice-next-links strong { font-size: 14px; }
.choice-next-links i { color: #a4d2c4; font-style: normal; }
@media (max-width: 900px) { .choice-hero-grid, .choice-next .container { grid-template-columns: 1fr; gap: 43px; } .choice-route-grid { grid-template-columns: 1fr; } .choice-section-head { align-items: flex-start; flex-direction: column; gap: 18px; } }
@media (max-width: 580px) { .choice-hero, .choice-page-section { padding: 64px 0; } .choice-hero h1 { font-size: 47px; } .choice-disclosure { grid-template-columns: 1fr; gap: 10px; } .choice-next-links a { grid-template-columns: 72px 1fr 14px; padding: 16px; } }

/* REFTHE · Risposta completa ai guasti */
.fault-answer-page { background: #f5f7f4; color: #283330; }
.fault-answer-hero { padding: 91px 0 82px; color: #eef4f1; background: radial-gradient(circle at 82% 12%, rgba(130,192,174,.2), transparent 31%), #293330; }
.answer-back { display: inline-block; margin-bottom: 59px; color: #b9ddd2; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .05em; }
.fault-answer-hero h1 { max-width: 890px; margin: 0; font-size: clamp(49px, 6.4vw, 86px); letter-spacing: -.07em; line-height: .89; }
.fault-answer-hero p:not(.eyebrow) { max-width: 670px; margin: 25px 0 0; color: #b5c4bf; font-size: 15px; line-height: 1.65; }
.fault-answer-content { padding: 88px 0 100px; }
.fault-answer-content .container { display: grid; grid-template-columns: 1fr .36fr; gap: 42px; align-items: start; }
.answer-route { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid #c9d5d0; border-left: 1px solid #c9d5d0; }
.answer-route article { min-height: 238px; padding: 29px; border-right: 1px solid #c9d5d0; border-bottom: 1px solid #c9d5d0; background: #fbfcfa; }.answer-route article.answer-focus { grid-column: 1 / -1; min-height: 260px; background: linear-gradient(150deg, #f9fcfa, #e2efea); }
.answer-route article:nth-child(2) { background: #eaf4f1; }.answer-route article:nth-child(3) { background: #eef2f7; }.answer-route article:nth-child(4) { background: #f7efe7; }
.answer-route span { color: #52756b; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.answer-route h2 { margin: 34px 0 13px; font-size: 26px; letter-spacing: -.05em; line-height: 1; }.answer-route p { margin: 0; color: #5e6c67; font-size: 12px; line-height: 1.62; }
.answer-technical-note { margin-top: 25px; padding: 18px 0 0; border-top: 1px solid #bcd0c8; }.answer-technical-note b { color: #41685e; font-family: var(--mono); font-size: 9px; letter-spacing: .07em; }.answer-technical-note p { margin-top: 10px; color: #405b53; font-size: 12px; line-height: 1.7; }
.answer-guardrail { padding: 27px; border: 2px solid #b9cfc8; border-radius: 7px; background: #e6f0ed; }.answer-guardrail strong { color: #3b6d62; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; }.answer-guardrail p { margin: 18px 0 0; color: #52645e; font-size: 12px; line-height: 1.65; }
.fault-answer-manual { padding: 88px 0; border-top: 1px solid #d4ddd9; background: #eff3f0; }
.answer-manual-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: end; margin-bottom: 35px; }.answer-manual-head h2 { margin: 0; font-size: clamp(38px, 4.7vw, 62px); letter-spacing: -.065em; line-height: .94; }.answer-manual-head h2 span { color: #59796f; }.answer-manual-head > p { max-width: 490px; margin: 0 0 5px; color: #61716c; font-size: 13px; line-height: 1.72; }
.answer-manual-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }.answer-manual-card { display: flex; min-height: 220px; flex-direction: column; justify-content: flex-start; padding: 24px; border: 1px solid #b8c7c1; border-top: 4px solid #6b978a; background: rgba(255,255,255,.76); color: #263330; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }.answer-manual-card.manual-2 { border-top-color: #8e9cb8; }.answer-manual-card.manual-3 { border-top-color: #c78f79; }.answer-manual-card.manual-4 { border-top-color: #d2a46d; }.answer-manual-card:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 13px 26px rgba(43,58,53,.12); }.answer-manual-card span { color: #58776e; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }.answer-manual-card strong { margin-top: 28px; font-size: 18px; letter-spacing: -.04em; line-height: 1.05; }.answer-manual-card small { margin-top: 12px; color: #63716d; font-size: 11px; line-height: 1.55; }.answer-manual-card em { margin-top: auto; padding-top: 24px; color: #3f665c; font-family: var(--mono); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.fault-answer-next { padding: 81px 0; color: #ebf3ef; background: #34423f; }.fault-answer-next .container { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: center; }.fault-answer-next h2 { margin: 0; font-size: clamp(39px,5vw,64px); letter-spacing: -.06em; line-height: .95; }
.answer-next-links { display: grid; border-top: 1px solid #65736e; border-left: 1px solid #65736e; }.answer-next-links a { display: grid; grid-template-columns: 90px 1fr 18px; align-items: center; gap: 16px; padding: 20px; border-right: 1px solid #65736e; border-bottom: 1px solid #65736e; color: #eef4f1; }.answer-next-links a:hover { background: #40514d; }.answer-next-links span { color: #a6d2c5; font-family: var(--mono); font-size: 8px; font-weight: 800; }.answer-next-links strong { font-size: 14px; }.answer-next-links i { color: #a6d2c5; font-size: 19px; font-style: normal; }
@media (max-width: 900px) { .fault-answer-content .container, .fault-answer-next .container, .answer-manual-head { grid-template-columns: 1fr; gap: 36px; }.answer-manual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .fault-answer-hero { padding: 62px 0; }.answer-back { margin-bottom: 42px; }.answer-route { grid-template-columns: 1fr; }.answer-route article, .answer-route article.answer-focus { min-height: auto; padding: 25px; }.answer-manual-grid { grid-template-columns: 1fr; }.answer-manual-card { min-height: 190px; }.answer-next-links a { grid-template-columns: 70px 1fr 14px; padding: 16px; } }

/* REFTHE · Cura della navigazione: il percorso resta leggibile anche da tastiera. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(237, 99, 42, .82);
  outline-offset: 3px;
}

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


Warning: truncated output (original token count: 61125)
Total output lines: 8932

/* REFTHE · Percorsi d’impianto e schede di scelta */
.plant-page { background: #f4f6f2; color: #27312e; }
.plant-hero { padding: 88px 0 82px; overflow: hidden; background: radial-gradient(circle at 85% 12%, rgba(206, 172, 139, .28), transparent 24%), linear-gradient(135deg, #283632, #33443e); color: #f4f7f2; }
.plant-hero-grid { display: grid; grid-template-columns: 1.1fr .72fr; gap: 70px; align-items: center; }
.plant-hero h1 { max-width: 750px; margin: 17px 0 24px; font-size: clamp(53px, 7.2vw, 91px); letter-spacing: -.077em; line-height: .87; }
.plant-hero h1 span { color: #c6ded5; }
.plant-hero p:not(.eyebrow) { max-width: 615px; margin: 0; color: #c8d4cf; font-size: 15px; line-height: 1.72; }
.plant-hero .button { background: #e87242; }
.plant-hero .button:hover { background: #f08356; }
.plant-hero .button-outline { border-color: #8fa59d; color: #eff5f1; background: transparent; }
.plant-system-card { padding: 27px 29px 24px; border: 1px solid rgba(211, 229, 220, .4); background: rgba(245, 250, 246, .08); box-shadow: 17px 18px 0 rgba(19, 28, 25, .15); }
.plant-system-card > span { color: #a7d4c5; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.plant-system-card ol { margin: 24px 0 0; padding: 0; list-style: none; }
.plant-system-card li { display: grid; grid-template-columns: 28px 1fr; column-gap: 12px; padding: 15px 0; border-top: 1px solid rgba(222, 238, 230, .2); }
.plant-system-card li b { grid-row: span 2; color: #e7845c; font-family: var(--mono); font-size: 9px; }
.plant-system-card strong { color: #f4f7f4; font-size: 15px; line-height: 1.1; }
.plant-system-card small { margin-top: 5px; color: #c1d0ca; font-size: 11px; }
.plant-route-overview { padding: 92px 0; background: #fbfcf9; }
.plant-route-overview .section-header { display: grid; grid-template-columns: 1fr .65fr; gap: 80px; align-items: end; margin-bottom: 34px; }
.plant-route-overview h2, .plant-catalog h2 { margin: 0; font-size: clamp(38px, 5vw, 66px); letter-spacing: -.068em; line-height: .91; }
.plant-route-overview .section-header > p { max-width: 445px; margin: 0; color: #64716c; font-size: 13px; line-height: 1.72; }
.plant-route-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #bbc9c1; border-left: 1px solid #bbc9c1; }
.plant-route-grid a { display: flex; min-height: 205px; flex-direction: column; padding: 23px; border-right: 1px solid #bbc9c1; border-bottom: 1px solid #bbc9c1; color: #2b3934; background: #edf4f0; transition: background .18s ease, transform .18s ease; }
.plant-route-grid a:nth-child(2) { background: #f6ede6; }.plant-route-grid a:nth-child(3) { background: #eef1f8; }.plant-route-grid a:nth-child(4) { background: #e9f1f2; }
.plant-route-grid a:hover { z-index: 1; background: #fff; transform: translateY(-4px); box-shadow: 0 13px 24px rgba(39, 55, 48, .13); }
.plant-route-grid span { color: #59756a; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.plant-route-grid strong { margin-top: 43px; max-width: 190px; font-size: 20px; letter-spacing: -.045em; line-height: 1.02; }
.plant-route-grid i { margin-top: auto; color: #d96031; font-size: 22px; font-style: normal; }
.plant-catalog { padding: 95px 0; border-top: 1px solid #cbd5cf; }
.plant-catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.plant-catalog-head h2 span { color: #637f75; }
.plant-catalog-head > span { margin-bottom: 8px; color: #71817a; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; white-space: nowrap; }
.plant-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 39px 0 21px; }
.plant-filters button { padding: 11px 14px; border: 1px solid #b9c8c0; background: #f8faf7; color: #53645d; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.plant-filters button:hover, .plant-filters button.active { color: #fff; border-color: #344941; background: #344941; }
.plant-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.plant-card { display: flex; min-height: 405px; flex-direction: column; border: 1px solid var(--plant-border); border-top-width: 4px; background: #fff; box-shadow: 0 8px 20px rgba(31, 46, 40, .05); transition: transform .18s ease, box-shadow .18s ease; }
.plant-card:hover { transform: translateY(-4px); box-shadow: 0 17px 28px rgba(31, 46, 40, .12); }
.plant-card[hidden] { display: none; }
.plant-card.tone-sage { --plant-bg:#e5f0eb; --plant-border:#77ab96; --plant-ink:#417965; }.plant-card.tone-powder { --plant-bg:#e8edf7; --plant-border:#879ac3; --plant-ink:#586a97; }.plant-card.tone-clay { --plant-bg:#f6e7dd; --plant-border:#cf8b6f; --plant-ink:#9b5a45; }.plant-card.tone-aqua { --plant-bg:#e4f0f1; --plant-border:#6da7aa; --plant-ink:#34747a; }.plant-card.tone-sand { --plant-bg:#f5eedc; --plant-border:#c6a25d; --plant-ink:#8b6b32; }.plant-card.tone-lavender { --plant-bg:#ede9f5; --plant-border:#9c89bb; --plant-ink:#685383; }
.plant-card-visual { position: relative; display: grid; min-height: 135px; overflow: hidden; place-items: center; border-bottom: 1px solid var(--plant-border); background: var(--plant-bg); color: var(--plant-ink); }
.plant-card-visual::before, .plant-card-visual::after { position: absolute; width: 155px; height: 155px; border: 1px solid color-mix(in srgb, var(--plant-ink) 30%, transparent); border-radius: 50%; content: ""; }.plant-card-visual::before { right: -60px; bottom: -105px; }.plant-card-visual::after { left: -97px; top: -108px; }
.plant-card-visual span { position: absolute; top: 15px; left: 16px; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.plant-card-visual b { position: relative; z-index: 1; max-width: 145px; text-align: center; font-size: 24px; letter-spacing: -.06em; line-height: .9; text-transform: uppercase; }
.plant-card-visual i { position: absolute; width: 52px; height: 10px; border-top: 3px solid var(--plant-ink); border-bottom: 3px solid var(--plant-ink); transform: rotate(-18deg); opacity: .7; }
.plant-card-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.plant-card-body > p { margin: 0; color: var(--plant-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.plant-card h3 { margin: 14px 0 18px; min-height: 42px; font-size: 22px; letter-spacing: -.055em; line-height: .97; }
.plant-card-spec { padding-top: 14px; border-top: 1px solid #dce4df; }.plant-card-spec span { display: block; color: #8a9892; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }.plant-card-spec strong { display: block; margin-top: 8px; color: #596863; font-size: 11px; font-weight: 500; line-height: 1.52; }
.plant-card-body a { display: flex; justify-content: space-between; margin-top: auto; padding-top: 20px; color: var(--plant-ink); font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; }.plant-card-body a i { font-size: 16px; font-style: normal; line-height: 8px; }
.plant-principles { padding: 70px 0; color: #e9f1ed; background: #32423d; }.plant-principles .container { display: grid; grid-template-columns: .8fr 1fr auto; gap: 60px; align-items: end; }.plant-principles h2 { margin: 0; font-size: 36px; letter-spacing: -.06em; line-height: .95; }.plant-principles p:not(.eyebrow) { max-width: 520px; margin: 0; color: #bdccc6; font-size: 13px; line-height: 1.7; }.plant-principles a { padding: 13px 0; color: #c4e3d8; border-bottom: 1px solid #7da192; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.plant-detail-page { background: #f4f6f2; color: #28332f; }.plant-detail-hero { padding: 78px 0 76px; color: #263630; background: var(--detail-bg); }.plant-detail-hero.tone-sage { --detail-bg:#dfefe7; }.plant-detail-hero.tone-powder { --detail-bg:#e7edf8; }.plant-detail-hero.tone-clay { --detail-bg:#f5e6dc; }.plant-detail-hero.tone-aqua { --detail-bg:#e1eff0; }.plant-detail-hero.tone-sand { --detail-bg:#f5eedf; }.plant-detail-hero.tone-lavender { --detail-bg:#ece7f4; }
.plant-back { display: inline-block; margin-bottom: 58px; color: #4e7467; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .06em; }.plant-detail-hero p { color: #59766c; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }.plant-detail-hero h1 { max-width: 850px; margin: 15px 0 30px; font-size: clamp(50px, 7vw, 88px); letter-spacing: -.075em; line-height: .88; }.plant-detail-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; max-width: 860px; padding-top: 21px; border-top: 1px solid rgba(53, 87, 74, .35); }.plant-detail-lead strong { font-size: 17px; letter-spacing: -.03em; line-height: 1.28; }.plant-detail-lead span { color: #5d716a; font-size: 13px; line-height: 1.58; }
.plant-detail-content { padding: 80px 0; }.plant-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #c4d1ca; border-left: 1px solid #c4d1ca; }.plant-detail-grid article { min-height: 265px; padding: 26px; border-right: 1px solid #c4d1ca; border-bottom: 1px solid #c4d1ca; background: #fff; }.plant-detail-grid article:nth-child(2) { background: #e9f3ef; }.plant-detail-grid article:nth-child(3) { background: #f8ede6; }.plant-detail-grid article:nth-child(4) { background: #edf0f8; }.plant-detail-grid span { color: #59776c; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }.plant-detail-grid h2 { margin: 42px 0 13px; font-size: 25px; letter-spacing: -.055em; line-height: .98; }.plant-detail-grid p { margin: 0; color: #5e6d67; font-size: 12px; line-height: 1.66; }
.plant-route-section { padding: 80px 0; border-top: 1px solid #cbd6d0; background: #fbfcf9; }.plant-route-heading { display: grid; grid-template-columns: 1fr .65fr; gap: 75px; align-items: end; margin-bottom: 34px; }.plant-route-heading h2 { margin: 0; font-size: clamp(37px,5vw,64px); letter-spacing: -.068em; line-height: .92; }.plant-route-heading > p { margin: 0; color: #66756f; font-size: 13px; line-height: 1.7; }.plant-route-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid #b9c9c1; border-left: 1px solid #b9c9c1; list-style: none; }.plant-route-steps li { min-height: 170px; padding: 21px; border-right: 1px solid #b9c9c1; border-bottom: 1px solid #b9c9c1; }.plant-route-steps b { display: block; color: #d6673c; font-family: var(--mono); font-size: 9px; }.plant-route-steps span { display: block; margin-top: 42px; color: #3d4d47; font-size: 14px; font-weight: 700; letter-spacing: -.025em; line-height: 1.24; }
.plant-detail-next { padding: 83px 0; color: #edf5f1; background: #31413b; }.plant-detail-next .container { display: grid; grid-template-columns: 1fr .76fr; gap: 100px; align-items: center; }.plant-detail-next h2 { margin: 0; font-size: clamp(41px,5.2vw,66px); letter-spacing: -.065em; line-height: .92; }.plant-detail-next p:not(.eyebrow) { max-width: 520px; color: #bdcac5; font-size: 13px; line-height: 1.68; }.plant-next-box { display: flex; flex-direction: column; padding: 27px; border: 1px solid #71847d; background: rgba(255,255,255,.055); }.plant-next-box span { color: #abd7c9; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }.plant-next-box strong { margin: 24px 0 28px; font-size: 21px; letter-spacing: -.045em; line-height: 1.05; }.plant-next-box a { padding: 13px 0; border-top: 1px solid #657a72; color: #c9e7dc; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; }
@media (max-width: 980px) { .plant-hero-grid, .plant-route-overview .section-header, .plant-principles .container, .plant-route-heading, .plant-detail-next .container { grid-template-columns: 1fr; gap: 35px; }.plant-route-grid, .plant-card-grid, .plant-detail-grid, .plant-route-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }.plant-principles { padding: 60px 0; }.plant-principles a { width: max-content; }.plant-catalog-head { align-items: flex-start; flex-direction: column; }.plant-detail-lead { grid-template-columns: 1fr; gap: 17px; } }
@media (max-width: 600px) { .plant-hero, .plant-route-overview, .plant-catalog { padding: 63px 0; }.plant-hero h1 { font-size: 54px; }.plant-route-grid, .plant-card-grid, .plant-detail-grid, .plant-route-steps { grid-template-columns: 1fr; }.plant-route-grid a { min-height: 175px; }.plant-card { min-height: 360px; }.plant-detail-hero { padding: 61px 0; }.plant-detail-grid article { min-height: auto; }.plant-route-steps li { min-height: 142px; }.plant-route-steps span { margin-top: 28px; } }

/* REFTHE · Catalogo CAREL esteso */
.carel-official-page .danfoss-search > div { grid-template-columns: minmax(0, 1fr); }
.carel-official-page .filter-field:first-child { min-width: min(100%, 350px); }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 3px; }
.filter-chips button { min-height: 38px; padding: 0 12px; border: 1px solid #b7c4be; border-radius: 4px; color: #52615d; background: #f8faf8; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.filter-chips button[aria-pressed="true"] { border-color: #2e413b; color: #fff; background: #2e413b; }
.carel-official-card[hidden] { display: none; }
.carel-official-page .library-empty { margin-top: 30px; }
@media (max-width: 620px) { .carel-official-page .filter-field:first-child { min-width: 100%; } .filter-chips button { flex: 1 1 auto; } }

/* Attrezzature REFTHE */
.tools-page {
  background: #f4f3ef;
}

.tools-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f4f3ef;
  background-size: 42px 42px;
}

.tools-hero-grid {
  display: grid;
  min-height: 630px;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr);
  align-items: center;
  gap: 78px;
  padding-block: 82px;
}

.tools-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 720;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.tools-hero h1 span {
  color: var(--accent-dark);
}

.tools-hero-lead {
  max-width: 740px;
  margin: 28px 0 0;
  color: var(--ink-soft);
  font-size: 19px;
  line-height: 1.6;
}

.tools-search-shell {
  margin-top: 36px;
}

.tools-search {
  display: grid;
  max-width: 760px;
  grid-template-columns: 1fr auto;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 8px 8px 0 var(--ink);
}

.tools-search:focus-within {
  box-shadow: 8px 8px 0 var(--accent);
}

.tools-search input {
  min-width: 0;
  padding: 19px 21px;
  border: 0;
  outline: 0;
  background: transparent;
}

.tools-search button {
  margin: 5px;
  padding-inline: 20px;
  border: 0;
  color: #fff;
  background: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.tools-search button:hover {
  background: var(--accent-dark);
}

.tools-path-card {
  padding: 30px;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.12);
}

.tools-path-card ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.tools-path-card li {
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 13px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.tools-path-card li > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
}

.tools-path-card strong,
.tools-path-card small {
  display: block;
}

.tools-path-card strong {
  font-size: 14px;
}

.tools-path-card small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.tools-path-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.tools-path-note i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.tools-workflow {
  padding-block: 48px;
  border-bottom: 1px solid #33383b;
  color: #fff;
  background: var(--ink);
}

.tools-workflow-head,
.tools-catalog-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 28px;
}

.tools-workflow-head h2,
.tools-catalog-head h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.04em;
  line-height: 1;
}

.tools-workflow-head p {
  max-width: 470px;
  margin: 0;
  color: #b8bdbf;
}

.tools-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  border: 1px solid #4b5053;
  background: #202428;
}

.tools-filter-field {
  padding: 12px 15px;
  border-right: 1px solid #454a4d;
}

.tools-filter-field label {
  display: block;
  margin-bottom: 5px;
  color: #9da3a5;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tools-filter-field select {
  width: 100%;
  border: 0;
  outline: 0;
  color: #fff;
  background: #202428;
  font-size: 13px;
  font-weight: 700;
}

.tools-filter-reset {
  min-width: 90px;
  border: 0;
  color: #fff;
  background: var(--accent-dark);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.tools-filter-reset:hover {
  background: var(--accent);
}

.tools-filter-summary {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  color: #92999b;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.tool-ladder {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--line-strong);
}

.tool-ladder > a {
  position: relative;
  min-height: 360px;
  padding: 24px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: #fff;
  transition: background 160ms ease, transform 160ms ease;
}

.tool-ladder > a:hover {
  z-index: 1;
  background: #faf7f2;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-3px);
}

.tool-ladder > a > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
}

.tool-symbol {
  display: grid;
  width: 68px;
  height: 68px;
  margin: 50px 0 28px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 24px;
  font-weight: 800;
}

.tool-ladder h3 {
  margin: 0;
  font-size: 21px;
  letter-spacing: -0.02em;
}

.tool-ladder p {
  min-height: 72px;
  margin: 12px 0 20px;
  color: var(--muted);
  font-size: 13px;
}

.tool-ladder small {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

.screwdriver-feature {
  padding-block: 88px;
  border-block: 1px solid var(--line);
  background: #fff;
}

.screwdriver-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: center;
}

.screwdriver-copy h2 {
  max-width: 560px;
  margin: 0;
  font-size: clamp(37px, 4.5vw, 58px);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.screwdriver-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 25px 0 0;
  color: var(--ink-soft);
}

.screwdriver-criteria {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0 30px;
}

.screwdriver-criteria span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  color: var(--ink-soft);
  background: var(--paper);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.screwdriver-shortlist {
  border: 1px solid var(--ink);
  background: var(--paper);
  box-shadow: 12px 12px 0 rgba(23, 26, 29, 0.1);
}

.shortlist-head {
  display: flex;
  justify-content: space-between;
  padding: 13px 18px;
  border-bottom: 1px solid var(--ink);
  color: #fff;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
}

.screwdriver-shortlist article {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  padding: 25px;
  border-bottom: 1px solid var(--line);
}

.screwdriver-shortlist article:last-child {
  border-bottom: 0;
}

.shortlist-rank {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 800;
}

.screwdriver-shortlist small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.screwdriver-shortlist h3 {
  margin: 5px 0 8px;
  font-size: 18px;
}

.screwdriver-shortlist p {
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 12px;
}

.screwdriver-shortlist a {
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 800;
}

.tools-catalog {
  background: #ecece8;
}

.tools-catalog-head {
  margin-bottom: 40px;
}

.catalog-legend {
  display: flex;
  gap: 18px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.catalog-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--line-strong);
}

.status-dot.verified {
  background: var(--success);
}

.status-dot.demo {
  background: var(--accent);
}

.tool-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.affiliate-disclosure {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  margin: -12px 0 28px;
  padding: 15px 18px;
  border: 1px solid var(--line-strong);
  background: #fff;
}

.affiliate-disclosure > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.affiliate-disclosure p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.tool-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: #fff;
  box-shadow: 0 8px 25px rgba(23, 26, 29, 0.035);
}

.tool-card[hidden] {
  display: none;
}

.tool-card-top {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.tool-category-code {
  color: var(--muted);
}

.tool-source-state {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--success);
}

.tool-source-state i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success);
}

.tool-source-state.pending {
  color: var(--warning);
}

.tool-source-state.pending i {
  background: var(--warning);
}

.tool-card-visual {
  display: grid;
  min-height: 175px;
  place-content: center;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f7f6f2;
  background-size: 24px 24px;
  text-align: center;
}

.tool-card-photo {
  position: relative;
  display: grid;
  min-height: 250px;
  margin: 0;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.03) 1px, transparent 1px),
    #fff;
  background-size: 24px 24px;
}

.tool-card-photo img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: contain;
  padding: 16px;
  mix-blend-mode: multiply;
}

.tool-card-photo figcaption {
  position: absolute;
  right: 10px;
  bottom: 8px;
  padding: 4px 6px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.9);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.tool-card-visual span,
.tool-card-visual small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.tool-card-visual strong {
  display: block;
  margin: 6px 0 2px;
  color: var(--ink);
  font-size: 42px;
  letter-spacing: -0.05em;
  line-height: 1;
}

.placeholder-card .tool-card-visual strong {
  color: var(--accent-dark);
}

.tool-card-body {
  flex: 1;
  padding: 22px;
}

.tool-best-for {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tool-card h3 {
  margin: 8px 0 9px;
  font-size: 20px;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.tool-card-body > p {
  min-height: 63px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 12px;
}

.tool-card dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.tool-card dl > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
}

.tool-card dt {
  color: var(--muted);
}

.tool-card dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}

.tool-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 22px 22px;
}

.tool-card-actions .button {
  width: 100%;
  text-align: center;
}

.price-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border: 0;
  border-top: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.price-link span {
  color: var(--accent);
  font-size: 16px;
}

.purchase-link {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 13px;
  border: 1px solid var(--accent-dark);
  color: #fff;
  background: var(--accent-dark);
  transition: background 150ms ease, transform 150ms ease;
}

.purchase-link:hover {
  background: var(--accent);
  transform: translateY(-1px);
}

.purchase-link span,
.purchase-link small,
.purchase-link strong {
  display: block;
}

.purchase-link small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.75);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 600;
  text-transform: uppercase;
}

.purchase-link strong {
  font-size: 10px;
  letter-spacing: 0.02em;
}

.purchase-link i {
  font-size: 18px;
  font-style: normal;
}

.tools-empty {
  display: none;
  padding: 45px;
  border: 1px solid var(--line-strong);
  background: #fff;
  text-align: center;
}

.tools-empty.is-visible {
  display: block;
}

.tools-empty strong,
.tools-empty span {
  display: block;
}

.tools-empty span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
}

.tools-job-link {
  padding-block: 90px;
  color: #fff;
  background: var(--ink);
}

.job-link-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  gap: 70px;
}

.job-link-grid h2 {
  max-width: 480px;
  margin: 0;
  font-size: clamp(38px, 4.5vw, 60px);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.job-link-grid > div:first-child > p:not(.eyebrow) {
  max-width: 510px;
  margin: 22px 0 28px;
  color: #b8bdbe;
}

.job-link-flow {
  display: grid;
  grid-template-columns: repeat(7, auto);
  align-items: center;
}

.job-link-flow > div {
  display: flex;
  width: 145px;
  min-height: 145px;
  flex-direction: column;
  justify-content: space-between;
  padding: 17px;
  border: 1px solid #4c5154;
  background: #202428;
}

.job-link-flow > i {
  margin-inline: 8px;
  color: var(--accent);
  font-style: normal;
}

.job-link-flow span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.job-link-flow strong,
.job-link-flow small {
  display: block;
}

.job-link-flow strong {
  font-size: 14px;
}

.job-link-flow small {
  margin-top: 4px;
  color: #9fa5a7;
  font-size: 9px;
}

.tools-companies {
  background: #fff;
}

.company-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink);
  border-left: 1px solid var(--line);
}

.company-grid article {
  min-height: 155px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.company-grid strong,
.company-grid span,
.company-grid small {
  display: block;
}

.company-grid strong {
  font-size: 22px;
  letter-spacing: -0.02em;
}

.company-grid span {
  margin-top: 36px;
  color: var(--ink-soft);
  font-size: 12px;
}

.company-grid small {
  margin-top: 3px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
}

.company-next {
  color: #fff;
  background: var(--ink);
}

.company-next span,
.company-next small {
  color: #b4b9ba;
}

.company-beta {
  box-shadow: inset 4px 0 0 var(--accent);
  background: #fff8f4;
}

.company-beta strong {
  color: var(--accent-dark);
}

.beta-visual {
  box-shadow: inset 0 4px 0 var(--accent);
}

.home-tools-gateway {
  padding-block: 84px;
  border-bottom: 1px solid #363b3e;
  color: #f4f3ef;
  background: var(--ink);
}

.home-tools-gateway-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 74px;
  align-items: center;
}

.home-tools-gateway-copy h2 {
  max-width: 470px;
  margin: 0;
  font-size: clamp(40px, 5vw, 62px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.home-tools-gateway-copy > p:not(.eyebrow) {
  max-width: 500px;
  margin: 23px 0 29px;
  color: #b5babc;
}

.home-tools-route {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #505558;
  border-left: 1px solid #505558;
}

.home-tools-route a {
  display: grid;
  min-height: 170px;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  padding: 21px;
  border-right: 1px solid #505558;
  border-bottom: 1px solid #505558;
  background: #202428;
}

.home-tools-route a:hover {
  background: #282d31;
  box-shadow: inset 0 -3px 0 var(--accent);
}

.home-tools-route span {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 9px;
}

.home-tools-route strong {
  grid-column: 1;
  align-self: end;
  font-size: 17px;
}

.home-tools-route small {
  grid-column: 1;
  color: #9fa5a6;
  font-size: 10px;
}

.home-tools-route i {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  color: var(--accent);
  font-style: normal;
}

.company-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  padding: 17px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: var(--paper);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
}

.company-rule i {
  color: var(--accent-dark);
  font-style: normal;
  font-weight: 500;
}

@media (max-width: 1050px) {
  .tools-hero-grid,
  .screwdriver-grid,
  .job-link-grid,
  .home-tools-gateway-grid {
    grid-template-columns: 1fr;
  }

  .tools-hero-grid {
    gap: 48px;
  }

  .tools-path-card {
    max-width: 650px;
  }

  .tools-filter-panel {
    grid-template-columns: repeat(2, 1fr);
  }

  .tools-filter-field:nth-child(2) {
    border-right: 0;
  }

  .tools-filter-field:nth-child(-n + 2) {
    border-bottom: 1px solid #454a4d;
  }

  .tools-filter-reset {
    grid-column: 1 / -1;
    min-height: 45px;
  }

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

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

  .job-link-flow {
    justify-content: start;
  }
}

@media (max-width: 720px) {
  .tools-hero-grid {
    min-height: auto;
    padding-block: 58px 70px;
  }

  .tools-hero h1 {
    font-size: 49px;
  }

  .tools-hero-lead {
    font-size: 16px;
  }

  .tools-search {
    grid-template-columns: 1fr;
  }

  .tools-search button {
    min-height: 46px;
  }

  .tools-workflow-head,
  .tools-catalog-head,
  .tools-filter-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .tools-filter-panel,
  .tool-ladder,
  .tool-card-grid,
  .company-grid,
  .home-tools-route {
    grid-template-columns: 1fr;
  }

  .affiliate-disclosure {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .tools-filter-field,
  .tools-filter-field:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #454a4d;
  }

  .tool-ladder > a {
    min-height: 300px;
  }

  .tool-ladder p {
    min-height: auto;
  }

  .screwdriver-grid {
    gap: 46px;
  }

  .catalog-legend {
    align-items: flex-start;
    flex-direction: column;
  }

  .job-link-flow {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .job-link-flow > div {
    width: 100%;
    min-height: 105px;
  }

  .job-link-flow > i {
    text-align: center;
    transform: rotate(90deg);
  }

  .company-rule {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Refrigerazione / catalogo temperatura */
.temperature-page {
  background: #f2f1ed;
}

.temperature-hero {
  border-bottom: 1px solid var(--line-strong);
  background:
    radial-gradient(circle at 82% 34%, rgba(229, 112, 66, 0.1), transparent 23%),
    linear-gradient(90deg, rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.035) 1px, transparent 1px),
    #f4f3ef;
  background-size: auto, 44px 44px, 44px 44px, auto;
}

.temperature-hero-grid {
  display: grid;
  min-height: 660px;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.65fr);
  align-items: center;
  gap: 90px;
  padding-block: 82px;
}

.temperature-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(52px, 6.7vw, 92px);
  font-weight: 650;
  letter-spacing: -0.062em;
  line-height: 0.94;
}

.temperature-hero h1 span {
  color: var(--accent-dark);
  font-weight: 520;
}

.temperature-lead {
  max-width: 760px;
  margin: 29px 0 31px;
  color: var(--ink-soft);
  font-size: 18px;
  line-height: 1.65;
}

.temperature-readout {
  padding: 22px;
  border: 1px solid var(--ink);
  background: #fff;
  box-shadow: 14px 14px 0 rgba(23, 26, 29, 0.11);
}

.readout-screen {
  position: relative;
  min-height: 190px;
  padding: 24px;
  color: #e9f0e9;
  background:
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255, 255, 255, 0.018) 5px 6px),
    #202624;
  font-family: var(--mono);
}

.readout-screen span,
.readout-screen strong,
.readout-screen b {
  display: block;
}

.readout-screen span {
  color: #8fa095;
  font-size: 9px;
  letter-spacing: 0.09em;
}

.readout-screen strong {
  margin-top: 38px;
  color: #edf3de;
  font-size: 68px;
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.9;
  text-shadow: 0 0 16px rgba(226, 244, 196, 0.15);
}

.readout-screen b {
  position: absolute;
  right: 23px;
  bottom: 25px;
  color: #9dab9d;
  font-size: 18px;
}

.temperature-readout dl {
  margin: 19px 0 0;
  border-top: 1px solid var(--line);
}

.temperature-readout dl > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.temperature-readout dt {
  color: var(--muted);
  font-family: var(--mono);
  text-transform: uppercase;
}

.temperature-readout dd {
  margin: 0;
  font-weight: 750;
  text-align: right;
}

.temperature-readout > p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.temperature-readout > p i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.temperature-context {
  color: #dce0de;
  background: var(--ink);
}

.temperature-context-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.temperature-context-grid span {
  padding: 16px 20px;
  border-right: 1px solid #41474a;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.temperature-context-grid span:first-child {
  border-left: 1px solid #41474a;
}

.temperature-use-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.temperature-use-grid button {
  position: relative;
  min-height: 295px;
  padding: 25px;
  border: 0;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.42);
  cursor: pointer;
  text-align: left;
  transition: background 160ms ease, transform 160ms ease;
}

.temperature-use-grid button:hover,
.temperature-use-grid button.active {
  z-index: 1;
  background: #fff;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-2px);
}

.temperature-use-grid span,
.temperature-use-grid strong,
.temperature-use-grid small {
  display: block;
}

.temperature-use-grid span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.temperature-use-grid strong {
  max-width: 330px;
  margin-top: 75px;
  font-size: 24px;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

.temperature-use-grid small {
  max-width: 340px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.temperature-use-grid i {
  position: absolute;
  right: 24px;
  bottom: 22px;
  color: var(--accent-dark);
  font-style: normal;
}

.temperature-catalog {
  border-top: 1px solid var(--line-strong);
  background: #e8e8e4;
}

.temperature-catalog-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 45px;
  margin-bottom: 35px;
}

.temperature-catalog-head h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(38px, 4.8vw, 62px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.temperature-filterbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.62);
}

.temperature-filterbar button,
.temperature-empty button,
.temperature-table button {
  border: 0;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
}

.temperature-filterbar button {
  min-height: 34px;
  padding: 0 11px;
}

.temperature-filterbar button:hover,
.temperature-filterbar button.active {
  color: #fff;
  background: var(--ink);
}

.temperature-filterbar span {
  margin-left: 7px;
  padding: 0 10px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

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

.temperature-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: #fff;
  box-shadow: 0 10px 26px rgba(23, 26, 29, 0.035);
}

.temperature-product-card[hidden] {
  display: none;
}

.temperature-card-meta {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.055em;
}

.temperature-card-meta span {
  color: var(--muted);
}

.temperature-card-meta b {
  color: var(--success);
}

.temperature-product-card.is-configuration .temperature-card-meta b {
  color: var(--warning);
}

.temperature-card-gauge {
  display: grid;
  min-height: 195px;
  place-content: center;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at center, rgba(229, 112, 66, 0.065), transparent 40%),
    linear-gradient(90deg, rgba(23, 26, 29, 0.04) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.04) 1px, transparent 1px),
    #f5f4f0;
  background-size: auto, 24px 24px, 24px 24px, auto;
  text-align: center;
}

.temperature-card-gauge span,
.temperature-card-gauge small {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.temperature-card-gauge strong {
  display: block;
  margin: 7px 0 5px;
  font-size: 43px;
  font-weight: 650;
  letter-spacing: -0.06em;
  line-height: 1;
}

.temperature-card-photo {
  display: grid;
  min-height: 254px;
  margin: 0;
  grid-template-rows: 208px 46px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.027) 1px, transparent 1px),
    linear-gradient(rgba(23, 26, 29, 0.027) 1px, transparent 1px),
    #f7f7f4;
  background-size: 24px 24px;
}

.temperature-card-photo > img {
  width: 100%;
  height: 208px;
  padding: 17px 24px 13px;
  object-fit: contain;
  transition: transform 220ms ease;
}

.temperature-product-card:hover .temperature-card-photo > img {
  transform: scale(1.025);
}

.temperature-card-photo figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.92);
}

.temperature-card-photo figcaption img {
  width: auto;
  max-width: 122px;
  height: 27px;
  object-fit: contain;
  object-position: left center;
}

.temperature-card-photo figcaption span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 750;
  letter-spacing: 0.045em;
  text-align: right;
  text-transform: uppercase;
}

.temperature-card-body {
  flex: 1;
  padding: 23px;
}

.temperature-best {
  margin: 0;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.temperature-card-body h3 {
  margin: 8px 0 10px;
  font-size: 21px;
  letter-spacing: -0.03em;
}

.temperature-card-body > p:not(.temperature-best) {
  min-height: 76px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.temperature-card-body dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.temperature-card-body dl > div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
}

.temperature-card-body dt {
  color: var(--muted);
  font-family: var(--mono);
  text-transform: uppercase;
}

.temperature-card-body dd {
  max-width: 64%;
  margin: 0;
  font-weight: 750;
  text-align: right;
}

.temperature-card-actions {
  display: grid;
  grid-template-columns: 0.82fr 0.95fr 1.15fr;
  border-top: 1px solid var(--line-strong);
}

.temperature-card-actions a,
.temperature-card-actions button {
  display: grid;
  min-height: 54px;
  padding: 9px 12px;
  place-items: center;
  border: 0;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 7.4px;
  font-weight: 850;
  letter-spacing: 0.015em;
  text-align: center;
}

.temperature-card-actions a {
  border-right: 1px solid var(--line-strong);
}

.temperature-card-actions a:hover {
  color: var(--accent-dark);
  background: #f7f4ef;
}

.temperature-card-actions button {
  color: #fff;
  background: var(--ink);
}

.temperature-card-actions button:hover {
  background: var(--accent-dark);
}

.temperature-media-note,
.temperature-maker-note {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.temperature-media-note {
  padding: 16px 18px;
  border-left: 3px solid var(--accent);
  background: rgba(255, 255, 255, 0.68);
}

.temperature-media-note strong {
  color: var(--ink);
}

.temperature-empty {
  display: none;
  margin-top: 20px;
  padding: 25px;
  border: 1px dashed var(--line-strong);
  text-align: center;
}

.temperature-empty.is-visible {
  display: block;
}

.temperature-empty button {
  margin-left: 10px;
  color: var(--accent-dark);
}

.temperature-comparison {
  background: #fff;
}

.temperature-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line-strong);
}

.temperature-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 12px;
}

.temperature-table th,
.temperature-table td {
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.temperature-table th {
  color: #d9dcda;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.temperature-table tr:last-child td {
  border-bottom: 0;
}

.temperature-table td:last-child,
.temperature-table th:last-child {
  border-right: 0;
}

.temperature-table button {
  color: var(--accent-dark);
}

.temperature-table span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
}

.temperature-makers {
  border-top: 1px solid var(--line-strong);
  background: #f2f1ed;
}

.temperature-maker-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.temperature-maker-grid a {
  position: relative;
  display: flex;
  min-height: 255px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.42);
  transition: background 160ms ease, transform 160ms ease;
}

.temperature-maker-grid a:hover {
  z-index: 1;
  background: #fff;
  box-shadow: inset 0 -4px 0 var(--accent);
  transform: translateY(-2px);
}

.temperature-maker-logo {
  display: flex;
  height: 58px;
  align-items: center;
  margin-bottom: 13px;
}

.temperature-maker-logo img {
  width: auto;
  max-width: 190px;
  height: auto;
  max-height: 50px;
  object-fit: contain;
  object-position: left center;
}

.temperature-maker-grid span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 750;
}

.temperature-maker-grid strong {
  margin-top: 17px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.temperature-maker-grid small {
  max-width: 270px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}

.temperature-maker-grid i {
  position: absolute;
  right: 24px;
  bottom: 21px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.045em;
  font-style: normal;
}

.temperature-maker-note {
  max-width: 830px;
}

.temperature-method {
  padding-block: 105px;
  color: #f1f1ed;
  background: var(--ink);
}

.temperature-method-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 100px;
}

.temperature-method-grid h2 {
  max-width: 580px;
  margin: 0;
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.temperature-method-grid > div > p:last-child {
  max-width: 590px;
  margin-top: 24px;
  color: #adb3b0;
}

.temperature-method-grid ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.temperature-method-grid li {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 20px;
  padding: 19px 0;
  border-bottom: 1px solid #474d50;
}

.temperature-method-grid li > span {
  color: #a0a7a4;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 800;
}

.temperature-method-grid strong,
.temperature-method-grid small {
  display: block;
}

.temperature-method-grid small {
  margin-top: 4px;
  color: #979e9a;
}

.temperature-method-grid li.active {
  padding-inline: 18px;
  border-left: 3px solid var(--accent);
  background: #202427;
}

.temperature-method-grid li.active > span {
  color: #f2956b;
}

.temperature-gateway {
  padding-block: 88px;
  border-block: 1px solid var(--line-strong);
  background: var(--ink);
}

.temperature-gateway-grid {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  align-items: center;
  gap: 90px;
}

.temperature-gateway h2 {
  margin: 0;
  color: #f2f2ee;
  font-size: clamp(42px, 5.5vw, 72px);
  letter-spacing: -0.055em;
}

.temperature-gateway-grid > div:first-child > p:not(.eyebrow) {
  max-width: 690px;
  margin: 20px 0 30px;
  color: #aeb4b1;
  font-size: 17px;
}

.temperature-gateway .button-outline {
  border-color: #676e70;
  color: #fff;
}

.temperature-gateway-readout {
  position: relative;
  min-height: 270px;
  padding: 30px;
  border: 1px solid #565d5f;
  color: #e9f0e9;
  background: #202624;
  box-shadow: 12px 12px 0 rgba(0, 0, 0, 0.25);
  font-family: var(--mono);
}

.temperature-gateway-readout span,
.temperature-gateway-readout strong,
.temperature-gateway-readout small {
  display: block;
}

.temperature-gateway-readout span {
  color: #8fa095;
  font-size: 9px;
  letter-spacing: 0.09em;
}

.temperature-gateway-readout strong {
  margin-top: 45px;
  font-size: 72px;
  font-weight: 500;
  letter-spacing: -0.075em;
  line-height: 0.9;
}

.temperature-gateway-readout b {
  position: absolute;
  right: 29px;
  top: 105px;
  color: #9dab9d;
  font-size: 18px;
}

.temperature-gateway-readout small {
  position: absolute;
  right: 29px;
  bottom: 27px;
  left: 29px;
  padding-top: 14px;
  border-top: 1px solid #46504a;
  color: #93a097;
  font-size: 9px;
  letter-spacing: 0.04em;
}

@media (max-width: 1080px) {
  .temperature-hero-grid,
  .temperature-method-grid,
  .temperature-gateway-grid {
    grid-template-columns: 1fr;
  }

  .temperature-hero-grid {
    gap: 55px;
  }

  .temperature-readout {
    max-width: 520px;
  }

  .temperature-catalog-head {
    align-items: stretch;
    flex-direction: column;
  }

  .temperature-filterbar {
    align-self: flex-start;
  }

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

  .temperature-method-grid,
  .temperature-gateway-grid {
    gap: 58px;
  }

  .temperature-gateway-readout {
    max-width: 550px;
  }
}

@media (max-width: 720px) {
  .temperature-hero-grid {
    min-height: auto;
    padding-block: 70px;
  }

  .temperature-hero h1 {
    font-size: 51px;
  }

  .temperature-lead {
    font-size: 16px;
  }

  .temperature-context-grid,
  .temperature-use-grid,
  .temperature-product-grid,
  .temperature-maker-grid {
    grid-template-columns: 1fr;
  }

  .temperature-context-grid span {
    border-right: 1px solid #41474a;
    border-bottom: 1px solid #41474a;
  }

  .temperature-context-grid span:first-child {
    border-left: 0;
  }

  .temperature-use-grid button {
    min-height: 250px;
  }

  .temperature-filterbar {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .temperature-filterbar button {
    text-align: left;
  }

  .temperature-filterbar span {
    margin: 8px 0;
  }

  .temperature-disclosure {
    grid-template-columns: 1fr;
  }

  .temperature-method,
  .temperature-gateway {
    padding-block: 78px;
  }

  .temperature-card-actions {
    grid-template-columns: 1fr;
  }

  .temperature-card-actions a {
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }
}

/* Affiliate policy and internal activation center */
.affiliate-policy-hero,
.affiliate-dashboard-hero {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 0 74%, rgba(23, 26, 29, 0.035) 74% 74.1%, transparent 74.1%),
    var(--paper);
}

.affiliate-policy-hero-grid,
.affiliate-dashboard-hero-grid {
  display: grid;
  min-height: 540px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  align-items: center;
  gap: 80px;
}

.affiliate-policy-hero h1,
.affiliate-dashboard-hero h1 {
  max-width: 830px;
  margin: 0 0 28px;
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 620;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.affiliate-policy-hero h1 span,
.affiliate-dashboard-hero h1 span {
  color: var(--muted);
  font-weight: 480;
}

.affiliate-policy-hero-grid > div > p:last-child,
.affiliate-dashboard-hero-grid > div > p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 19px;
  line-height: 1.65;
}

.affiliate-policy-state,
.readiness-meter {
  padding: 32px;
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow);
}

.affiliate-policy-state > span,
.readiness-meter span,
.program-card-head,
.security-do-dont span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.affiliate-policy-state strong {
  display: block;
  margin: 18px 0 12px;
  font-size: 27px;
  letter-spacing: -0.025em;
}

.affiliate-policy-state p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.policy-principle-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.policy-principle-grid article {
  min-height: 300px;
  padding: 30px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.4);
}

.policy-principle-grid article > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}

.policy-principle-grid h3 {
  margin: 54px 0 13px;
  font-size: 22px;
  letter-spacing: -0.025em;
}

.policy-principle-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.policy-method {
  padding: 110px 0;
  color: #f3f2ee;
  background: var(--ink);
}

.policy-method-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  align-items: center;
  gap: 80px;
}

.policy-method h2 {
  margin: 0 0 22px;
  font-size: clamp(36px, 4vw, 58px);
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.policy-method p:not(.eyebrow) {
  color: #b9bebb;
}

.policy-method-flow {
  display: grid;
  grid-template-columns: repeat(5, auto);
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.policy-method-flow > div {
  display: flex;
  min-width: 165px;
  min-height: 175px;
  flex-direction: column;
  justify-content: space-between;
  padding: 23px;
  border: 1px solid #454b4e;
  background: #202427;
}

.policy-method-flow span {
  color: #ee8a5d;
  font-family: var(--mono);
  font-size: 12px;
}

.policy-method-flow strong {
  font-size: 18px;
}

.policy-method-flow small {
  color: #9da3a0;
  font-size: 12px;
}

.policy-method-flow > i {
  color: #737a77;
  font-family: var(--mono);
  font-style: normal;
}

.policy-question-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.policy-question-grid h2 {
  max-width: 400px;
  margin: 0;
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.policy-answer-list details {
  border-top: 1px solid var(--line-strong);
}

.policy-answer-list details:last-child {
  border-bottom: 1px solid var(--line-strong);
}

.policy-answer-list summary {
  position: relative;
  padding: 24px 44px 24px 0;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
}

.policy-answer-list summary::-webkit-details-marker {
  display: none;
}

.policy-answer-list summary::after {
  position: absolute;
  top: 24px;
  right: 4px;
  color: var(--accent-dark);
  content: "+";
}

.policy-answer-list details[open] summary::after {
  content: "−";
}

.policy-answer-list p {
  max-width: 750px;
  margin: -8px 0 28px;
  color: var(--muted);
}

.readiness-meter > div:first-child {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.readiness-meter > div:first-child strong {
  font-size: 32px;
  letter-spacing: -0.04em;
}

.readiness-track {
  height: 5px;
  margin: 22px 0 24px;
  background: #dedfdb;
}

.readiness-track i {
  display: block;
  width: 62%;
  height: 100%;
  background: var(--accent);
}

.readiness-meter ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 9px;
  list-style: none;
}

.readiness-meter li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  font-size: 13px;
}

.readiness-meter li::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  content: "";
}

.readiness-meter li.done {
  color: var(--ink);
}

.readiness-meter li.done::before {
  border-color: var(--success);
  background: var(--success);
}

.affiliate-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.affiliate-program-card {
  display: flex;
  min-height: 420px;
  flex-direction: column;
  padding: 32px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.55);
}

.affiliate-program-card.is-priority {
  border-top: 4px solid var(--accent);
  background: var(--surface);
  box-shadow: 0 12px 34px rgba(18, 22, 24, 0.055);
}

.program-card-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.program-card-head em {
  color: var(--accent-dark);
  font-style: normal;
}

.affiliate-program-card h3 {
  margin: 45px 0 13px;
  font-size: 30px;
  letter-spacing: -0.035em;
}

.affiliate-program-card > p {
  max-width: 540px;
  margin: 0 0 26px;
  color: var(--muted);
}

.affiliate-program-card dl {
  margin: auto 0 26px;
}

.affiliate-program-card dl > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.affiliate-program-card dl > div:last-child {
  border-bottom: 1px solid var(--line);
}

.affiliate-program-card dt {
  color: var(--muted);
}

.affiliate-program-card dd {
  margin: 0;
  font-weight: 700;
}

.affiliate-program-card .button {
  align-self: flex-start;
}

.activation-gate-section {
  padding: 110px 0;
  color: #f1f0ec;
  background: var(--ink);
}

.activation-gate-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.activation-gate-grid h2,
.owner-security-grid h2 {
  margin: 0 0 20px;
  font-size: clamp(38px, 4.5vw, 62px);
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.activation-gate-grid > div > p:last-child {
  color: #aeb4b1;
}

.activation-checklist {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.activation-checklist li {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 19px 0;
  border-bottom: 1px solid #474d50;
}

.activation-checklist li > span,
.activation-checklist b {
  color: #8f9693;
  font-family: var(--mono);
  font-size: 11px;
}

.activation-checklist strong,
.activation-checklist small {
  display: block;
}

.activation-checklist small {
  margin-top: 3px;
  color: #959c99;
}

.activation-checklist li.done b {
  color: #8fd2b3;
}

.owner-security-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 90px;
}

.security-do-dont {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.security-do-dont > div {
  padding: 28px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.55);
}

.security-do-dont > div:last-child {
  border-top: 4px solid var(--accent);
}

.security-do-dont ul {
  margin: 24px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
}

.security-do-dont li + li {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid,
  .policy-method-grid,
  .policy-question-grid,
  .activation-gate-grid,
  .owner-security-grid {
    grid-template-columns: 1fr;
  }

  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid {
    min-height: auto;
    padding: 90px 0;
    gap: 48px;
  }

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

  .policy-method-flow {
    justify-content: start;
  }
}

@media (max-width: 680px) {
  .affiliate-policy-hero h1,
  .affiliate-dashboard-hero h1 {
    font-size: 46px;
  }

  .affiliate-policy-hero-grid,
  .affiliate-dashboard-hero-grid {
    padding: 68px 0;
  }

  .policy-principle-grid,
  .affiliate-program-grid,
  .security-do-dont {
    grid-template-columns: 1fr;
  }

  .policy-principle-grid article {
    min-height: 240px;
  }

  .policy-method,
  .activation-gate-section {
    padding: 80px 0;
  }

  .policy-method-flow {
    grid-template-columns: 1fr;
  }

  .policy-method-flow > div {
    width: 100%;
    min-height: 130px;
  }

  .policy-method-flow > i {
    text-align: center;
  }

  .affiliate-program-card {
    min-height: auto;
  }

  .affiliate-program-card dl {
    margin-top: 20px;
  }

  .activation-checklist li {
    grid-template-columns: 36px 1fr;
  }

  .activation-checklist b {
    grid-column: 2;
  }
}

/* International professional tools directory */
.tools-verification {
  padding: 112px 0;
  color: #f3f2ee;
  background: var(--ink);
}

.verification-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  align-items: center;
  gap: 90px;
}

.verification-copy h2 {
  max-width: 600px;
  margin: 0 0 24px;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 590;
  letter-spacing: -0.05em;
  line-height: 1;
}

.verification-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 0 0 30px;
  color: #b7bdba;
  font-size: 17px;
}

.verification-levels {
  margin: 0;
  padding: 0;
  border-top: 1px solid #474d50;
  list-style: none;
}

.verification-levels li {
  display: grid;
  grid-template-columns: 65px 1fr;
  align-items: center;
  gap: 22px;
  min-height: 86px;
  border-bottom: 1px solid #474d50;
}

.verification-levels li > span {
  color: #858c89;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
}

.verification-levels strong,
.verification-levels small {
  display: block;
}

.verification-levels strong {
  font-size: 17px;
}

.verification-levels small {
  margin-top: 3px;
  color: #949b98;
}

.verification-levels li.active {
  padding-inline: 18px;
  border-left: 3px solid var(--accent);
  background: #202427;
}

.verification-levels li.active > span {
  color: #f2956b;
}

.global-companies {
  background: #f2f1ed;
}

.brand-directory-controls {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 24px;
  padding: 10px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.52);
}

.brand-directory-controls button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid transparent;
  color: var(--muted);
  background: transparent;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.045em;
  cursor: pointer;
}

.brand-directory-controls button:hover,
.brand-directory-controls button.active {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

.brand-directory-controls > span {
  margin-left: auto;
  padding: 0 12px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
}

.global-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.global-brand-card {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.4);
  transition: background 160ms ease, transform 160ms ease;
}

.global-brand-card:hover {
  position: relative;
  z-index: 1;
  background: #fff;
  box-shadow: 0 12px 32px rgba(18, 22, 24, 0.07);
  transform: translateY(-2px);
}

.global-brand-card[hidden] {
  display: none;
}

.global-brand-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.brand-country,
.brand-level {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.brand-country {
  display: inline-grid;
  min-width: 32px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--line-strong);
  color: var(--ink);
}

.brand-level {
  color: var(--success);
}

.global-brand-card h3 {
  margin: 41px 0 8px;
  font-size: 23px;
  letter-spacing: -0.025em;
}

.global-brand-card p {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 14px;
}

.global-brand-card a {
  margin-top: auto;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.global-brand-card a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Internal publication compliance center */
.compliance-hero {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 0 74%, rgba(23, 26, 29, 0.04) 74% 74.1%, transparent 74.1%),
    var(--paper);
}

.compliance-hero-grid {
  display: grid;
  min-height: 550px;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  align-items: center;
  gap: 80px;
}

.compliance-hero h1 {
  margin: 0 0 28px;
  font-size: clamp(56px, 7vw, 94px);
  font-weight: 620;
  letter-spacing: -0.06em;
  line-height: 0.94;
}

.compliance-hero h1 span {
  color: var(--muted);
  font-weight: 470;
}

.compliance-hero-grid > div > p:last-child {
  max-width: 760px;
  color: var(--ink-soft);
  font-size: 19px;
}

.publication-lock {
  padding: 32px;
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--accent);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: var(--shadow);
}

.publication-lock > span {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.publication-lock > strong {
  display: block;
  margin: 18px 0 6px;
  font-size: 39px;
  letter-spacing: -0.045em;
}

.publication-lock > p {
  color: var(--muted);
  font-size: 14px;
}

.publication-lock > div {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--success);
  font-size: 12px;
  font-weight: 700;
}

.publication-lock i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
}

.compliance-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
  border-left: 1px solid var(--line-strong);
}

.compliance-board article {
  display: flex;
  min-height: 305px;
  flex-direction: column;
  padding: 25px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.44);
}

.compliance-board article > span,
.compliance-board b {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.055em;
}

.compliance-board article > span {
  color: var(--muted);
}

.compliance-board h3 {
  margin: 44px 0 11px;
  font-size: 22px;
}

.compliance-board p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 14px;
}

.compliance-board b {
  margin-top: auto;
}

.state-safe {
  color: var(--success);
}

.state-progress {
  color: var(--warning);
}

.state-wait,
.state-block {
  color: var(--accent-dark);
}

.privacy-default-section {
  padding: 110px 0;
  color: #f2f1ed;
  background: var(--ink);
}

.privacy-default-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  gap: 90px;
}

.privacy-default-grid h2,
.launch-sequence-grid h2 {
  margin: 0 0 22px;
  font-size: clamp(42px, 5vw, 68px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.privacy-default-grid > div:first-child > p:last-child {
  color: #aeb4b1;
}

.privacy-switches {
  border-top: 1px solid #474d50;
}

.privacy-switches > div {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #474d50;
}

.privacy-switches span {
  color: #d9dcda;
}

.privacy-switches b {
  min-width: 58px;
  padding: 5px 9px;
  border: 1px solid #59605d;
  color: #9fd0b8;
  font-family: var(--mono);
  font-size: 10px;
  text-align: center;
}

.launch-sequence-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 90px;
}

.launch-sequence-grid ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line-strong);
  list-style: none;
}

.launch-sequence-grid li {
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: center;
  gap: 20px;
  min-height: 82px;
  border-bottom: 1px solid var(--line-strong);
}

.launch-sequence-grid li > span {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
}

.launch-sequence-grid strong,
.launch-sequence-grid small {
  display: block;
}

.launch-sequence-grid small {
  margin-top: 3px;
  color: var(--muted);
}

@media (max-width: 1020px) {
  .global-brand-grid,
  .compliance-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .verification-grid,
  .compliance-hero-grid,
  .privacy-default-grid,
  .launch-sequence-grid {
    grid-template-columns: 1fr;
  }

  .compliance-hero-grid {
    min-height: auto;
    padding: 90px 0;
  }
}

@media (max-width: 720px) {
  .tools-verification,
  .privacy-default-section {
    padding: 80px 0;
  }

  .brand-directory-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .brand-directory-controls button {
    text-align: left;
  }

  .brand-directory-controls > span {
    margin: 8px 0 0;
  }

  .global-brand-grid,
  .compliance-board {
    grid-template-columns: 1fr;
  }

  .global-brand-card,
  .compliance-board article {
    min-height: 250px;
  }

  .compliance-hero h1 {
    font-size: 52px;
  }

  .compliance-hero-grid {
    padding: 70px 0;
    gap: 46px;
  }
}

/* Danfoss refrigeration document library */
.manufacturer-library-page {
  --manufacturer: #e20015;
  --manufacturer-dark: #a80010;
  background: #f3f3f0;
}

.danfoss-hero {
  position: relative;
  overflow: hidden;
  color: #f7f6f2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 72px 72px,
    #171a1d;
}

.danfoss-hero::after {
  position: absolute;
  right: -170px;
  bottom: -270px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(255, 255, 255, 0.018), 0 0 0 180px rgba(255, 255, 255, 0.012);
  content: "";
}

.danfoss-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 570px;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: stretch;
  gap: 90px;
  padding: 82px 0;
}

.danfoss-hero-copy {
  align-self: center;
}

.danfoss-identity-line {
  display: flex;
  margin-bottom: 44px;
  align-items: center;
  gap: 24px;
  color: #aeb4b1;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.danfoss-identity-line span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #b7d3c4;
}

.danfoss-identity-line span:last-child::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #67a984;
  content: "";
}

.danfoss-hero-logo {
  display: block;
  width: 246px;
  margin-bottom: 30px;
  padding: 11px 16px;
  background: #fff;
}

.danfoss-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(50px, 6.2vw, 84px);
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.danfoss-hero h1 span {
  color: #aab0ad;
  font-weight: 450;
}

.danfoss-hero-copy > p {
  max-width: 680px;
  margin: 31px 0 0;
  color: #c7cbc8;
  font-size: 17px;
}

.danfoss-trust-panel {
  display: flex;
  align-self: center;
  min-height: 418px;
  flex-direction: column;
  padding: 34px;
  border-top: 3px solid var(--manufacturer);
  background: rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(10px);
}

.danfoss-panel-index {
  color: #929996;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.danfoss-trust-panel h2 {
  margin: 38px 0 32px;
  font-size: 30px;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.danfoss-trust-panel ul {
  margin: auto 0 0;
  padding: 0;
  border-top: 1px solid #454b4e;
  list-style: none;
}

.danfoss-trust-panel li {
  display: grid;
  min-height: 50px;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border-bottom: 1px solid #454b4e;
}

.danfoss-trust-panel li span {
  color: #7f8783;
  font-family: var(--mono);
  font-size: 9px;
}

.danfoss-trust-panel li strong {
  color: #e4e5e2;
  font-size: 12px;
  font-weight: 600;
}

.danfoss-command-bar {
  border-bottom: 1px solid var(--line-strong);
  background: var(--surface);
}

.danfoss-command-bar .container {
  display: grid;
  grid-template-columns: 1fr;
}

.danfoss-search {
  display: grid;
  min-height: 112px;
  grid-template-columns: 250px 1fr;
  align-items: center;
  gap: 30px;
  border-bottom: 1px solid var(--line);
}

.danfoss-search > label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.danfoss-search > div {
  display: grid;
  grid-template-columns: 1fr auto;
}

.danfoss-search input {
  min-width: 0;
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--line-strong);
  border-right: 0;
  border-radius: 0;
  color: var(--ink);
  background: #fafaf8;
  outline: none;
}

.danfoss-search input:focus {
  border-color: var(--ink);
  box-shadow: inset 3px 0 0 var(--manufacturer);
}

.danfoss-search .button {
  min-width: 118px;
  border-color: var(--ink);
  background: var(--ink);
}

.danfoss-filter-row {
  display: grid;
  min-height: 106px;
  grid-template-columns: repeat(3, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding: 22px 0 26px;
}

.danfoss-filter-row .filter-field {
  margin: 0;
}

.danfoss-filter-row .filter-field select {
  min-height: 42px;
  background: #fafaf8;
}

.danfoss-reset {
  min-height: 42px;
  padding: 0 15px;
  border: 0;
  border-bottom: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.danfoss-metrics {
  color: #eee;
  background: #24282b;
}

.danfoss-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.danfoss-metrics-grid > div {
  display: flex;
  min-height: 102px;
  flex-direction: column;
  justify-content: center;
  padding: 0 28px;
  border-right: 1px solid #454a4d;
}

.danfoss-metrics-grid > div:first-child {
  border-left: 1px solid #454a4d;
}

.danfoss-metrics-grid strong {
  font-size: 26px;
  letter-spacing: -0.04em;
}

.danfoss-metrics-grid span {
  margin-top: 2px;
  color: #9ea5a1;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.danfoss-catalog-section {
  padding-top: 95px;
}

.danfoss-catalog-heading {
  display: flex;
  margin-bottom: 42px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.danfoss-catalog-heading h2 {
  max-width: 760px;
  margin: 10px 0 0;
  font-size: clamp(38px, 4.7vw, 62px);
  letter-spacing: -0.055em;
  line-height: 1;
}

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

.danfoss-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.danfoss-product-card:hover {
  border-color: #8a908d;
  box-shadow: 0 18px 48px rgba(23, 26, 29, 0.08);
  transform: translateY(-2px);
}

.danfoss-product-card[hidden] {
  display: none;
}

.danfoss-product-card-featured {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.danfoss-product-card-featured[hidden] {
  display: none;
}

.danfoss-product-visual {
  position: relative;
  display: grid;
  min-height: 280px;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(23, 26, 29, 0.028) 1px, transparent 1px) 0 0 / 38px 38px,
    linear-gradient(rgba(23, 26, 29, 0.028) 1px, transparent 1px) 0 0 / 38px 38px,
    #f7f7f4;
}

.danfoss-product-card-featured .danfoss-product-visual {
  min-height: 100%;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.danfoss-product-visual img {
  width: 100%;
  height: 265px;
  padding: 30px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.danfoss-product-card-featured .danfoss-product-visual img {
  height: 460px;
  padding: 48px;
}

.danfoss-product-visual > span {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 5px 8px;
  color: #fff;
  background: var(--ink);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.danfoss-product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 30px;
}

.danfoss-product-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.danfoss-product-title > div > span {
  color: var(--manufacturer-dark);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.075em;
}

.danfoss-product-title h3 {
  margin: 4px 0 0;
  font-size: 36px;
  letter-spacing: -0.05em;
  line-height: 1;
}

.verified-mark {
  flex: none;
  padding: 5px 7px;
  border: 1px solid #a9c5b5;
  color: var(--success);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.danfoss-product-body > p {
  min-height: 68px;
  margin: 21px 0 25px;
  color: var(--muted);
  font-size: 14px;
}

.danfoss-specs {
  display: grid;
  margin: 0 0 27px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.danfoss-specs div {
  min-width: 0;
  padding: 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.danfoss-specs dt {
  margin-bottom: 5px;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.danfoss-specs dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
}

.danfoss-card-actions {
  display: flex;
  margin-top: auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.danfoss-card-actions .button {
  min-height: 43px;
  padding-inline: 15px;
  border-color: var(--ink);
  background: var(--ink);
  font-size: 9px;
}

.danfoss-card-actions .button:hover {
  border-color: var(--manufacturer);
  background: var(--manufacturer);
}

.danfoss-card-actions .button-outline {
  color: var(--ink);
  background: transparent;
}

.danfoss-card-actions .button-outline:hover {
  color: #fff;
}

.danfoss-card-actions-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.text-action {
  color: var(--ink-soft);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.danfoss-product-card-featured .text-action {
  display: inline-block;
  margin-top: 18px;
}

.danfoss-product-grid > .library-empty {
  grid-column: 1 / -1;
  border: 1px solid var(--line-strong);
}

.danfoss-workflow {
  margin-top: 105px;
  padding: 100px 0;
  color: #efefec;
  background: #1d2023;
}

.danfoss-workflow-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 100px;
}

.danfoss-workflow .kicker {
  color: #f28b96;
}

.danfoss-workflow h2 {
  margin: 15px 0 25px;
  font-size: clamp(38px, 4.6vw, 60px);
  letter-spacing: -0.055em;
  line-height: 1;
}

.danfoss-workflow p:not(.kicker) {
  max-width: 570px;
  color: #aeb4b1;
}

.danfoss-workflow-links {
  border-top: 1px solid #464c4f;
}

.danfoss-workflow-links a {
  display: grid;
  min-height: 105px;
  grid-template-columns: 150px 1fr 30px;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #464c4f;
  transition: background 150ms ease, padding 150ms ease;
}

.danfoss-workflow-links a:hover {
  padding-inline: 16px;
  background: rgba(255, 255, 255, 0.045);
}

.danfoss-workflow-links span {
  color: #8f9692;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
}

.danfoss-workflow-links strong {
  font-size: 16px;
}

.danfoss-workflow-links i {
  color: #f28b96;
  font-size:…21125 tokens truncated…ng: 13px 14px; border: 1px solid #bcc8c3; border-radius: 4px; color: #3e5f58; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.035em; text-align: center; }
.manual-product-actions button { border-color: #31403d; color: #fff; background: #31403d; }
.manual-product-actions a:hover { border-color: var(--tone-accent); }
.manual-product-actions button:hover { background: #47645e; }

.manual-pastel-card { border-color: color-mix(in srgb, var(--tone-accent) 36%, #fff); }
.manual-pastel-card .tool-card-visual { color: color-mix(in srgb, var(--tone-accent) 85%, #222); background: var(--tone-bg); }

.manual-tools-gateway {
  padding-block: 84px;
  border-block: 1px solid #d6d9d5;
  background: #f7f6f2;
}

.manual-tools-gateway-grid { display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: 80px; }
.manual-tools-gateway-copy h2 { max-width: 690px; margin: 0; font-size: clamp(44px, 5.4vw, 68px); letter-spacing: -0.055em; line-height: 0.95; }
.manual-tools-gateway-copy > p:not(.eyebrow) { max-width: 650px; margin: 23px 0 0; color: #6c7471; font-size: 15px; line-height: 1.65; }
.manual-tools-gateway-copy .button-row { margin-top: 30px; }
.manual-tools-gateway-brands { display: grid; gap: 10px; }
.manual-gateway-brand { padding: 19px 22px; border: 1px solid color-mix(in srgb, var(--gateway-accent) 40%, #fff); border-radius: 6px; background: var(--gateway-bg); }
.manual-gateway-brand span,
.manual-gateway-brand strong,
.manual-gateway-brand small { display: block; }
.manual-gateway-brand span { color: var(--gateway-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.manual-gateway-brand strong { margin-top: 10px; font-size: 23px; letter-spacing: 0.045em; }
.manual-gateway-brand small { margin-top: 3px; color: #6c7572; font-size: 9px; }
.brand-clay { --gateway-bg: #f4eae6; --gateway-accent: #a06f61; }
.brand-powder { --gateway-bg: #e8f0f3; --gateway-accent: #668394; }
.brand-sage { --gateway-bg: #eaf1e8; --gateway-accent: #728d72; }

.manual-kit-section {
  padding-block: 92px;
  border-block: 1px solid #d0d7d3;
  background: #e7efec;
}

.manual-kit-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 85px; }
.manual-kit-copy h2 { margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -0.055em; line-height: 0.97; }
.manual-kit-copy > p:not(.eyebrow) { margin: 22px 0 0; color: #65726e; font-size: 14px; line-height: 1.65; }
.manual-kit-copy .button-row { margin-top: 29px; }
.manual-kit-table { border: 1px solid #aebeb8; border-radius: 7px; background: rgba(255, 255, 255, 0.7); }
.manual-kit-table > div { display: grid; grid-template-columns: 1.45fr 0.75fr 0.8fr; gap: 16px; padding: 17px 20px; border-bottom: 1px solid #ced8d4; }
.manual-kit-table > div:last-child { border-bottom: 0; }
.manual-kit-table > div:first-child { color: #6f827c; background: rgba(105, 138, 129, 0.08); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.06em; }
.manual-kit-table strong { font-size: 12px; }
.manual-kit-table span { color: #747e7a; font-size: 10px; }
.manual-kit-table b { color: #4b7168; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.manual-commerce-section { padding-block: 92px; color: #e8eeeb; background: #232a2b; }
.manual-commerce-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 90px; }
.manual-commerce-grid h2 { max-width: 670px; margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -0.055em; line-height: 0.98; }
.manual-commerce-grid > div > p:not(.eyebrow) { max-width: 620px; margin: 22px 0 0; color: #aab6b2; font-size: 14px; line-height: 1.65; }
.manual-commerce-grid ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid #4d5755; border-left: 1px solid #4d5755; list-style: none; }
.manual-commerce-grid li { min-height: 170px; padding: 21px; border-right: 1px solid #4d5755; border-bottom: 1px solid #4d5755; }
.manual-commerce-grid li span,
.manual-commerce-grid li strong,
.manual-commerce-grid li small { display: block; }
.manual-commerce-grid li span { color: #89aba2; font-family: var(--mono); font-size: 8px; }
.manual-commerce-grid li strong { margin-top: 44px; font-size: 16px; }
.manual-commerce-grid li small { margin-top: 6px; color: #98a6a1; font-size: 9px; }
.manual-commerce-note { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 28px; margin-top: 45px; padding: 20px; border: 1px solid #4c5754; border-radius: 5px; }
.manual-commerce-note > span { color: #9abcb3; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.manual-commerce-note p { margin: 0; color: #a8b4b0; font-size: 10px; line-height: 1.55; }
.manual-commerce-note a { color: #c0ded6; font-family: var(--mono); font-size: 8px; font-weight: 800; white-space: nowrap; }

@media (max-width: 1120px) {
  .manual-tools-hero-grid { grid-template-columns: 1fr; }
  .manual-tools-hero-board { max-width: 760px; }
  .manual-work-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-brand-feature-grid,
  .manual-product-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-tools-gateway-grid,
  .manual-kit-grid,
  .manual-commerce-grid { grid-template-columns: 1fr; gap: 48px; }
  .manual-specialist-strip { flex-wrap: wrap; }
  .manual-specialist-strip span { width: 100%; }
}

@media (max-width: 820px) {
  .manual-anchor-nav .container { overflow-x: auto; grid-template-columns: repeat(6, minmax(130px, 1fr)); }
  .manual-category-grid { grid-template-columns: repeat(2, 1fr); }
  .manual-work-head,
  .manual-selection-head { align-items: flex-start; flex-direction: column; }
  .manual-product-grid { grid-template-columns: 1fr; }
  .manual-product-card { min-height: 610px; }
  .manual-commerce-note { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .manual-tools-hero-grid { min-height: auto; padding-block: 58px; }
  .manual-tools-hero-copy h1 { font-size: 50px; }
  .manual-tools-hero-board { min-height: 390px; box-shadow: 10px 12px 0 rgba(112, 143, 134, 0.12); }
  .manual-tools-hero-board svg { height: 350px; padding-inline: 6px; }
  .manual-category-grid,
  .manual-work-grid,
  .manual-brand-feature-grid,
  .manual-commerce-grid ol { grid-template-columns: 1fr; }
  .manual-category-card { min-height: 300px; }
  .manual-brand-feature { min-height: 560px; }
  .manual-specialist-strip a { flex: 1 1 42%; }
  .manual-tools-gateway { padding-block: 62px; }
  .manual-kit-table > div { grid-template-columns: 1fr; gap: 7px; }
}

/* Attrezzature V3 · quattro porte collegate dal problema alla scelta */
.tools-categories {
  padding-block: 96px;
  background:
    radial-gradient(circle at 4% 12%, rgba(244, 234, 230, 0.54), transparent 24%),
    radial-gradient(circle at 96% 88%, rgba(230, 241, 239, 0.58), transparent 28%),
    #f8f7f3;
}

.tools-route-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin: 38px 0 22px;
  padding: 13px;
  border: 1px solid #d6dbd7;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.64);
}

.tools-route-flow > div {
  display: flex;
  min-height: 55px;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  border: 1px solid #e0e3e0;
  border-radius: 4px;
  background: rgba(249, 249, 246, 0.88);
}

.tools-route-flow span {
  color: #80918c;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
}

.tools-route-flow strong {
  font-size: 12px;
  letter-spacing: -0.01em;
}

.tools-route-flow i {
  color: #8ba099;
  font-family: var(--mono);
  font-size: 11px;
  font-style: normal;
}

.tool-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  border: 0;
}

.tool-ladder > .tool-ladder-card {
  --tool-card-bg: #f4eae6;
  --tool-card-accent: #a06f61;
  --tool-card-ring: rgba(160, 111, 97, 0.13);
  position: relative;
  display: flex;
  min-height: 470px;
  flex-direction: column;
  padding: 25px;
  overflow: hidden;
  border: 2px solid var(--tool-card-accent);
  border-radius: 10px;
  color: #232829;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.55), transparent 48%),
    var(--tool-card-bg);
  box-shadow:
    inset 0 0 0 5px rgba(255, 255, 255, 0.42),
    0 10px 24px var(--tool-card-ring);
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.tool-ladder > .tool-ladder-card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  content: "";
  filter: grayscale(0.1) saturate(0.55) contrast(0.92);
  opacity: 0.12;
  pointer-events: none;
  transition: opacity 180ms ease, transform 240ms ease;
}

.tool-ladder > .tool-ladder-card:nth-child(1)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: 0 0;
  background-size: 300% 200%;
}

.tool-ladder > .tool-ladder-card:nth-child(2)::before {
  background-image: url("products/temperature/fluke-54-iib-reference.svg");
}

.tool-ladder > .tool-ladder-card:nth-child(3)::before {
  background-image: url("products/temperature/fieldpiece-jl3pc-reference.svg");
}

.tool-ladder > .tool-ladder-card:nth-child(4)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: 100% 100%;
  background-size: 300% 200%;
}

.tool-ladder > .tool-ladder-card > * {
  position: relative;
  z-index: 1;
}

.tool-ladder > .tool-ladder-card:hover {
  z-index: 1;
  color: #1e2425;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.68), transparent 52%),
    var(--tool-card-bg);
  box-shadow:
    inset 0 0 0 5px rgba(255, 255, 255, 0.52),
    0 20px 42px var(--tool-card-ring);
  transform: translateY(-5px);
}

.tool-ladder > .tool-ladder-card:hover::before {
  opacity: 0.19;
  transform: scale(1.025);
}

.tool-tone-clay {
  --tool-card-bg: #f4eae6 !important;
  --tool-card-accent: #9f6e61 !important;
  --tool-card-ring: rgba(159, 110, 97, 0.16) !important;
}

.tool-tone-powder {
  --tool-card-bg: #e8f0f3 !important;
  --tool-card-accent: #648293 !important;
  --tool-card-ring: rgba(100, 130, 147, 0.16) !important;
}

.tool-tone-aqua {
  --tool-card-bg: #e6f1ef !important;
  --tool-card-accent: #5b887f !important;
  --tool-card-ring: rgba(91, 136, 127, 0.16) !important;
}

.tool-tone-lavender {
  --tool-card-bg: #efebf2 !important;
  --tool-card-accent: #7f758e !important;
  --tool-card-ring: rgba(127, 117, 142, 0.16) !important;
}

.tool-ladder > .tool-ladder-card > span {
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.075em;
}

.tool-card-icon {
  display: grid;
  width: 70px;
  height: 70px;
  margin: 31px 0 26px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--tool-card-accent) 62%, #fff);
  border-radius: 50%;
  color: var(--tool-card-accent);
  background: rgba(255, 255, 255, 0.33);
}

.tool-card-icon svg {
  width: 46px;
  height: 46px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tool-card-kicker {
  margin-bottom: 7px;
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.tool-ladder > .tool-ladder-card h3 {
  margin: 0;
  font-size: 23px;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.tool-ladder > .tool-ladder-card p {
  min-height: 80px;
  margin: 12px 0 18px;
  color: #626d69;
  font-size: 12px;
  line-height: 1.55;
}

.tool-card-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}

.tool-card-brands span {
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--tool-card-accent) 38%, #fff);
  border-radius: 999px;
  color: color-mix(in srgb, var(--tool-card-accent) 82%, #222);
  background: rgba(255, 255, 255, 0.33);
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.tool-ladder > .tool-ladder-card small {
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid color-mix(in srgb, var(--tool-card-accent) 30%, #fff);
  color: var(--tool-card-accent);
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.035em;
}

.tool-footwear-gateway {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 150px;
  margin-top: 14px;
  grid-template-columns: auto 82px minmax(280px, 1fr) auto auto;
  align-items: center;
  gap: 24px;
  padding: 24px 27px;
  overflow: hidden;
  border: 2px solid #7d8e7f;
  border-radius: 10px;
  color: #28302c;
  background:
    radial-gradient(circle at 83% 0%, rgba(255,255,255,.72), transparent 28%),
    linear-gradient(115deg, #e8ede5, #f0ebe2 72%, #e8e1d7);
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.42),
    0 10px 26px rgba(91,112,96,.14);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.tool-footwear-gateway::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("footwear/refthe-safety-footwear-hero-v1.jpg") 78% 52% / cover no-repeat;
  content: "";
  filter: grayscale(0.2) saturate(0.62);
  opacity: 0.16;
  pointer-events: none;
  transition: opacity 180ms ease, transform 260ms ease;
}

.tool-footwear-gateway:hover {
  color: #202824;
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,.52),
    0 20px 42px rgba(91,112,96,.2);
  transform: translateY(-4px);
}

.tool-footwear-gateway:hover::before {
  opacity: 0.22;
  transform: scale(1.02);
}

.tool-footwear-index {
  align-self: start;
  color: #697c6d;
  font-family: var(--mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .075em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.tool-footwear-icon {
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  border: 1px solid #95a398;
  border-radius: 50%;
  color: #64786a;
  background: rgba(255,255,255,.42);
}

.tool-footwear-icon svg {
  width: 58px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tool-footwear-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tool-footwear-copy small {
  color: #7b665b;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
}

.tool-footwear-copy strong {
  margin-top: 5px;
  font-size: 27px;
  letter-spacing: -.04em;
  line-height: 1;
}

.tool-footwear-copy em {
  max-width: 670px;
  margin-top: 9px;
  color: #626c67;
  font-size: 11px;
  font-style: normal;
  line-height: 1.55;
}

.tool-footwear-brands {
  display: flex;
  max-width: 190px;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.tool-footwear-brands i {
  padding: 6px 8px;
  border: 1px solid #a7afa6;
  border-radius: 999px;
  color: #5f6e63;
  background: rgba(255,255,255,.38);
  font-family: var(--mono);
  font-size: 6px;
  font-style: normal;
  font-weight: 800;
}

.tool-footwear-action {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 14px;
  padding: 0 17px;
  border-left: 1px solid rgba(105,124,109,.35);
  color: #526457;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}

.tool-footwear-action b {
  color: #9a6e59;
  font-size: 18px;
}

@media (max-width: 1050px) {
  .tool-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools-route-flow { overflow-x: auto; grid-template-columns: repeat(9, max-content); }
  .tools-route-flow > div { min-width: 145px; }
  .tool-footwear-gateway { grid-template-columns: 70px minmax(0, 1fr) auto; }
  .tool-footwear-index { display: none; }
  .tool-footwear-icon { width: 70px; height: 70px; }
  .tool-footwear-brands { display: none; }
}

@media (max-width: 720px) {
  .tools-categories { padding-block: 68px; }
  .tool-ladder { grid-template-columns: 1fr; }
  .tool-ladder > .tool-ladder-card { min-height: 425px; }
  .tool-ladder > .tool-ladder-card p { min-height: auto; }
  .tool-footwear-gateway {
    min-height: 300px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 17px;
    padding: 24px;
  }
  .tool-footwear-icon { width: 66px; height: 66px; }
  .tool-footwear-copy strong { font-size: 25px; }
  .tool-footwear-action {
    width: 100%;
    justify-content: space-between;
    margin-top: auto;
    padding: 14px 0 0;
    border-top: 1px solid rgba(105,124,109,.35);
    border-left: 0;
  }
}

/* REFTHE · Top 10 V2 */
.top10-page {
  --top10-paper: #f4f3ef;
  --top10-ink: #222728;
  --top10-muted: #68716e;
  --top10-line: #d3d8d4;
  color: var(--top10-ink);
  background: var(--top10-paper);
}

.top10-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--top10-line);
  background:
    radial-gradient(circle at 10% 12%, rgba(244, 234, 230, 0.86), transparent 28%),
    radial-gradient(circle at 92% 80%, rgba(230, 241, 239, 0.88), transparent 29%),
    linear-gradient(90deg, rgba(34, 39, 40, 0.03) 1px, transparent 1px),
    linear-gradient(rgba(34, 39, 40, 0.03) 1px, transparent 1px),
    #f5f4f0;
  background-size: auto, auto, 48px 48px, 48px 48px, auto;
}

.top10-hero-grid {
  display: grid;
  min-height: 680px;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.55fr);
  align-items: center;
  gap: 90px;
  padding-block: 84px;
}

.top10-hero h1 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(58px, 7vw, 94px);
  font-weight: 590;
  letter-spacing: -0.065em;
  line-height: 0.92;
}

.top10-hero h1 span { display: block; color: #58766f; }
.top10-hero-grid > div > p:not(.kicker) { max-width: 740px; margin: 29px 0 0; color: var(--top10-muted); font-size: 18px; line-height: 1.65; }
.top10-hero .button-row { margin-top: 34px; }

.top10-hero-card {
  padding: 30px;
  border: 1px solid #3d4846;
  border-radius: 8px;
  color: #edf1ef;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    #252c2d;
  background-size: 21px 100%;
  box-shadow: 18px 20px 0 rgba(76, 107, 99, 0.13);
}

.top10-hero-card > div:first-child { display: flex; align-items: flex-end; justify-content: space-between; }
.top10-hero-card > div:first-child span { color: #9bb4ad; font-family: var(--mono); font-size: 8px; letter-spacing: 0.08em; }
.top10-hero-card > div:first-child strong { color: #d7a187; font-family: var(--mono); font-size: 64px; line-height: 0.82; }
.top10-hero-card h2 { margin: 52px 0 30px; font-size: 30px; letter-spacing: -0.04em; line-height: 1.05; }
.top10-hero-card dl { margin: 0; border-top: 1px solid #46504f; }
.top10-hero-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid #46504f; }
.top10-hero-card dt { color: #8f9e9a; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.top10-hero-card dd { margin: 0; font-size: 11px; font-weight: 700; }
.top10-hero-card > small { display: block; margin-top: 23px; color: #82928e; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.top10-disclosure { padding-block: 17px; border-bottom: 1px solid #cbd5d1; background: #e6efec; }
.top10-disclosure .container { display: grid; grid-template-columns: 165px 1fr auto; align-items: center; gap: 28px; }
.top10-disclosure span { color: #567d73; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.top10-disclosure p { margin: 0; color: #67736f; font-size: 10px; line-height: 1.55; }
.top10-disclosure a { color: #3e6c61; font-family: var(--mono); font-size: 8px; font-weight: 800; white-space: nowrap; }

.top10-hub-section { background: #faf9f6; }
.top10-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.top10-category-card {
  --top10-tone-bg: #e8f0f3;
  --top10-tone-accent: #668394;
  position: relative;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--top10-tone-accent) 48%, #fff);
  border-radius: 8px;
  color: var(--top10-ink);
  background: var(--top10-tone-bg);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.34);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.top10-category-card::before {
  position: absolute;
  z-index: -1;
  inset: 48px 12px 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  filter: grayscale(0.24) saturate(0.72) contrast(0.92);
  opacity: 0.13;
  pointer-events: none;
  transform: scale(0.98);
  transition: opacity 180ms ease, transform 220ms ease;
}
.top10-category-card:nth-child(1)::before { background-image: url("products/temperature/fluke-54-iib-reference.svg"); }
.top10-category-card:nth-child(2)::before {
  background-image: url("manual-tools-category-photo-grid-v1.webp");
  background-position: left top;
  background-size: 300% 200%;
}
.top10-category-card:nth-child(3)::before { background-image: url("products/temperature/fieldpiece-jl3pc-reference.svg"); }
.top10-category-card:nth-child(4)::before {
  background-image: url("home-sectors-photo-grid-v1.webp");
  background-position: right bottom;
  background-size: 300% 200%;
}
.top10-category-card:hover::before { opacity: 0.21; transform: scale(1.025); }
.top10-category-card:hover { border-color: var(--top10-tone-accent); box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.44), 0 16px 34px rgba(41, 50, 48, 0.08); transform: translateY(-4px); }
.top10-category-card.is-current { border-width: 2px; }
.top10-category-card > span { color: var(--top10-tone-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.075em; }
.top10-category-card > strong { margin-top: 70px; font-size: 25px; letter-spacing: -0.035em; line-height: 1.05; }
.top10-category-card p { margin: 11px 0 20px; color: #65706c; font-size: 12px; line-height: 1.55; }
.top10-category-card small { margin-top: auto; color: var(--top10-tone-accent); font-family: var(--mono); font-size: 8px; font-weight: 800; }
.top10-tone-powder { --top10-tone-bg: #e8f0f3; --top10-tone-accent: #668394; }
.top10-tone-clay { --top10-tone-bg: #f4eae6; --top10-tone-accent: #a06f61; }
.top10-tone-aqua { --top10-tone-bg: #e6f1ef; --top10-tone-accent: #5f8b86; }
.top10-tone-lavender { --top10-tone-bg: #efebf2; --top10-tone-accent: #81788f; }

.top10-ranking-section { border-top: 1px solid var(--top10-line); background: #f0f1ed; }
.top10-ranking-intro,
.top10-rest-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 34px; }
.top10-ranking-intro h2,
.top10-rest-head h2 { max-width: 800px; margin: 0; font-size: clamp(42px, 5vw, 66px); font-weight: 590; letter-spacing: -0.055em; line-height: 0.97; }
.top10-ranking-intro > p,
.top10-rest-head > p { max-width: 450px; margin: 0; color: var(--top10-muted); font-size: 13px; line-height: 1.6; }
.top10-toolbar { margin: 0 0 18px; padding: 12px; border: 1px solid var(--top10-line); border-radius: 6px; background: rgba(255, 255, 255, 0.65); }
.top10-toolbar > span { color: #7a8581; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }

.top10-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.top10-feature-card {
  --podium-bg: #e8f0f3;
  --podium-accent: #668394;
  display: flex;
  min-height: 770px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--podium-accent) 46%, #fff);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  transition: box-shadow 170ms ease, transform 170ms ease;
}
.top10-feature-card:hover { box-shadow: 0 22px 44px rgba(40, 49, 47, 0.1); transform: translateY(-4px); }
.top10-feature-card[hidden] { display: none; }
.top10-place-one { --podium-bg: #f3efe2; --podium-accent: #9a875e; border-width: 2px; }
.top10-place-two { --podium-bg: #e8f0f3; --podium-accent: #668394; }
.top10-place-three { --podium-bg: #e6f1ef; --podium-accent: #5f8b86; }
.top10-feature-rank { display: flex; align-items: flex-end; justify-content: space-between; padding: 18px 21px; color: var(--podium-accent); }
.top10-feature-rank span { font-family: var(--mono); font-size: 30px; font-weight: 700; }
.top10-feature-rank small { font-family: var(--mono); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.top10-feature-card figure { position: relative; display: grid; min-height: 255px; margin: 0; place-items: center; border-block: 1px solid color-mix(in srgb, var(--podium-accent) 27%, #fff); background: var(--podium-bg); }
.top10-feature-card figure img { width: 100%; height: 255px; padding: 23px; object-fit: contain; mix-blend-mode: multiply; }
.top10-feature-card figcaption { position: absolute; right: 13px; bottom: 10px; color: #77827e; font-family: var(--mono); font-size: 7px; text-transform: uppercase; }
.top10-feature-copy { padding: 24px 23px 18px; }
.top10-feature-copy h3 { margin: 8px 0 10px; font-size: 29px; letter-spacing: -0.04em; line-height: 1.05; }
.top10-feature-copy > p { margin: 0; color: #68716e; font-size: 12px; line-height: 1.55; }
.top10-feature-copy dl { margin: 23px 0 0; border-top: 1px solid #dde2de; }
.top10-feature-copy dl div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e0e4e1; }
.top10-feature-copy dt { color: #8a928f; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.top10-feature-copy dd { margin: 0; font-size: 10px; font-weight: 700; }
.top10-feature-actions { display: grid; gap: 7px; margin-top: auto; padding: 0 23px 23px; }
.top10-feature-actions a,
.top10-feature-actions button { min-height: 43px; padding: 12px 13px; border: 1px solid #c3cdc9; border-radius: 4px; color: #46675f; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.035em; text-align: center; }
.top10-feature-actions button:last-child { border-color: #31403d; color: #fff; background: #31403d; }
.top10-feature-actions a:hover { border-color: var(--podium-accent); }
.top10-feature-actions button:hover { background: #47645e; }

.top10-rest-head { margin-top: 90px; }
.top10-ranking-table { border-top-color: #2d3534; }
.top10-ranking-table .product-row { grid-template-columns: 60px 130px minmax(210px, 1.2fr) minmax(170px, 0.85fr) 105px; gap: 22px; min-height: 200px; padding: 25px 16px; background: rgba(255, 255, 255, 0.72); }
.top10-ranking-table .product-thumb { min-height: 120px; border-radius: 4px; background: #f2f3ef; }
.top10-ranking-table .product-thumb img { width: 78%; opacity: 0.72; filter: grayscale(1); }
.top10-ranking-table .product-action { display: grid; gap: 7px; }
.top10-ranking-table .product-action a,
.top10-ranking-table .product-action button { min-height: 39px; padding: 10px 9px; border: 1px solid #bdc7c3; color: #4c6d65; background: #fff; cursor: pointer; font-family: var(--mono); font-size: 8px; font-weight: 800; text-align: center; }
.top10-ranking-table .product-action button { border-color: #354441; color: #fff; background: #354441; }

.top10-method { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; margin-top: 90px; padding: 48px; border-radius: 8px; color: #eaf0ed; background: #242b2c; }
.top10-method h2 { margin: 0; font-size: clamp(40px, 4.5vw, 58px); letter-spacing: -0.055em; line-height: 0.98; }
.top10-method > div > p:not(.eyebrow) { margin: 20px 0 0; color: #aab6b2; font-size: 12px; line-height: 1.6; }
.top10-method ol { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid #4c5754; border-left: 1px solid #4c5754; list-style: none; }
.top10-method li { min-height: 150px; padding: 19px; border-right: 1px solid #4c5754; border-bottom: 1px solid #4c5754; }
.top10-method li span,
.top10-method li strong,
.top10-method li small { display: block; }
.top10-method li span { color: #8fb0a8; font-family: var(--mono); font-size: 8px; }
.top10-method li strong { margin-top: 39px; font-size: 14px; }
.top10-method li small { margin-top: 5px; color: #91a09c; font-size: 9px; }

@media (max-width: 1080px) {
  .top10-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .top10-hero-card { max-width: 620px; }
  .top10-category-grid { grid-template-columns: repeat(2, 1fr); }
  .top10-podium { grid-template-columns: repeat(2, 1fr); }
  .top10-ranking-table .product-row { grid-template-columns: 55px 110px 1fr 120px; }
  .top10-ranking-table .product-use { display: none; }
  .top10-method { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 760px) {
  .top10-hero-grid { min-height: auto; padding-block: 58px; }
  .top10-hero h1 { font-size: 50px; }
  .top10-disclosure .container { grid-template-columns: 1fr; gap: 8px; }
  .top10-category-grid,
  .top10-podium { grid-template-columns: 1fr; }
  .top10-ranking-intro,
  .top10-rest-head { align-items: flex-start; flex-direction: column; }
  .top10-toolbar { align-items: flex-start; flex-direction: column; }
  .top10-feature-card { min-height: 720px; }
  .top10-ranking-table .product-row { grid-template-columns: 45px 85px 1fr; gap: 13px; }
  .top10-ranking-table .product-action { grid-column: 2 / -1; grid-template-columns: repeat(2, 1fr); }
  .top10-method { padding: 29px; }
  .top10-method ol { grid-template-columns: 1fr; }
}

/* Awin publisher candidate release */
.awin-readiness-page {
  --awin-sage: #668f84;
  --awin-powder: #e8f0f3;
  --awin-clay: #f4eae6;
  --awin-linen: #f3efe2;
  background: #f7f7f3;
}

.awin-dashboard-hero {
  background:
    radial-gradient(circle at 88% 28%, rgba(102, 143, 132, 0.12), transparent 26%),
    linear-gradient(90deg, transparent 0 73%, rgba(23, 26, 29, 0.035) 73% 73.1%, transparent 73.1%),
    #f6f5f1;
}

.awin-readiness-meter .readiness-track i { width: 82%; }
.affiliate-setup-page .readiness-track i { width: 82%; }

.awin-profile-section { background: #fbfaf7; }

.awin-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}

.awin-profile-grid article {
  min-height: 285px;
  padding: 27px;
  border: 1px solid #c7d7d1;
  border-radius: 8px;
  background: #edf4f0;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.34);
}

.awin-profile-grid article:nth-child(2) { border-color: #c7d6de; background: var(--awin-powder); }
.awin-profile-grid article:nth-child(3) { border-color: #dec9c1; background: var(--awin-clay); }
.awin-profile-grid article:nth-child(4) { border-color: #ddd3b9; background: var(--awin-linen); }
.awin-profile-grid span { color: #668075; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.07em; }
.awin-profile-grid h3 { margin: 52px 0 8px; color: #6d7773; font-size: 13px; font-weight: 650; }
.awin-profile-grid strong { display: block; font-size: 22px; letter-spacing: -0.03em; line-height: 1.1; }
.awin-profile-grid p { margin: 14px 0 0; color: #69736f; font-size: 11px; line-height: 1.58; }

.awin-description-section {
  padding: 92px 0;
  border-block: 1px solid #d5dbd7;
  background: #eef0ec;
}

.awin-description-grid {
  display: grid;
  grid-template-columns: minmax(270px, 0.58fr) minmax(0, 1.42fr);
  align-items: start;
  gap: 80px;
}

.awin-description-grid h2 { margin: 0; font-size: clamp(38px, 4.2vw, 58px); letter-spacing: -0.05em; line-height: 0.98; }
.awin-description-grid > div > p:last-child { color: var(--muted); }
.awin-description-grid blockquote {
  margin: 0;
  padding: 38px 42px;
  border: 1px solid #c5d0cb;
  border-left: 4px solid var(--awin-sage);
  border-radius: 7px;
  color: #39413f;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 16px 38px rgba(33, 43, 40, 0.06);
  font-size: 16px;
  line-height: 1.75;
}

.awin-sequence-section { background: #faf9f6; }
.awin-sequence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.awin-sequence-grid article {
  min-height: 245px;
  padding: 26px;
  border: 1px solid #ced5d1;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.68);
}
.awin-sequence-grid article:nth-child(2) { border-top: 4px solid #668394; background: var(--awin-powder); }
.awin-sequence-grid article:nth-child(3) { border-top: 4px solid #9a875e; background: var(--awin-linen); }
.awin-sequence-grid article:nth-child(4) { border-top: 4px solid #5f8b86; background: #e6f1ef; }
.awin-sequence-grid span { color: var(--awin-sage); font-family: var(--mono); font-size: 24px; font-weight: 750; }
.awin-sequence-grid h3 { margin: 48px 0 10px; font-size: 21px; letter-spacing: -0.025em; }
.awin-sequence-grid p { margin: 0; color: #69736f; font-size: 11px; line-height: 1.58; }

.awin-official-actions {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  padding: 22px;
  border: 1px solid #cbd3cf;
  border-radius: 7px;
  background: #eef0ec;
}
.awin-official-actions strong { font-size: 13px; }
.awin-official-actions p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }

@media (max-width: 1080px) {
  .awin-profile-grid,
  .awin-sequence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .awin-description-grid { grid-template-columns: 1fr; gap: 34px; }
  .awin-official-actions { grid-template-columns: 1fr 1fr; }
  .awin-official-actions > div { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .awin-profile-grid,
  .awin-sequence-grid,
  .awin-official-actions { grid-template-columns: 1fr; }
  .awin-official-actions > div { grid-column: auto; }
  .awin-description-grid blockquote { padding: 27px; font-size: 14px; }
}

/* REFTHE refrigeration focus, language gateway and partners */
.site-language-switcher {
  position: relative;
  z-index: 80;
}

.language-switcher-toggle {
  display: inline-flex;
  min-width: 48px;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: #55605c;
  background: rgba(255, 255, 255, 0.44);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.language-switcher-toggle:hover,
.language-switcher-toggle[aria-expanded="true"] { border-color: #8fa59e; background: #fff; }
.language-switcher-toggle span { color: var(--accent); font-size: 13px; line-height: 1; }

.language-switcher-menu {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  display: grid;
  width: 190px;
  padding: 7px;
  border: 1px solid #bdc9c4;
  border-radius: 6px;
  background: rgba(250, 249, 246, 0.985);
  box-shadow: 0 18px 45px rgba(25, 34, 31, 0.15);
}

.language-switcher-menu[hidden] { display: none; }
.language-switcher-menu a { display: grid; grid-template-columns: 34px 1fr; align-items: center; min-height: 39px; padding: 7px 10px; border-radius: 3px; color: #58635f; font-size: 11px; }
.language-switcher-menu a:hover,
.language-switcher-menu a[aria-current="page"] { color: #2f3936; background: #e9f0ed; }
.language-switcher-menu a span { color: #68887f; font-family: var(--mono); font-size: 8px; font-weight: 800; }

.home-sector-card.sector-primary {
  min-height: 260px;
  grid-column: span 2;
}

.home-sector-card.sector-primary h3 { font-size: clamp(25px, 2.3vw, 34px); }
.home-sector-card.sector-primary p { max-width: 620px; font-size: 12px; }

.home-partner-preview {
  padding: 98px 0;
  overflow: hidden;
  border-top: 1px solid #34413f;
  color: #f0f3f1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(135deg, #18201f, #25312f 62%, #1f2727);
  background-size: 48px 100%, auto;
}

.home-partner-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1.18fr);
  align-items: center;
  gap: 90px;
}

.home-partner-copy h2 { max-width: 700px; margin: 0; font-size: clamp(45px, 5.3vw, 72px); letter-spacing: -0.055em; line-height: 0.95; }
.home-partner-copy > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 30px; color: #aebbb7; font-size: 14px; line-height: 1.65; }
.partner-light-link { color: #b9d2cb; }

.home-partner-signal {
  position: relative;
  min-height: 430px;
  padding: 38px;
  overflow: hidden;
  border: 1px solid #4a5d59;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 18px 20px 0 rgba(126, 164, 154, 0.08);
}

.home-partner-signal::after {
  position: absolute;
  inset: 0;
  background: url("home-sectors-photo-grid-v1.webp") 50% 0 / 300% 200% no-repeat;
  content: "";
  filter: grayscale(0.35) saturate(0.45);
  opacity: 0.08;
  pointer-events: none;
}

.home-partner-signal > * { position: relative; z-index: 1; }
.partner-status { display: block; color: #98b8af; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: 0.075em; }
.partner-nameplate { display: inline-flex; align-items: flex-start; flex-direction: column; margin: 46px 0 25px; padding-left: 18px; border-left: 4px solid #8eb0a6; }
.partner-nameplate small { color: #90a39d; font-family: var(--mono); font-size: 7px; font-weight: 750; letter-spacing: 0.08em; }
.partner-nameplate strong { font-size: 54px; font-weight: 670; letter-spacing: -0.055em; line-height: 0.93; }
.home-partner-signal > p { max-width: 660px; color: #c4ceca; font-size: 13px; line-height: 1.6; }
.partner-signal-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.partner-signal-meta span { padding: 8px 10px; border: 1px solid #536863; border-radius: 3px; color: #c6d9d3; font-family: var(--mono); font-size: 8px; }
.home-partner-signal > small { display: block; margin-top: 17px; color: #879a94; font-size: 8px; }
.home-partner-signal > a { display: inline-flex; margin-top: 26px; color: #b6d3cb; font-family: var(--mono); font-size: 8px; font-weight: 800; }

.partner-hero {
  border-bottom: 1px solid #ced6d2;
  background:
    radial-gradient(circle at 88% 24%, rgba(111, 153, 142, 0.16), transparent 25%),
    linear-gradient(90deg, rgba(26, 37, 34, 0.032) 1px, transparent 1px),
    #f5f5f0;
  background-size: auto, 52px 100%, auto;
}

.partner-hero-grid { display: grid; min-height: 690px; grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.62fr); align-items: center; gap: 90px; padding-block: 85px; }
.partner-hero h1 { max-width: 900px; margin: 0; font-size: clamp(58px, 7.3vw, 96px); font-weight: 590; letter-spacing: -0.067em; line-height: 0.91; }
.partner-hero h1 span { display: block; color: #5d8178; }
.partner-hero-grid > div > p:not(.kicker) { max-width: 780px; margin: 28px 0 0; color: #68736f; font-size: 17px; line-height: 1.65; }
.partner-hero-grid .button-row { margin-top: 34px; }

.partner-hero-manifesto { padding: 31px; border: 1px solid #3f504d; border-radius: 7px; color: #eaf0ed; background: #26302f; box-shadow: 18px 20px 0 rgba(102, 143, 132, 0.11); }
.partner-hero-manifesto > span { color: #94b2aa; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-hero-manifesto > strong { display: block; margin: 44px 0 27px; font-size: 29px; letter-spacing: -0.04em; line-height: 1.05; }
.partner-hero-manifesto ul { margin: 0; padding: 0; border-top: 1px solid #4b5956; list-style: none; }
.partner-hero-manifesto li { padding: 12px 0; border-bottom: 1px solid #4b5956; color: #aebbb7; font-size: 10px; }

.partner-proof { border-bottom: 1px solid #ced6d2; background: #e8efec; }
.partner-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.partner-proof-grid div { display: flex; min-height: 105px; align-items: center; gap: 14px; padding: 22px; border-right: 1px solid #c4d0cb; }
.partner-proof-grid div:first-child { border-left: 1px solid #c4d0cb; }
.partner-proof-grid strong { color: #5e7d75; font-family: var(--mono); font-size: 23px; }
.partner-proof-grid span { color: #68736f; font-size: 10px; }

.partner-value-section { background: #faf9f6; }
.partner-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.partner-value-grid article { min-height: 310px; padding: 28px; border: 1px solid #cad5d0; border-radius: 7px; background: #eef4f1; }
.partner-value-grid article:nth-child(2) { border-color: #c8d6dd; background: #e9f0f3; }
.partner-value-grid article:nth-child(3) { border-color: #ddd1bc; background: #f3eee2; }
.partner-value-grid article:nth-child(4) { border-color: #d8c9dc; background: #efebf1; }
.partner-value-grid span { color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-value-grid h3 { margin: 78px 0 13px; font-size: 24px; letter-spacing: -0.035em; }
.partner-value-grid p { margin: 0; color: #68736f; font-size: 11px; line-height: 1.6; }

.partner-opportunity-section { padding: 110px 0; color: #eef2f0; background: #171d1c; }
.partner-opportunity-head { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .62fr); align-items: end; gap: 90px; margin-bottom: 50px; }
.partner-opportunity-head h2 { max-width: 900px; margin: 0; font-size: clamp(48px, 5.8vw, 78px); letter-spacing: -.06em; line-height: .94; }
.partner-opportunity-head > p { margin: 0; color: #aeb8b5; font-size: 14px; line-height: 1.7; }
.partner-path-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #465653; border-left: 1px solid #465653; }
.partner-path-grid article { display: flex; min-height: 330px; flex-direction: column; padding: 27px; border-right: 1px solid #465653; border-bottom: 1px solid #465653; background: rgba(255,255,255,.018); }
.partner-path-grid article:nth-child(2) { background: rgba(154,190,206,.04); }
.partner-path-grid article:nth-child(3) { background: rgba(222,198,151,.04); }
.partner-path-grid article:nth-child(4) { background: rgba(194,171,202,.04); }
.partner-path-grid span { color: #99bcb2; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.partner-path-grid strong { margin-top: 78px; font-size: 25px; letter-spacing: -.035em; }
.partner-path-grid p { margin: 15px 0 0; color: #aeb8b5; font-size: 11px; line-height: 1.65; }
.partner-path-grid small { margin-top: auto; padding-top: 30px; color: #778984; font-family: var(--mono); font-size: 7px; font-weight: 800; letter-spacing: .055em; }

.partner-showcase-section { background: #edf1ef; }
.partner-slot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.partner-slot-grid article { position: relative; min-height: 285px; overflow: hidden; padding: 27px; border: 1px dashed #aabbb4; border-radius: 7px; background: rgba(255,255,255,.52); }
.partner-slot-grid article::after { position: absolute; right: -26px; bottom: -52px; color: rgba(82,117,107,.07); content: "R."; font-size: 150px; font-weight: 720; letter-spacing: -.09em; }
.partner-slot-grid span { position: relative; z-index: 1; color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-slot-grid strong { position: relative; z-index: 1; display: block; margin-top: 82px; font-size: 25px; letter-spacing: -.04em; }
.partner-slot-grid p { position: relative; z-index: 1; max-width: 230px; margin: 13px 0 0; color: #68736f; font-size: 10px; line-height: 1.6; }
.partner-slot-grid .partner-slot-rule { border-style: solid; border-color: #627d75; color: #edf2ef; background: #31413e; }
.partner-slot-grid .partner-slot-rule span { color: #b3d0c8; }
.partner-slot-grid .partner-slot-rule p { color: #bac6c2; }

.partner-proposal-section { background: #f2f2ee; }
.partner-proposal-grid { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 90px; }
.partner-proposal-grid h2 { margin: 0; font-size: clamp(43px, 5vw, 67px); letter-spacing: -0.055em; line-height: 0.98; }
.partner-proposal-grid > div > p:last-child { color: var(--muted); }
.partner-proposal-grid ol { margin: 0; padding: 0; border-top: 1px solid #bec8c3; list-style: none; }
.partner-proposal-grid li { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid #bec8c3; }
.partner-proposal-grid li > span { color: #65857c; font-family: var(--mono); font-size: 10px; font-weight: 800; }
.partner-proposal-grid li strong { font-size: 16px; }
.partner-proposal-grid li p { margin: 5px 0 0; color: #707a76; font-size: 10px; }

.partner-contact-band { padding: 80px 0; color: #eff2f0; background: #31413e; }
.partner-contact-band .container { display: flex; align-items: end; justify-content: space-between; gap: 70px; }
.partner-contact-band span { color: #a4c4bb; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.partner-contact-band h2 { max-width: 870px; margin: 15px 0 12px; font-size: clamp(37px, 4.3vw, 58px); letter-spacing: -0.05em; line-height: 0.98; }
.partner-contact-band p { max-width: 850px; color: #b4c0bc; }
.partner-contact-band .button-row { flex: 0 0 auto; }

/* First localized landing pages */
.international-home { background: #f6f5f1; }
.intl-hero { border-bottom: 1px solid #d0d8d4; background: radial-gradient(circle at 82% 24%, rgba(102, 143, 132, 0.16), transparent 25%), #f6f5f1; }
.intl-hero-grid { display: grid; min-height: 690px; grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.55fr); align-items: center; gap: 85px; padding-block: 80px; }
.intl-hero h1 { max-width: 940px; margin: 0; font-size: clamp(58px, 7vw, 94px); font-weight: 590; letter-spacing: -0.067em; line-height: 0.91; }
.intl-hero h1 span { display: block; color: #5f8078; }
.intl-hero-copy > p:not(.kicker) { max-width: 760px; margin: 27px 0 0; color: #68736f; font-size: 17px; line-height: 1.65; }
.intl-hero-copy .button-row { margin-top: 33px; }
.intl-market-card { padding: 29px; border: 1px solid #3f4e4b; border-radius: 7px; color: #ecf1ef; background: #26302f; box-shadow: 18px 20px 0 rgba(100, 139, 129, 0.1); }
.intl-market-card > span { color: #96b4ac; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-market-card h2 { margin: 48px 0 20px; font-size: 28px; letter-spacing: -0.04em; line-height: 1.05; }
.intl-market-card p { color: #aab6b2; font-size: 11px; line-height: 1.6; }
.intl-market-card div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 25px; }
.intl-market-card div span { padding: 8px 9px; border: 1px solid #50605d; color: #b5cbc5; font-family: var(--mono); font-size: 8px; }
.intl-pillars { background: #faf9f6; }
.intl-pillar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.intl-pillar-card { display: flex; min-height: 320px; flex-direction: column; padding: 27px; border: 1px solid #c6d5cf; border-radius: 8px; background: #ebf3ef; }
.intl-pillar-card:nth-child(2) { border-color: #c4d1e0; background: #ebeff5; }
.intl-pillar-card:nth-child(3) { border-color: #e1c9b7; background: #f4ebe5; }
.intl-pillar-card:nth-child(4) { border-color: #d3c8df; background: #f0ecf3; }
.intl-pillar-card span { color: #66877e; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-pillar-card h2 { margin: 78px 0 11px; font-size: 26px; letter-spacing: -0.04em; }
.intl-pillar-card p { margin: 0 0 25px; color: #68736f; font-size: 11px; line-height: 1.6; }
.intl-pillar-card a { margin-top: auto; color: #577970; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.intl-partner { padding: 90px 0; color: #edf2ef; background: #1c2422; }
.intl-partner-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 90px; }
.intl-partner h2 { margin: 0; font-size: clamp(45px, 5.4vw, 72px); letter-spacing: -0.055em; line-height: 0.95; }
.intl-partner p { color: #aab6b2; line-height: 1.65; }
.intl-partner-card { padding: 34px; border: 1px solid #465955; border-radius: 7px; background: rgba(255,255,255,0.035); }
.intl-partner-card .partner-nameplate { margin-top: 35px; }
.intl-partner-card a { display: inline-flex; margin-top: 22px; color: #afd0c7; font-family: var(--mono); font-size: 8px; font-weight: 800; }

@media (max-width: 1080px) {
  .home-partner-preview-grid,
  .partner-hero-grid,
  .partner-opportunity-head,
  .partner-proposal-grid,
  .intl-hero-grid,
  .intl-partner-grid { grid-template-columns: 1fr; gap: 48px; }
  .partner-value-grid,
  .partner-path-grid,
  .partner-slot-grid,
  .intl-pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-contact-band .container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 760px) {
  .home-sector-card.sector-primary { min-height: 190px; grid-column: span 1; }
  .home-partner-preview-grid { grid-template-columns: 1fr; }
  .home-partner-signal { min-height: 390px; padding: 27px; }
  .partner-proof-grid,
  .partner-value-grid,
  .partner-path-grid,
  .partner-slot-grid,
  .intl-pillar-grid { grid-template-columns: 1fr; }
  .partner-proof-grid div,
  .partner-proof-grid div:first-child { border-left: 1px solid #c4d0cb; border-bottom: 1px solid #c4d0cb; }
  .partner-hero-grid,
  .intl-hero-grid { min-height: auto; padding-block: 58px; }
  .partner-hero h1,
  .intl-hero h1 { font-size: 51px; }
  .partner-contact-band .button-row { align-items: stretch; flex-direction: column; }
  .partner-contact-band .button { width: 100%; }
  .language-switcher-menu { position: fixed; top: 112px; right: 20px; }
}

/* Visual navigation finishing layer — one calm, recognisable language for every main route. */
.refrigeration-entry-grid > a {
  border-width: 2px;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.28), 0 10px 25px rgba(36, 53, 49, 0.05);
}
.refrigeration-entry-grid > a:nth-child(1) { --card-accent: #ad6757; --card-border: #cf9689; }
.refrigeration-entry-grid > a:nth-child(2) { --card-accent: #648d69; --card-border: #a9c8a8; }
.refrigeration-entry-grid > a:nth-child(3) { --card-accent: #5b8298; --card-border: #a7c6d3; }
.refrigeration-entry-grid > a:nth-child(4) { --card-accent: #7b6a97; --card-border: #bbaed0; }
.refrigeration-entry-grid > a:nth-child(5) { --card-accent: #9b7b4d; --card-border: #cfbb91; }
.refrigeration-entry-grid > a:nth-child(6) { --card-accent: #4f8b83; --card-border: #9ec9c3; }
.refrigeration-entry-photo { opacity: 0.17; }
.refrigeration-entry-grid > a:hover .refrigeration-entry-photo { opacity: 0.25; }

.component-atlas-grid > a,
.application-route-grid > a,
.manufacturer-name-grid > a,
.home-tools-route a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-width: 2px;
  border-color: var(--visual-border, #b6ccc5);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(237, 245, 241, 0.64));
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.30), 0 9px 22px rgba(36, 53, 49, 0.04);
}
.component-atlas-grid > a::before,
.application-route-grid > a::before,
.manufacturer-name-grid > a::before,
.home-tools-route a::before {
  position: absolute;
  z-index: -1;
  inset: 30px 12px 12px 40%;
  background: url("home-sectors-photo-grid-v1.webp") center / cover no-repeat;
  content: "";
  filter: grayscale(0.32) saturate(0.58) contrast(0.92);
  opacity: 0.12;
  pointer-events: none;
  transition: opacity 180ms ease, transform 220ms ease;
}
.component-atlas-grid > a:hover::before,
.application-route-grid > a:hover::before,
.manufacturer-name-grid > a:hover::before,
.home-tools-route a:hover::before { opacity: 0.19; transform: scale(1.03); }
.component-atlas-grid > a:nth-child(4n+1),
.application-route-grid > a:nth-child(3n+1),
.manufacturer-name-grid > a:nth-child(4n+1),
.home-tools-route a:nth-child(4n+1) { --visual-border: #9ecbc2; }
.component-atlas-grid > a:nth-child(4n+2),
.application-route-grid > a:nth-child(3n+2),
.manufacturer-name-grid > a:nth-child(4n+2),
.home-tools-route a:nth-child(4n+2) { --visual-border: #d5ad91; }
.component-atlas-grid > a:nth-child(4n+3),
.application-route-grid > a:nth-child(3n+3),
.manufacturer-name-grid > a:nth-child(4n+3),
.home-tools-route a:nth-child(4n+3) { --visual-border: #b9abd3; }
.component-atlas-grid > a:nth-child(4n),
.manufacturer-name-grid > a:nth-child(4n),
.home-tools-route a:nth-child(4n) { --visual-border: #b4c898; }

.manual-category-card,
.top10-category-card {
  border-width: 2px;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.38), 0 9px 24px rgba(36, 53, 49, 0.045);
}
.manual-category-card::after { opacity: 0.17; }
.manual-category-card:hover::after { opacity: 0.25; }
.top10-category-card::before { opacity: 0.17; }
.top10-category-card:hover::before { opacity: 0.25; }

/* REFTHE · Inverter atlas and problem-solving routes */
.drive-catalog-section { padding: 104px 0; background: #f3f5f2; }
.drive-catalog-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.drive-catalog-card { position: relative; display: flex; min-height: 310px; flex-direction: column; overflow: hidden; padding: 22px; border: 2px solid var(--drive-border); border-radius: 8px; background: var(--drive-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.34), 0 8px 24px rgba(34,48,45,.045); }
.drive-catalog-card::after { position: absolute; right: -24px; bottom: -35px; width: 145px; height: 145px; border: 1px solid color-mix(in srgb, var(--drive-ink) 30%, transparent); border-radius: 50%; content: ""; opacity: .28; }
.drive-catalog-card > * { position: relative; z-index: 1; }
.drive-catalog-card > span { color: var(--drive-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.drive-catalog-card h3 { margin: 30px 0 10px; color: #202625; font-size: 25px; letter-spacing: -.045em; line-height: .94; }
.drive-catalog-card h3 em { color: var(--drive-ink); font-family: var(--mono); font-size: 11px; font-style: normal; letter-spacing: .045em; }
.drive-catalog-card p { min-height: 39px; margin: 0; color: #62706c; font-size: 11px; line-height: 1.45; }
.drive-catalog-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 21px 0 16px; padding-top: 13px; border-top: 1px solid color-mix(in srgb, var(--drive-border) 70%, #fff); }
.drive-catalog-card dt { color: #7d8985; font-family: var(--mono); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.drive-catalog-card dd { margin: 4px 0 0; color: #303a37; font-size: 9px; font-weight: 700; line-height: 1.25; }
.drive-catalog-card a { margin-top: auto; color: #26322f; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .025em; }
.drive-catalog-card a:hover { color: var(--drive-ink); }
.drive-catalog-card.tone-aqua { --drive-bg:#e7f4f1; --drive-border:#8bbdb6; --drive-ink:#267c71; }
.drive-catalog-card.tone-sage { --drive-bg:#edf3e6; --drive-border:#a7c28d; --drive-ink:#557a3d; }
.drive-catalog-card.tone-peach { --drive-bg:#fbefe7; --drive-border:#dcac89; --drive-ink:#a35d3b; }
.drive-catalog-card.tone-lilac { --drive-bg:#f0edf8; --drive-border:#b4a8d2; --drive-ink:#66558b; }
.drive-catalog-card.tone-amber { --drive-bg:#f8f1df; --drive-border:#d2b872; --drive-ink:#8d6c22; }
.drive-catalog-card.tone-blue { --drive-bg:#e8f0f8; --drive-border:#91b2ce; --drive-ink:#3b6c91; }
.drive-catalog-card.tone-powder { --drive-bg:#e9f3f5; --drive-border:#91bdc6; --drive-ink:#3f7780; }
.drive-catalog-card.tone-mint { --drive-bg:#eaf4ee; --drive-border:#92bfa8; --drive-ink:#3d7860; }
.drive-catalog-card.tone-rose { --drive-bg:#f8eaed; --drive-border:#d3a1a9; --drive-ink:#96535f; }
.drive-catalog-card.tone-stone { --drive-bg:#f1f0eb; --drive-border:#c6bda9; --drive-ink:#71654e; }
.drive-catalog-note { max-width: 790px; margin: 26px auto 0; color: #71807a; font-size: 11px; line-height: 1.55; text-align: center; }
.drive-problem-section { padding: 88px 0; color: #ecf1ef; background: #263130; }
.drive-problem-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.drive-problem-section h2 { margin: 0; font-size: clamp(40px,5vw,66px); letter-spacing: -.06em; line-height: .95; }
.drive-problem-section > .container > div > p:not(.eyebrow) { max-width: 510px; color: #aebbb6; font-size: 14px; line-height: 1.65; }
.drive-problem-routes { display: grid; border-top: 1px solid #4c5a57; border-left: 1px solid #4c5a57; }
.drive-problem-routes a { display: grid; grid-template-columns: 54px 1fr 18px; align-items: center; gap: 15px; min-height: 92px; padding: 16px 20px; border-right: 1px solid #4c5a57; border-bottom: 1px solid #4c5a57; color: #e9f0ed; }
.drive-problem-routes a:hover { background: #34413e; }
.drive-problem-routes b { color: #a9d2c6; font-family: var(--mono); font-size: 10px; }
.drive-problem-routes small, .drive-problem-routes strong { display: block; }
.drive-problem-routes small { color: #9ca9a5; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.drive-problem-routes strong { margin-top: 6px; font-size: 14px; }
.drive-problem-routes i { color: #a9d2c6; font-size: 19px; font-style: normal; }
.drive-clinic-section { padding: 104px 0; background: #fbfaf7; }
.drive-clinic-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; margin-top: 45px; }
.drive-clinic-grid a { display: flex; min-height: 266px; flex-direction: column; padding: 23px; border: 2px solid #aac9c0; border-radius: 8px; color: #25302e; background: linear-gradient(145deg, #ebf4f0, #f7f8f4); box-shadow: inset 0 0 0 4px rgba(255,255,255,.4), 0 8px 24px rgba(34,48,45,.045); transition: transform .2s ease, box-shadow .2s ease; }
.drive-clinic-grid a:nth-child(2n) { border-color: #b7c4d1; background: linear-gradient(145deg, #eef3f7, #f8f8f5); }
.drive-clinic-grid a:nth-child(3n) { border-color: #ddc5a8; background: linear-gradient(145deg, #f9f0e6, #faf9f5); }
.drive-clinic-grid a:nth-child(4n) { border-color: #c5b9d7; background: linear-gradient(145deg, #f2eff8, #faf9f5); }
.drive-clinic-grid a:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 4px rgba(255,255,255,.45), 0 18px 34px rgba(34,48,45,.1); }
.drive-clinic-grid span { color: #5b7c72; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.drive-clinic-grid strong { margin-top: 42px; font-size: 23px; letter-spacing: -.04em; line-height: 1.02; }
.drive-clinic-grid p { margin: 12px 0 20px; color: #65716d; font-size: 11px; line-height: 1.55; }
.drive-clinic-grid i { margin-top: auto; color: #496e64; font-family: var(--mono); font-size: 9px; font-style: normal; font-weight: 800; }
.drive-clinic-hero { border-bottom: 1px solid #3c4d49; color: #edf2ef; background: radial-gradient(circle at 85% 20%, rgba(119, 177, 159, .23), transparent 30%), #22302d; }
.drive-clinic-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(285px, .55fr); gap: 86px; align-items: center; max-width: 1080px; padding-block: 77px; }
.drive-clinic-hero .article-breadcrumb { color: #a9c0b9; }
.drive-clinic-hero h1 { max-width: 840px; margin: 0; font-size: clamp(48px, 6.1vw, 80px); letter-spacing: -.065em; line-height: .94; }
.drive-clinic-hero .article-deck { max-width: 730px; margin: 26px 0 0; color: #b4c5c0; font-size: 17px; line-height: 1.68; }
.drive-clinic-hero .article-facts span { border-color: #48645c; color: #b9d4ca; background: rgba(0,0,0,.11); }
.drive-clinic-panel { padding: 32px; border: 1px solid #557068; border-radius: 8px; background: rgba(9, 17, 15, .25); box-shadow: 17px 19px 0 rgba(0,0,0,.1); }
.drive-clinic-panel img { display: block; margin-bottom: 54px; }
.drive-clinic-panel > span { display: block; color: #9dc2b5; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.drive-clinic-panel strong { display: block; margin: 16px 0 38px; font-size: 28px; letter-spacing: -.04em; line-height: 1.07; }
.drive-clinic-panel small { display: block; padding-top: 16px; border-top: 1px solid #456158; color: #aebdb7; font-size: 10px; line-height: 1.55; }
.drive-clinic-steps { display: grid; gap: 13px; margin: 30px 0 62px; }
.drive-clinic-steps article { display: grid; grid-template-columns: 145px 1fr; gap: 23px; padding: 23px 25px; border: 1px solid #c9d7d1; border-radius: 7px; background: #eef4f1; }
.drive-clinic-steps article:nth-child(even) { border-color: #d1d8df; background: #f1f4f7; }
.drive-clinic-steps span { color: #52766c; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.drive-clinic-steps p { margin: 0; }
@media (max-width: 1050px) { .drive-catalog-grid { grid-template-columns: repeat(3,1fr); } .drive-problem-grid { grid-template-columns: 1fr; gap: 42px; } }
@media (max-width: 1050px) { .drive-clinic-grid { grid-template-columns: repeat(3,1fr); } .drive-clinic-hero-grid { grid-template-columns: 1fr; gap: 45px; } .drive-clinic-panel { max-width: 680px; } }
@media (max-width: 680px) { .drive-catalog-section, .drive-clinic-section { padding: 66px 0; } .drive-catalog-grid, .drive-clinic-grid { grid-template-columns: 1fr; } .drive-catalog-card { min-height: 270px; } .drive-problem-section { padding: 63px 0; } .drive-problem-routes a { grid-template-columns: 36px 1fr 14px; padding: 15px; } .drive-clinic-hero-grid { padding-block: 58px; } .drive-clinic-hero h1 { font-size: 46px; } .drive-clinic-steps article { grid-template-columns: 1fr; gap: 11px; } }

/* REFTHE · Guasti refrigerazione */
.faults-page { color: #26312f; background: #f5f7f4; }
.faults-hero { padding: 96px 0 84px; color: #ecf2ef; background: radial-gradient(circle at 81% 13%, rgba(102,169,154,.22), transparent 30%), #263130; }
.faults-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 96px; align-items: center; }
.faults-hero h1 { max-width: 760px; margin: 0; font-size: clamp(52px, 6.2vw, 84px); letter-spacing: -.068em; line-height: .89; }
.faults-hero h1 span { color: #9bd5c7; }
.faults-hero p:not(.eyebrow) { max-width: 710px; color: #b7c3bf; font-size: 15px; line-height: 1.68; }
.fault-search { margin-top: 33px; }
.fault-search label { display: block; margin-bottom: 10px; color: #abc0ba; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.fault-search > div { display: grid; grid-template-columns: 1fr auto; border: 1px solid #62736e; border-radius: 5px; overflow: hidden; background: rgba(255,255,255,.07); }
.fault-search input { min-width: 0; padding: 17px 18px; border: 0; color: #eff5f2; outline: 0; background: transparent; font: inherit; }
.fault-search input::placeholder { color: #a2b1ad; }
.fault-search button { border: 0; padding: 0 21px; color: #23302d; background: #a8dacb; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.fault-count { margin: 12px 0 0; color: #9db0aa !important; font-family: var(--mono); font-size: 9px !important; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.faults-hero aside { padding: 28px; border: 1px solid #53615d; border-radius: 7px; background: rgba(18,29,27,.35); }
.faults-hero aside > span { color: #9bd5c7; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.faults-hero aside ol { margin: 22px 0; padding: 0; list-style: none; counter-reset: none; }
.faults-hero aside li { display: flex; gap: 14px; padding: 13px 0; border-bottom: 1px solid #4c5a57; color: #e6eeeb; font-size: 13px; }
.faults-hero aside b { color: #96d3c3; font-family: var(--mono); font-size: 9px; }
.faults-hero aside a { color: #b9e0d5; font-family: var(--mono); font-size: 9px; font-weight: 800; }
.faults-directory { padding: 88px 0 105px; }
.fault-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 70px; padding-bottom: 22px; border-bottom: 1px solid #d0dad6; }
.fault-filter-bar button { padding: 11px 13px; border: 1px solid #b9c8c3; border-radius: 4px; color: #596863; background: #f9fbf9; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .035em; cursor: pointer; }
.fault-filter-bar button span { margin-left: 7px; color: #8b9793; }
.fault-filter-bar button.active, .fault-filter-bar button:hover { border-color: #314b46; color: #f4f8f6; background: #314b46; }
.fault-filter-bar button.active span, .fault-filter-bar button:hover span { color: #b4d8ce; }
.faults-directory-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 38px; }
.faults-directory-head h2 { margin: 0; font-size: clamp(42px, 5vw, 65px); letter-spacing: -.06em; line-height: .95; }
.faults-directory-head > p { max-width: 460px; margin: 0; color: #697671; font-size: 13px; line-height: 1.6; }
.fault-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.fault-card { display: flex; min-height: 315px; flex-direction: column; padding: 21px; border: 2px solid var(--fault-border); border-radius: 7px; background: var(--fault-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.35), 0 8px 21px rgba(33,51,47,.045); }
.fault-card-head, .fault-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fault-card-head span { color: var(--fault-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.fault-card-head b { padding: 4px 6px; border: 1px solid color-mix(in srgb, var(--fault-ink) 35%, #fff); color: var(--fault-ink); font-family: var(--mono); font-size: 7px; letter-spacing: .05em; }
.fault-card h3 { margin: 27px 0 13px; font-size: 23px; letter-spacing: -.045em; line-height: 1; }
.fault-card > p { margin: 0; color: #5c6965; font-size: 11px; line-height: 1.55; }
.fault-card-bottom { margin-top: auto; padding-top: 17px; border-top: 1px solid color-mix(in srgb, var(--fault-border) 65%, #fff); }
.fault-card-bottom a { color: var(--fault-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .035em; }
.fault-card-bottom a i { margin-left: 4px; font-size: 13px; font-style: normal; }
.fault-card-bottom span { color: #7f8c87; font-size: 8px; text-align: right; }
.tone-temperatura { --fault-bg:#eaf4f1; --fault-border:#9ec9c0; --fault-ink:#357d70; }
.tone-pressione { --fault-bg:#eaf1f7; --fault-border:#9fbfd3; --fault-ink:#3c6f8c; }
.tone-elettrico { --fault-bg:#f8eeee; --fault-border:#d5aaa9; --fault-ink:#9a5652; }
.tone-sbrinamento { --fault-bg:#f0edf8; --fault-border:#b8add3; --fault-ink:#665789; }
.tone-perdite { --fault-bg:#fbf1e4; --fault-border:#d7b583; --fault-ink:#946627; }
.tone-aria { --fault-bg:#edf4e9; --fault-border:#acc69c; --fault-ink:#5e7b45; }
.tone-controllo { --fault-bg:#e9f4f5; --fault-border:#9ac4c8; --fault-ink:#42777c; }
.tone-olio { --fault-bg:#f3f0e8; --fault-border:#c7bda8; --fault-ink:#75644b; }
.tone-inverter { --fault-bg:#f6eaf0; --fault-border:#d3a7b7; --fault-ink:#955269; }
.fault-empty { padding: 42px; border: 1px dashed #aebdb8; color: #65736e; text-align: center; }
.faults-next { padding: 82px 0; color: #ebf2ef; background: #34423f; }
.faults-next .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.faults-next h2 { margin: 0; font-size: clamp(40px,5vw,65px); letter-spacing: -.06em; line-height: .95; }
.faults-next-links { display: grid; border-top: 1px solid #65736e; border-left: 1px solid #65736e; }
.faults-next-links a { display: grid; grid-template-columns: 100px 1fr 20px; align-items: center; gap: 16px; padding: 20px; border-right: 1px solid #65736e; border-bottom: 1px solid #65736e; color: #edf3f0; }
.faults-next-links a:hover { background: #40514d; }
.faults-next-links span { color: #a4d1c5; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.faults-next-links strong { font-size: 14px; }
.faults-next-links i { color: #a4d1c5; font-size: 19px; font-style: normal; }
.faults-safety { padding: 26px 0; background: #e6ece8; }
.faults-safety .container { display: grid; grid-template-columns: 180px 1fr; gap: 30px; }
.faults-safety strong { color: #47605a; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; }
.faults-safety p { margin: 0; color: #5f6c68; font-size: 10px; line-height: 1.55; }
@media (max-width: 980px) { .faults-hero-grid, .faults-next .container { grid-template-columns: 1fr; gap: 46px; } .fault-card-grid { grid-template-columns: repeat(2,1fr); } .faults-directory-head { align-items: flex-start; flex-direction: column; gap: 20px; } }
@media (max-width: 620px) { .faults-hero { padding: 62px 0; } .fault-search > div { grid-template-columns: 1fr; } .fault-search button { min-height: 50px; } .fault-filter-bar { margin-bottom: 44px; } .fault-card-grid { grid-template-columns: 1fr; } .faults-next-links a { grid-template-columns: 70px 1fr 14px; padding: 16px; } .faults-safety .container { grid-template-columns: 1fr; gap: 10px; } }

.problem-desk-cta { display: flex; align-items: center; gap: 18px; margin: -8px 0 34px; }
.problem-desk-cta span { color: #6e7c77; font-size: 12px; }
@media (max-width: 620px) { .problem-desk-cta { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 27px; } }

/* REFTHE · Percorsi di scelta affiliazione */
.tools-path-link { display: inline-flex; margin-top: 17px; color: #b9dfd2; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.tools-path-link:hover { color: #fff; }
.choice-page { background: #f5f7f4; color: #293330; }
.choice-hero { padding: 93px 0 82px; color: #edf4f1; background: radial-gradient(circle at 83% 13%, rgba(125, 186, 166, .22), transparent 29%), #263130; }
.choice-hero-grid { display: grid; grid-template-columns: 1.16fr .64fr; gap: 80px; align-items: center; }
.choice-hero h1 { max-width: 830px; margin: 0; font-size: clamp(52px, 6.1vw, 82px); letter-spacing: -.067em; line-height: .9; }
.choice-hero h1 span { color: #a9d7c9; }
.choice-hero-copy { max-width: 740px; margin: 25px 0 0; color: #b6c5c0; font-size: 16px; line-height: 1.67; }
.choice-hero-card { padding: 27px; border: 1px solid #50635e; border-radius: 8px; background: rgba(10, 20, 17, .27); }
.choice-hero-card span { color: #a3cfc1; font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.choice-hero-card strong { display: block; margin: 27px 0 25px; font-size: 26px; letter-spacing: -.04em; line-height: 1.05; }
.choice-hero-card p { margin: 0; color: #acbbb5; font-size: 11px; line-height: 1.6; }
.choice-page-section { padding: 88px 0; }
.choice-page-section.alt { background: #edf2ef; }
.choice-section-head { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 38px; }
.choice-section-head h2 { margin: 0; font-size: clamp(38px, 5vw, 64px); letter-spacing: -.06em; line-height: .95; }
.choice-section-head > p { max-width: 480px; margin: 0; color: #687570; font-size: 13px; line-height: 1.65; }
.choice-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.choice-route { display: flex; min-height: 390px; flex-direction: column; padding: 25px; border: 2px solid var(--choice-border); border-radius: 8px; background: var(--choice-bg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.35), 0 9px 22px rgba(32,48,43,.055); }
.choice-route > span { color: var(--choice-ink); font-family: var(--mono); font-size: 8px; font-weight: 800; letter-spacing: .07em; }
.choice-route h3 { margin: 39px 0 14px; font-size: 29px; letter-spacing: -.055em; line-height: .98; }
.choice-route > p { margin: 0; color: #5d6b66; font-size: 12px; line-height: 1.6; }
.choice-route ol { margin: 24px 0; padding: 0; border-top: 1px solid color-mix(in srgb, var(--choice-border) 67%, #fff); list-style: none; }
.choice-route li { display: grid; grid-template-columns: 30px 1fr; gap: 9px; padding: 10px 0; border-bottom: 1px solid color-mix(in srgb, var(--choice-border) 60%, #fff); color: #4e5e59; font-size: 10px; line-height: 1.35; }
.choice-route li b { color: var(--choice-ink); font-family: var(--mono); font-size: 8px; }
.choice-route .button { margin-top: auto; align-self: flex-start; }
.choice-route.tone-thermal { --choice-bg:#e7f3ef; --choice-border:#96c4b7; --choice-ink:#34796d; }
.choice-route.tone-hand { --choice-bg:#f9eee7; --choice-border:#d8ad8c; --choice-ink:#9b5f3e; }
.choice-route.tone-safety { --choice-bg:#edf0f8; --choice-border:#afb8d5; --choice-ink:#5d6892; }
.choice-disclosure { display: grid; grid-template-columns: 165px 1fr; gap: 27px; padding: 27px 0; border-top: 1px solid #b9c9c3; border-bottom: 1px solid #b9c9c3; }
.choice-disclosure strong { color: #466b61; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; }
.choice-disclosure p { margin: 0; color: #596762; font-size: 12px; line-height: 1.65; }
.choice-next { padding: 81px 0; color: #edf4f1; background: #2c3936; }
.choice-next .container { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }
.choice-next h2 { margin: 0; font-size: clamp(40px,5vw,68px); letter-spacing: -.06em; line-height: .93; }
.choice-next p { max-width: 450px; color: #b3c1bc; font-size: 14px; line-height: 1.65; }
.choice-next-links { display: grid; border-top: 1px solid #596964; border-left: 1px solid #596964; }
.choice-next-links a { display: grid; grid-template-columns: 100px 1fr 17px; gap: 15px; padding: 19px; border-right: 1px solid #596964; border-bottom: 1px solid #596964; color: #e8f1ed; }
.choice-next-links a:hover { background: #374844; }
.choice-next-links span { color: #a4d2c4; font-family: var(--mono); font-size: 8px; font-weight: 800; }
.choice-next-links strong { font-size: 14px; }
.choice-next-links i { color: #a4d2c4; font-style: normal; }
@media (max-width: 900px) { .choice-hero-grid, .choice-next .container { grid-template-columns: 1fr; gap: 43px; } .choice-route-grid { grid-template-columns: 1fr; } .choice-section-head { align-items: flex-start; flex-direction: column; gap: 18px; } }
@media (max-width: 580px) { .choice-hero, .choice-page-section { padding: 64px 0; } .choice-hero h1 { font-size: 47px; } .choice-disclosure { grid-template-columns: 1fr; gap: 10px; } .choice-next-links a { grid-template-columns: 72px 1fr 14px; padding: 16px; } }

/* REFTHE · Risposta completa ai guasti */
.fault-answer-page { background: #f5f7f4; color: #283330; }
.fault-answer-hero { padding: 91px 0 82px; color: #eef4f1; background: radial-gradient(circle at 82% 12%, rgba(130,192,174,.2), transparent 31%), #293330; }
.answer-back { display: inline-block; margin-bottom: 59px; color: #b9ddd2; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .05em; }
.fault-answer-hero h1 { max-width: 890px; margin: 0; font-size: clamp(49px, 6.4vw, 86px); letter-spacing: -.07em; line-height: .89; }
.fault-answer-hero p:not(.eyebrow) { max-width: 670px; margin: 25px 0 0; color: #b5c4bf; font-size: 15px; line-height: 1.65; }
.fault-answer-content { padding: 88px 0 100px; }
.fault-answer-content .container { display: grid; grid-template-columns: 1fr .36fr; gap: 42px; align-items: start; }
.answer-route { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid #c9d5d0; border-left: 1px solid #c9d5d0; }
.answer-route article { min-height: 238px; padding: 29px; border-right: 1px solid #c9d5d0; border-bottom: 1px solid #c9d5d0; background: #fbfcfa; }.answer-route article.answer-focus { grid-column: 1 / -1; min-height: 260px; background: linear-gradient(150deg, #f9fcfa, #e2efea); }
.answer-route article:nth-child(2) { background: #eaf4f1; }.answer-route article:nth-child(3) { background: #eef2f7; }.answer-route article:nth-child(4) { background: #f7efe7; }
.answer-route span { color: #52756b; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.answer-route h2 { margin: 34px 0 13px; font-size: 26px; letter-spacing: -.05em; line-height: 1; }.answer-route p { margin: 0; color: #5e6c67; font-size: 12px; line-height: 1.62; }
.answer-technical-note { margin-top: 25px; padding: 18px 0 0; border-top: 1px solid #bcd0c8; }.answer-technical-note b { color: #41685e; font-family: var(--mono); font-size: 9px; letter-spacing: .07em; }.answer-technical-note p { margin-top: 10px; color: #405b53; font-size: 12px; line-height: 1.7; }
.answer-guardrail { padding: 27px; border: 2px solid #b9cfc8; border-radius: 7px; background: #e6f0ed; }.answer-guardrail strong { color: #3b6d62; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; }.answer-guardrail p { margin: 18px 0 0; color: #52645e; font-size: 12px; line-height: 1.65; }
.fault-answer-manual { padding: 88px 0; border-top: 1px solid #d4ddd9; background: #eff3f0; }
.answer-manual-head { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: end; margin-bottom: 35px; }.answer-manual-head h2 { margin: 0; font-size: clamp(38px, 4.7vw, 62px); letter-spacing: -.065em; line-height: .94; }.answer-manual-head h2 span { color: #59796f; }.answer-manual-head > p { max-width: 490px; margin: 0 0 5px; color: #61716c; font-size: 13px; line-height: 1.72; }
.answer-manual-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }.answer-manual-card { display: flex; min-height: 220px; flex-direction: column; justify-content: flex-start; padding: 24px; border: 1px solid #b8c7c1; border-top: 4px solid #6b978a; background: rgba(255,255,255,.76); color: #263330; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }.answer-manual-card.manual-2 { border-top-color: #8e9cb8; }.answer-manual-card.manual-3 { border-top-color: #c78f79; }.answer-manual-card.manual-4 { border-top-color: #d2a46d; }.answer-manual-card:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 13px 26px rgba(43,58,53,.12); }.answer-manual-card span { color: #58776e; font-family: var(--mono); font-size: 9px; font-weight: 800; letter-spacing: .07em; }.answer-manual-card strong { margin-top: 28px; font-size: 18px; letter-spacing: -.04em; line-height: 1.05; }.answer-manual-card small { margin-top: 12px; color: #63716d; font-size: 11px; line-height: 1.55; }.answer-manual-card em { margin-top: auto; padding-top: 24px; color: #3f665c; font-family: var(--mono); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.fault-answer-next { padding: 81px 0; color: #ebf3ef; background: #34423f; }.fault-answer-next .container { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: center; }.fault-answer-next h2 { margin: 0; font-size: clamp(39px,5vw,64px); letter-spacing: -.06em; line-height: .95; }
.answer-next-links { display: grid; border-top: 1px solid #65736e; border-left: 1px solid #65736e; }.answer-next-links a { display: grid; grid-template-columns: 90px 1fr 18px; align-items: center; gap: 16px; padding: 20px; border-right: 1px solid #65736e; border-bottom: 1px solid #65736e; color: #eef4f1; }.answer-next-links a:hover { background: #40514d; }.answer-next-links span { color: #a6d2c5; font-family: var(--mono); font-size: 8px; font-weight: 800; }.answer-next-links strong { font-size: 14px; }.answer-next-links i { color: #a6d2c5; font-size: 19px; font-style: normal; }
@media (max-width: 900px) { .fault-answer-content .container, .fault-answer-next .container, .answer-manual-head { grid-template-columns: 1fr; gap: 36px; }.answer-manual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .fault-answer-hero { padding: 62px 0; }.answer-back { margin-bottom: 42px; }.answer-route { grid-template-columns: 1fr; }.answer-route article, .answer-route article.answer-focus { min-height: auto; padding: 25px; }.answer-manual-grid { grid-template-columns: 1fr; }.answer-manual-card { min-height: 190px; }.answer-next-links a { grid-template-columns: 70px 1fr 14px; padding: 16px; } }

/* REFTHE · Cura della navigazione: il percorso resta leggibile anche da tastiera. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(237, 99, 42, .82);
  outline-offset: 3px;
}

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

@media (max-width: 900px) {
  .home-intent-head { grid-template-columns: 1fr; gap: 24px; }
  .home-intent-grid { grid-template-columns: 1fr; }
  .intent-card { min-height: 250px; border-right: 0; border-bottom: 1px solid #cbd8d2; }
  .intent-card:last-child { border-bottom: 0; }
}

@media (max-width: 560px) {
  .home-intent { padding: 58px 0; }
  .home-intent-head h2 { font-size: 40px; }
  .intent-card { min-height: 238px; padding: 25px; }
  .intent-symbol { width: 45px; height: 45px; margin: 20px 0; }
  .intent-card strong { right: 25px; bottom: 23px; left: 25px; }
}
/* Biblioteca: accento Pantone arancio, riservato ai percorsi documentali. */
:root{--refthe-library-orange:#ff5a1f;--refthe-library-orange-soft:rgba(255,90,31,.14)}
.primary-nav a[href="documentazione.html"],.primary-nav a[href^="biblioteca-"]{box-shadow:inset 0 -3px 0 var(--refthe-library-orange)}
:is(.button,.text-link,.controller-archive-links a,.footer-column a)[href="documentazione.html"],:is(.button,.text-link,.controller-archive-links a,.footer-column a)[href^="documentazione.html#"],:is(.button,.text-link,.controller-archive-links a,.footer-column a)[href^="biblioteca-"]{outline:2px solid var(--refthe-library-orange);outline-offset:2px;text-decoration-color:var(--refthe-library-orange)}
.library-shelf-card[href="documentazione.html"],.library-shelf-card[href^="biblioteca-"],.refrigeration-entry-grid>a[href="documentazione.html"],.refrigeration-entry-grid>a[href^="biblioteca-"],.refrigeration-document-card>a[href="documentazione.html"],.refrigeration-document-card>a[href^="biblioteca-"],.cell-brand-card[href="documentazione.html"],.cell-brand-card[href^="biblioteca-"],.document-card[href="documentazione.html"],.document-card[href^="biblioteca-"]{outline:3px solid var(--refthe-library-orange);outline-offset:-3px;box-shadow:inset 0 0 0 1px var(--refthe-library-orange-soft)}
.manufacturer-archive-card:has(a[href^="biblioteca-"]),.document-card:has(a[href^="biblioteca-"]){border-color:var(--refthe-library-orange)!important;box-shadow:inset 0 0 0 1px var(--refthe-library-orange-soft)}

/* Copertina di ingresso REFTHE: una scelta semplice prima di entrare nel portale. */
.site-cover{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:auto;padding:42px;color:#fffaf4;background:radial-gradient(circle at 73% 22%,rgba(255,226,184,.38),transparent 25%),radial-gradient(circle at 19% 86%,rgba(120,39,20,.28),transparent 32%),linear-gradient(132deg,#a83f16 0%,#d9541d 43%,#ee7741 72%,#f2aa70 100%)}
.site-cover::before,.site-cover::after{position:absolute;content:"";pointer-events:none}.site-cover::before{width:min(68vw,920px);height:min(68vw,920px);border:1px solid rgba(255,250,244,.2);border-radius:50%;transform:translate(32%,14%)}.site-cover::after{inset:22px;border:1px solid rgba(255,250,244,.22)}html.cover-complete .site-cover{display:none}
.cover-brand,.cover-edition{position:absolute;z-index:1}.cover-brand{top:38px;left:clamp(28px,5vw,82px);display:grid;gap:8px}.cover-brand img{width:min(228px,42vw);filter:brightness(0) invert(1)}.cover-brand span,.cover-edition,.cover-kicker{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.16em}.cover-edition{right:clamp(28px,5vw,82px);bottom:38px;opacity:.82}
.cover-center{position:relative;z-index:1;width:min(720px,100%);padding:50px 28px 28px;text-align:center}.cover-mark{display:block;width:126px;height:126px;margin:0 auto 26px;border-radius:30px;box-shadow:0 22px 42px rgba(83,24,11,.24)}.cover-kicker{margin:0 0 13px;color:rgba(255,250,244,.84)}.cover-center h1{max-width:620px;margin:0 auto;color:#fffaf4;font-size:clamp(44px,6.1vw,84px);line-height:.94;letter-spacing:-.07em}.cover-lead{max-width:570px;margin:22px auto 34px;color:rgba(255,250,244,.9);font-size:clamp(16px,1.8vw,20px);line-height:1.5}
.cover-language-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cover-language-grid a{display:grid;min-height:132px;align-content:center;gap:5px;padding:16px 10px;border:1px solid rgba(255,250,244,.56);border-radius:12px;color:#fffaf4;background:rgba(89,25,11,.17);box-shadow:inset 0 1px rgba(255,255,255,.18);text-decoration:none;transition:transform 160ms ease,background 160ms ease,box-shadow 160ms ease}.cover-language-grid a:hover,.cover-language-grid a:focus-visible{color:#a73d14;background:#fffaf4;box-shadow:0 16px 30px rgba(92,25,9,.22);transform:translateY(-4px)}.cover-language-grid span{font-size:30px;line-height:1}.cover-language-grid strong{font-size:15px}.cover-language-grid small{font-family:var(--mono);font-size:8px;letter-spacing:.06em;opacity:.78}.cover-note{margin:21px 0 0;font-size:12px;color:rgba(255,250,244,.75)}
@media (max-width:680px){.site-cover{padding:24px 18px}.site-cover::after{inset:12px}.cover-brand{top:26px;left:28px}.cover-brand img{width:166px}.cover-brand span{font-size:8px}.cover-edition{display:none}.cover-center{padding:94px 0 25px}.cover-mark{width:105px;height:105px;margin-bottom:20px;border-radius:24px}.cover-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-language-grid a{min-height:112px}}

/* REFTHE · Attrezzature: protezione definitiva della griglia.
   Le vecchie regole della pagina non devono più sovrapporsi alle schede V3. */
.tools-page .tool-ladder,
.tools-page .tool-card-grid {
  position: relative;
  isolation: isolate;
  align-items: stretch;
}

.tools-page .tool-ladder {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  border: 0;
  overflow: visible;
}

.tools-page .tool-ladder > .tool-ladder-card,
.tools-page .tool-card-grid > .tool-card {
  position: relative;
  z-index: 0;
  min-width: 0;
  isolation: isolate;
}

.tools-page .tool-ladder > .tool-ladder-card {
  overflow: hidden;
}

.tools-page .tool-ladder > .tool-ladder-card::before {
  z-index: 0;
}

.tools-page .tool-ladder > .tool-ladder-card > *,
.tools-page .tool-card-grid > .tool-card > * {
  position: relative;
  z-index: 1;
}

.tools-page .tool-ladder > .tool-ladder-card:hover,
.tools-page .tool-ladder > .tool-ladder-card:focus-visible,
.tools-page .tool-card-grid > .tool-card:hover,
.tools-page .tool-card-grid > .tool-card:focus-within {
  z-index: 2;
}

@media (max-width: 1050px) {
  .tools-page .tool-ladder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .tools-page .tool-ladder,
  .tools-page .tool-card-grid { grid-template-columns: minmax(0, 1fr); }
}

/* REFTHE · il motore di ricerca della home deve rimanere leggibile:
   i risultati non vengono più tagliati dal bordo della sezione hero. */
.home-hero-v2 {
  overflow: visible;
  z-index: 4;
}

.home-v2 .home-proof {
  position: relative;
  z-index: 1;
}

.home-search-shell .search-results {
  z-index: 60;
  max-height: min(68vh, 720px);
  overflow-y: auto;
}

/* REFTHE · scelta attrezzature: un percorso breve, leggibile e non invasivo. */
.tool-finder-section {
  position: relative;
  z-index: 1;
  padding: 96px 0;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, #eff6f2 0%, #f8f6ef 55%, #f6eee9 100%);
}

.tool-finder-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr); gap: 70px; align-items: start; }
.tool-finder-intro h2 { max-width: 670px; margin: 12px 0 22px; font-size: clamp(34px, 4.2vw, 58px); letter-spacing: -.055em; line-height: .98; }
.tool-finder-intro > p:not(.eyebrow) { max-width: 630px; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.finder-visual-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 29px; }
.finder-visual-card { position: relative; display: grid; min-height: 190px; align-content: space-between; gap: 8px; padding: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; color: #f8f4ea; background: radial-gradient(circle at 82% 5%, rgba(245,158,11,.24), transparent 33%), linear-gradient(145deg, #0c1d2c, #1c2528 72%, #263638); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 10px 22px rgba(23,42,43,.13); text-align: left; cursor: pointer; transition: transform .4s cubic-bezier(.23,1,.32,1), box-shadow .4s cubic-bezier(.23,1,.32,1), border-color .4s ease; }
.finder-visual-card::before { content: ""; position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 14px 14px; pointer-events: none; }
.finder-visual-card:hover, .finder-visual-card:focus-visible, .finder-visual-card.is-selected { transform: translateY(-5px); border-color: rgba(251,191,36,.95); box-shadow: inset 0 1px rgba(255,255,255,.14), 0 14px 28px rgba(23,42,43,.19), 0 0 0 3px rgba(234,98,34,.15); outline: none; }
.finder-visual-art { position: relative; z-index: 1; display: block; width: 100%; height: 97px; color: #eef6f2; filter: drop-shadow(0 6px 9px rgba(0,0,0,.25)); transition: transform .4s cubic-bezier(.23,1,.32,1), filter .4s ease; }
.finder-visual-art img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(1.05) contrast(1.04); }
.finder-visual-card:hover .finder-visual-art, .finder-visual-card:focus-visible .finder-visual-art { transform: scale(1.045); filter: drop-shadow(0 7px 10px rgba(0,0,0,.33)) drop-shadow(0 0 12px rgba(251,191,36,.32)); }
.finder-visual-art svg { width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.finder-visual-art .lcd { fill: #132c35; stroke: url(#diagnosticGlow); }.finder-visual-art text { fill: #ffd870; stroke: none; font: 700 12px ui-monospace, monospace; }.finder-visual-art .tube { stroke: #80b4ae; }.finder-visual-art .needle { stroke: #fbbf24; transform-box: fill-box; transform-origin: center; transition: transform .55s cubic-bezier(.23,1,.32,1); }.finder-visual-card:hover .needle-left { transform: rotate(-22deg); }.finder-visual-card:hover .needle-right { transform: rotate(22deg); }.finder-visual-art .rotor { transform-box: fill-box; transform-origin: center; }.finder-visual-card:hover .rotor { animation: refthe-rotor .95s linear infinite; }.finder-visual-art .micron { fill: #173038; stroke: #fbbf24; }.finder-visual-art .drill-body { fill: #253b3f; stroke: #e8f3ef; }.finder-visual-art .grip { fill: #14292d; }.finder-visual-art .chuck { transform-box: fill-box; transform-origin: center; transition: transform .45s cubic-bezier(.23,1,.32,1); }.finder-visual-card:hover .chuck { transform: rotate(18deg); }.finder-visual-art .led { fill: url(#powerGlow); stroke: #fff2c8; filter: drop-shadow(0 0 7px #fbbf24); opacity: .55; transition: opacity .35s ease; }.finder-visual-card:hover .led { opacity: 1; }
.finder-card-copy { position: relative; z-index: 1; display: grid; gap: 4px; }.finder-card-copy b { font-size: 15px; letter-spacing: -.02em; }.finder-card-copy small { color: #b6cac2; font-size: 11px; line-height: 1.35; }.finder-card-arrow { position: absolute; z-index: 1; right: 13px; bottom: 11px; color: #fbbf24; font-family: var(--mono); font-size: 15px; transition: transform .35s ease; }.finder-visual-card:hover .finder-card-arrow { transform: translate(2px,-2px); }
.finder-method-badge { display: inline-flex; gap: 8px; align-items: center; margin: 18px 0 -6px; color: #426b62; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }.finder-method-badge span { color: var(--accent); font-size: 14px; }
@keyframes refthe-rotor { to { transform: rotate(360deg); } }
.tool-finder-principles { display: grid; gap: 9px; margin: 34px 0 0; padding: 0; list-style: none; color: var(--ink-soft); }
.tool-finder-principles li { display: flex; gap: 12px; align-items: center; }
.tool-finder-principles b { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #8fb2aa; border-radius: 50%; color: #426b62; font-family: var(--mono); font-size: 10px; }
.tool-finder-panel { display: grid; gap: 0; overflow: hidden; border: 1px solid #1d3030; background: rgba(255,255,255,.84); box-shadow: 12px 12px 0 rgba(44, 70, 65, .15); }
.tool-finder-step { display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 15px 24px; align-items: center; padding: 22px 24px; border-bottom: 1px solid #ccdcd7; }
.tool-finder-step > span { color: #5c8077; font-family: var(--mono); font-size: 10px; letter-spacing: .07em; }
.tool-finder-step label { color: var(--ink); font-weight: 750; }
.tool-finder-step select { grid-column: 2; min-width: 0; padding: 13px 14px; border: 1px solid #94aca5; border-radius: 0; color: var(--ink); background: #fff; font: inherit; }
.tool-finder-step select:focus { outline: 3px solid rgba(234,98,34,.25); outline-offset: 2px; }
.tool-finder-actions { display: flex; flex-wrap: wrap; gap: 11px; padding: 22px 24px 10px; }
.tool-finder-feedback { min-height: 22px; margin: 0; padding: 0 24px; color: #a34828; font-size: 14px; }
.tool-finder-result { margin: 16px 24px 24px; padding: 22px; border: 1px solid #a8c0b8; background: linear-gradient(135deg, #e5f1ec, #f5faf7); }
.tool-finder-result[hidden] { display: none; }
.tool-finder-result > span { color: #4f786f; font-family: var(--mono); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.tool-finder-result h3 { margin: 8px 0; font-size: 23px; letter-spacing: -.035em; }
.tool-finder-result p { margin: 0 0 15px; color: var(--ink-soft); line-height: 1.55; }
.tool-finder-result ul { display: grid; gap: 5px; margin: 0 0 20px; padding-left: 19px; color: var(--ink-soft); font-size: 14px; }
.tool-finder-result a { display: inline-flex; padding: 11px 14px; color: #fff; background: #233634; font-family: var(--mono); font-size: 11px; font-weight: 700; text-decoration: none; }
.tool-finder-result a:hover { background: var(--accent-dark); }
@media (max-width: 900px) { .tool-finder-section { padding: 70px 0; } .tool-finder-layout { grid-template-columns: 1fr; gap: 38px; } }
@media (max-width: 640px) { .finder-visual-grid { grid-template-columns: 1fr; }.finder-visual-card { min-height: 140px; grid-template-columns: 136px 1fr; align-items:center; }.finder-visual-art { height: 88px; }.finder-card-copy { align-self:center; }.tool-finder-step { grid-template-columns: 1fr; padding: 18px; } .tool-finder-step select { grid-column: auto; } .tool-finder-actions, .tool-finder-feedback { padding-inline: 18px; } .tool-finder-result { margin-inline: 18px; } }

/* REFTHE · console diagnostica: dati, non tentativi. */
.diagnostic-console { padding: 92px 0; color: #eaf4f1; background: radial-gradient(circle at 83% 0, rgba(49, 124, 144, .22), transparent 32%), radial-gradient(circle at 5% 90%, rgba(234, 98, 34, .12), transparent 29%), #0f1d2b; }
.diagnostic-console-head { display: grid; grid-template-columns: 1fr minmax(280px, .72fr); gap: 56px; align-items: end; }.diagnostic-console-head h2 { margin: 10px 0 0; color: #f4fbf8; font-size: clamp(35px, 4.6vw, 64px); letter-spacing: -.062em; line-height: .94; }.diagnostic-console-head h2 span { color: #91cfc3; }.diagnostic-console-head > p { margin: 0; color: #b7c9c5; font-size: 15px; line-height: 1.65; }
.diagnostic-mode { display: flex; gap: 8px; margin: 42px 0 0; border-bottom: 1px solid rgba(177, 211, 203, .27); }.diagnostic-mode button { padding: 14px 18px; border: 0; border-bottom: 3px solid transparent; color: #aabdb8; background: transparent; font: 800 10px var(--mono); letter-spacing: .07em; cursor: pointer; }.diagnostic-mode button[aria-selected="true"] { border-color: #f6a635; color: #fff2d7; }
.diagnostic-panel { margin-top: 25px; padding: 30px; border: 1px solid rgba(170, 208, 198, .37); background: linear-gradient(135deg, rgba(18, 40, 52, .88), rgba(19, 31, 38, .9)); box-shadow: 14px 14px 0 rgba(0, 0, 0, .13); }.wizard-heading { max-width: 850px; }.wizard-heading > span, .matrix-intro > span { color: #f4af44; font: 800 10px var(--mono); letter-spacing: .09em; }.wizard-heading strong { display: block; margin-top: 11px; color: #fff; font-size: 28px; letter-spacing: -.035em; }.wizard-heading p, .matrix-intro p { color: #b3c3bf; font-size: 14px; line-height: 1.62; }
.diagnostic-wizard { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 27px; }.diagnostic-wizard fieldset { min-width: 0; margin: 0; padding: 19px; border: 1px solid rgba(166, 203, 194, .28); background: rgba(5, 16, 24, .26); }.diagnostic-wizard legend { padding: 0 7px; color: #dceee9; font-size: 13px; font-weight: 800; }.diagnostic-wizard legend b { margin-right: 7px; color: #f5aa3d; font-family: var(--mono); }.wizard-options { display: grid; gap: 8px; }.wizard-options label { display: flex; gap: 8px; align-items: flex-start; color: #bcd0ca; font-size: 12px; line-height: 1.4; cursor: pointer; }.wizard-options input { accent-color: #f5a335; margin-top: 2px; }.wizard-selects { display: grid; gap: 12px; }.wizard-selects label { display: grid; gap: 7px; color: #bcd0ca; font: 800 10px var(--mono); letter-spacing: .035em; }.wizard-selects select { padding: 10px; border: 1px solid #54766f; color: #e7f1ee; background: #162b35; font: 600 12px var(--sans); }.wizard-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }.wizard-actions .button { border: 1px solid #f1a23a; }.wizard-result { grid-column: 1 / -1; padding: 26px; border: 1px solid #e0a24c; background: linear-gradient(135deg, rgba(85, 54, 25, .58), rgba(25, 48, 49, .76)); }.wizard-result[hidden] { display: none; }.wizard-result > span { color: #f9c57e; font: 800 10px var(--mono); letter-spacing: .08em; }.wizard-result h3 { margin: 10px 0; color: #fff8ea; font-size: 30px; letter-spacing: -.04em; }.wizard-result p { max-width: 860px; color: #d5e2dc; line-height: 1.6; }.wizard-result ul { display: grid; gap: 7px; margin: 18px 0; padding-left: 20px; color: #c0d2cb; font-size: 13px; line-height: 1.5; }.wizard-result a { display: inline-flex; padding: 11px 13px; color: #182624; background: #f7b74c; font: 800 10px var(--mono); letter-spacing: .05em; text-decoration: none; }
.matrix-intro { max-width: 880px; }.diagnostic-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin-top: 26px; }.matrix-cell { padding: 22px; border: 1px solid #587a76; background: rgba(4, 17, 26, .37); }.matrix-cell > span { color: #a4d8cc; font: 800 10px var(--mono); letter-spacing: .065em; }.matrix-cell h3 { margin: 13px 0 12px; color: #f4faf7; font-size: 22px; line-height: 1.04; letter-spacing: -.035em; }.matrix-cell p { color: #bdccc8; font-size: 12px; line-height: 1.58; }.matrix-cell p b { color: #e7f1ed; }.matrix-cell div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }.matrix-cell a { color: #f4bb61; font: 800 9px var(--mono); letter-spacing: .05em; text-decoration: none; }.matrix-cell.severity-critical { border-color: #d47659; }.matrix-cell.severity-warning { border-color: #d7a55e; }.matrix-cell.severity-attention { border-color: #72b2a6; }
.fault-procedures { padding: 98px 0; background: linear-gradient(135deg, #f6f3eb, #edf4f0 56%, #f7eee8); }.procedure-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.procedure-grid details { border: 1px solid #b9ccc6; background: rgba(255, 255, 255, .79); }.procedure-grid summary { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 19px; cursor: pointer; list-style: none; }.procedure-grid summary::-webkit-details-marker { display: none; }.procedure-grid summary strong { color: #263a37; font-size: 17px; line-height: 1.1; }.procedure-grid summary i { color: #d35f2c; font-size: 23px; font-style: normal; transition: transform .3s ease; }.procedure-grid details[open] summary i { transform: rotate(180deg); }.severity { display: inline-flex; padding: 6px 7px; color: #fff; font: 800 8px var(--mono); letter-spacing: .07em; }.severity-critical { background: #b84c3c; }.severity-warning { background: #bf8231; }.severity-attention { background: #438373; }.procedure-body { display: grid; grid-template-columns: 1.2fr .8fr; gap: 25px; padding: 0 20px 24px; border-top: 1px solid #d5e1dc; color: #596b66; }.procedure-body h3 { margin: 21px 0 8px; color: #2e4f48; font-size: 17px; }.procedure-body h4 { margin: 18px 0 7px; color: #53766e; font: 800 10px var(--mono); letter-spacing: .07em; }.procedure-body p, .procedure-body li { font-size: 12px; line-height: 1.58; }.procedure-body ul { padding-left: 18px; }.procedure-body a { display: inline-flex; margin-top: 16px; padding: 10px 12px; border: 1px solid #e87238; color: #a34625; font: 800 9px var(--mono); letter-spacing: .05em; text-decoration: none; }
@media (max-width: 900px) { .diagnostic-console-head, .diagnostic-wizard, .procedure-grid { grid-template-columns: 1fr; }.diagnostic-wizard { gap: 10px; }.diagnostic-matrix { grid-template-columns: 1fr; }.procedure-body { grid-template-columns: 1fr; } }
@media (max-width: 580px) { .diagnostic-console, .fault-procedures { padding: 65px 0; }.diagnostic-console-head { gap: 20px; }.diagnostic-panel { padding: 17px; }.diagnostic-mode { overflow-x: auto; }.diagnostic-mode button { flex: 0 0 auto; padding-inline: 10px; }.wizard-result h3 { font-size: 24px; }.procedure-grid summary { grid-template-columns: 1fr auto; }.procedure-grid summary .severity { grid-column: 1 / -1; justify-self: start; } }

/* REFTHE · calcolatori e matrice di troubleshooting. */
.hvacr-utilities { padding: 96px 0; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, #f8f5ef, #edf4f1 58%, #eff4f7); }
.utility-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.utility-tabs button { padding: 12px 15px; border: 1px solid #95aaa4; color: #34534d; background: transparent; font-family: var(--mono); font-size: 11px; font-weight: 700; cursor: pointer; }
.utility-tabs button[aria-selected="true"] { border-color: #1d3834; color: #fff; background: #1d3834; }
.utility-panel { margin-top: 16px; padding: 28px; border: 1px solid #b4c7c1; background: rgba(255,255,255,.78); box-shadow: 9px 9px 0 rgba(55,82,75,.10); }
.utility-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 14px; align-items: end; }
.utility-form > div { display: grid; gap: 7px; }
.utility-form label { color: #385a53; font-family: var(--mono); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.utility-form input, .utility-form select { min-width: 0; height: 47px; padding: 10px 12px; border: 1px solid #9cb3ac; border-radius: 0; color: var(--ink); background: #fff; font: inherit; }
.utility-form input:focus, .utility-form select:focus { outline: 3px solid rgba(234,98,34,.24); outline-offset: 1px; }
.utility-result { margin-top: 22px; padding: 20px; border-left: 5px solid #6f998b; background: #edf6f1; }
.utility-result[hidden] { display: none; }
.utility-result[data-state="attention"] { border-color: #dd8c50; background: #fff4e9; }
.utility-result[data-state="risk"] { border-color: #bd5b45; background: #fcefed; }
.utility-result strong { display: block; margin-bottom: 7px; font-size: 21px; }
.utility-result p { margin: 0; color: var(--ink-soft); line-height: 1.55; }
.utility-result small { display: block; margin-top: 12px; color: #58726b; }
.utility-note { margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.field-troubleshooting { padding: 96px 0; background: #1b2929; color: #f4f6f1; }
.field-troubleshooting-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 72px; align-items: start; }
.field-troubleshooting .eyebrow { color: #b3d9c7; }.field-troubleshooting .eyebrow::before { background: #ec6b2d; }
.field-troubleshooting h2 { margin: 14px 0 21px; font-size: clamp(38px, 5vw, 63px); letter-spacing: -.06em; line-height: .95; }.field-troubleshooting-grid > div > p:not(.eyebrow) { max-width: 500px; color: #c6d2cf; font-size: 17px; line-height: 1.65; }
.field-troubleshooting-list { border-top: 1px solid #4c605d; }.field-troubleshooting details { border-bottom: 1px solid #4c605d; }.field-troubleshooting summary { display: flex; justify-content: space-between; gap: 24px; padding: 24px 4px; color: #fff; font-size: 20px; font-weight: 750; cursor: pointer; list-style: none; }.field-troubleshooting summary::-webkit-details-marker { display: none; }.field-troubleshooting summary b { color: #ec6b2d; }.field-troubleshooting details p { margin: 0; padding: 0 4px 15px; color: #c6d2cf; line-height: 1.6; }.field-troubleshooting details a { display: inline-flex; margin: 0 4px 24px; color: #b3d9c7; font-family: var(--mono); font-size: 11px; font-weight: 700; text-decoration: none; }.field-troubleshooting details a:hover { color: #fff; }
@media (max-width: 1080px) { .utility-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.utility-form .button { width: fit-content; }.field-troubleshooting-grid { grid-template-columns: 1fr; gap: 38px; } }
@media (max-width: 620px) { .hvacr-utilities, .field-troubleshooting { padding: 68px 0; }.utility-panel { padding: 18px; }.utility-form { grid-template-columns: 1fr; }.utility-form .button { width: 100%; }.field-troubleshooting summary { font-size: 18px; } }

/* REFTHE · uso corretto del calcolatore e trasparenza editoriale. */
.utility-howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none}.utility-howto li{background:#081b32;color:#e6f4ff;border:1px solid #31536d;border-radius:12px;padding:14px;font-size:.88rem;line-height:1.45}.utility-howto b{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:50%;background:#f59e0b;color:#0f172a;font-family:var(--mono);font-size:.74rem}.home-faq{padding:74px 0;background:#f5f8f7}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}.faq-grid details{background:#fff;border:1px solid #ccd8d4;border-radius:14px;padding:0 20px;box-shadow:0 8px 22px rgba(26,45,39,.05)}.faq-grid summary{padding:21px 26px 21px 0;cursor:pointer;font-weight:800;color:#172a25}.faq-grid p{padding:0 0 21px;margin:0;color:#52645e;line-height:1.65}@media(max-width:760px){.utility-howto,.faq-grid{grid-template-columns:1fr}}

/* REFTHE · sportello B2B: due richieste, un perimetro editoriale chiaro. */
.accuracy-badge{display:inline-flex;margin-left:10px;padding:6px 8px;border:1px solid #f59e0b;border-radius:5px;color:#8a4d05;background:#fff9e8;font:800 7px/1.35 var(--mono);letter-spacing:.075em;text-align:center}.home-areas{padding:88px 0;background:linear-gradient(140deg,#eef4f2,#f7f7f3 55%,#ecf2f5)}.home-areas-heading{display:grid;grid-template-columns:1fr minmax(280px,.66fr);gap:54px;align-items:end;margin-bottom:31px}.home-areas-heading h2{margin:10px 0 0;color:#152c2a;font-size:clamp(40px,5vw,68px);letter-spacing:-.07em;line-height:.9}.home-areas-heading>p{max-width:460px;margin:0;color:#5a6c67;font-size:15px;line-height:1.68}.precision-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #b5c9c1;border-left:1px solid #b5c9c1}.precision-area{position:relative;display:flex;min-height:278px;flex-direction:column;padding:20px;border-right:1px solid #b5c9c1;border-bottom:1px solid #b5c9c1;color:#20342f;background:rgba(255,255,255,.7);text-decoration:none;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,background .3s ease}.precision-area:nth-child(2n){background:rgba(239,245,247,.86)}.precision-area:nth-child(3n){background:rgba(246,241,229,.84)}.precision-area:hover,.precision-area:focus-visible{z-index:1;transform:translateY(-7px);background:#fff;box-shadow:0 16px 30px rgba(27,54,47,.16);outline:3px solid rgba(245,158,11,.35);outline-offset:-3px}.precision-area small{margin-top:17px;color:#56796f;font:800 9px/1 var(--mono);letter-spacing:.07em}.precision-area h3{margin:10px 0 8px;font-size:20px;letter-spacing:-.045em;line-height:1.03}.precision-area p{margin:0;color:#60736d;font-size:12px;line-height:1.5}.precision-area em{margin-top:auto;padding-top:20px;color:#b85b12;font:800 10px/1 var(--mono);font-style:normal;letter-spacing:.055em}.precision-icon{position:relative;display:block;width:90px;height:74px;color:#0f172a;filter:drop-shadow(0 5px 6px rgba(15,23,42,.16));transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s ease}.precision-area:hover .precision-icon,.precision-area:focus-visible .precision-icon{transform:scale(1.08);filter:drop-shadow(0 0 8px rgba(245,158,11,.5))}.precision-icon:before,.precision-icon:after,.precision-icon i,.precision-icon b{position:absolute;box-sizing:border-box;content:"";display:block}.icon-cooling:before{left:8px;top:18px;width:69px;height:41px;border:4px solid currentColor;border-radius:8px;background:repeating-linear-gradient(90deg,transparent 0 9px,rgba(15,23,42,.28) 10px 12px)}.icon-cooling:after{left:33px;top:27px;width:20px;height:20px;border:3px solid #f59e0b;border-radius:50%;box-shadow:0 0 0 5px rgba(245,158,11,.15)}.icon-cooling i{left:43px;top:22px;width:3px;height:30px;background:#f59e0b}.icon-cooling b{left:28px;top:36px;width:30px;height:3px;background:#f59e0b;transform:rotate(60deg);box-shadow:0 0 0 0 #f59e0b}.icon-hvac:before{left:11px;top:25px;width:62px;height:27px;border:4px solid currentColor;border-radius:16px}.icon-hvac:after{left:23px;top:35px;width:38px;height:4px;border-radius:4px;background:#f59e0b;box-shadow:0 -12px 0 #f59e0b,0 12px 0 #f59e0b}.icon-hvac i{left:13px;top:8px;width:14px;height:14px;border-top:4px solid #f59e0b;border-left:4px solid #f59e0b;transform:rotate(45deg)}.icon-hvac b{right:13px;bottom:8px;width:14px;height:14px;border-right:4px solid #f59e0b;border-bottom:4px solid #f59e0b;transform:rotate(45deg)}.icon-iot:before{left:17px;top:16px;width:48px;height:45px;border:4px solid currentColor;border-radius:8px}.icon-iot:after{left:28px;top:26px;width:27px;height:12px;border:2px solid #f59e0b;border-radius:3px;box-shadow:0 18px 0 -5px #f59e0b}.icon-iot i{right:1px;top:17px;width:22px;height:22px;border:3px solid #f59e0b;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(12deg)}.icon-iot b{right:9px;top:25px;width:10px;height:10px;border:3px solid #f59e0b;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(12deg)}.icon-vacuum:before{left:12px;top:27px;width:58px;height:34px;border:4px solid currentColor;border-radius:7px}.icon-vacuum:after{left:31px;top:35px;width:18px;height:18px;border:3px solid #f59e0b;border-radius:50%;background:radial-gradient(circle,#f59e0b 0 2px,transparent 3px)}.icon-vacuum i{left:19px;top:13px;width:17px;height:16px;border:4px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}.icon-vacuum b{right:2px;top:20px;width:21px;height:21px;border:3px solid #f59e0b;border-radius:50%}.icon-power:before{left:10px;top:25px;width:55px;height:22px;border:4px solid currentColor;border-radius:7px 12px 8px 7px}.icon-power:after{left:35px;top:45px;width:18px;height:25px;border:4px solid currentColor;border-top:0;transform:skew(-15deg)}.icon-power i{left:63px;top:30px;width:24px;height:10px;border:4px solid currentColor;border-left:0}.icon-power b{left:52px;top:31px;width:11px;height:11px;border:3px dotted #f59e0b;border-radius:50%;background:#f59e0b}.home-intent-direct{padding-top:92px}.home-intent-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.intent-vacuum{background:linear-gradient(145deg,#edf2f5,#f8f8f4)!important;border-color:#9fb5bf}.intent-vacuum .intent-symbol{color:#4f6d7a;background:#dbeaf0}.home-intent-direct .intent-card:hover{transform:translateY(-7px);box-shadow:0 17px 30px rgba(37,59,52,.14)}
@media(max-width:1050px){.home-areas-heading{grid-template-columns:1fr;gap:22px}.precision-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-intent-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:660px){.accuracy-badge{display:none}.home-areas{padding:64px 0}.precision-area-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-right:1px solid #b5c9c1}.precision-area{flex:0 0 240px;min-height:258px;scroll-snap-align:start}.home-intent-direct{padding-top:64px}.home-intent-grid-four{grid-template-columns:1fr}}

/* REFTHE · sportello B2B: due richieste, un perimetro editoriale chiaro. */
.enterprise-desk{padding:92px 0;background:radial-gradient(circle at 90% 0,rgba(245,158,11,.16),transparent 28%),#0f1d2b;color:#ecf6f2}.enterprise-desk-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:64px;align-items:center}.enterprise-desk .eyebrow{color:#b6ddcf}.enterprise-desk .eyebrow:before{background:#f59e0b}.enterprise-desk h2{max-width:600px;margin:14px 0 20px;font-size:clamp(37px,4.8vw,63px);letter-spacing:-.06em;line-height:.95}.enterprise-desk p:not(.eyebrow){max-width:600px;color:#bfd1cb;font-size:17px;line-height:1.64}.enterprise-principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.enterprise-principles span{padding:9px 10px;border:1px solid rgba(178,216,204,.35);color:#b8dcd0;font:800 10px/1 var(--mono);letter-spacing:.065em}.enterprise-actions{display:grid;gap:12px}.enterprise-actions a{display:grid;grid-template-columns:44px 1fr auto;column-gap:16px;align-items:center;padding:23px;border:1px solid rgba(191,224,214,.32);background:linear-gradient(135deg,rgba(30,57,58,.92),rgba(17,30,39,.94));color:#fff;text-decoration:none;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.enterprise-actions a:hover{transform:translateX(5px);border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}.enterprise-actions b{grid-row:1/3;color:#f6a33b;font:800 18px/1 var(--mono)}.enterprise-actions strong{font-size:19px;letter-spacing:-.025em}.enterprise-actions small{color:#aec4bd;font-size:13px;line-height:1.4}.enterprise-actions em{grid-column:3;grid-row:1/3;color:#f8c878;font:800 10px/1 var(--mono);font-style:normal;letter-spacing:.055em}@media(max-width:850px){.enterprise-desk{padding:68px 0}.enterprise-desk-grid{grid-template-columns:1fr;gap:35px}}@media(max-width:560px){.enterprise-actions a{grid-template-columns:34px 1fr}.enterprise-actions em{grid-column:2;grid-row:auto;margin-top:9px}.enterprise-actions small{grid-column:2}.enterprise-actions b{grid-row:1/4}}

/* REFTHE Field Ready · PWA, reporting e protocollo di prova */
.field-ready{padding:65px 0;background:#e8f0ed}.field-ready-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:46px;align-items:center}.field-ready h2{margin:10px 0 16px;font-size:clamp(31px,4vw,51px);line-height:.98;letter-spacing:-.055em}.field-ready p:not(.eyebrow){max-width:720px;color:#52645f;line-height:1.65}.field-ready-actions{padding:28px;border:1px solid #a9c7bd;background:#f8fbfa}.field-ready-actions p{margin:15px 0}.field-ready-actions a{display:inline-block;margin-top:7px;color:#b54b22;font:800 11px var(--mono);letter-spacing:.05em;text-decoration:none}.report-hero,.lab-hero{padding:94px 0 76px;background:radial-gradient(circle at 86% 10%,rgba(245,158,11,.22),transparent 28%),#0f1d2b;color:#f5fbf8}.report-hero h1,.lab-hero h1{max-width:820px;margin:10px 0 18px;font-size:clamp(47px,7vw,86px);line-height:.9;letter-spacing:-.07em}.report-hero p:not(.eyebrow),.lab-hero p:not(.eyebrow){max-width:730px;color:#c1d3ce;font-size:18px;line-height:1.6}.report-workspace{padding:64px 0 96px;background:#f1f5f3}.report-disclaimer{display:grid;grid-template-columns:150px 1fr;gap:20px;margin-bottom:24px;padding:25px;border:1px solid #e5b78f;background:#fff5e9}.report-disclaimer strong{color:#a84923;font:800 11px var(--mono);letter-spacing:.06em}.report-disclaimer p{margin:0;color:#5a5f59;line-height:1.58}.report-disclaimer div{grid-column:2;display:flex;flex-wrap:wrap;gap:16px}.report-disclaimer a{color:#a84923;font:800 10px var(--mono);text-decoration:none}.commissioning-report{background:#fff;border:1px solid #ccd9d4}.commissioning-report section{padding:31px;border-bottom:1px solid #d5e0dc}.commissioning-report section>header{display:flex;gap:17px;margin-bottom:24px}.commissioning-report section>header>span{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:50%;background:#173d42;color:#f5c667;font:800 11px var(--mono)}.commissioning-report h2{margin:1px 0 4px;color:#172a25;font-size:24px;letter-spacing:-.04em}.commissioning-report header p{margin:0;color:#61716b;font-size:13px}.report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.report-fields label{display:grid;gap:7px;color:#38524a;font:800 10px var(--mono);letter-spacing:.04em}.report-fields input,.report-fields select,.report-fields textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bdcec8;border-radius:3px;background:#fcfefd;color:#182a25;font:500 14px var(--sans);letter-spacing:0}.report-fields textarea{resize:vertical}.report-fields .report-check{grid-column:1/-1;display:flex;grid-template-columns:20px 1fr;align-items:start;font:500 14px/1.55 var(--sans);letter-spacing:0}.report-check input{width:17px;height:17px;margin:2px 0 0}.report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:26px 31px;background:#f7faf8}.report-actions p{flex:1 1 240px;margin:0;color:#3f5f55;font-size:13px;line-height:1.5}.text-button{border:0;background:none;color:#9a4c25;font:800 10px var(--mono);letter-spacing:.05em;cursor:pointer}.compliance-panel{border-color:#d5a979}.compliance-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:28px}.compliance-grid h3{margin:0 0 10px;font-size:23px;letter-spacing:-.04em}.compliance-grid p{margin:0;color:#596963;line-height:1.6}.compliance-grid>div:last-child{display:grid;align-content:start;gap:9px}.compliance-grid a{padding:12px;border:1px solid #d4b080;color:#8d4320;background:#fff9f2;font:800 10px var(--mono);letter-spacing:.05em;text-decoration:none}.lab-method{padding:82px 0;background:#f5f8f7}.lab-phases{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:38px 0 0;padding:0;list-style:none;background:#cbd8d3}.lab-phases li{min-height:235px;padding:24px;background:#fff}.lab-phases b{color:#dc6a30;font:800 20px var(--mono)}.lab-phases h3{margin:41px 0 9px;font-size:20px;letter-spacing:-.04em}.lab-phases p{color:#60706a;font-size:13px;line-height:1.55}.lab-status{padding:74px 0;background:#112a2e;color:#eef8f4}.lab-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lab-status article{padding:30px;border:1px solid #41615e;background:rgba(255,255,255,.03)}.lab-status span{color:#f2bb68;font:800 10px var(--mono);letter-spacing:.07em}.lab-status h2{margin:16px 0 10px;font-size:31px;letter-spacing:-.05em}.lab-status p{color:#bed0c9;line-height:1.6}.lab-status a{display:inline-block;margin-top:16px;color:#f5c772;font:800 10px var(--mono);letter-spacing:.06em;text-decoration:none}@media(max-width:850px){.field-ready-grid,.compliance-grid,.lab-status-grid{grid-template-columns:1fr}.report-fields.three,.lab-phases{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.field-ready{padding:47px 0}.report-hero,.lab-hero{padding:70px 0 55px}.report-disclaimer{grid-template-columns:1fr}.report-disclaimer div{grid-column:auto}.commissioning-report section{padding:21px}.report-fields,.report-fields.three,.lab-phases{grid-template-columns:1fr}.report-actions{padding:20px}.compliance-grid{gap:18px}}
/* REFTHE · industrial 3D renders: asset fotografici per identità Field-Ready. */
.technical-shield-badge{display:flex;align-items:center;gap:11px;max-width:max-content;margin:14px 0 18px;padding:7px 13px 7px 7px;border:1px solid rgba(100,129,158,.38);border-radius:10px;color:#5a7280;background:rgba(247,251,252,.72);box-shadow:0 10px 20px rgba(18,37,49,.08)}
.technical-shield-badge img{width:48px;height:48px;object-fit:cover;border-radius:7px;filter:drop-shadow(0 7px 8px rgba(10,24,43,.28))}
.technical-shield-badge span{font:800 8px/1.45 var(--mono);letter-spacing:.09em}.technical-shield-badge b{color:#be5519;font-size:7px}
.precision-render{position:relative;display:block;width:100%;height:104px;margin:-8px 0 4px;overflow:hidden;border:1px solid rgba(17,35,57,.18);border-radius:8px;background:#0b1422;box-shadow:inset 0 0 0 1px rgba(245,158,11,.1),0 7px 14px rgba(19,32,48,.12);perspective:700px}
.precision-render:after{position:absolute;inset:auto 0 0;height:32%;content:"";pointer-events:none;background:linear-gradient(transparent,rgba(8,15,27,.38))}
.precision-render img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:translateZ(0);transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s ease;filter:saturate(.97) contrast(1.04)}
.precision-area:hover .precision-render img,.precision-area:focus-visible .precision-render img{transform:translateY(-5px) rotateY(5deg) scale(1.08);filter:saturate(1.08) contrast(1.07) drop-shadow(0 0 8px rgba(245,158,11,.5))}
.precision-area:hover .precision-render,.precision-area:focus-visible .precision-render{border-color:rgba(245,158,11,.72);box-shadow:0 0 0 3px rgba(245,158,11,.12),0 12px 20px rgba(20,31,49,.16)}
@media(max-width:660px){.technical-shield-badge{margin-bottom:15px}.precision-render{height:116px}}

/* Scheda tecnica REFTHE: stato fonte, non valori inventati. */
.verified-spec-card{margin:28px 0;padding:22px;border:1px solid #b9cfc7;background:#f3f8f5}.verified-spec-card>div{display:flex;justify-content:space-between;gap:20px}.verified-spec-card span{color:#a64b23;font:800 10px var(--mono);letter-spacing:.06em}.verified-spec-card strong{color:#173d42}.verified-spec-card ul{margin:18px 0;padding:0;border-top:1px solid #c9d8d2;list-style:none}.verified-spec-card li{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #d7e2de;color:#5a6c66;font-size:13px}.verified-spec-card li b{color:#294b42}.verified-spec-card p{margin:15px 0 0;color:#5d6d67;font-size:13px;line-height:1.55}.verified-spec-card a{color:#a64b23;font-weight:800}@media(max-width:600px){.verified-spec-card li{grid-template-columns:1fr}}

/* REFTHE · area Inverter nella mappa operativa */
.precision-area-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.area-inverter{background:linear-gradient(145deg,#edf0f8,#fbfaf7)!important;border-color:#aebad8}.area-inverter .precision-render{filter:drop-shadow(0 7px 7px rgba(54,73,118,.25))}.area-inverter:hover .precision-render{filter:drop-shadow(0 0 9px rgba(245,158,11,.58))}

/* REFTHE · settima area: biblioteca tecnica con identità visiva dedicata. */
.precision-area-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.area-library{background:linear-gradient(145deg,#fff4e8,#fffdf8)!important;border-color:#e38a36}.area-library .precision-render{filter:drop-shadow(0 7px 8px rgba(185,90,16,.22))}.area-library:hover .precision-render{filter:drop-shadow(0 0 11px rgba(245,158,11,.66))}
@media(max-width:1050px){.precision-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* REFTHE Field-Ready · comandi leggibili, uso con guanti e risposta immediata. */
:root{--field-navy:#0f172a;--field-amber:#f59e0b;--field-green:#10b981;--field-red:#ef4444;--field-white:#f8fafc}
button,select,input[type="submit"],input[type="button"],.button,.drawer-launch,.precision-mega-trigger,.field-quick-bar button,.field-quick-bar a,.utility-tabs button,.search-examples button{min-height:48px;min-width:48px;touch-action:manipulation}
.button-row,.utility-tabs,.home-hero-actions,.search-examples,.refthe-drawer-actions{gap:12px}
.home-hero-lead{max-width:660px!important;font-size:clamp(17px,1.8vw,20px)!important;line-height:1.48!important}
.home-hero-actions{margin-bottom:16px}
.hero-pt-console{margin-top:18px;padding:18px;border:1px solid rgba(245,158,11,.76);border-radius:13px;background:linear-gradient(135deg,#0a192f,#16243c);box-shadow:0 12px 32px rgba(10,25,47,.22);color:#f8fafc}
.hero-pt-heading{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;margin-bottom:13px}.hero-pt-heading strong{display:block;font-size:15px}.hero-pt-heading small{color:#c5d2df;font-size:11px}.hero-pt-heading a{color:#f8bf45;font:800 10px/1.3 var(--mono);letter-spacing:.06em;text-decoration:none}.hero-pt-live{padding:7px;border:1px solid rgba(245,158,11,.7);color:#ffc85a;background:rgba(245,158,11,.12);font:800 9px/1 var(--mono);letter-spacing:.08em}
.hero-pt-form{display:grid;grid-template-columns:1.15fr 1.25fr .75fr .75fr auto;gap:12px;align-items:end}.hero-pt-form label{display:grid;gap:5px;color:#cbd9e7;font:800 9px/1.1 var(--mono);letter-spacing:.05em}.hero-pt-form select,.hero-pt-form input{box-sizing:border-box;width:100%;height:48px;padding:0 11px;border:1px solid #7590aa;border-radius:7px;background:#f8fafc;color:#172033;font:700 14px var(--sans)}.hero-pt-form button{height:48px;padding:0 15px;border:1px solid #f8c158;border-radius:7px;background:#f59e0b;color:#111827;font:900 11px/1 var(--mono);letter-spacing:.055em;cursor:pointer}.hero-pt-form button:hover{background:#ffc04c;box-shadow:0 0 18px rgba(245,158,11,.35)}.hero-pt-note{margin:11px 0 0;color:#b5c4d1;font-size:11px;line-height:1.5}.hero-pt-result{margin-top:12px!important}
.utility-result[data-state="optimal"]{border-color:#10b981!important;background:#e9fbf5!important}.utility-result[data-state="attention"]{border-color:#f59e0b!important;background:#fff8e8!important}.utility-result[data-state="critical"]{border-color:#ef4444!important;background:#fff0f1!important}.utility-result[data-state="optimal"] strong{color:#047857}.utility-result[data-state="attention"] strong{color:#a16207}.utility-result[data-state="critical"] strong{color:#b91c1c}
.field-quick-bar{display:none}.refthe-engineering-mode .field-mode-toggle{background:#f59e0b!important;color:#101827!important;border-color:#facc73!important}.refthe-engineering-mode .refthe-drawer{border-left-color:#f59e0b}
@media(max-width:980px){.hero-pt-form{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-pt-form button{width:100%}.hero-pt-heading{grid-template-columns:auto 1fr}.hero-pt-heading a{grid-column:1/-1}}
@media(max-width:760px){body{padding-bottom:76px}.home-hero-v2{padding-top:34px!important}.home-hero-copy h1{font-size:clamp(43px,14vw,66px)!important;line-height:.9!important}.home-hero-lead{font-size:16px!important}.home-hero-actions .button{width:100%;justify-content:center}.hero-pt-console{margin-inline:-2px;padding:14px}.hero-pt-form{grid-template-columns:1fr 1fr;gap:12px}.hero-pt-form button{grid-column:1/-1}.hero-pt-heading{gap:8px}.hero-pt-heading a{font-size:9px}.field-quick-bar{position:fixed;z-index:1600;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:grid;grid-template-columns:auto minmax(0,1fr) 48px 48px;gap:8px;align-items:center;padding:8px;border:1px solid #64748b;border-radius:14px;background:rgba(10,25,47,.97);box-shadow:0 12px 34px rgba(2,6,23,.48);backdrop-filter:blur(12px)}.field-quick-bar button,.field-quick-bar a{display:grid;place-items:center;height:48px;padding:0;border:1px solid #8aa0b7;border-radius:8px;background:#14243d;color:#f8fafc;font:800 10px/1 var(--mono);letter-spacing:.03em;text-decoration:none}.field-quick-bar .field-mode-toggle{min-width:82px;color:#fee6ae;border-color:#f59e0b;background:#202c3f}.field-quick-bar label{min-width:0}.field-quick-bar input{box-sizing:border-box;width:100%;height:48px;min-width:0;padding:0 10px;border:1px solid #8aa0b7;border-radius:8px;background:#f8fafc;color:#0f172a;font:700 14px var(--sans)}.field-quick-bar .field-pt-go{border-color:#f59e0b;background:#f59e0b;color:#102035}.precision-search-bar{padding-bottom:7px}.precision-search-wrap{gap:10px}.precision-search-tag{font-size:10px}.precision-search-field input{min-height:48px;font-size:16px}}
@media(prefers-contrast:more){body{background:#fff;color:#0f172a}.site-header,.field-quick-bar{background:#06101f!important}.site-header a,.field-quick-bar button{color:#fff!important}.hero-pt-console{border-width:2px}.precision-area,.refthe-drawer{border-width:2px}}

/* REFTHE · sidebar termodinamica Field Utility Suite. */
.field-tech-suite{position:fixed;z-index:1200;top:112px;right:14px;width:356px;max-height:calc(100dvh - 128px);overflow:auto;border:1px solid #334155;border-radius:14px;background:linear-gradient(150deg,rgba(15,23,42,.985),rgba(8,20,36,.985));box-shadow:0 20px 52px rgba(2,6,23,.4);color:#f8fafc;scrollbar-width:thin;scrollbar-color:#f59e0b #0f172a}.field-suite-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid #334155;background:linear-gradient(90deg,rgba(245,158,11,.14),transparent)}.field-suite-head span{display:block;margin-bottom:4px;color:#fbbf24;font:800 9px/1 var(--mono);letter-spacing:.1em}.field-suite-head strong{display:block;font-size:16px;letter-spacing:-.025em}.field-suite-head button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #64748b;border-radius:8px;background:#14223a;color:#f8fafc;font-size:24px;cursor:pointer}.field-suite-body{padding:13px}.field-tech-suite.is-collapsed .field-suite-body{display:none}.field-suite-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}.field-suite-tabs button{min-width:0;min-height:48px;padding:5px;border:1px solid #475569;border-radius:7px;background:#16253d;color:#cbd5e1;font:800 9px/1.15 var(--mono);letter-spacing:.025em;cursor:pointer}.field-suite-tabs button[aria-selected="true"]{border-color:#f59e0b;background:#f59e0b;color:#0f172a;box-shadow:0 0 16px rgba(245,158,11,.22)}.field-suite-panel{display:grid;gap:10px}.field-suite-intro{margin:0;color:#b8c7d8;font-size:11px;line-height:1.45}.field-suite-panel form{display:grid;gap:11px}.field-suite-panel label{display:grid;gap:5px;color:#cdd9e8;font:800 9px/1 var(--mono);letter-spacing:.06em}.field-suite-panel input,.field-suite-panel select{box-sizing:border-box;width:100%;min-height:48px;padding:0 10px;border:1px solid #64748b;border-radius:7px;background:#f8fafc;color:#0f172a;font:750 14px var(--sans)}.field-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-primary{min-height:50px;border:1px solid #fcd36a;border-radius:7px;background:#f59e0b;color:#0f172a;font:900 11px/1 var(--mono);letter-spacing:.065em;cursor:pointer;transition:filter .2s ease,box-shadow .2s ease}.field-primary:hover{filter:brightness(1.09);box-shadow:0 0 18px rgba(245,158,11,.32)}.field-output{display:grid;gap:8px;min-height:58px;padding:12px;border:1px solid #475569;border-radius:8px;background:rgba(15,29,49,.88);color:#dbeafe;font-size:12px;line-height:1.45}.field-output>span,.field-output small{color:#aebfd0;font-size:10px}.field-output p{margin:0}.field-output[data-state="optimal"]{border-color:#10b981;background:rgba(6,78,59,.34)}.field-output[data-state="optimal"] b{color:#6ee7b7}.field-output[data-state="attention"]{border-color:#f59e0b;background:rgba(120,53,15,.28)}.field-output[data-state="attention"] b{color:#fcd34d}.field-output[data-state="critical"]{border-color:#ef4444;background:rgba(127,29,29,.28)}.field-output[data-state="critical"] b{color:#fda4af}.field-reading{display:grid;grid-template-columns:42px 1fr;column-gap:9px;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(148,163,184,.22)}.field-reading:last-of-type{border-bottom:0}.field-reading span{color:#94a3b8;font:800 10px/1 var(--mono)}.field-reading strong{color:#fbbf24;font:900 21px/1 var(--mono)}.field-reading small{grid-column:2;color:#cbd5e1}.field-source-link{display:block;min-height:48px;padding:14px 10px;box-sizing:border-box;border:1px solid #64748b;border-radius:7px;color:#e2e8f0;font:800 10px/1 var(--mono);letter-spacing:.05em;text-align:center;text-decoration:none}.field-source-link:hover{border-color:#f59e0b;color:#fcd34d}.field-suite-dock{display:none}
@media(min-width:1281px){body.field-suite-active main,body.field-suite-active .site-footer{margin-right:382px}.field-suite-active .home-hero-grid{grid-template-columns:minmax(0,1fr)!important}.field-suite-active .home-command{display:none}.field-suite-active .container{max-width:1180px}}
@media(max-width:1280px){.field-tech-suite{position:fixed;top:auto;right:10px;bottom:78px;width:min(390px,calc(100vw - 20px));max-height:min(78dvh,690px);transform:translateY(calc(100% + 100px));opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s ease}.field-tech-suite.is-mobile-open{transform:translateY(0);opacity:1;pointer-events:auto}.field-suite-dock{position:fixed;z-index:1601;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 16px;border:1px solid #fbbf24;border-radius:26px;background:#0f172a;color:#f8fafc;box-shadow:0 12px 28px rgba(2,6,23,.34);font:800 10px/1 var(--mono);letter-spacing:.045em;cursor:pointer}.field-suite-dock.is-active{background:#f59e0b;color:#0f172a}.field-quick-bar{bottom:74px!important}.field-suite-dock{bottom:10px}.field-suite-active{padding-bottom:146px!important}}
@media(max-width:560px){.field-tech-suite{right:6px;bottom:70px;width:calc(100vw - 12px);border-radius:15px}.field-suite-head{padding:12px}.field-suite-tabs{gap:5px}.field-suite-tabs button{font-size:8px}.field-grid-two{gap:8px}.field-suite-body{padding:10px}.field-suite-dock{left:10px;right:10px;width:calc(100% - 20px)}.field-quick-bar{display:none!important}.field-suite-active{padding-bottom:78px!important}}

/* Field-ready control overrides: readable labels, spaced 48px controls and printable reports. */
.field-suite-panel label em{color:#94a3b8;font-size:8px;font-style:normal;letter-spacing:.03em}.field-primary:focus-visible,.field-primary:hover{filter:brightness(1.09);box-shadow:0 0 18px rgba(245,158,11,.32)}.field-report-button{display:block;min-height:48px;padding:14px 10px;box-sizing:border-box;border:1px solid #10b981;border-radius:7px;background:#064e3b;color:#ecfdf5;font:800 10px/1 var(--mono);letter-spacing:.05em;text-align:center;cursor:pointer}.field-report-button:hover,.field-report-button:focus-visible{filter:brightness(1.12);box-shadow:0 0 16px rgba(16,185,129,.32)}

/* Low-bandwidth first: il contenuto secondario non compete con ricerca e calcolatori. */
.home-areas,.home-intent,.tool-finder-section,.home-proof,.field-ready,.home-guide-preview,.home-top10,.home-library,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 760px}
.precision-render{background:linear-gradient(145deg,#0a192f,#1e293b);overflow:hidden}.precision-render img{aspect-ratio:1/1;object-fit:contain}.technical-shield-badge img{width:76px;height:76px;object-fit:contain;background:linear-gradient(145deg,#0a192f,#1e293b);border-radius:16px;box-shadow:0 9px 18px rgba(15,23,42,.16)}
@media(max-width:760px){
  /* In cantiere: la prima vista è solo ricerca e P/T, senza testo decorativo. */
  .home-hero-v2{min-height:0!important;background:linear-gradient(150deg,#f8fcfb,#e9f4f3)!important}
  .home-hero-grid,.home-hero-copy{display:block!important}
  .home-hero-copy>.hero-brand-expansion,.home-hero-copy>.technical-shield-badge,.home-hero-copy>.kicker,.home-hero-copy>h1,.home-hero-copy>.home-hero-lead,.home-hero-actions,.home-command{display:none!important}
  .home-search-shell{margin-top:0!important}.technical-search{gap:8px!important}.technical-search input{min-height:56px!important;font-size:16px!important}.technical-search button{min-width:56px!important;padding:0 11px!important;font-size:10px!important}
  .hero-pt-console{margin-top:14px!important;border-color:#8fb9c1!important;box-shadow:0 10px 24px rgba(15,23,42,.08)}
  .hero-pt-heading strong{font-size:16px!important}.hero-pt-heading small{font-size:11px!important}.hero-pt-form input,.hero-pt-form select{min-height:48px!important}
  .search-examples{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:2px}.search-examples button{white-space:nowrap;min-height:42px}
}

/* Release 1.0: common access and text sizing. */
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:10000;background:#fff;color:#12343d;padding:14px}main{scroll-margin-top:90px}img{max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc4919;outline-offset:4px}p{overflow-wrap:break-word}button.menu-toggle{min-width:44px;min-height:44px} [data-locale-control] a{font-size:14px}

.technical-nameplate{display:flex;align-items:center;justify-content:center;min-height:100px;width:100%;padding:22px;box-sizing:border-box;border:1px solid #b8cdca;background:linear-gradient(145deg,#edf3ef,#dbe8e4);color:#214b49;font-family:ui-monospace,monospace;font-size:clamp(16px,2vw,25px);font-weight:700;line-height:1.35;text-align:center;overflow-wrap:anywhere}.book-brand-logo .technical-nameplate{min-height:64px;font-size:20px}.controller-card-visual .technical-nameplate{min-height:150px;margin-bottom:24px}.controller-photo .technical-nameplate{min-height:150px}
/* Library controls fit narrow screens without clipping labels or actions. */
@media(max-width:720px){.danfoss-hero-grid,.danfoss-workflow-grid,.danfoss-search,.danfoss-filter-row,.danfoss-product-card-featured,.danfoss-product-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}.danfoss-hero-grid>*{min-width:0;max-width:100%;box-sizing:border-box}.danfoss-trust-panel{width:100%;min-width:0!important;padding:24px!important}.danfoss-search>div{display:flex;flex-wrap:wrap;gap:10px}.danfoss-search input,.danfoss-filter-row input,.danfoss-filter-row select{min-width:0;width:100%;box-sizing:border-box}.danfoss-search button{width:100%}.danfoss-product-card,.danfoss-product-copy{min-width:0}.danfoss-product-head{flex-wrap:wrap}.danfoss-product-head h3{overflow-wrap:anywhere}.danfoss-source-note a{white-space:normal}.danfoss-hero h1{font-size:36px!important;overflow-wrap:anywhere}}
@media(max-width:720px){.danfoss-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.danfoss-metrics-grid>div{min-width:0;padding:20px!important}.danfoss-metrics-grid strong{font-size:24px!important}.technical-article-hero h1{overflow-wrap:anywhere;hyphens:auto}}
