:root {
  --navy: #071b2b;
  --navy-raised: #0d2638;
  --navy-soft: #173347;
  --ink: #14222d;
  --muted: #64717a;
  --line: #dce1e3;
  --surface: #ffffff;
  --surface-soft: #f3f5f5;
  --surface-blue: #eaf0f2;
  --gold: #c6a56a;
  --gold-hover: #b99555;
  --whatsapp: #25d366;
  --whatsapp-deep: #178c4d;
  --whatsapp-deep-hover: #11753f;
  --focus: #56a5d8;
  --error: #b54a4a;
  --content-max: 77.5rem;
  --content-gutter-desktop: 1.5rem;
  --content-gutter-tablet: 1rem;
  --content-gutter-mobile: .7rem;
  --content-gutter: var(--content-gutter-desktop);
  --measure: 42rem;
  --font: "Segoe UI", Arial, Helvetica, sans-serif;
  --text-small: clamp(.78rem, .75rem + .1vw, .86rem);
  --text-body: clamp(1rem, .97rem + .12vw, 1.08rem);
  --text-lead: clamp(1.08rem, 1rem + .3vw, 1.24rem);
  --heading-card: clamp(1.28rem, 1.15rem + .45vw, 1.58rem);
  --heading-section: clamp(1.9rem, 1.55rem + 1.2vw, 2.75rem);
  --heading-page: clamp(2.65rem, 2.05rem + 2.1vw, 3.75rem);
  --heading-hero: clamp(3rem, 2rem + 3.6vw, 4.375rem);
  --heading-rfq: clamp(2.7rem, 2.1rem + 2vw, 3.5rem);
  --interaction-duration: 190ms;
  --interaction-easing: cubic-bezier(.2, .65, .3, 1);
  --space-1: .45rem;
  --space-2: .75rem;
  --space-3: 1.15rem;
  --space-4: 1.75rem;
  --space-5: 2.75rem;
  --space-6: 4rem;
  --space-7: 6.5rem;
  --section-heading-spacing: var(--space-5);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--surface);
  font-family: var(--font);
  font-size: var(--text-body);
  line-height: 1.62;
}
img, svg, picture { display: block; max-width: 100%; }
.image-frame { position: relative; overflow: hidden; }
.image-frame > picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.image-frame > img,
.image-frame > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center); }
.image-frame--contain > img,
.image-frame--contain > picture > img { object-fit: contain; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { color: #245f83; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .12em; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

h1, h2, h3, h4 {
  margin: 0 0 var(--space-3);
  font-weight: 820;
  line-height: 1.08;
  letter-spacing: -.035em;
}
h1 { max-width: 16ch; font-size: var(--heading-page); }
h2 { max-width: 24ch; font-size: var(--heading-section); }
h3 { font-size: var(--heading-card); }
h4 { font-size: 1.05rem; }
p, ul, ol { margin: 0 0 var(--space-3); }
.lead { max-width: var(--measure); font-size: var(--text-lead); line-height: 1.55; }
.eyebrow {
  margin-bottom: var(--space-2);
  color: #3c6a86;
  font-size: var(--text-small);
  font-weight: 780;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.support-line {
  max-width: 30ch;
  color: var(--muted);
  font-size: var(--text-lead);
  font-weight: 720;
  line-height: 1.3;
  letter-spacing: .035em;
}
.small { font-size: var(--text-small); }
.muted { color: var(--muted); }
.container { width: min(calc(100% - (var(--content-gutter) * 2)), var(--content-max)); margin-inline: auto; }
.skip-link {
  position: fixed;
  z-index: 300;
  top: .75rem;
  left: .75rem;
  padding: .65rem 1rem;
  transform: translateY(-220%);
  color: #fff;
  background: var(--navy);
}
.skip-link:focus { transform: translateY(0); }
.section { padding-block: var(--space-7); }
main > section[id] { scroll-margin-top: 5.25rem; }
.anchor-nav ~ section[id] { scroll-margin-top: 8rem; }
.section--compact { padding-block: var(--space-6); }
.section--white { background: var(--surface); }
.section--soft { background: var(--surface-soft); }
.section--blue { background: var(--surface-blue); }
.section--dark { color: #fff; background: var(--navy); }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--section-heading-spacing);
  text-align: left;
}
.section-heading > :first-child { min-width: 0; }
.section-heading > :not(:first-child) { flex: 0 1 34rem; margin-left: auto; }
.section-heading h2 { margin-bottom: 0; }
.section-heading .section-label { margin-bottom: 0; }

/* Shared customer header */
.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  background: var(--navy);
}
.header-inner { display: flex; min-height: 4.6rem; align-items: center; gap: var(--space-5); }
.brand {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  color: var(--gold);
  text-decoration: none;
}
.brand__name { font-size: 1.22rem; font-weight: 850; letter-spacing: .14em; }
.site-nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1.1rem, 1.8vw, 2.15rem);
}
.site-nav > a, .nav-trigger {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  padding: .45rem .75rem;
  border: 0;
  color: #f5f7f8;
  background: transparent;
  font-size: .92rem;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.site-nav > a:hover, .nav-trigger:hover { color: var(--gold); }
.nav-trigger::after { content: "+"; margin-left: .5rem; color: var(--gold); font-size: 1rem; }
.nav-trigger[aria-expanded="true"]::after { content: "−"; }
.mobile-toggle {
  display: none;
  min-width: 3.2rem;
  min-height: 2.8rem;
  margin-left: auto;
  padding-inline: .9rem;
  border: 1px solid rgb(255 255 255 / 35%);
  color: #fff;
  background: transparent;
  font-weight: 720;
  cursor: pointer;
}
.nav-cta {
  min-height: 2.85rem !important;
  padding: .62rem 1.05rem !important;
  border-radius: .15rem;
  color: var(--navy) !important;
  background: var(--gold) !important;
  font-weight: 800 !important;
}
.nav-cta:hover { color: var(--navy) !important; background: var(--gold-hover) !important; }

.whatsapp-link {
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.whatsapp-link__icon { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; }
.site-nav > .whatsapp-link--header {
  min-height: 2.85rem;
  gap: .45rem;
  padding: .5rem .7rem;
  border: 1px solid transparent;
  border-radius: .15rem;
  color: #f5f7f8;
  background: transparent;
  box-shadow: none;
  font-size: .86rem;
  font-weight: 720;
}
.site-nav > .whatsapp-link--header .whatsapp-link__icon,
.site-nav > .whatsapp-link--mobile-nav .whatsapp-link__icon { color: var(--whatsapp); }
.site-nav > .whatsapp-link--header:hover {
  color: #fff;
  background: color-mix(in srgb, var(--whatsapp) 7%, transparent);
  box-shadow: none;
}
.site-nav > .whatsapp-link--header:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.site-nav > .whatsapp-link--mobile-nav { display: none; }
.whatsapp-link--floating {
  position: fixed;
  z-index: 90;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, calc(env(safe-area-inset-bottom, 0px) + .65rem));
  display: inline-flex;
  width: 3.25rem;
  min-width: 3.25rem;
  height: 3.25rem;
  min-height: 3.25rem;
  border: 1px solid rgb(255 255 255 / 70%);
  border-radius: 50%;
  color: #fff;
  background: var(--whatsapp-deep);
  box-shadow: 0 .45rem 1.25rem rgb(3 15 24 / 22%);
}
.whatsapp-link--floating:is(:hover, :focus-visible) { color: #fff; background: var(--whatsapp-deep-hover); }
.whatsapp-link--floating .whatsapp-link__icon { width: 1.55rem; height: 1.55rem; }

.product-nav { position: relative; }
.product-nav::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: .9rem;
}
.product-menu {
  position: absolute;
  z-index: 110;
  top: calc(100% + .7rem);
  right: -32rem;
  display: grid;
  width: min(54rem, calc(100vw - 2rem));
  grid-template-columns: minmax(16.5rem, .82fr) minmax(22rem, 1.18fr);
  visibility: hidden;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 14%);
  color: #fff;
  background: var(--navy-raised);
  box-shadow: 0 18px 45px rgb(0 0 0 / 20%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.3rem);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.product-nav:is(:hover, :focus-within) .product-menu,
.product-nav.is-open .product-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.product-menu__families, .product-menu__products { min-height: 22rem; padding: 1.35rem 1.5rem; }
.product-menu__families { border-right: 1px solid rgb(255 255 255 / 12%); background: #0a2132; }
.family-switch {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 2.65rem;
  align-items: center;
  justify-content: space-between;
  padding: .45rem 2.8rem .45rem .8rem;
  border: 0;
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  color: #d9e1e5;
  background: transparent;
  font-size: .9rem;
  text-align: left;
  cursor: pointer;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing);
}
.family-switch::before {
  content: "";
  position: absolute;
  inset-block: .35rem;
  left: 0;
  width: 3px;
  background: var(--gold-hover);
  opacity: 0;
  transition: opacity var(--interaction-duration) var(--interaction-easing);
}
.family-switch::after {
  content: "→";
  position: absolute;
  right: .85rem;
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: color var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing);
}
.family-switch:hover,
.family-switch:focus-visible,
.family-switch.is-active {
  color: #fff;
  background: rgb(255 255 255 / 6%);
}
.family-switch:hover::before,
.family-switch:focus-visible::before,
.family-switch.is-active::before { opacity: 1; }
.family-switch:hover::after,
.family-switch:focus-visible::after,
.family-switch.is-active::after { color: var(--gold-hover); transform: translateX(.35rem); }
.all-attachments {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .85rem;
  color: var(--gold);
  font-size: .78rem;
  font-weight: 720;
  text-decoration: none;
}
.all-attachments span {
  display: inline-block;
  width: 1rem;
  color: var(--gold);
  font-weight: 900;
  text-decoration: none;
  transition: transform var(--interaction-duration) var(--interaction-easing);
}
.all-attachments:is(:hover, :focus-visible) span { transform: translateX(.3rem); }
.family-panel h2 { margin-bottom: .65rem; color: #fff; font-size: clamp(1.45rem, 1.2rem + .6vw, 1.9rem); }
.menu-family-copy { max-width: 32rem; color: #bdc9d0; font-size: .93rem; }
.family-panel ul { margin: 1.45rem 0 0; padding: 0; list-style: none; }
.family-panel a {
  position: relative;
  display: flex;
  min-height: 2.85rem;
  align-items: center;
  justify-content: space-between;
  padding: .45rem 2.8rem .45rem .8rem;
  border-bottom: 1px solid rgb(255 255 255 / 13%);
  color: #fff;
  font-weight: 720;
  text-decoration: none;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing);
}
.family-panel a::before {
  content: "";
  position: absolute;
  inset-block: .35rem;
  left: 0;
  width: 3px;
  background: var(--gold-hover);
  opacity: 0;
  transition: opacity var(--interaction-duration) var(--interaction-easing);
}
.family-panel a::after {
  content: "→";
  position: absolute;
  right: .85rem;
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: color var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing);
}
.family-panel a:is(:hover, :focus-visible, [aria-current="page"], .is-review-focus) {
  color: #fff;
  background: rgb(255 255 255 / 6%);
}
.family-panel a:is(:hover, :focus-visible, [aria-current="page"], .is-review-focus)::before { opacity: 1; }
.family-panel a:is(:hover, :focus-visible, [aria-current="page"], .is-review-focus)::after { color: var(--gold-hover); transform: translateX(.35rem); }
.family-back {
  display: none;
  min-height: 2.8rem;
  margin-bottom: var(--space-3);
  padding: 0;
  border: 0;
  color: var(--gold);
  background: transparent;
  font-weight: 750;
  cursor: pointer;
}

/* Actions */
.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: .72rem 1.2rem;
  border: 1px solid var(--navy);
  border-radius: .12rem;
  color: var(--navy);
  background: transparent;
  font-size: .88rem;
  font-weight: 790;
  letter-spacing: .02em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing), border-color var(--interaction-duration) var(--interaction-easing), box-shadow var(--interaction-duration) var(--interaction-easing);
}
.button:hover { background: #e9edef; }
.button--primary { border-color: var(--gold); color: var(--navy); background: var(--gold); }
.button--primary:hover { border-color: var(--gold-hover); color: var(--navy); background: var(--gold-hover); }
.button--text { min-height: 2.75rem; padding-inline: 0; border: 0; color: inherit; text-decoration: none; }
.button--text::after {
  content: "→";
  display: inline-block;
  width: 1rem;
  margin-left: .45rem;
  color: var(--gold);
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: transform var(--interaction-duration) var(--interaction-easing);
}
.button--text:hover { background: transparent; text-decoration: none; }
.button--text:is(:hover, :focus-visible)::after { transform: translateX(.3rem); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-4); }

/* Homepage */
.hero-carousel {
  position: relative;
  min-height: clamp(34rem, 68vh, 44rem);
  overflow: hidden;
  color: #fff;
  background: var(--navy);
}
.carousel-track, .carousel-slide, .carousel-slide picture, .carousel-slide img { position: absolute; inset: 0; width: 100%; height: 100%; }
.carousel-slide { opacity: 0; transition: opacity .4s ease; }
.carousel-slide.is-active { opacity: 1; }
.carousel-slide img { object-fit: cover; }
.hero-carousel .carousel-slide:nth-child(2) img { object-position: center 56%; }
.hero-carousel::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgb(3 15 24 / 88%) 0%, rgb(3 15 24 / 60%) 45%, rgb(3 15 24 / 15%) 78%);
}
.hero-carousel__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: clamp(34rem, 68vh, 44rem);
  align-items: center;
  padding-block: 5rem;
}
.hero-carousel h1 { max-width: 13ch; font-size: var(--heading-hero); line-height: .98; letter-spacing: -.05em; }
.hero-carousel .button--text { color: #fff; }
.carousel-controls {
  position: absolute;
  z-index: 4;
  bottom: 1.35rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: .15rem;
  transform: translateX(-50%);
}
.carousel-dots { display: flex; align-items: center; gap: .1rem; }
.carousel-dot {
  position: relative;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.carousel-dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: rgb(255 255 255 / 52%);
  transform: translate(-50%, -50%);
  transition: background var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing);
}
.carousel-dot:is(.is-active, [aria-current="true"])::before { background: var(--gold); transform: translate(-50%, -50%) scale(1.18); }
.carousel-dot:is(:hover, :focus-visible)::before { background: #fff; }
.carousel-dot:is(.is-active, [aria-current="true"]):is(:hover, :focus-visible)::before { background: var(--gold); }
.carousel-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.family-tree { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5) var(--space-4); }
.family-card { display: flex; min-width: 0; flex-direction: column; color: var(--ink); background: transparent; text-decoration: none; }
.family-card__media { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: #e2e7e8; }
.family-card__media picture { position: absolute; inset: 0; display: block; }
.family-card__media img { width: 100%; height: 100%; object-fit: cover; }
.family-card__body { display: flex; min-height: 7rem; flex: 1; flex-direction: column; justify-content: flex-end; padding-top: 1.15rem; }
.family-card__body h3 { margin-bottom: .55rem; }
.family-card__copy { display: grid; min-height: 2.8rem; }
.family-card__support,
.family-card__actions { grid-area: 1 / 1; margin: 0; transition: color var(--interaction-duration) var(--interaction-easing), opacity var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing); }
.family-card__support { color: var(--muted); font-size: .94rem; }
.family-card__actions { display: flex; flex-wrap: wrap; gap: .35rem 1rem; align-content: start; color: var(--gold-hover); font-size: .78rem; font-weight: 850; letter-spacing: .08em; opacity: 0; transform: translateY(.55rem); }
.family-card:is(:hover, :focus-visible, .is-review-hover) h3 { color: #8b6a33; }
.family-card:is(:hover, :focus-visible, .is-review-hover) .family-card__support { opacity: 0; }
.family-card:is(:hover, :focus-visible, .is-review-hover) .family-card__actions { opacity: 1; transform: translateY(0); }
.family-card--reduced .family-card__support { opacity: 0; }
.family-card--reduced .family-card__actions { opacity: 1; transform: none; }

/* Shared static full-bleed Hero for internal pages */
.internal-hero {
  --internal-hero-min-height: clamp(32rem, 47vw, 38rem);
  --internal-hero-position: center center;
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: var(--internal-hero-min-height);
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--navy);
}
.internal-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(3 15 24 / 92%) 0%, rgb(3 15 24 / 76%) 34%, rgb(3 15 24 / 38%) 58%, rgb(3 15 24 / 12%) 80%),
    linear-gradient(0deg, rgb(3 15 24 / 24%) 0%, transparent 46%);
  pointer-events: none;
}
.internal-hero__media,
.internal-hero__media picture,
.internal-hero__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.internal-hero__media { z-index: 0; overflow: hidden; background: var(--navy); }
.internal-hero__media img { object-fit: cover; object-position: var(--internal-hero-position); }
.internal-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: var(--internal-hero-min-height);
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 6.75rem);
}
.internal-hero__copy { width: min(100%, 43rem); }
.internal-hero h1 { max-width: 15ch; }
.internal-hero .eyebrow, .section--dark .eyebrow { color: var(--gold); }
.internal-hero .lead { color: #f1f4f5; text-shadow: 0 1px 18px rgb(3 15 24 / 38%); }
.internal-hero--entry .internal-hero__copy { width: min(100%, 62rem); }
.internal-hero--entry h1 { max-width: none; }
.internal-hero--attachments-final {
  --internal-hero-position: 70% center;
}
.internal-hero--attachments-final::after {
  background:
    linear-gradient(90deg, rgb(3 15 24 / 48%) 0%, rgb(3 15 24 / 28%) 34%, rgb(3 15 24 / 8%) 58%, transparent 80%),
    linear-gradient(0deg, rgb(3 15 24 / 14%) 0%, transparent 42%);
}
.internal-hero--attachments-final .internal-hero__copy { width: min(100%, 40rem); }
.internal-hero--case h1 { max-width: 18ch; }
.internal-hero--case .lead { margin-bottom: 0; font-size: clamp(1rem, .96rem + .15vw, 1.12rem); }
.internal-hero--knowledge .internal-hero__copy { width: min(100%, 46rem); }
.internal-hero--knowledge h1 { max-width: 24ch; font-size: clamp(2.25rem, 1.8rem + 1.6vw, 3.125rem); line-height: 1.1; }
.internal-hero--about .lead { max-width: 36ch; }
.internal-hero--entry { --internal-hero-position: 70% center; }
.internal-hero--rock-saw { --internal-hero-position: 65% center; }
.internal-hero--compaction { --internal-hero-position: 70% center; }
.internal-hero--about { --internal-hero-position: 44% center; }
.internal-hero--about::after {
  background:
    linear-gradient(270deg, rgb(3 15 24 / 90%) 0%, rgb(3 15 24 / 76%) 28%, rgb(3 15 24 / 40%) 48%, rgb(3 15 24 / 12%) 66%, rgb(3 15 24 / 4%) 80%),
    linear-gradient(0deg, rgb(3 15 24 / 22%) 0%, transparent 46%);
}
.internal-hero--about .internal-hero__content { justify-content: flex-end; }
.internal-hero--about .internal-hero__copy { width: clamp(25rem, 33.5vw, 30rem); }
.internal-hero--mexico { --internal-hero-position: 58% center; }
.internal-hero--screening { --internal-hero-position: 62% center; }
.internal-hero--rock-knowledge { --internal-hero-position: 68% center; }
.internal-hero--mulcher { --internal-hero-position: 70% center; }
.internal-hero--review { --internal-hero-min-height: 28rem; }
.internal-hero--review .internal-hero__content { padding: clamp(2rem, 5vw, 4rem); }
.entry-hero-title { max-width: none; font-size: clamp(2.75rem, 3.2vw, 3.4rem); }
.entry-hero-title__line { display: block; white-space: nowrap; }
.single-product-hero-copy .actions { margin-top: var(--space-2); }
.media-panel { overflow: hidden; background: #dfe5e7; }
.media-panel img { width: 100%; height: 100%; object-fit: cover; }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.8rem, 6vw, 6rem); }
.split--media { grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); align-items: center; }
.split--media > :only-child { grid-column: 2; }
.split--section-copy { align-items: start; }
.split--section-copy .section-heading { margin-bottom: 0; }
.rule-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.rule-list li { padding: .85rem 0; border-bottom: 1px solid var(--line); }

/* Product entry and member cards */
.entry-family-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.entry-family-card {
  min-height: 0;
}
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.type-card {
  display: flex;
  min-height: 18rem;
  align-items: flex-end;
  padding: var(--space-4);
  color: var(--ink);
  background: #fff;
  box-shadow: 0 9px 25px rgb(7 27 43 / 6%);
  text-decoration: none;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing), box-shadow var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing);
}
.type-card__mechanism { color: #49697c; font-size: .78rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.type-card:is(:hover, :focus-visible, .is-review-hover) { background: #fbfcfc; box-shadow: 0 12px 30px rgb(7 27 43 / 11%); transform: translateY(-.2rem); }
.type-card:is(:hover, :focus-visible, .is-review-hover) h3 { color: #8b6a33; }
.type-card--image { display: grid; min-height: 0; align-items: stretch; padding: 0; overflow: hidden; }
.type-card--image picture { aspect-ratio: 4 / 3; overflow: hidden; }
.type-card--image img { width: 100%; height: 100%; object-fit: cover; }
.type-card--image > div { padding: var(--space-4); }
.selection-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.selection-notes article { padding-top: var(--space-3); border-top: 2px solid var(--navy); }

/* Tables, model controls and anchors */
.anchor-nav { position: sticky; z-index: 45; top: 4.6rem; overflow-x: auto; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / 97%); }
.anchor-nav__inner { display: flex; min-width: max-content; gap: 1.65rem; }
.anchor-nav a {
  display: inline-flex;
  min-height: 3.15rem;
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .07em;
  text-decoration: none;
}
.anchor-nav a:hover, .anchor-nav a.is-current { border-color: var(--gold); color: var(--navy); }
.models-parameters-section { padding-block: clamp(3rem, 4vw, 4rem); }
.models-parameters-heading {
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}
.models-parameters-heading > .unit-control { flex: 0 0 auto; margin-left: auto; }
.models-parameters-layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(15rem, .58fr) minmax(0, 1.42fr);
  align-items: start;
  column-gap: var(--space-4);
  row-gap: .75rem;
}
.models-parameters-layout > *, .model-panel { min-width: 0; }
.models-parameters-layout .media-panel {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  height: clamp(20rem, 24.5vw, 22rem);
  aspect-ratio: auto;
}
.models-parameters-layout .image-frame { --image-position: 38% center; }
.model-selector { margin-bottom: var(--space-3); }
.models-parameters-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.model-tabs { display: flex; overflow-x: auto; gap: .4rem; }
.model-tab {
  min-height: 2.65rem;
  padding: .55rem .9rem;
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
  font-size: .78rem;
  font-weight: 750;
  cursor: pointer;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing), border-color var(--interaction-duration) var(--interaction-easing);
}
.model-tab:is(:hover, :focus-visible) { border-color: var(--navy-soft); color: var(--navy); background: var(--surface-soft); }
.model-tab[aria-selected="true"] { border-color: var(--navy); color: #fff; background: var(--navy); }
.model-panel { margin-top: 0; }
.key-parameters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: var(--space-4); }
.key-parameters div { padding: .8rem 1rem; border-left: 1px solid var(--line); }
.key-parameters div:first-child { border-left: 0; padding-left: 0; }
.key-parameters dt { color: var(--muted); font-size: .72rem; font-weight: 720; text-transform: uppercase; }
.key-parameters dd { margin: .25rem 0 0; font-size: 1.15rem; font-weight: 780; }
.unit-control {
  display: inline-flex;
  margin-bottom: 0;
  padding: .1rem;
  border: 1px solid var(--line);
  border-radius: .18rem;
  background: #fff;
}
.unit-control button {
  min-width: 4.7rem;
  min-height: 1.75rem;
  padding: .2rem .65rem;
  border: 0;
  border-radius: .12rem;
  color: var(--muted);
  background: transparent;
  font-size: .75rem;
  font-weight: 780;
  cursor: pointer;
}
.unit-control button[aria-pressed="true"] { color: #fff; background: var(--navy-soft); }
.unit-control button:is(:hover, :focus-visible) { color: var(--navy); background: var(--surface-soft); }
.table-wrap { max-width: 100%; overflow-x: auto; border-top: 1px solid var(--line); background: #fff; }
.selection-table, .parameter-table { width: 100%; min-width: 42rem; border-collapse: collapse; font-size: .84rem; }
.parameter-table { min-width: 39rem; }
.parameter-table th, .parameter-table td { min-width: 6.5rem; }
.parameters-panel { min-width: 0; grid-column: 2; grid-row: 1; align-self: center; }
.parameters-panel .table-wrap { overscroll-behavior-x: contain; }
.parameter-table--comparison { width: max(100%, 47.75rem); min-width: 47.75rem; table-layout: fixed; font-size: .94rem; }
.parameter-table__semantic-caption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.parameter-table--comparison th, .parameter-table--comparison td { min-width: 0; height: 2.75rem; padding: .48rem .75rem; vertical-align: middle; line-height: 1.28; }
.parameter-table--comparison thead th { text-align: center; white-space: nowrap; }
.parameter-table--comparison thead th:first-child { position: sticky; z-index: 3; left: 0; width: 13.25rem; text-align: left; }
.parameter-table--comparison tbody th {
  position: sticky;
  z-index: 1;
  left: 0;
  width: 13.25rem;
  border-right: 1px solid var(--line);
  color: var(--navy);
  background: #fff;
  font-weight: 720;
  line-height: 1.28;
}
.parameter-table--comparison tbody tr:nth-child(even) th { background: #f7f8f8; }
.parameter-table--comparison td { text-align: center; white-space: nowrap; }
.parameter-notes { display: grid; grid-column: 2; grid-row: 2; gap: .35rem; margin-top: 0; padding-top: .75rem; border-top: 1px solid var(--line); }
.parameter-notes p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; }
caption { padding: .9rem 0; color: var(--muted); font-size: .78rem; font-weight: 680; text-align: left; }
th, td { min-width: 8rem; padding: .85rem .9rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: #fff; background: var(--navy); font-weight: 700; }
tbody tr:nth-child(even) { background: #f7f8f8; }
.unknown { color: var(--muted); }

@media (min-width: 1024.51px) {
  .models-parameters-section { padding-block: clamp(2.75rem, 3.25vw, 3.25rem); }
  .models-parameters-heading { margin-bottom: 1.25rem; padding-bottom: .85rem; }
  .models-parameters-layout { grid-template-columns: minmax(14rem, .52fr) minmax(0, 1.48fr); }
  .models-parameters-layout .media-panel { height: clamp(17.5rem, 21vw, 19rem); }
  .parameter-table--comparison { font-size: .9rem; }
  .parameter-table--comparison th, .parameter-table--comparison td { height: 2.5rem; padding: .32rem .7rem; line-height: 1.24; }
  .parameter-table--comparison thead th { font-size: .94rem; font-weight: 720; }
  .parameter-table--comparison tbody th { line-height: 1.24; }
}

/* Application icons and FAQ */
.icon-grid { display: flex; flex-wrap: wrap; gap: clamp(2rem, 5vw, 5rem); }
.applications-centered .icon-grid { justify-content: center; }
.application-icon {
  display: grid;
  min-width: 7rem;
  justify-items: center;
  gap: .7rem;
  color: var(--navy);
  font-size: .9rem;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}
.application-icon img { width: 3.8rem; height: 3.8rem; }
.application-icon { transition: color var(--interaction-duration) var(--interaction-easing), opacity var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing); }
.application-icon:is(:hover, :focus-visible) { color: #8b6a33; transform: translateY(-.15rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0; font-size: inherit; }
.faq-question {
  display: flex;
  width: 100%;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: .9rem 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  font-weight: 750;
  text-align: left;
  cursor: pointer;
  transition: color var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing);
}
.faq-question:is(:hover, :focus-visible) { color: #8b6a33; background: #f6f7f7; }
.faq-question::after { content: "+"; flex: 0 0 auto; color: #8b6a33; font-size: 1.3rem; }
.faq-question[aria-expanded="true"]::after { content: "−"; }
.faq-answer { max-width: 52rem; padding: 0 0 var(--space-4); color: #394954; }

/* RFQ */
.rfq-section { padding-block: 2.5rem; color: #fff; background: var(--navy); }
.rfq-layout { display: grid; grid-template-columns: minmax(17rem, .68fr) minmax(0, 1.32fr); align-items: start; gap: clamp(2.5rem, 6vw, 6rem); }
.rfq-copy { padding-top: .15rem; }
.rfq-title { max-width: 12ch; color: #fff; font-size: var(--heading-rfq); line-height: 1.02; }
h1.rfq-title { font-size: var(--heading-rfq); }
.rfq-title__line { display: block; }
.form-intro { max-width: 42ch; margin: var(--space-4) 0 0; color: #d7dfe3; font-size: .96rem; line-height: 1.5; }
.form-intro__line { display: block; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem 1rem; }
.field { display: grid; align-content: start; gap: .2rem; }
.field--wide { grid-column: 1 / -1; }
.field label { color: inherit; font-size: .77rem; font-weight: 720; }
.field .optional { color: #9eafb9; font-weight: 450; }
input, select, textarea {
  width: 100%;
  min-height: 3rem;
  padding: .62rem .7rem;
  border: 1px solid #718593;
  border-radius: .12rem;
  color: var(--ink);
  background: #fff;
}
textarea { height: 5.25rem; min-height: 5.25rem; resize: vertical; }
select:disabled { color: var(--ink); background: #edf0f1; opacity: 1; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: #e47777; box-shadow: 0 0 0 1px #e47777; }
.field-error { min-height: .72rem; margin: 0; color: #ffd0d0; font-size: .7rem; line-height: 1.05; }
.form-summary { margin-bottom: var(--space-3); padding: .72rem .85rem; border-left: 2px solid #e47777; color: #fff; background: #44222a; font-size: .84rem; }
.form-summary--notice { border-color: var(--gold); background: var(--navy-soft); }
.context-product { margin-bottom: var(--space-3); color: #d8e0e4; font-size: .82rem; }
.rfq-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-action .button:disabled { cursor: wait; opacity: .7; }
.form-action { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.form-action .button { flex: 0 0 auto; white-space: nowrap; }
.rfq-privacy { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .55rem; margin: 0; color: #9eafb9; font-size: .72rem; }
.rfq-privacy a { color: #fff; text-underline-offset: .18em; }

/* About and review board */
.about-copy { max-width: 48rem; }
.about-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.about-principles article { padding-top: var(--space-3); border-top: 2px solid var(--gold); }
.review-board .prototype-notice {
  padding: .45rem 1rem;
  color: #cbd5da;
  background: #04121d;
  font-size: .75rem;
  text-align: center;
}
.review-header { padding-block: var(--space-6); color: #fff; background: var(--navy); }
.review-header h1 { max-width: 17ch; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.review-card { padding: var(--space-4); background: #fff; box-shadow: 0 7px 22px rgb(7 27 43 / 5%); }
.review-card h3 { font-size: 1.3rem; }
.review-interaction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.review-menu-sample { padding: 1rem; background: #0a2132; }
.review-menu-sample .family-panel ul { margin-top: 0; }
.favicon-preview { display: flex; align-items: center; gap: 1rem; }
.favicon-preview img { width: 2rem; height: 2rem; image-rendering: auto; }
.review-case { display: grid; grid-template-columns: minmax(13rem, .8fr) minmax(0, 1.2fr); gap: var(--space-4); align-items: center; }
.review-case img, .knowledge-thumb { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #dfe5e7; }
.section-label { margin-bottom: var(--space-4); color: #45687b; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.home-case { display: grid; grid-template-columns: minmax(15rem, .9fr) minmax(0, 1.1fr); align-items: center; gap: var(--space-4); }
.home-case picture { width: 100%; }
.home-case img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: #dfe5e7; }
.home-case h3 { max-width: 24ch; margin-bottom: .45rem; }
.case-kicker { margin-bottom: .4rem; color: #45687b; font-size: .76rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.case-location { margin-bottom: .45rem; color: var(--muted); font-size: .88rem; font-weight: 720; }
.case-summary { margin-bottom: .35rem; color: var(--muted); font-size: .88rem; }
.case-link { display: inline-block; margin-top: .55rem; color: #8b6a33; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.case-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--muted); font-size: .78rem; }
.case-card, .knowledge-card { color: var(--ink); text-decoration: none; transition: color var(--interaction-duration) var(--interaction-easing), filter var(--interaction-duration) var(--interaction-easing), box-shadow var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing); }
.case-card:is(:hover, :focus-visible), .knowledge-card:is(:hover, :focus-visible) { filter: brightness(1.01); box-shadow: 0 12px 26px rgb(7 27 43 / 8%); transform: translateY(-.2rem); }
.case-card:is(:hover, :focus-visible) h3, .knowledge-card:is(:hover, :focus-visible) h3 { color: #8b6a33; }
.knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 2.5vw, 2.4rem); }
.knowledge-card { display: flex; min-width: 0; flex-direction: column; padding-block: .3rem .65rem; }
.knowledge-card__meta { display: flex; min-height: 1.5rem; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: .75rem; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.knowledge-card__type { display: inline-flex; align-items: center; justify-content: flex-end; gap: .4rem; margin-left: auto; color: var(--muted); text-align: right; }
.knowledge-card__body { display: grid; grid-template-columns: minmax(5.75rem, .78fr) minmax(0, 1.22fr); align-items: start; gap: 1rem; }
.knowledge-card__body h3 { margin-bottom: .4rem; font-size: 1.08rem; line-height: 1.15; }
.knowledge-card__body p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.knowledge-thumb { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: #dfe5e7; }
.category-dot { width: .65rem; height: .65rem; flex: 0 0 auto; border-radius: 50%; background: #20b8ff; }
.category-dot--guide { background: #24a76f; }
.category-dot--field { background: #d2982b; }
.category-dot--selection { background: #2fd58b; }

/* V1 Case and Knowledge pages */
.listing-hero { padding-block: clamp(4rem, 7vw, 6.5rem); color: #fff; background: var(--navy); }
.listing-hero h1 { max-width: 18ch; }
.listing-hero .lead { color: #d3dde2; }
.listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.listing-card { color: var(--ink); text-decoration: none; }
.listing-card picture { aspect-ratio: 16 / 9; overflow: hidden; background: #dfe5e7; }
.listing-card img { width: 100%; height: 100%; object-fit: cover; }
.listing-card__body { padding-top: var(--space-3); }
.listing-card__meta { color: var(--muted); font-size: .75rem; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; }
.listing-card { transition: color var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing); }
.listing-card:is(:hover, :focus-visible) { color: #8b6a33; transform: translateY(-.2rem); }

.article-meta { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin-bottom: var(--space-3); color: var(--gold); font-size: .76rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.related-context { padding-block: 1.35rem; border-block: 1px solid var(--line); background: var(--surface-soft); }
.related-context .container { display: flex; align-items: baseline; gap: .6rem 1.25rem; }
.related-context span { color: var(--muted); font-size: .76rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.related-context a { color: var(--navy); font-weight: 740; }
.listing-context-link { margin: var(--space-4) 0 0; color: var(--muted); font-size: var(--text-small); }
.listing-context-link a { color: var(--navy); font-weight: 720; }
.article-layout { display: grid; grid-template-columns: minmax(0, 48.75rem) minmax(14rem, 1fr); align-items: start; justify-content: space-between; gap: clamp(3rem, 7vw, 7rem); }
main > article > .section { padding-block: 4rem; }
.article-body { width: 100%; max-width: 48.75rem; font-size: clamp(1rem, .96rem + .16vw, 1.08rem); line-height: 1.54; }
.article-body > :is(p, ul, ol) { margin-bottom: .55em; }
.article-body > p:first-child { font-size: var(--text-lead); color: #304653; }
.article-body strong { color: var(--navy); font-weight: 720; }
.article-body h2 { width: 100%; max-width: none; margin-top: 2rem; margin-bottom: .6rem; font-size: clamp(1.75rem, 1.55rem + .65vw, 2.25rem); font-weight: 780; line-height: 1.15; letter-spacing: -.025em; }
.article-body h3 { margin-top: 2rem; }
.article-body li + li { margin-top: .25em; }
.article-body blockquote { margin: 1.4rem 0; padding-left: var(--space-4); border-left: 3px solid var(--gold); color: var(--navy); font-size: var(--text-lead); font-weight: 720; }
.article-body .article-image { max-width: 43rem; margin-block: 2rem; }
.article-body .article-image picture { overflow: hidden; background: #e2e7e8; }
.article-body .article-image img { width: 100%; height: auto; }
.article-body .article-image figcaption { margin-top: .7rem; color: var(--muted); font-size: .78rem; }
.article-aside { position: sticky; top: 7rem; padding-top: var(--space-3); border-top: 2px solid var(--gold); }
.article-aside h2 { font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.article-aside ul { padding-left: 1.15rem; color: var(--muted); font-size: .9rem; }
.process-sequence { display: block; margin: 1.1rem 0 1.4rem; padding-left: 1rem; border-left: 3px solid var(--gold); color: var(--navy); font-size: .96em; font-weight: 700; line-height: 1.45; }
.process-sequence li { padding: .75rem 1rem; border-left: 3px solid var(--gold); background: var(--surface-soft); font-weight: 720; }
.case-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.case-gallery figure { margin: 0; }
.case-gallery picture { aspect-ratio: 16 / 9; overflow: hidden; background: #e2e7e8; }
.case-gallery img { width: 100%; height: 100%; object-fit: cover; }
.case-gallery figcaption { margin-top: .55rem; color: var(--muted); font-size: .76rem; }
.content-source-blocked { border-top: 1px solid var(--line); }

/* Footer */
.site-footer { padding-block: var(--space-6); color: #c4d0d6; background: #04121d; }
.footer-minimal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(24rem, .8fr); align-items: start; gap: var(--space-6); }
.footer-brandline { margin-top: 1rem; color: #fff; font-size: 1.05rem; font-weight: 780; letter-spacing: .1em; }
.site-footer h2 { margin-bottom: 1.2rem; color: #fff; font-size: .92rem; letter-spacing: .1em; text-transform: uppercase; }
.sales-list { display: grid; grid-template-columns: minmax(4.75rem, max-content) minmax(0, 1fr); gap: .55rem 1.5rem; margin-bottom: 1rem; }
.sales-list p { display: contents; }
.sales-list span { color: #859aa6; font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.sales-list a { min-width: 0; overflow-wrap: anywhere; }
.site-footer a { color: #fff; }
.site-footer .brand { color: var(--gold); }
.footer-rfq { display: inline-flex; align-items: center; color: var(--gold) !important; font-weight: 750; text-decoration: none; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem var(--space-3); margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid rgb(133 154 166 / 24%); color: #859aa6; font-size: .75rem; }
.footer-copyright { margin: 0; }
.footer-legal a { color: #859aa6; text-underline-offset: .18em; transition: color var(--interaction-duration) var(--interaction-easing); }
.footer-legal a:is(:hover, :focus-visible) { color: #c4d0d6; }
.footer-legal a:focus-visible { outline-color: var(--gold); }
.analytics-consent { position: fixed; z-index: 1000; inset-inline: 0; bottom: 0; padding: 1rem max(var(--space-4), env(safe-area-inset-right, 0px)) max(1rem, env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgb(201 163 91 / 48%); background: var(--navy); color: #fff; }
.analytics-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); max-width: var(--container); margin: 0 auto; }
body.analytics-consent-visible { padding-bottom: 6.5rem; }.analytics-consent__copy { max-width: 43rem; }.analytics-consent__title { margin: 0 0 .18rem; color: var(--gold); font-size: .78rem; letter-spacing: .14em; }.analytics-consent__copy p { margin: 0; color: #d8e1e6; font-size: .88rem; line-height: 1.45; }.analytics-consent__copy a { display: inline-block; margin-top: .12rem; color: #fff; font-size: .82rem; text-underline-offset: .18em; }.analytics-consent__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }.analytics-consent__actions { display: flex; flex: 0 0 auto; gap: 2rem; }.analytics-consent button { min-height: 2.75rem; border: 1px solid rgb(201 163 91 / 58%); border-radius: .375rem; padding: .5rem .85rem; background: var(--navy-raised); color: #fff; font: inherit; font-size: .72rem; font-weight: 750; letter-spacing: .08em; cursor: pointer; transition: color 150ms var(--interaction-easing), background 150ms var(--interaction-easing), border-color 150ms var(--interaction-easing); }.analytics-consent button:is(:hover, :focus-visible) { border-color: var(--gold); background: var(--gold); color: var(--navy); outline: none; }.analytics-preferences { border: 0; padding: 0; background: transparent; color: #859aa6; font: inherit; font-size: .75rem; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }.analytics-preferences:is(:hover, :focus-visible) { color: #c4d0d6; outline-color: var(--gold); }
@media (max-width: 768.5px) { body.analytics-consent-visible { padding-bottom: 11rem; }.analytics-consent { padding: .9rem max(var(--space-3), env(safe-area-inset-right, 0px)) max(.9rem, env(safe-area-inset-bottom, 0px)); }.analytics-consent__inner { align-items: stretch; flex-direction: column; gap: .75rem; }.analytics-consent__actions { gap: 1rem; width: 100%; }.analytics-consent button { flex: 1 1 0; min-width: 0; } }
@media (max-width: 23rem) { body.analytics-consent-visible { padding-bottom: 14rem; }.analytics-consent__actions { flex-direction: column; }.analytics-consent button { width: 100%; } }

/* Privacy Notice */
.privacy-notice { max-width: 52rem; }
.privacy-notice > p:first-child { color: var(--navy); font-size: 1.08rem; }
.privacy-notice h2 { margin-top: var(--space-5); }
.privacy-notice ul { padding-left: 1.2rem; }
.privacy-notice li + li { margin-top: .55rem; }

/* Historical comparison-page compatibility */
.hero:not(.hero-carousel) { padding-block: var(--space-7); background: #fff; }
.hero-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: var(--space-6); }
.visual-placeholder { display: grid; min-height: 22rem; place-items: center; color: #cbd7de; background: var(--navy-raised); }
.visual-placeholder__label { padding: .7rem 1rem; color: #fff; background: rgb(0 0 0 / 35%); font-size: .75rem; text-align: center; }
.visual-placeholder--hero { min-height: 31rem; }
.visual-placeholder--light { color: var(--muted); background: #e6ebed; }
.refined-b .hero:not(.hero-carousel), .direction-c .hero { color: #fff; background: var(--navy); }
.category-layout, .feature-layout, .split-rule { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.category-list, .list-clean { padding: 0; list-style: none; }
.category-list li, .list-clean li { padding-block: .85rem; border-bottom: 1px solid var(--line); }
.process-line, .comparison-row, .signal-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.process-line article, .comparison-row article, .signal, .card { padding: var(--space-4); border: 1px solid var(--line); }
.member-list { border-top: 1px solid var(--line); }
.member-row { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: var(--space-4); padding-block: var(--space-4); border-bottom: 1px solid var(--line); }
.member-row__identity { display: flex; gap: var(--space-2); }
.member-number, .mechanism-label, .direction-label { color: #3c6a86; font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.rfq-panel { padding: var(--space-4); color: #fff; background: var(--navy-raised); }
.section--navy { color: #fff; background: var(--navy); }
.section--tint { background: var(--surface-soft); }
.grid { display: grid; gap: var(--space-4); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card--flat { border-left: 3px solid var(--gold); }
.note-line, .table-note { color: var(--muted); font-size: var(--text-small); }

/* Inclusive through a nominal 1024px viewport; .5px absorbs browser scale rounding */
@media (min-width: 1024.51px) and (max-width: 1180px) {
  .site-nav > .whatsapp-link--header { width: 2.85rem; padding-inline: .45rem; }
  .whatsapp-link--header .whatsapp-link__label { display: none; }
}

@media (max-width: 1024.5px) {
  .site-header { position: relative; }
  .header-inner { flex-wrap: wrap; }
  .mobile-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .site-nav { display: none; width: 100%; flex-basis: 100%; align-items: stretch; gap: 0; padding-bottom: var(--space-3); }
  .site-nav.is-open { display: grid; }
  .site-nav > a, .nav-trigger { width: 100%; min-height: 3.15rem; justify-content: space-between; border-bottom: 1px solid rgb(255 255 255 / 15%); }
  .site-nav > .whatsapp-link--header { display: none; }
  .site-nav > .whatsapp-link--mobile-nav { display: inline-flex; gap: .65rem; justify-content: flex-start; }
  .nav-cta { margin-top: .75rem; }
  .product-nav { width: 100%; }
  .product-nav::after { content: none; }
  .product-menu { position: static; display: none; width: 100%; grid-template-columns: 1fr; visibility: visible; border: 0; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; transition: none; }
  .product-nav:is(:hover, :focus-within) .product-menu { display: none; }
  .product-nav.is-open .product-menu { display: grid; }
  .product-menu__families, .product-menu__products { min-height: 0; padding: 1rem; }
  .product-menu__families { border: 0; }
  .product-menu__products { display: none; }
  .product-menu.show-products .product-menu__families { display: none; }
  .product-menu.show-products .product-menu__products { display: block; }
  .family-back { display: inline-flex; align-items: center; }
  .anchor-nav { top: 0; }
  main > section[id] { scroll-margin-top: 1rem; }
  .anchor-nav ~ section[id] { scroll-margin-top: 3.75rem; }
  .split--media, .rfq-layout, .models-parameters-layout, .category-layout, .feature-layout { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; gap: 3.5rem; }
  .article-aside { position: static; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading > :not(:first-child) { margin-left: 0; }
  .models-parameters-heading { align-items: center; flex-direction: row; }
  .models-parameters-heading > .unit-control { margin-left: auto; }
  .models-parameters-layout .media-panel, .parameters-panel, .parameter-notes { grid-column: 1; grid-row: auto; }
  .models-parameters-layout .media-panel { align-self: start; height: auto; aspect-ratio: 16 / 9; }
  .parameters-panel { align-self: start; }
  .split--media > :only-child { grid-column: 1; }
  .section-heading > :last-child { justify-self: start; }
  .family-tree, .entry-family-grid, .knowledge-grid, .listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-carousel .carousel-slide:nth-child(2) img { object-position: 68% 56%; transform: scale(1.08) translateY(-3.5%); transform-origin: 68% top; }
  .rfq-title { max-width: 16ch; }
}

/* Inclusive through a nominal 768px viewport under fractional browser scaling */
@media (max-width: 768.5px) {
  :root { --content-gutter: var(--content-gutter-tablet); --space-7: 4.75rem; --space-6: 3.25rem; }
  main > article > .section { padding-block: 4rem; }
  .article-layout { gap: 3rem; }
  .internal-hero { --internal-hero-min-height: 34rem; }
  .internal-hero::after { background: linear-gradient(90deg, rgb(3 15 24 / 90%) 0%, rgb(3 15 24 / 72%) 70%, rgb(3 15 24 / 42%) 100%); }
  .internal-hero--attachments-final::after {
    background:
      linear-gradient(90deg, rgb(3 15 24 / 70%) 0%, rgb(3 15 24 / 45%) 55%, rgb(3 15 24 / 14%) 100%),
      linear-gradient(0deg, rgb(3 15 24 / 12%) 0%, transparent 42%);
  }
  .internal-hero--about::after { background: linear-gradient(270deg, rgb(3 15 24 / 90%) 0%, rgb(3 15 24 / 74%) 40%, rgb(3 15 24 / 38%) 70%, rgb(3 15 24 / 14%) 100%); }
  .internal-hero__content { padding-block: 4.5rem; }
  .hero-carousel, .hero-carousel__content { min-height: 34rem; }
  .hero-carousel::after { background: linear-gradient(90deg, rgb(3 15 24 / 86%), rgb(3 15 24 / 35%)); }
  .family-tree, .entry-family-grid, .card-grid, .selection-notes, .split, .footer-minimal, .about-principles, .review-grid, .review-interaction-grid, .review-case, .home-case, .knowledge-grid, .listing-grid, .case-gallery, .hero-grid, .category-layout, .feature-layout, .split-rule, .member-row { grid-template-columns: 1fr; }
  .hero-carousel .carousel-slide img { object-position: 68% center; }
  .models-parameters-toolbar { align-items: stretch; flex-direction: column; }
  .family-tree { gap: var(--space-5); }
  .form-grid { grid-template-columns: 1fr; }
  .field--wide { grid-column: auto; }
  .key-parameters { grid-template-columns: 1fr; }
  .key-parameters div, .key-parameters div:first-child { padding: .65rem 0; border-top: 1px solid var(--line); border-left: 0; }
  .form-action { align-items: stretch; flex-direction: column-reverse; }
  .form-action .button { width: 100%; }
  .actions { align-items: stretch; flex-direction: column; }
  .actions .button { width: 100%; }
  .sales-list { grid-template-columns: minmax(4.25rem, max-content) minmax(0, 1fr); gap: .55rem .9rem; }
  .entry-hero-title__line { white-space: normal; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .whatsapp-link--floating {
    right: max(.75rem, env(safe-area-inset-right, 0px));
    bottom: max(.75rem, calc(env(safe-area-inset-bottom, 0px) + .5rem));
    width: 3.1rem;
    min-width: 3.1rem;
    height: 3.1rem;
    min-height: 3.1rem;
  }
}

@media (max-width: 30rem) {
  :root { --content-gutter: var(--content-gutter-mobile); }
  .models-parameters-heading { gap: .75rem; }
  .models-parameters-heading h2 { font-size: 1.65rem; }
  .models-parameters-heading .unit-control button { min-width: 4.35rem; }
  main > article > .section { padding-block: 3.75rem; }
  .article-body { line-height: 1.6; }
  .article-body > :is(p, ul, ol) { margin-bottom: .65em; }
  .article-body h2 { margin-top: 1.9rem; margin-bottom: .65rem; }
  .article-body li + li { margin-top: .35em; }
  .article-body .article-image { margin-block: 1.75rem; }
  .internal-hero--about .internal-hero__content { justify-content: flex-start; }
  .internal-hero--about .internal-hero__copy { width: 100%; }
  .internal-hero--about::after { background: linear-gradient(90deg, rgb(3 15 24 / 90%) 0%, rgb(3 15 24 / 72%) 70%, rgb(3 15 24 / 42%) 100%); }
  .hero-carousel h1 { font-size: 2.8rem; }
  .carousel-controls { bottom: .75rem; }
  .family-card__body, .type-card, .review-card { padding-inline: 0; }
  .review-card { padding: var(--space-3); }
  .selection-table, .parameter-table { min-width: 39rem; }
  .knowledge-card__body { grid-template-columns: 5.5rem minmax(0, 1fr); gap: var(--space-3); }
}

@media (hover: none) {
  .family-card .family-card__support { opacity: 1; }
  .family-card .family-card__actions { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .family-switch::after,
  .family-panel a::after,
  .all-attachments span,
  .button--text::after,
  .family-card__actions,
  .type-card,
  .application-icon,
  .case-card,
  .knowledge-card,
  .listing-card { transform: none !important; }
}
  .related-context .container { align-items: flex-start; flex-direction: column; gap: .3rem; }

/* M9-D Candidate 02R: homepage-scoped refinement of the approved visual system. */
@font-face {
  font-family: "Barlow Condensed";
  src: url("fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
.m9d-home { --font-display: "Barlow Condensed", "Arial Narrow", sans-serif; }
.m9d-home h1, .m9d-home h2, .m9d-home .featured-panel__toggle,
.m9d-home .home-case h3, .m9d-home .work-card strong,
.m9d-home .product-number { font-family: var(--font-display); font-weight: 600; letter-spacing: 0; }
.m9d-home .brand__name { font-size: 1.8rem; letter-spacing: .075em; font-weight: 700; }
.m9d-home .site-header .header-inner { min-height: 5rem; }
.m9d-home .site-nav, .m9d-home .button, .m9d-home label { font-weight: 600; }
.m9d-home .hero-carousel h1 { max-width: 22ch; font-size: clamp(2.65rem, 4vw, 3.625rem); line-height: 1.04; letter-spacing: 0; text-wrap: balance; }
.m9d-home .home-eyebrow { font-size: .78rem; font-weight: 600; letter-spacing: .12em; margin-bottom: 1rem; }
.m9d-home .home-hero-summary { color: #eef2f4; font-size: 1.05rem; line-height: 1.5; margin-top: 1.4rem; max-width: 52ch; }
.m9d-home .home-brand-promise { color: #d8e1e7; font-size: .78rem; font-weight: 600; letter-spacing: .06em; margin-top: 1.4rem; }
.m9d-home .hero-carousel .actions { margin-top: 1.5rem; }
.home-intents { padding-block: 1.5rem; border-top: 1px solid #d8dddf; background: #e9edef; }
.home-intents__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.home-intent { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; min-height: 12.5rem; overflow: hidden; padding: 1.5rem 1.6rem; border: 1px solid transparent; color: var(--navy); text-decoration: none; transition: border-color var(--interaction-duration) var(--interaction-easing), box-shadow var(--interaction-duration) var(--interaction-easing), background-color var(--interaction-duration) var(--interaction-easing); }
.home-intent__copy { display: grid; flex: 1 1 auto; gap: .5rem; min-width: 0; transform: translateY(15px); transition: transform var(--interaction-duration) var(--interaction-easing); }
.home-intent__title { margin: 0; font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; line-height: 1.05; }
.home-intent__primary { max-width: 34ch; margin: 0; }
.home-intent__primary { font-size: .9rem; line-height: 1.45; }
.home-intent__icons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; margin-top: .2rem; padding-top: .6rem; border-top: 1px solid currentColor; opacity: 0; clip-path: inset(0 0 100%); transform: translateY(12px); transition: opacity var(--interaction-duration) var(--interaction-easing), clip-path var(--interaction-duration) var(--interaction-easing), transform var(--interaction-duration) var(--interaction-easing); }
.home-intent__concept { display: grid; min-width: 0; justify-items: start; gap: .2rem; font-size: .58rem; font-weight: 750; letter-spacing: .025em; line-height: 1.1; white-space: nowrap; }
.home-intent__concept svg { width: 1.55rem; height: 1.55rem; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.home-intent__arrow { flex: 0 0 auto; align-self: flex-end; color: var(--gold-hover); font-size: 1.35rem; transition: transform var(--interaction-duration) var(--interaction-easing); }
.home-intent--white { border-color: #c7cfd3; background: #eef2f3; }
.home-intent--white .home-intent__primary { color: #334650; }
.home-intent--white .home-intent__icons { color: #294757; }
.home-intent--gold { border-color: #e1ad21; background: #e1ad21; box-shadow: 0 10px 24px rgb(7 27 43 / 18%); }
.home-intent--gold .home-intent__primary, .home-intent--gold .home-intent__icons { color: #132630; }
.home-intent--gold .home-intent__arrow { color: var(--navy); }
.home-intent--navy { border-color: #020f18; color: #fff; background: #020f18; }
.home-intent--navy .home-intent__primary { color: #e1e8eb; }
.home-intent--navy .home-intent__icons { color: #e6b536; }
.home-intent:is(:hover, :focus-visible) { border-color: currentColor; box-shadow: 0 14px 30px rgb(2 15 24 / 22%); }
.home-intent:is(:hover, :focus-visible) .home-intent__copy { transform: translateY(0); }
.home-intent:is(:hover, :focus-visible) .home-intent__icons { opacity: 1; clip-path: inset(0); transform: translateY(0); }
.home-intent:is(:hover, :focus-visible) .home-intent__arrow { transform: translate(5px, -4px); }
.home-intent--white:is(:hover, :focus-visible) { background: #f7f9f9; }
.home-intent--gold:is(:hover, :focus-visible) { background: #e8b932; }
.home-intent--navy:is(:hover, :focus-visible) { background: #061923; }
.home-intent:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.home-intent--gold:focus-visible { outline-color: var(--navy); }
.home-entity { background: #f1f3f3; border-bottom: 1px solid #d8dddf; }
.home-entity p { max-width: 83ch; margin: 0; padding-block: 1.35rem; color: #334650; font-size: .98rem; line-height: 1.65; }
.home-section-heading { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 3.5rem; align-items: start; margin-bottom: 2.25rem; }
.home-section-heading--compact { display: block; }
.home-section-heading h2 { margin: 0; font-size: clamp(2.25rem, 3.4vw, 3rem); line-height: 1; }
.home-section-heading p { max-width: 64ch; margin: .2rem 0 0; color: #45535c; }
.home-work { padding-block: 4.5rem; scroll-margin-top: 5rem; }
.work-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.work-card { position: relative; aspect-ratio: 4 / 3; overflow: hidden; color: #fff; text-decoration: none; background: var(--navy); }
.work-card picture, .work-card img { width: 100%; height: 100%; }
.work-card picture { display: block; }
.work-card img { object-fit: cover; transition: transform .35s ease; }
.work-card__shade { position: absolute; inset: 34% 0 0; background: linear-gradient(180deg, transparent, rgb(2 16 26 / 88%)); }
.work-card__copy { position: absolute; inset: auto 0 0; display: grid; grid-template-columns: auto 1fr auto; gap: .25rem 1rem; align-items: end; padding: clamp(1.2rem,2.4vw,2rem); }
.work-card__copy .product-number { grid-row: 1 / 3; align-self: start; color: #d8e1e7; font-size: 1.2rem; }
.work-card__copy strong { font-size: clamp(2rem,3vw,3rem); line-height: 1; }
.work-card__copy > span:nth-child(3) { grid-column: 2; max-width: 42ch; color: #eef2f4; font-size: .95rem; }
.work-card__arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 1.4rem; }
.work-card:hover img, .work-card:focus-visible img { transform: scale(1.02); }
.home-work-groups { padding-block: 4.25rem; scroll-margin-top: 5rem; }
.m9d-home .family-tree { gap: 1.3rem; }
.m9d-home .family-card { box-shadow: none; }
.m9d-home .work-group .family-card__media { aspect-ratio: 5 / 4; }
.m9d-home [data-family-focal="crushing"] .family-card__media img { object-position: 76% 50%; }
.m9d-home [data-family-focal="compaction"] .family-card__media img { object-position: 22% 50%; }
.m9d-home .work-group .family-card__body { padding: 1rem 0 .5rem; }
.m9d-home .work-group h3 { font-size: 1.08rem; font-weight: 600; }
.m9d-home .work-group p { margin: .45rem 0 0; color: #53616a; font-size: .91rem; line-height: 1.5; }
.home-more { padding-block: 4.5rem; }
.featured-panels { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2px; margin-top: 2.25rem; background: var(--navy); }
.featured-panel { position: relative; min-width: 0; min-height: 22rem; overflow: hidden; background: var(--navy); color: #fff; }
.featured-panel:not(.is-active) { cursor: pointer; }
.featured-panel picture, .featured-panel picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.featured-panel picture img { object-fit: cover; }
.featured-panel__shade { position: absolute; inset: 18% 0 0; background: linear-gradient(180deg, transparent, rgb(2 16 26 / 92%)); }
.featured-panel__copy { position: absolute; inset: auto 0 0; padding: 1.35rem; }
.featured-panel h3 { margin: 0; }
.featured-panel__toggle { display: grid; grid-template-columns: auto 1fr; align-items: center; width: 100%; gap: .75rem; border: 0; padding: .25rem 0; background: transparent; color: #fff; text-align: left; font-size: clamp(1.45rem,2vw,2rem); line-height: 1.05; cursor: pointer; }
.featured-panel__toggle .product-number { color: #d6dde1; font-size: 1rem; }
.featured-panel__toggle:focus-visible { outline: none; }
.featured-panel__toggle:focus-visible > span:nth-child(2) { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: .28em; }
.featured-panel__detail p { max-width: 44ch; margin: 1rem 0 .65rem; color: #f0f3f4; font-size: .94rem; line-height: 1.5; }
.featured-inquiry { display: inline-block; color: #fff; font-size: .86rem; font-weight: 600; text-decoration-color: var(--gold); text-underline-offset: .25rem; }
.featured-inquiry span { margin-left: .25rem; color: var(--gold); }
@media (min-width: 1025px) {
  .featured-panels.is-enhanced { display: flex; height: auto; aspect-ratio: 25 / 9; }
  .featured-panels.is-enhanced .featured-panel { flex: 9 1 0; min-height: 0; transition: flex-grow .32s ease; }
  .featured-panels.is-enhanced .featured-panel.is-active { flex-grow: 64; }
  .featured-panels.is-enhanced .featured-panel.is-active .featured-panel__shade { inset: 36% 0 0; background: linear-gradient(180deg, transparent, rgb(2 16 26 / 92%)); }
  .featured-panels.is-enhanced .featured-panel:not(.is-active) .featured-panel__shade { inset: 0; background: linear-gradient(180deg, rgb(2 16 26 / 10%), rgb(2 16 26 / 88%)); }
  .featured-panels.is-enhanced .featured-panel:not(.is-active) .featured-panel__copy { inset: auto 0 0; padding: 1rem .7rem 1.2rem; }
  .featured-panels.is-enhanced .featured-panel:not(.is-active) .featured-panel__toggle { display: flex; min-height: 13rem; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: .7rem; font-size: 1.05rem; }
  .featured-panels.is-enhanced .featured-panel:not(.is-active) .featured-panel__toggle > span:nth-child(2) { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
}
.home-order-support { padding-block: 5rem; color: #fff; background: var(--navy); }
.home-order-support__layout { display: grid; grid-template-columns: minmax(0, 34fr) minmax(0, 66fr); align-items: start; gap: clamp(3rem, 5vw, 5rem); }
.home-order-support__heading h2 { max-width: 11ch; margin: 0; color: #fff; font-size: clamp(2.4rem, 3.4vw, 3.25rem); line-height: .98; }
.order-steps { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.order-steps::before { content: ""; position: absolute; z-index: 0; top: 2rem; right: 1rem; left: 1rem; height: 1px; background: rgb(198 165 106 / 64%); }
.order-steps li { position: relative; z-index: 1; min-width: 0; }
.order-steps li > span { display: inline-block; padding-right: .65rem; color: var(--gold); background: var(--navy); font-family: var(--font-display); font-size: 3rem; line-height: 1.25; }
.order-steps h3 { margin: 1.2rem 0 .65rem; color: #fff; font-size: 1.05rem; }
.order-steps p { margin: 0; color: #b9c7cf; font-size: .9rem; line-height: 1.55; }
.home-guidance { padding-block: 4.5rem; }
.m9d-home .home-case { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); gap: 0; margin-top: 2.25rem; }
.m9d-home .home-case > div { width: calc(21.5% + 31.25rem); max-width: 100%; padding-left: 21.5%; }
.m9d-home .home-case > div > * { max-width: 31.25rem; }
.m9d-home .home-case h3 { font-size: 2.2rem; }
.m9d-home .case-kicker::before { content: ""; display: inline-block; width: .45rem; height: .45rem; background: #467f80; margin-right: .55rem; border-radius: 50%; vertical-align: middle; }
.guidance-label { margin: 3.25rem 0 1.25rem; border-top: 1px solid #c6ced2; padding-top: 1rem; }
.guidance-label h3 { margin: 0; color: #53616a; font-size: .82rem; letter-spacing: .1em; }
.m9d-home .knowledge-card h3 { font-weight: 600; }
.m9d-home #homepage-rfq { padding-block: 1.875rem; scroll-margin-top: 5rem; }
.m9d-home .rfq-layout { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 4rem; }
.m9d-home .rfq-title { font-size: 3.25rem; max-width: 12ch; }
.m9d-home .form-grid { gap: .8125rem 1rem; }
.m9d-home .field label { font-size: .9rem; font-weight: 600; }
.m9d-home .field .optional { font-weight: 400; color: #c1ced6; }
.m9d-home .field input, .m9d-home .field select { height: 2.9375rem; min-height: 2.9375rem; padding-block: .5rem; font-size: 1rem; }
.m9d-home .field textarea { height: 4.75rem; min-height: 4.75rem; font-size: 1rem; }
.m9d-home .field-error { font-size: .8rem; min-height: .9rem; }
.m9d-home .rfq-contact-rule { font-size: .9rem; color: #d7dfe3; margin: 0; }
.m9d-home .rfq-field-hint { font-size: .82rem; color: #c1ced6; margin: 0; }
.m9d-home .rfq-privacy { font-size: .8rem; }
@media (max-width: 1024px) {
  .m9d-home .rfq-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .m9d-home .rfq-title { max-width: none; font-size: 2.7rem; }
  .home-section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .featured-panels, .featured-panels.is-enhanced { display: grid; grid-template-columns: 1fr; background: transparent; gap: .75rem; height: auto; }
  .featured-panel, .featured-panels.is-enhanced .featured-panel { min-height: 20rem; flex: none; }
  .home-order-support__layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-order-support__heading h2 { max-width: none; }
  .order-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 2.5rem; }
  .order-steps::before { display: none; }
  .order-steps li { padding-top: 1rem; border-top: 1px solid rgb(198 165 106 / 58%); }
  .m9d-home .home-case { grid-template-columns: 1fr; gap: var(--space-4); }
  .m9d-home .home-case > div { width: 100%; padding-left: 0; }
}
@media (max-width: 700px) {
  .m9d-home .brand__name { font-size: 1.75rem; }
  .m9d-home .hero-carousel h1 { font-size: 2.65rem; max-width: 21ch; }
  .home-intents__grid { grid-template-columns: 1fr; }
  .home-intent { min-height: 0; padding: 1.25rem; }
  .work-cards { grid-template-columns: 1fr; }
  .work-card__copy { grid-template-columns: auto 1fr auto; }
  .work-card__copy strong { font-size: 2rem; }
  .home-order-support { padding-block: 4rem; }
  .order-steps { grid-template-columns: 1fr; gap: 1.75rem; }
  .order-steps::before { display: block; top: .75rem; right: auto; bottom: .75rem; left: 1.4rem; width: 1px; height: auto; }
  .order-steps li { min-height: 4.5rem; padding: 0 0 0 4.25rem; border-top: 0; }
  .order-steps li > span { position: absolute; top: 0; left: 0; padding: 0 .45rem 0 0; font-size: 2.35rem; }
  .order-steps h3 { margin-top: 0; }
  .m9d-home .form-grid { grid-template-columns: 1fr; }
}
@media (hover: none) and (pointer: coarse), (hover: none) and (pointer: fine), (max-width: 700px) {
  .home-intent__copy, .home-intent__icons { transform: none; }
  .home-intent__icons { opacity: 1; clip-path: inset(0); }
}
@media (prefers-reduced-motion: reduce) {
  .featured-panels.is-enhanced .featured-panel, .work-card img, .home-intent, .home-intent__copy, .home-intent__icons, .home-intent__arrow { transition: none; }
  .home-intent__copy, .home-intent__icons { transform: none; }
  .home-intent__icons { opacity: 1; clip-path: inset(0); }
}
