.materials-page,
.materials-page * {
  box-sizing: border-box;
}

.materials-page {
  overflow: clip;
  background: var(--ash-color-surface-soft);
  color: var(--ash-color-text);
  font-family: var(--ash-font-body);
}

.materials-page ::selection {
  background: color-mix(in srgb, var(--ash-color-primary) 24%, transparent);
  color: var(--ash-color-text);
}

.materials-page :where(h1, h2, h3, p, figure, figcaption, ol, ul, dl, dd) {
  margin: 0;
}

.materials-page :is(img, canvas) {
  display: block;
  max-width: 100%;
}

.materials-page :is(button, a, input, textarea, select):focus-visible,
#model-modal :is(button, a):focus-visible {
  outline: var(--ash-focus-width) solid var(--ash-color-focus);
  outline-offset: 0.1875rem;
}

.materials-page a {
  text-underline-offset: 0.18em;
}

.materials-page abbr[title] {
  text-decoration: none;
}

.materials-page .ash-section {
  padding-block: var(--ash-section-space);
}

.materials-kicker {
  color: var(--ash-color-primary-strong);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  letter-spacing: 0.035em;
  line-height: 1.4;
}

.materials-section-head {
  display: grid;
  max-width: 48rem;
  gap: var(--ash-space-4);
  margin-bottom: clamp(var(--ash-space-8), 4vw, var(--ash-space-12));
}

.materials-section-head .ash-section-title,
.materials-request__copy .ash-section-title,
.materials-model-section__copy .ash-section-title {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h2);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-tight);
  text-wrap: balance;
}

.materials-section-head .ash-section-lead,
.materials-request__copy .ash-section-lead,
.materials-model-section__copy .ash-section-lead {
  max-width: 62ch;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-lead);
  line-height: var(--ash-line-height-body);
}

.materials-section-head--wide {
  max-width: none;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
  align-items: end;
  gap: clamp(var(--ash-space-8), 5vw, var(--ash-space-16));
}

.materials-section-head--wide > div {
  display: grid;
  gap: var(--ash-space-4);
}

.materials-hero {
  padding-top: var(--ash-section-space-compact);
}

.materials-hero__panel {
  display: grid;
  min-height: min(41rem, calc(100dvh - 7rem));
  grid-template-columns: minmax(0, 0.96fr) minmax(27rem, 1.04fr);
  overflow: hidden;
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
  box-shadow: var(--ash-shadow-card);
}

.materials-hero__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--ash-space-6);
  padding: clamp(var(--ash-space-8), 5vw, var(--ash-space-20));
}

.materials-hero__content h1 {
  max-width: 13ch;
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h1);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-tight);
  text-wrap: balance;
}

.materials-hero__content > p:not(.materials-kicker) {
  max-width: 38rem;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-lead);
  line-height: var(--ash-line-height-body);
}

.materials-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ash-space-3);
}

.materials-hero__actions .ash-button {
  white-space: nowrap;
}

.materials-hero__facts {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ash-space-4);
  padding-top: var(--ash-space-4);
  border-top: 1px solid var(--ash-color-border);
}

.materials-hero__facts div {
  display: grid;
  gap: var(--ash-space-1);
}

.materials-hero__facts dt {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
  line-height: 1.45;
}

.materials-hero__facts dd {
  color: var(--ash-color-text);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-body);
  font-weight: var(--ash-font-weight-bold);
  line-height: 1.4;
}

.materials-hero__visual {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: clamp(var(--ash-space-6), 4vw, var(--ash-space-12));
  background: var(--ash-color-primary-soft);
}

.materials-hero__visual img {
  width: 100%;
  height: 100%;
  min-height: 25rem;
  object-fit: contain;
  object-position: center;
}

.materials-hero__visual figcaption {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ash-space-4);
  padding-top: var(--ash-space-5);
  border-top: 1px solid var(--ash-color-border-strong);
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: 1.5;
}

.materials-hero__visual figcaption span {
  display: grid;
  gap: var(--ash-space-1);
}

.materials-hero__visual figcaption strong {
  color: var(--ash-color-text);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-lead);
}

.materials-system__chain {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  border-top: 1px solid var(--ash-color-border-strong);
  border-bottom: 1px solid var(--ash-color-border-strong);
  list-style: none;
}

.materials-system__chain li {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--ash-space-3);
  min-width: 0;
  padding: var(--ash-space-8) var(--ash-space-6);
}

.materials-system__chain li + li {
  border-left: 1px solid var(--ash-color-border);
}

.materials-system__chain li::before {
  width: var(--ash-space-6);
  height: var(--ash-space-1);
  border-radius: var(--ash-radius-pill);
  background: var(--ash-color-primary);
  content: "";
}

.materials-system__chain h3 {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-card-title);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.materials-system__chain p {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
}

.materials-production {
  display: grid;
  grid-template-columns: minmax(10rem, 0.58fr) minmax(12rem, 0.68fr) minmax(0, 1.74fr);
  gap: 0;
  margin-top: var(--ash-space-8);
  overflow: hidden;
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  background: var(--ash-color-surface);
}

.materials-production > * {
  min-width: 0;
  padding: var(--ash-space-5) var(--ash-space-6);
}

.materials-production > * + * {
  border-left: 1px solid var(--ash-color-border);
}

.materials-production div {
  display: grid;
  align-content: center;
  gap: var(--ash-space-1);
}

.materials-production span {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
}

.materials-production strong {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-body);
  line-height: var(--ash-line-height-heading);
}

.materials-production p {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
  background: var(--ash-color-primary-soft);
}

.materials-strength {
  background: var(--ash-color-surface);
}

.materials-strength__comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ash-color-border-strong);
  border-bottom: 1px solid var(--ash-color-border-strong);
}

.materials-strength__case {
  display: grid;
  align-content: start;
  gap: var(--ash-space-4);
  min-width: 0;
  padding: clamp(var(--ash-space-8), 5vw, var(--ash-space-16));
}

.materials-strength__case + .materials-strength__case {
  border-left: 1px solid var(--ash-color-border-strong);
}

.materials-strength__case--wall {
  background: var(--ash-color-primary-soft);
}

.materials-strength__label {
  color: var(--ash-color-primary-strong);
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
}

.materials-strength__value {
  color: var(--ash-color-text);
  font-family: var(--ash-font-tech);
  font-size: clamp(3.75rem, 2.8rem + 3.3vw, 6.5rem);
  font-weight: var(--ash-font-weight-bold);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.075em;
  line-height: 0.95;
}

.materials-strength__value span {
  color: var(--ash-color-text-subtle);
  font-size: 0.48em;
  vertical-align: 0.45em;
}

.materials-strength__value abbr {
  color: var(--ash-color-text-muted);
  font-size: 0.28em;
  letter-spacing: 0;
}

.materials-strength__case h3 {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h3);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-heading);
}

.materials-strength__case > p:last-child {
  max-width: 48ch;
  color: var(--ash-color-text-muted);
  line-height: var(--ash-line-height-body);
}

.materials-strength__conditions {
  display: grid;
  grid-template-columns: minmax(10rem, 0.42fr) minmax(0, 1.18fr) minmax(18rem, 0.8fr);
  gap: var(--ash-space-6);
  align-items: start;
  margin-top: var(--ash-space-8);
  padding: var(--ash-space-6);
  border-radius: var(--ash-radius-card);
  background: var(--ash-color-surface-soft);
}

.materials-strength__conditions > p:first-child {
  color: var(--ash-color-text);
  line-height: var(--ash-line-height-heading);
}

.materials-strength__conditions dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ash-space-4) var(--ash-space-6);
}

.materials-strength__conditions dl div {
  display: grid;
  gap: var(--ash-space-1);
}

.materials-strength__conditions dt {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
}

.materials-strength__conditions dd {
  color: var(--ash-color-text);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  line-height: 1.45;
}

.materials-note {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
}

.materials-engineering__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: var(--ash-space-8);
  align-items: stretch;
}

.materials-engineering__main {
  display: grid;
  align-content: start;
  gap: var(--ash-space-5);
  padding: clamp(var(--ash-space-8), 4vw, var(--ash-space-12));
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-primary-soft);
}

.materials-engineering__index {
  color: var(--ash-color-primary-strong);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
}

.materials-engineering h3 {
  max-width: 23ch;
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h3);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-heading);
  text-wrap: balance;
}

.materials-engineering article > p:not(.materials-engineering__index) {
  color: var(--ash-color-text-muted);
  line-height: var(--ash-line-height-body);
}

.materials-engineering__main dl {
  display: grid;
  margin-top: var(--ash-space-3);
  border-top: 1px solid var(--ash-color-border-strong);
}

.materials-engineering__main dl div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.72fr) minmax(0, 1.28fr);
  gap: var(--ash-space-5);
  padding-block: var(--ash-space-4);
  border-bottom: 1px solid var(--ash-color-border-strong);
}

.materials-engineering__main dt {
  color: var(--ash-color-text);
  font-weight: var(--ash-font-weight-bold);
}

.materials-engineering__main dd {
  color: var(--ash-color-text-muted);
}

.materials-engineering__side {
  display: grid;
  align-content: stretch;
}

.materials-engineering__side article {
  display: grid;
  align-content: center;
  gap: var(--ash-space-4);
  padding: var(--ash-space-8) 0;
  border-top: 1px solid var(--ash-color-border-strong);
}

.materials-engineering__side article + article {
  border-bottom: 1px solid var(--ash-color-border-strong);
}

.materials-model-section {
  background: var(--ash-color-surface);
}

.materials-model-section__panel {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  overflow: hidden;
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
  box-shadow: var(--ash-shadow-card);
}

.materials-model-section__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--ash-space-5);
  padding: clamp(var(--ash-space-8), 4vw, var(--ash-space-12));
}

.materials-model-section__copy ul {
  display: grid;
  gap: var(--ash-space-3);
  padding: 0;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
  list-style: none;
}

.materials-model-section__copy li {
  position: relative;
  padding-left: var(--ash-space-5);
}

.materials-model-section__copy li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.5rem;
  height: 0.125rem;
  border-radius: var(--ash-radius-pill);
  background: var(--ash-color-primary);
  content: "";
}

.materials-model-section__profile-button {
  margin-top: var(--ash-space-2);
}

.materials-model-section__viewer {
  display: grid;
  min-width: 0;
  grid-template-rows: minmax(32rem, 1fr) auto;
  background: var(--ash-color-surface-muted);
}

.materials-model-section__viewer figcaption {
  padding: var(--ash-space-3) var(--ash-space-5);
  border-top: 1px solid var(--ash-color-border);
  color: var(--ash-color-text-muted);
  background: var(--ash-color-surface);
  font-size: var(--ash-font-size-caption);
  line-height: 1.55;
}

.materials-model-section__viewer figcaption a {
  color: var(--ash-color-primary-strong);
}

.materials-model-section__next {
  max-width: 80ch;
  margin: var(--ash-space-6) auto 0;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
  text-align: center;
}

.model-scene {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 32rem;
  overflow: hidden;
  background: var(--ash-color-surface-muted);
  isolation: isolate;
  cursor: grab;
}

.model-scene.is-dragging {
  cursor: grabbing;
}

.model-scene__viewport,
.model-scene__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.model-scene__canvas {
  display: block;
  touch-action: none;
}

.model-scene__placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  overflow: hidden;
  background: var(--ash-color-primary-soft);
  transition: opacity var(--ash-duration-normal) var(--ash-ease-out);
}

.model-scene__placeholder[hidden] {
  display: none;
}

.model-scene__placeholder > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.78;
}

.model-scene__placeholder > div {
  position: absolute;
  right: var(--ash-space-5);
  bottom: var(--ash-space-5);
  left: var(--ash-space-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ash-space-4);
  padding: var(--ash-space-4);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  background: color-mix(in srgb, var(--ash-color-surface) 94%, transparent);
  box-shadow: var(--ash-shadow-navigation);
}

.model-scene__placeholder span {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-semibold);
  line-height: 1.45;
}

.model-scene__placeholder .ash-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.model-scene__toolbar {
  position: absolute;
  top: var(--ash-space-4);
  right: var(--ash-space-4);
  z-index: 4;
  display: flex;
  gap: var(--ash-space-2);
}

.model-scene__expand {
  display: inline-flex;
  min-height: var(--ash-control-height-compact);
  align-items: center;
  justify-content: center;
  padding: 0 var(--ash-space-4);
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: color-mix(in srgb, var(--ash-color-surface) 94%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  font: inherit;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.model-scene__expand:hover {
  border-color: var(--ash-color-primary);
  background: var(--ash-color-surface);
}

.model-scene__expand:active {
  transform: translateY(var(--ash-press-offset));
}

.model-scene__status {
  position: absolute;
  right: var(--ash-space-4);
  bottom: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 3;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
  line-height: 1.4;
  pointer-events: none;
  transition: opacity var(--ash-duration-normal) var(--ash-ease-out);
}

.model-scene.is-ready .model-scene__status {
  opacity: 0;
}

.materials-explorer__panel {
  overflow: hidden;
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
}

.materials-explorer__toolbar {
  display: flex;
  gap: var(--ash-space-2);
  padding: var(--ash-space-4);
  border-bottom: 1px solid var(--ash-color-border);
}

.materials-category {
  min-height: var(--ash-control-height);
  padding: 0 var(--ash-space-6);
  border: 1px solid transparent;
  border-radius: var(--ash-radius-pill);
  color: var(--ash-color-text-muted);
  background: transparent;
  font: inherit;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  cursor: pointer;
  transition:
    color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    border-color var(--ash-duration-fast) var(--ash-ease-out);
}

.materials-category:hover {
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-primary-soft);
}

.materials-category.is-active {
  border-color: var(--ash-color-primary);
  color: var(--ash-color-on-primary);
  background: var(--ash-color-primary);
}

.materials-category:active,
.materials-variant:active {
  transform: translateY(var(--ash-press-offset));
}

.materials-explorer__body {
  display: grid;
  grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr);
}

.materials-variants {
  display: grid;
  align-content: start;
  border-right: 1px solid var(--ash-color-border);
  background: var(--ash-color-surface-soft);
}

.materials-variant {
  display: grid;
  min-height: 8rem;
  align-content: center;
  gap: var(--ash-space-2);
  padding: var(--ash-space-5);
  border: 0;
  border-bottom: 1px solid var(--ash-color-border);
  color: var(--ash-color-text);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.materials-variant:hover {
  background: color-mix(in srgb, var(--ash-color-primary-soft) 68%, var(--ash-color-surface));
}

.materials-variant.is-active {
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-surface);
  box-shadow: inset 0.25rem 0 0 var(--ash-color-primary);
}

.materials-variant strong {
  font-size: var(--ash-font-size-card-title);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.materials-variant span {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: 1.45;
}

.materials-assembly {
  display: grid;
  min-width: 0;
  gap: var(--ash-space-8);
  padding: clamp(var(--ash-space-6), 4vw, var(--ash-space-10));
}

.materials-assembly__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--ash-space-6);
}

.materials-assembly__head > div {
  display: grid;
  gap: var(--ash-space-2);
}

.materials-assembly__head h3 {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h3);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-heading);
}

.materials-assembly__head > div p {
  max-width: 56ch;
  color: var(--ash-color-text-muted);
  line-height: var(--ash-line-height-body);
}

.materials-assembly__notice {
  flex: 0 0 auto;
  padding: var(--ash-space-2) var(--ash-space-3);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-accent-strong);
  background: color-mix(in srgb, var(--ash-color-accent) 10%, var(--ash-color-surface));
  font-size: var(--ash-font-size-caption);
  font-weight: var(--ash-font-weight-bold);
}

.materials-assembly__content {
  display: grid;
  grid-template-columns: minmax(14rem, 0.75fr) minmax(0, 1.25fr);
  gap: var(--ash-space-8);
  align-items: stretch;
}

.materials-layer-stack {
  display: flex;
  min-height: 20rem;
  flex-direction: column;
  justify-content: stretch;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-card);
  list-style: none;
}

.materials-layer-stack li {
  display: grid;
  flex: 1 1 0;
  place-items: center;
  min-height: 3.5rem;
  padding: var(--ash-space-3) var(--ash-space-4);
  color: var(--ash-color-text);
  background: var(--layer-tone);
  text-align: center;
}

.materials-layer-stack li span {
  max-width: 18ch;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  line-height: 1.35;
}

.materials-layer-details {
  display: grid;
  align-content: start;
}

.materials-layer-details > div {
  display: grid;
  grid-template-columns: minmax(10rem, 0.82fr) minmax(0, 1.18fr);
  gap: var(--ash-space-5);
  padding: var(--ash-space-4) 0;
  border-top: 1px solid var(--ash-color-border);
}

.materials-layer-details > div:last-child {
  border-bottom: 1px solid var(--ash-color-border);
}

.materials-layer-details dt {
  color: var(--ash-color-text);
  font-weight: var(--ash-font-weight-bold);
  line-height: 1.45;
}

.materials-layer-details dd {
  color: var(--ash-color-text-muted);
  line-height: 1.55;
}

.materials-assembly__disclaimer {
  padding-top: var(--ash-space-4);
  border-top: 1px solid var(--ash-color-border);
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
}

.materials-request__panel {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(var(--ash-space-8), 5vw, var(--ash-space-20));
  align-items: center;
  padding: clamp(var(--ash-space-8), 5vw, var(--ash-space-16));
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
  box-shadow: var(--ash-shadow-card);
}

.materials-request__copy {
  display: grid;
  gap: var(--ash-space-5);
}

.materials-request__form {
  min-width: 0;
  padding: clamp(var(--ash-space-5), 3vw, var(--ash-space-8));
  border-radius: var(--ash-radius-card);
  background: var(--ash-color-surface-soft);
}

.media-modal[hidden] {
  display: none !important;
}

.media-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: var(--ash-space-5);
}

.media-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--ash-color-overlay);
}

.media-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(76rem, calc(100vw - 2.5rem));
  height: min(48rem, calc(100dvh - 2.5rem));
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
  box-shadow: 0 2rem 5rem rgba(8, 16, 32, 0.28);
}

.media-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ash-space-5);
  padding: var(--ash-space-5) var(--ash-space-6);
  border-bottom: 1px solid var(--ash-color-border);
}

.media-modal__header h3 {
  margin: 0;
  color: var(--ash-color-text);
  font-family: var(--ash-font-body);
  font-size: var(--ash-font-size-card-title);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.media-modal__close {
  min-height: var(--ash-control-height-compact);
  padding: 0 var(--ash-space-4);
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: var(--ash-color-surface);
  font: inherit;
  font-weight: var(--ash-font-weight-bold);
  cursor: pointer;
}

.model-modal__body {
  min-height: 0;
  background: var(--ash-color-surface-muted);
}

.model-scene--modal {
  min-height: 100%;
}

.model-modal__hint {
  margin: 0;
  padding: var(--ash-space-4) var(--ash-space-6);
  border-top: 1px solid var(--ash-color-border);
  color: var(--ash-color-text-muted);
  font-family: var(--ash-font-body);
  font-size: var(--ash-font-size-small);
  line-height: 1.5;
}

body.has-modal {
  overflow: hidden;
}

.materials-page.is-reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(1rem);
  transition:
    opacity 560ms var(--ash-ease-out),
    transform 560ms var(--ash-ease-out);
}

.materials-page.is-reveal-ready [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 64rem) {
  .materials-hero__panel,
  .materials-model-section__panel,
  .materials-request__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-hero__panel {
    min-height: 0;
  }

  .materials-hero__content h1 {
    max-width: 16ch;
  }

  .materials-hero__visual img {
    min-height: 22rem;
    max-height: 32rem;
  }

  .materials-system__chain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .materials-system__chain li:nth-child(3) {
    border-left: 0;
  }

  .materials-system__chain li:nth-child(n + 3) {
    border-top: 1px solid var(--ash-color-border);
  }

  .materials-production {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .materials-production p {
    grid-column: 1 / -1;
    border-top: 1px solid var(--ash-color-border);
    border-left: 0;
  }

  .materials-section-head--wide,
  .materials-strength__conditions,
  .materials-engineering__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-model-section__viewer {
    grid-template-rows: minmax(28rem, 1fr) auto;
  }

  .model-scene {
    min-height: 28rem;
  }
}

@media (max-width: 48rem) {
  .materials-page .ash-section {
    padding-block: var(--ash-section-space-compact);
  }

  .materials-hero {
    padding-top: var(--ash-space-6);
  }

  .materials-hero__panel,
  .materials-engineering__main,
  .materials-model-section__panel,
  .materials-explorer__panel,
  .materials-request__panel {
    border-radius: var(--ash-radius-card);
  }

  .materials-hero__content,
  .materials-model-section__copy,
  .materials-request__panel {
    padding: var(--ash-space-6);
  }

  .materials-hero__content h1 {
    max-width: 14ch;
    font-size: var(--ash-font-size-hero-compact);
  }

  .materials-hero__actions {
    width: 100%;
    flex-direction: column;
  }

  .materials-hero__actions .ash-button {
    width: 100%;
  }

  .materials-hero__facts,
  .materials-hero__visual figcaption {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-hero__visual {
    padding: var(--ash-space-5);
  }

  .materials-hero__visual img {
    min-height: 18rem;
  }

  .materials-system__chain,
  .materials-production,
  .materials-strength__comparison {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-system__chain li,
  .materials-system__chain li:nth-child(3) {
    border-left: 0;
  }

  .materials-system__chain li + li {
    border-top: 1px solid var(--ash-color-border);
  }

  .materials-production > * + * {
    border-top: 1px solid var(--ash-color-border);
    border-left: 0;
  }

  .materials-production p {
    grid-column: auto;
  }

  .materials-strength__case + .materials-strength__case {
    border-top: 1px solid var(--ash-color-border-strong);
    border-left: 0;
  }

  .materials-strength__case {
    padding: var(--ash-space-8) var(--ash-space-5);
  }

  .materials-strength__conditions {
    padding: var(--ash-space-5);
  }

  .materials-strength__conditions dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-engineering__main {
    padding: var(--ash-space-6);
  }

  .materials-engineering__main dl div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ash-space-1);
  }

  .materials-model-section__viewer {
    grid-template-rows: minmax(24rem, 1fr) auto;
  }

  .model-scene {
    min-height: 24rem;
  }

  .model-scene__placeholder > div {
    right: var(--ash-space-4);
    bottom: var(--ash-space-4);
    left: var(--ash-space-4);
    flex-direction: column;
    align-items: stretch;
  }

  .model-scene__placeholder .ash-button {
    width: 100%;
  }

  .materials-model-section__profile-button {
    width: 100%;
  }

  .materials-explorer__toolbar {
    padding: var(--ash-space-3);
  }

  .materials-category {
    flex: 1 1 0;
    padding: 0 var(--ash-space-3);
  }

  .materials-explorer__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-variants {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--ash-color-border);
  }

  .materials-variant {
    min-height: 6.5rem;
    padding: var(--ash-space-4);
    border-bottom: 0;
  }

  .materials-variant + .materials-variant {
    border-left: 1px solid var(--ash-color-border);
  }

  .materials-variant.is-active {
    box-shadow: inset 0 -0.25rem 0 var(--ash-color-primary);
  }

  .materials-variant strong {
    font-size: 0.75rem;
  }

  .materials-assembly {
    gap: var(--ash-space-6);
    padding: var(--ash-space-5);
  }

  .materials-assembly__head {
    display: grid;
    gap: var(--ash-space-4);
  }

  .materials-assembly__notice {
    width: fit-content;
  }

  .materials-assembly__content {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-layer-stack {
    min-height: 16rem;
  }

  .materials-layer-details > div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ash-space-2);
  }

  .media-modal {
    padding: var(--ash-space-3);
  }

  .media-modal__dialog {
    width: calc(100vw - 1.5rem);
    height: calc(100dvh - 1.5rem);
    border-radius: var(--ash-radius-card);
  }

  .media-modal__header,
  .model-modal__hint {
    padding: var(--ash-space-4);
  }

  .media-modal__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--ash-space-2);
  }

  .media-modal__header h3 {
    max-width: 16rem;
    font-size: 0.75rem;
  }

  .media-modal__close {
    min-height: 2rem;
    padding-inline: var(--ash-space-2);
    font-size: var(--ash-font-size-caption);
  }
}

@media (max-width: 25rem) {
  .materials-variants {
    grid-template-columns: minmax(0, 1fr);
  }

  .materials-variant + .materials-variant {
    border-top: 1px solid var(--ash-color-border);
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .materials-page *,
  .materials-page *::before,
  .materials-page *::after,
  #model-modal *,
  #model-modal *::before,
  #model-modal *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .materials-page.is-reveal-ready [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* Interactive garage frame */
.mounting-hero {
  padding-top: var(--ash-section-space-compact);
}

.mounting-hero__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: clamp(var(--ash-space-8), 4vw, var(--ash-space-12));
}

.mounting-hero__head > div {
  display: grid;
  max-width: 54rem;
  gap: var(--ash-space-4);
}

.mounting-hero__head h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-h1);
  font-weight: var(--ash-font-weight-extrabold);
  letter-spacing: var(--ash-letter-spacing-heading);
  line-height: var(--ash-line-height-tight);
  text-wrap: balance;
}

.mounting-hero__lead {
  max-width: 56ch;
  margin: 0;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-lead);
  line-height: var(--ash-line-height-body);
}

.garage-showcase {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel);
  background: var(--ash-color-surface);
  box-shadow: var(--ash-shadow-card);
}

.garage-model-switcher {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ash-space-2);
  padding: var(--ash-space-4);
  border-bottom: 1px solid var(--ash-color-border);
  background: var(--ash-color-surface);
}

.garage-model-switcher__tabs {
  display: flex;
  min-width: 0;
  padding: 0.125rem;
  border-radius: var(--ash-radius-control);
  clip-path: inset(0 round var(--ash-radius-control));
  scroll-padding-inline: 0.125rem;
  overflow-x: auto;
  gap: var(--ash-space-2);
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.garage-model-switcher__tabs::-webkit-scrollbar {
  display: none;
}
.garage-model-switcher__tabs.has-clipped-end:not(.has-clipped-start) {
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 0.875rem), transparent 100%);
  mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 0.875rem), transparent 100%);
}

.garage-model-switcher__tabs.has-clipped-start:not(.has-clipped-end) {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 0.875rem, #000 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 0.875rem, #000 100%);
}

.garage-model-switcher__tabs.has-clipped-start.has-clipped-end {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 0.875rem, #000 calc(100% - 0.875rem), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 0.875rem, #000 calc(100% - 0.875rem), transparent 100%);
}

.garage-model-switcher__tab {
  display: inline-flex;
  flex: 1 0 10.5rem;
  min-height: var(--ash-control-height);
  align-items: center;
  justify-content: center;
  padding: var(--ash-space-3) var(--ash-space-4);
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: var(--ash-color-surface-muted);
  font: inherit;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  line-height: 1.25;
  text-align: center;
  scroll-snap-align: start;
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.garage-model-switcher__tab:hover {
  border-color: var(--ash-color-primary);
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-primary-soft);
}

.garage-model-switcher__tab.is-active {
  border-color: var(--ash-color-primary);
  color: var(--ash-color-on-primary);
  background: var(--ash-color-primary);
}

.garage-model-switcher__tab:active {
  transform: translateY(var(--ash-press-offset));
}

.garage-model-switcher__nav {
  display: inline-grid;
  width: var(--ash-control-height);
  height: var(--ash-control-height);
  place-items: center;
  padding: 0;
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-surface);
  box-shadow: var(--ash-shadow-navigation);
  font: inherit;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.garage-model-switcher__nav[hidden] {
  display: none;
}

.garage-model-switcher__nav:hover:not(:disabled) {
  border-color: var(--ash-color-primary);
  background: var(--ash-color-primary-soft);
}

.garage-model-switcher__nav:active:not(:disabled) {
  transform: translateY(var(--ash-press-offset));
}

.garage-model-switcher__nav:disabled {
  opacity: 0.42;
  cursor: default;
}

.garage-showcase__home {
  min-height: clamp(34rem, 58vw, 48rem);
  background: var(--ash-color-surface-muted);
}

.garage-scene {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: clamp(34rem, 58vw, 48rem);
  overflow: hidden;
  background: var(--ash-color-surface-muted);
  isolation: isolate;
  cursor: grab;
}

.garage-scene.is-dragging {
  cursor: grabbing;
}

.garage-scene__viewport,
.garage-scene__canvas,
.garage-scene__hotspots {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.garage-scene__canvas {
  display: block;
  touch-action: none;
}

.garage-scene__hotspots {
  z-index: 3;
  pointer-events: none;
}

.garage-scene__hotspots button {
  position: absolute;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--ash-color-on-primary);
  background: transparent;
  font: inherit;
  font-family: var(--ash-font-tech);
  font-size: 0.75rem;
  font-weight: var(--ash-font-weight-extrabold);
  line-height: 1;
  opacity: 0;
  pointer-events: auto;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: opacity var(--ash-duration-normal) var(--ash-ease-out);
}

.garage-scene__hotspots button span {
  display: grid;
  width: 2.125rem;
  height: 2.125rem;
  place-items: center;
  border: 0.125rem solid var(--ash-color-surface);
  border-radius: inherit;
  background: var(--ash-color-primary);
  box-shadow: 0 0.375rem 1rem rgba(36, 73, 201, 0.24);
  pointer-events: none;
  transform: scale(var(--garage-hotspot-scale, 1));
  transition:
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    box-shadow var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-normal) var(--ash-ease-out);
}

.garage-scene.is-ready .garage-scene__hotspots button:not(.is-outside) {
  opacity: var(--garage-hotspot-opacity, 1);
}

.garage-scene.is-ready .garage-scene__hotspots button:not(.is-outside):hover,
.garage-scene.is-ready .garage-scene__hotspots button:not(.is-outside):focus-visible,
.garage-scene.is-ready .garage-scene__hotspots button:not(.is-outside).is-active {
  opacity: 1;
}

.garage-scene__hotspots button:hover span,
.garage-scene__hotspots button:focus-visible span,
.garage-scene__hotspots button.is-active span {
  background: var(--ash-color-primary-strong);
  box-shadow: 0 0.75rem 2rem rgba(36, 73, 201, 0.36);
  transform: scale(calc(var(--garage-hotspot-scale, 1) + 0.08));
}

.garage-scene__hotspots button:active span {
  transform: scale(calc(var(--garage-hotspot-scale, 1) - 0.04));
}

.garage-scene__hotspots button.is-outside,
.garage-scene__hotspots button:disabled {
  opacity: 0;
  pointer-events: none;
}

.garage-scene__loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--ash-space-3);
  padding: var(--ash-space-6);
  color: var(--ash-color-text);
  background: var(--ash-color-surface-muted);
  text-align: center;
}

.garage-scene__loading[hidden] {
  display: none;
}

.garage-scene__loading > span:last-child {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
}

.garage-scene__loader {
  width: 2.25rem;
  height: 2.25rem;
  border: 0.1875rem solid var(--ash-color-border-strong);
  border-top-color: var(--ash-color-primary);
  border-radius: 50%;
  animation: garage-loader 800ms linear infinite;
}

@keyframes garage-loader {
  to {
    transform: rotate(360deg);
  }
}

.garage-scene__toolbar {
  position: absolute;
  top: var(--ash-space-4);
  right: var(--ash-space-4);
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--ash-space-2);
}

.garage-scene:has(.garage-node-card.is-right:not([hidden])) .garage-scene__toolbar {
  right: auto;
  left: var(--ash-space-4);
  justify-content: flex-start;
}

.garage-scene__tool,
.garage-node-card__head button {
  display: inline-flex;
  min-height: var(--ash-control-height-compact);
  align-items: center;
  justify-content: center;
  padding: 0 var(--ash-space-4);
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: color-mix(in srgb, var(--ash-color-surface) 96%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  font: inherit;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.garage-scene__tool:hover,
.garage-node-card__head button:hover {
  border-color: var(--ash-color-primary);
  background: var(--ash-color-surface);
}

.garage-scene__tool:active,
.garage-node-card__head button:active {
  transform: translateY(var(--ash-press-offset));
}

.garage-scene__tool:disabled {
  opacity: 0.55;
  cursor: wait;
}

.garage-scene__help {
  position: absolute;
  right: var(--ash-space-4);
  bottom: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 2;
  width: fit-content;
  max-width: min(38rem, calc(100% - var(--ash-space-8)));
  margin: 0;
  padding: var(--ash-space-3) var(--ash-space-4);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  color: var(--ash-color-text-muted);
  background: color-mix(in srgb, var(--ash-color-surface) 94%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  font-size: var(--ash-font-size-caption);
  line-height: 1.45;
  pointer-events: none;
}

.garage-scene.has-node-card .garage-scene__help {
  opacity: 0;
}

.garage-scene__status {
  position: absolute;
  bottom: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 2;
  margin: 0;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
  pointer-events: none;
}

.garage-scene.is-ready .garage-scene__status {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.garage-node-card {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 6;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: min(36rem, 46%);
  max-height: none;
  align-content: stretch;
  gap: var(--ash-space-4);
  padding: var(--ash-space-6);
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  color: var(--ash-color-text);
  background: color-mix(in srgb, var(--ash-color-surface) 98%, transparent);
  box-shadow: 0 0 3.5rem rgba(22, 37, 70, 0.18);
}

.garage-node-card.is-left {
  right: auto;
  left: 0;
  border-right: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-panel) 0 0 var(--ash-radius-panel);
}

.garage-node-card.is-right {
  right: 0;
  left: auto;
  border-left: 1px solid var(--ash-color-border);
  border-radius: 0 var(--ash-radius-panel) var(--ash-radius-panel) 0;
}

.garage-node-card[hidden] {
  display: none;
}

.garage-node-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ash-space-3);
}

.garage-node-card__head p {
  margin: 0;
  color: var(--ash-color-primary-strong);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-caption);
  font-weight: var(--ash-font-weight-bold);
  letter-spacing: 0.035em;
}

.garage-node-card__head button {
  min-height: 2.25rem;
  padding-inline: var(--ash-space-3);
  box-shadow: none;
}

.garage-node-card h2,
.garage-node-card h3,
.garage-node-card p {
  margin: 0;
}

.garage-node-card h2 {
  font-size: var(--ash-font-size-card-title);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.garage-node-card h2:focus {
  outline: none;
}

.garage-node-card__visuals {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(12rem, 3fr) minmax(9rem, 2fr);
  min-height: 0;
  gap: var(--ash-space-3);
}

.garage-node-card__visual {
  display: grid;
  min-height: 0;
  align-content: end;
  gap: var(--ash-space-2);
  padding: var(--ash-space-4);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  background: var(--ash-color-surface-muted);
}

.garage-node-card__visual h3,
.garage-node-card__assembly h3 {
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.garage-node-card__visual p,
.garage-node-card__assembly p {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: 1.5;
}

.garage-node-card__assembly {
  display: grid;
  gap: var(--ash-space-2);
  padding: var(--ash-space-4);
  border-left: 0.25rem solid var(--ash-color-primary);
  background: var(--ash-color-primary-soft);
}
.garage-showcase figcaption {
  display: flex;
  justify-content: space-between;
  gap: var(--ash-space-6);
  padding: var(--ash-space-4) var(--ash-space-5);
  border-top: 1px solid var(--ash-color-border);
  color: var(--ash-color-text-muted);
  background: var(--ash-color-surface);
  font-size: var(--ash-font-size-caption);
  line-height: 1.55;
}

.garage-showcase figcaption span {
  max-width: 60ch;
}

.garage-showcase figcaption span:last-child {
  text-align: right;
}

.garage-scene:fullscreen,
.garage-scene.is-fullscreen {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  max-height: none;
  border-radius: 0;
  background: var(--ash-color-surface-muted);
}

.garage-scene:fullscreen::backdrop {
  background: var(--ash-color-surface-muted);
}

.garage-scene:fullscreen .garage-model-switcher,
.garage-scene.is-fullscreen .garage-model-switcher {
  position: absolute;
  top: var(--ash-space-4);
  right: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 8;
  padding: var(--ash-space-2);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  background: color-mix(in srgb, var(--ash-color-surface) 96%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  cursor: default;
}

.garage-scene:fullscreen .garage-scene__toolbar,
.garage-scene.is-fullscreen .garage-scene__toolbar {
  top: calc(var(--ash-space-4) + var(--ash-control-height) + var(--ash-space-5));
}

.garage-scene:fullscreen .garage-node-card,
.garage-scene.is-fullscreen .garage-node-card {
  top: calc(50% + 3rem);
  bottom: auto;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: calc(100vw / 3);
  max-height: calc(100dvh - 8rem);
  padding: clamp(var(--ash-space-6), 2.5vw, var(--ash-space-10));
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  transform: translateY(-50%);
}

.garage-scene:fullscreen .garage-node-card.is-left,
.garage-scene.is-fullscreen .garage-node-card.is-left {
  right: auto;
  left: var(--ash-space-5);
}

.garage-scene:fullscreen .garage-node-card.is-right,
.garage-scene.is-fullscreen .garage-node-card.is-right {
  right: var(--ash-space-5);
  left: auto;
}

.garage-scene:fullscreen .garage-node-card__visuals,
.garage-scene.is-fullscreen .garage-node-card__visuals {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(11rem, 1fr);
}

.garage-scene:fullscreen .garage-node-card__visual,
.garage-scene.is-fullscreen .garage-node-card__visual {
  min-height: clamp(11rem, 28vh, 18rem);
}
@media (max-width: 64rem) {
  .mounting-hero__head {
    align-items: start;
  }

  .garage-showcase__home,
  .garage-scene {
    min-height: clamp(32rem, 68vw, 42rem);
  }
}

@media (max-width: 48rem) {
  .mounting-hero {
    padding-top: var(--ash-space-6);
  }

  .mounting-hero__head {
    grid-template-columns: minmax(0, 1fr);
  }

  .mounting-hero__head h1 {
    max-width: 13ch;
    font-size: var(--ash-font-size-hero-compact);
  }

  .garage-showcase {
    border-radius: var(--ash-radius-card);
  }

  .garage-model-switcher {
    gap: var(--ash-space-2);
    padding: var(--ash-space-3);
  }

  .garage-model-switcher__tab {
    min-height: var(--ash-control-height-compact);
    flex-basis: min(12rem, 66vw);
    padding-inline: var(--ash-space-3);
  }

  .garage-model-switcher__nav {
    width: var(--ash-control-height-compact);
    height: var(--ash-control-height-compact);
  }

  .garage-scene:fullscreen .garage-model-switcher,
  .garage-scene.is-fullscreen .garage-model-switcher {
    top: var(--ash-space-3);
    right: var(--ash-space-3);
    left: var(--ash-space-3);
  }

  .garage-scene:fullscreen .garage-scene__toolbar,
  .garage-scene.is-fullscreen .garage-scene__toolbar {
    top: calc(var(--ash-space-3) + var(--ash-control-height-compact) + var(--ash-space-5));
  }

  .garage-showcase__home,
  .garage-scene {
    min-height: 28rem;
  }

  .garage-scene__toolbar {
    top: var(--ash-space-3);
    right: var(--ash-space-3);
    left: var(--ash-space-3);
  }

  .garage-scene__tool {
    min-height: 2.5rem;
    padding-inline: var(--ash-space-3);
    font-size: var(--ash-font-size-caption);
  }

  .garage-scene__help {
    right: var(--ash-space-3);
    bottom: var(--ash-space-3);
    left: var(--ash-space-3);
    max-width: none;
  }

  .garage-scene.has-node-card:not(.is-fullscreen) .garage-scene__toolbar {
    opacity: 0;
    pointer-events: none;
  }

  .garage-node-card {
    top: 0;
    bottom: 0;
    width: min(28rem, 100%);
    max-height: none;
    padding: var(--ash-space-5);
  }

  .garage-node-card.is-left {
    right: auto;
    left: 0;
  }

  .garage-node-card.is-right {
    right: 0;
    left: auto;
  }

  .garage-scene:fullscreen .garage-node-card,
  .garage-scene.is-fullscreen .garage-node-card {
    top: 8.5rem;
    bottom: var(--ash-space-3);
    width: min(28rem, calc(100% - var(--ash-space-6)));
    max-height: none;
    padding: var(--ash-space-5);
    transform: none;
  }

  .garage-node-card__visuals {
    grid-template-rows: minmax(6rem, 3fr) minmax(5rem, 2fr);
    gap: var(--ash-space-2);
  }

  .garage-node-card__visual {
    min-height: 0;
    padding: var(--ash-space-3);
  }

  .garage-scene:fullscreen .garage-node-card__visuals,
  .garage-scene.is-fullscreen .garage-node-card__visuals {
    grid-template-rows: minmax(7.5rem, 1fr);
  }

  .garage-showcase figcaption {
    display: grid;
    gap: var(--ash-space-2);
    padding: var(--ash-space-4);
  }

  .garage-showcase figcaption span:last-child {
    text-align: left;
  }

}

@media (prefers-reduced-motion: reduce) {
  .garage-scene__loader {
    animation: none;
  }

}


/* Profile connection catalogue */
.profile-connections[hidden],
.garage-showcase__home[hidden] {
  display: none;
}

.profile-connections {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 25%);
  min-height: clamp(34rem, 58vw, 48rem);
  overflow: hidden;
  background: var(--ash-color-surface-muted);
  isolation: isolate;
}

.profile-connections__stage {
  position: relative;
  min-width: 0;
  min-height: clamp(34rem, 58vw, 48rem);
  overflow: hidden;
  background: var(--ash-color-surface-muted);
  cursor: grab;
}

.profile-connections__stage.is-dragging {
  cursor: grabbing;
}

.profile-connections__viewport,
.profile-connections__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.profile-connections__canvas {
  display: block;
  touch-action: none;
}

.profile-connections__loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: var(--ash-space-3);
  padding: var(--ash-space-6);
  color: var(--ash-color-text);
  background: var(--ash-color-surface-muted);
  text-align: center;
}

.profile-connections__loading[hidden] {
  display: none;
}

.profile-connections__loading > span:last-child {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
}

.profile-connections__loader {
  width: 2.25rem;
  height: 2.25rem;
  border: 0.1875rem solid var(--ash-color-border-strong);
  border-top-color: var(--ash-color-primary);
  border-radius: 50%;
  animation: garage-loader 800ms linear infinite;
}

.profile-connections__toolbar {
  position: absolute;
  top: var(--ash-space-4);
  right: var(--ash-space-4);
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--ash-space-2);
}

.profile-connections__tool {
  display: inline-flex;
  min-height: var(--ash-control-height-compact);
  align-items: center;
  justify-content: center;
  padding: 0 var(--ash-space-4);
  border: 1px solid var(--ash-color-border-strong);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: color-mix(in srgb, var(--ash-color-surface) 96%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  font: inherit;
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.profile-connections__tool:hover:not(:disabled) {
  border-color: var(--ash-color-primary);
  background: var(--ash-color-surface);
}

.profile-connections__tool:active:not(:disabled) {
  transform: translateY(var(--ash-press-offset));
}

.profile-connections__tool:disabled {
  opacity: 0.55;
  cursor: wait;
}

.profile-connections__help {
  position: absolute;
  right: var(--ash-space-4);
  bottom: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 2;
  width: fit-content;
  max-width: min(38rem, calc(100% - var(--ash-space-8)));
  margin: 0;
  padding: var(--ash-space-3) var(--ash-space-4);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  color: var(--ash-color-text-muted);
  background: color-mix(in srgb, var(--ash-color-surface) 94%, transparent);
  box-shadow: var(--ash-shadow-navigation);
  font-size: var(--ash-font-size-caption);
  line-height: 1.45;
  pointer-events: none;
}

.profile-connections__status {
  position: absolute;
  bottom: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 2;
  margin: 0;
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-caption);
  pointer-events: none;
}

.profile-connections__stage.is-ready .profile-connections__status {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.profile-connections__catalog {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  gap: var(--ash-space-5);
  padding: clamp(var(--ash-space-5), 2vw, var(--ash-space-8));
  overflow: hidden;
  border-left: 1px solid var(--ash-color-border);
  background: var(--ash-color-surface);
}

.profile-connections__head {
  display: grid;
  gap: var(--ash-space-3);
}

.profile-connections__head h2,
.profile-connections__head p {
  margin: 0;
}

.profile-connections__head h2 {
  color: var(--ash-color-text);
  font-size: var(--ash-font-size-card-title);
  font-weight: var(--ash-font-weight-extrabold);
  line-height: var(--ash-line-height-heading);
}

.profile-connections__head > p:last-child,
.profile-connections__note {
  color: var(--ash-color-text-muted);
  font-size: var(--ash-font-size-small);
  line-height: var(--ash-line-height-body);
}

.profile-connections__list {
  display: grid;
  align-content: start;
  gap: var(--ash-space-2);
  min-height: 0;
  padding-right: var(--ash-space-1);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.profile-connections__item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  min-height: 3.75rem;
  align-items: center;
  gap: var(--ash-space-3);
  padding: var(--ash-space-2) var(--ash-space-3);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-control);
  color: var(--ash-color-text);
  background: var(--ash-color-surface);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color var(--ash-duration-fast) var(--ash-ease-out),
    color var(--ash-duration-fast) var(--ash-ease-out),
    background-color var(--ash-duration-fast) var(--ash-ease-out),
    transform var(--ash-duration-fast) var(--ash-ease-out);
}

.profile-connections__item:hover {
  border-color: var(--ash-color-primary);
  background: var(--ash-color-primary-soft);
}

.profile-connections__item.is-active {
  border-color: var(--ash-color-primary);
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-primary-soft);
  box-shadow: inset 0.25rem 0 var(--ash-color-primary);
}

.profile-connections__item:active {
  transform: translateY(var(--ash-press-offset));
}

.profile-connections__item span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 50%;
  color: var(--ash-color-primary-strong);
  background: var(--ash-color-surface-muted);
  font-family: var(--ash-font-tech);
  font-size: var(--ash-font-size-caption);
  font-weight: var(--ash-font-weight-extrabold);
}

.profile-connections__item.is-active span {
  color: var(--ash-color-on-primary);
  background: var(--ash-color-primary);
}

.profile-connections__item strong {
  font-size: var(--ash-font-size-small);
  font-weight: var(--ash-font-weight-bold);
}

.profile-connections__note {
  margin: 0;
  padding-top: var(--ash-space-4);
  border-top: 1px solid var(--ash-color-border);
}

.profile-connections:fullscreen,
.profile-connections.is-fullscreen {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 25%);
  padding-top: calc(var(--ash-control-height) + var(--ash-space-6));
  background: var(--ash-color-surface-muted);
}

.profile-connections:fullscreen::backdrop {
  background: var(--ash-color-surface-muted);
}

.profile-connections:fullscreen > .garage-model-switcher,
.profile-connections.is-fullscreen > .garage-model-switcher {
  position: absolute;
  top: var(--ash-space-4);
  right: var(--ash-space-4);
  left: var(--ash-space-4);
  z-index: 8;
  padding: var(--ash-space-2);
  border: 1px solid var(--ash-color-border);
  border-radius: var(--ash-radius-card);
  background: color-mix(in srgb, var(--ash-color-surface) 96%, transparent);
  box-shadow: var(--ash-shadow-navigation);
}

.profile-connections:fullscreen .profile-connections__stage,
.profile-connections.is-fullscreen .profile-connections__stage {
  min-height: 0;
}

@media (max-width: 64rem) {
  .profile-connections {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 29%);
  }
}

@media (max-width: 42rem) {
  .profile-connections,
  .profile-connections:fullscreen,
  .profile-connections.is-fullscreen {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(24rem, 56vh) auto;
    min-height: 0;
  }

  .profile-connections:fullscreen,
  .profile-connections.is-fullscreen {
    height: 100dvh;
    padding-top: calc(var(--ash-control-height-compact) + var(--ash-space-5));
    overflow-y: auto;
  }

  .profile-connections__stage {
    min-height: 26rem;
  }

  .profile-connections:fullscreen .profile-connections__stage,
  .profile-connections.is-fullscreen .profile-connections__stage {
    min-height: 24rem;
  }

  .profile-connections__catalog {
    grid-template-rows: auto auto auto;
    padding: var(--ash-space-4);
    border-top: 1px solid var(--ash-color-border);
    border-left: 0;
  }

  .profile-connections__list {
    grid-auto-flow: column;
    grid-auto-columns: minmax(9rem, 44vw);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
  }

  .profile-connections__item {
    scroll-snap-align: start;
  }

  .profile-connections__toolbar {
    top: var(--ash-space-3);
    right: var(--ash-space-3);
  }

  .profile-connections__help {
    right: var(--ash-space-3);
    bottom: var(--ash-space-3);
    left: var(--ash-space-3);
    max-width: none;
  }

  .profile-connections:fullscreen > .garage-model-switcher,
  .profile-connections.is-fullscreen > .garage-model-switcher {
    top: var(--ash-space-3);
    right: var(--ash-space-3);
    left: var(--ash-space-3);
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-connections__loader {
    animation: none;
  }
}

.garage-caption__truss,
.garage-caption__wall-corner {
  display: none;
}

.garage-showcase[data-active-model="truss-panels"] .garage-caption__truss {
  display: block;
}

.garage-showcase[data-active-model="wall-panels"] .garage-caption__wall-corner { display: inline; }
.garage-showcase[data-active-model="wall-panels"] .garage-caption__general,
.garage-showcase[data-active-model="wall-panels"] [data-garage-hotspots] { display: none; }

.garage-showcase[data-active-model="truss-panels"] .garage-caption__general,
.garage-showcase[data-active-model="truss-panels"] [data-garage-hotspots] {
  display: none;
}

.garage-caption__connections {
  display: none;
}

.garage-showcase[data-active-view="connections"] .garage-caption__general {
  display: none;
}

.garage-showcase[data-active-view="connections"] .garage-caption__connections {
  display: inline;
}

.garage-caption__general + .garage-caption__general {
  text-align: right;
}

@media (max-width: 48rem) {
  .garage-caption__general + .garage-caption__general {
    text-align: left;
  }
}
[data-garage-hotspots] { display: none; }
[data-garage-viewport][hidden], .garage-scene__toolbar[hidden] { display: none; }

/* Library hierarchy uses the existing light ASH theme, without a new shell. */
.solutions-library { display:grid; grid-template-columns:260px minmax(0,1fr); gap:36px; align-items:start; }
.solutions-library__nav { position:sticky; top:100px; }
.solutions-library__nav-title { font-weight:600; margin:0 0 16px; color:var(--ash-color-text-muted); }
.solutions-library__nav-group { margin-bottom:6px; }
.solutions-library__category { display:block; width:100%; text-align:left; border:0; border-radius:var(--ash-radius-control,12px); padding:14px 16px; background:transparent; color:var(--ash-color-text); font:inherit; font-weight:600; cursor:pointer; }
.solutions-library__category:hover { background:var(--ash-color-surface); }
.solutions-library__category[aria-expanded="true"] { background:var(--ash-color-primary); color:white; }
.solutions-library__subcategories { margin:10px 0 16px 16px; padding-left:12px; border-left:1px solid var(--ash-color-border); }
.solutions-library__subcategories button { display:block; width:100%; min-height:var(--ash-control-height-compact); padding:var(--ash-space-2); border:0; background:none; color:var(--ash-color-text-muted); font:inherit; text-align:left; cursor:pointer; }
.solutions-library__subcategories button:hover,.solutions-library__subcategories button[aria-current] { color:var(--ash-color-primary); }
.solutions-library__subcategories button[aria-current] { font-weight:600; }
.solutions-library__nav-note { color:var(--ash-color-text-muted); font-size:13px; line-height:1.55; padding:16px; margin:16px 0 0; border-top:1px solid var(--ash-color-border); }
.solutions-library__content { min-width:0; }
.solutions-library__head { margin-bottom:16px; }
.solutions-library__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.solution-card { min-width:0; overflow:hidden; }
.solution-card__media { aspect-ratio:16/10; }
.solution-card--interactive { cursor:pointer; }
@media (hover:hover) and (pointer:fine) {
  .solution-card--interactive:hover { border-color:var(--ash-color-primary); }
}
.solutions-library .solution-card button.is-pointer-return:focus { outline:none; box-shadow:none; }
.solution-card__media img { display:block; width:100%; height:100%; object-fit:contain; }
.solution-card__media--empty { display:grid; place-items:center; background:var(--ash-color-surface-soft); color:var(--ash-color-text-muted); font-size:14px; padding:20px; text-align:center; }
.solution-card .solution-card__body { display:flex; flex-direction:column; }
.solution-card__subcategory { color:var(--ash-color-text-muted); font-size:var(--ash-font-size-small); }
.solution-card__description { font-size:var(--ash-font-size-body); }
.solution-card__footer { display:flex; gap:var(--ash-space-3); align-items:center; justify-content:space-between; flex-wrap:wrap; margin-top:auto; }
.solution-card__status { font-size:var(--ash-font-size-small); color:var(--ash-color-text-muted); }
.solution-card__footer .ash-button { white-space:nowrap; }
.solutions-library button:focus-visible,.library-dialog button:focus-visible { outline:3px solid var(--ash-color-primary); outline-offset:3px; }
.library-modal-open { overflow:hidden; }
.library-dialog { overscroll-behavior:contain; }
.library-dialog .ash-dialog__panel { grid-template-rows:auto minmax(0,1fr); }
.library-dialog__head h2 { margin:0; font-size:var(--ash-font-size-card-title); line-height:var(--ash-line-height-heading); min-width:0; overflow-wrap:anywhere; }
.library-dialog__head .ash-button { flex-shrink:0; width:auto; }
.library-dialog [hidden] { display:none !important; }
.library-dialog .garage-model-switcher { display:none !important; }
.library-dialog .garage-showcase { margin:0; }
.library-dialog .garage-showcase__home { min-height:0; }
.library-dialog .profile-connections { display:block; min-height:0; }
.library-dialog .profile-connections__stage,.library-dialog .garage-scene { height:60dvh; min-height:360px; }
.library-dialog .profile-connections__catalog { display:none; }
.library-dialog .profile-connections:fullscreen .profile-connections__stage { height:calc(100dvh - 100px); }
@media(max-width:1100px) {
  .solutions-library { grid-template-columns:210px minmax(0,1fr); gap:24px; }
  .solutions-library__grid { gap:16px; }
}
@media(max-width:1023px) {
  .solutions-library { grid-template-columns:minmax(0,1fr); gap:28px; }
  .solutions-library__nav { position:static; }
  .solutions-library__nav-title,.solutions-library__category,.solutions-library__nav-group:not(.is-current) { display:none; }
  .solutions-library .solutions-library__mobile { display:grid; gap:var(--ash-space-2); }
  .solutions-library__mobile select { width:100%; min-width:0; min-height:var(--ash-control-height); padding:var(--ash-space-3); font:inherit; color:var(--ash-color-text); background:var(--ash-color-surface); border:1px solid var(--ash-color-border); border-radius:var(--ash-radius-control); }
  .solutions-library__subcategories { display:flex; flex-wrap:wrap; gap:var(--ash-space-2); margin:var(--ash-space-2) 0 0; padding:0; border:0; }
  .solutions-library__subcategories[hidden] { display:none; }
  .solutions-library__subcategories button { width:auto; }
  .solutions-library__grid { grid-template-columns:minmax(0,1fr); }
  .solutions-library__nav-note { margin:8px 0 0; padding:12px 16px; }
}
@media(max-width:767px) {
  .library-dialog .ash-dialog__header,.library-dialog .ash-dialog__body { padding:var(--ash-space-4); }
  .library-dialog__head { align-items:flex-start; }
  .library-dialog__head h2 { font-size:var(--ash-font-size-lead); }
}
.solutions-library__mobile { display:none; }
