/* Editorial hierarchy, real-media case layouts. Preserve navigation/RFQ behavior. */
body.synthe-site {
  --ui-heading: clamp(1.875rem, 2.65vw, 2.75rem);
  --ui-subheading: clamp(1.25rem, 1.7vw, 1.625rem);
  --ui-section-gap: clamp(3rem, 5vw, 5rem);
  --ui-column-gap: clamp(1.5rem, 3vw, 3rem);
}
body.synthe-site main :is(h1,h2,h3,h4) {
  min-width: 0;
  max-inline-size: 100%;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
  text-wrap: balance;
  font-kerning: normal;
}
body.synthe-site main h2 {
  font-size: var(--ui-heading);
  font-weight: 550;
  line-height: 1.18;
  letter-spacing: -.025em;
}
body.synthe-site main h3 {
  font-size: var(--ui-subheading);
  line-height: 1.25;
  letter-spacing: -.018em;
}
body.synthe-site main :where(p:not(.eyebrow),li) {
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
}
body.synthe-site main .page-hero h1 {
  font-size: clamp(2.25rem, 3.65vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.03em;
}
body.synthe-site main .hero-copy h1 {
  font-size: clamp(2.5rem, 4.8vw, 5rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}
body.synthe-site main .page-intro > p:not(.eyebrow) {
  max-width: 56ch;
  font-size: clamp(1.25rem, 1.95vw, 1.875rem);
  line-height: 1.45;
  letter-spacing: -.012em;
}
/* Labels live above the heading, not in a narrow third column. */
body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  align-items: start;
  gap: 1.25rem var(--ui-column-gap);
  margin-bottom: clamp(2rem,3.5vw,3rem);
}
body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) > .eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  align-self: start;
}
body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) > h2 {
  margin: 0;
  max-width: 34ch;
}
body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) > p:not(.eyebrow) {
  margin: 0;
  max-width: 65ch;
  font-size: 1rem;
  line-height: 1.7;
  align-self: start;
}
body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading):not(:has(> p:not(.eyebrow))) > h2 {
  grid-column: 1 / -1;
}
body.synthe-site main .eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .6875rem;
  line-height: 1.5;
  letter-spacing: .09em;
}
body.synthe-site main .eyebrow > span {
  flex: 0 0 auto;
  min-inline-size: 2rem;
  inline-size: auto;
  block-size: 2rem;
  padding-inline: .3rem;
  font-size: .5625rem;
  white-space: nowrap;
}
/* Compact supporting headings, rather than oversized typography walls. */
body.synthe-site :is(.related-section,.product-faq,.knowledge-faq,.company-faq,.hub-process,.knowledge-workflow,.company-workflow,.product-customization,.case-response-section,.case-similar-section) h2 {
  max-width: 31ch;
}
body.synthe-site .related-section h2 { font-size: clamp(1.625rem,2.25vw,2.25rem); }
body.synthe-site :is(.related-links,.knowledge-route-grid,.case-related-grid) :is(h3,strong) {
  font-size: var(--ui-subheading);
  line-height: 1.28;
  letter-spacing: -.015em;
}
body.synthe-site :is(.knowledge-workflow-list,.company-workflow-list,.case-response-grid) h3 {
  font-size: clamp(1.25rem,1.65vw,1.625rem);
  line-height: 1.3;
}
/* Case requirement: balanced summary, no giant narrow headline or quarter gap. */
body.synthe-site .case-brief-section {
  padding-block: var(--ui-section-gap);
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: start;
  gap: 2.5rem var(--ui-column-gap);
}
body.synthe-site .case-brief-copy { min-width: 0; }
body.synthe-site .case-brief-copy h2 { margin: 1.25rem 0; max-width: 30ch; }
body.synthe-site .case-brief-copy > p:not(.eyebrow) { max-width: 65ch; margin-bottom: 0; }
body.synthe-site .case-brief-copy aside { margin-top: 1.5rem; padding: 1.25rem; }
body.synthe-site .case-brief-copy aside p { font-size: .875rem; line-height: 1.6; }
body.synthe-site .case-at-a-glance {
  width: 100%;
  align-self: stretch;
  display: grid;
  grid-template-rows: repeat(4,1fr);
}
body.synthe-site .case-at-a-glance div {
  min-height: 0;
  padding: 1.25rem 0;
  grid-template-columns: minmax(7.5rem,.45fr) minmax(0,1fr);
  gap: 1.25rem;
}
body.synthe-site .case-at-a-glance dt { font-size: .6875rem; line-height: 1.55; }
body.synthe-site .case-at-a-glance dd { font-size: clamp(1.0625rem,1.35vw,1.3125rem); line-height: 1.5; letter-spacing: -.01em; }
body.synthe-site .case-requirement-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr));
  width: 100%;
}
body.synthe-site .case-requirement-grid article {
  min-height: 0;
  min-width: 0;
  padding: clamp(1.25rem,2vw,2rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body.synthe-site .case-requirement-grid h3 { margin: 0; }
body.synthe-site .case-requirement-grid p { margin: 0; }
@supports (grid-template-rows: subgrid) {
  body.synthe-site .case-requirement-grid article {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    align-items: start;
  }
}
body.synthe-site .case-requirement-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  background: #e7e5df;
}
body.synthe-site .case-requirement-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 0;
}
/* A meaningful product photograph balances the construction narrative. */
body.synthe-site .case-response-section {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  align-items: start;
  gap: var(--ui-column-gap);
  padding-block: var(--ui-section-gap);
}
body.synthe-site .case-response-heading { min-width: 0; }
body.synthe-site .case-response-heading h2 { margin: 1.25rem 0 1.5rem; }
body.synthe-site .case-construction-media {
  position: relative;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #222b28;
}
body.synthe-site .case-construction-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
}
body.synthe-site .case-response-grid article {
  min-height: 0;
  padding: 1.5rem 0;
  grid-template-columns: 1.5rem minmax(0,1fr);
  align-items: start;
  gap: .75rem 1rem;
}
body.synthe-site .case-response-grid article > span { grid-row: 1 / 3; padding-top: .25rem; }
body.synthe-site .case-response-grid p { grid-column: 2; margin: 0; }
body.synthe-site .case-verification-column { min-height: 0; padding-block: var(--ui-section-gap); }
body.synthe-site .case-verification-column h2 { margin-bottom: 2rem; }
body.synthe-site .case-similar-section { padding-block: var(--ui-section-gap); gap: var(--ui-column-gap); }
body.synthe-site .case-similar-copy h2 { margin-top: 1.25rem; }
@media (max-width: 1000px) {
  body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) {
    grid-template-columns: minmax(0,1fr);
    gap: 1.25rem;
  }
  body.synthe-site :is(.product-section-heading,.product-selection-heading,.knowledge-heading,.knowledge-matrix-intro,.company-page-heading,.company-matrix-intro,.case-library-heading,.case-detail-heading,.hub-heading,.hub-matrix > div:first-child,.conversion-heading) > h2 {
    max-width: 36ch;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  body.synthe-site .case-requirement-grid:has(> article:nth-child(4)) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 760px) {
  body.synthe-site { --ui-heading: clamp(1.75rem,7vw,2rem); --ui-subheading: 1.25rem; }
  body.synthe-site main :is(h1,h2,h3) { letter-spacing: -.015em; }
  body.synthe-site :is(.case-brief-section,.case-response-section,.case-similar-section) {
    grid-template-columns: minmax(0,1fr);
    gap: 2rem;
  }
  body.synthe-site .case-requirement-grid { grid-template-columns: minmax(0,1fr); }
  body.synthe-site .case-at-a-glance div { grid-template-columns: minmax(6rem,.4fr) minmax(0,1fr); gap: 1rem; }
  body.synthe-site .case-response-grid article { padding-block: 1.25rem; }
  body.synthe-site .case-brief-copy h2 { max-width: 28ch; }
  body.synthe-site .case-construction-media { aspect-ratio: 4 / 3; }
  body.synthe-site main .page-hero h1 { font-size: clamp(2rem,8vw,2.5rem); }
  body.synthe-site main .page-intro > p:not(.eyebrow) { font-size: 1.25rem; }
}
