/* Doppelstabmatten product world */
.dsm-subnav {
  position: sticky;
  z-index: 89;
  top: 0;
  color: var(--on-dark-body);
  background: rgba(32, 40, 43, .98);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(12px);
}

.dsm-subnav__inner {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.dsm-subnav__inner::-webkit-scrollbar { display: none; }
.dsm-subnav strong { flex: none; margin-right: 22px; color: var(--white); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.dsm-subnav a { flex: none; padding: 8px 12px; font-size: 11px; font-weight: 700; white-space: nowrap; transition: color .2s, background .2s; }
.dsm-subnav a:hover { color: var(--white); background: rgba(255, 255, 255, .09); }
.dsm-subnav .dsm-subnav__cta { margin-left: auto; color: #f2a183; }

.dsm-hero {
  position: relative;
  padding-block: clamp(54px, 7vw, 96px) clamp(80px, 9vw, 130px);
  overflow: hidden;
  background: var(--paper);
}

.dsm-hero .breadcrumb { position: relative; z-index: 2; }
.dsm-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(410px, .75fr); gap: clamp(50px, 7vw, 110px); align-items: center; }
.dsm-hero__grid > * { min-width: 0; }
.dsm-hero__copy { min-width: 0; padding-top: 24px; }
.dsm-hero .display { max-width: 900px; margin-top: 22px; font-size: clamp(48px, 5.3vw, 76px); overflow-wrap: break-word; }
.dsm-hero .lede { max-width: 700px; }
.dsm-hero .hero-actions { margin-top: 26px; }
.dsm-button--outline { color: var(--ink); border-color: rgba(21, 26, 28, .42); }
.dsm-button--outline:hover { color: var(--white); background: var(--ink); }

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

.dsm-hero__proof div { min-height: 86px; padding: 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dsm-hero__proof strong, .dsm-hero__proof span { display: block; }
.dsm-hero__proof strong { font-size: 14px; letter-spacing: -.01em; }
.dsm-hero__proof span { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.dsm-hero__visual { position: relative; min-height: 630px; }
.dsm-hero__image { position: absolute; inset: 0 0 54px 0; overflow: hidden; background: var(--ink); }
.dsm-hero__image img { height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: transform .8s var(--ease), filter .4s; }
.dsm-hero__visual:hover img { transform: scale(1.035); filter: saturate(.95) contrast(1.04); }
.dsm-hero__badge { position: absolute; z-index: 2; right: -18px; bottom: 0; width: min(270px, 70%); padding: 22px 24px; color: var(--white); background: var(--ink); border-top: 3px solid var(--copper); }
.dsm-hero__badge span, .dsm-hero__badge strong { display: block; }
.dsm-hero__badge span { margin-bottom: 8px; color: #ee9878; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dsm-hero__badge strong { font-size: 17px; line-height: 1.35; }
.dsm-decision { background: var(--white); }
.dsm-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dsm-problem-card { min-height: 340px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: color .3s, background .3s, transform .3s var(--ease); }
.dsm-problem-card > span { color: var(--copper-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.dsm-problem-card h3 { margin: 76px 0 16px; font-size: 17.5px; letter-spacing: -.035em; line-height: 1.15; }
.dsm-problem-card p { margin: 0; color: var(--muted); font-size: 14px; }
.dsm-problem-card:hover { z-index: 1; color: var(--white); background: var(--ink); transform: translateY(-6px); }
.dsm-problem-card:hover p { color: var(--on-dark-body); }
.dsm-problem-card:hover > span { color: #ef9573; }

.dsm-compare { display: grid; grid-template-columns: .65fr 1.35fr; gap: 8%; align-items: start; margin-top: clamp(65px, 8vw, 110px); }
.dsm-compare__intro { position: sticky; top: 155px; }
.dsm-compare__intro h3 { margin: 18px 0 18px; font-size: clamp(21.7px, 2.52vw, 33.6px); letter-spacing: -.045em; line-height: 1.05; }
.dsm-compare__intro p { max-width: 420px; margin: 0; color: var(--muted); }
.dsm-compare__table { display:block; width:100%; border-spacing:0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dsm-compare__table thead, .dsm-compare__table tbody { display:block; }
.dsm-compare__row { display: grid; grid-template-columns: .8fr 1fr 1fr; }
.dsm-compare__row > * { min-height: 78px; display: flex; align-items: center; margin: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; }
.dsm-compare__row span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dsm-compare__row th { font-weight:800; text-align:left; }
.dsm-compare__row b, .dsm-compare__row strong { line-height: 1.4; }
.dsm-compare__row > *:last-child { background: #efede7; }
.dsm-compare__row--head > * { min-height: 58px; color: var(--white); background: var(--ink); }
.dsm-compare__row--head > *:last-child { color: var(--white); background: var(--copper-dark); }

.dsm-quality__visual { position: relative; min-height: 720px; }
.dsm-quality__visual img { position: absolute; inset: 0; height: 100%; object-fit: cover; filter: saturate(.75); }
.dsm-quality__visual::before { content: ""; position: absolute; z-index: 1; top: -14px; left: -14px; width: 90px; height: 90px; border-top: 3px solid var(--copper); border-left: 3px solid var(--copper); }
.dsm-quality__visual > span { position: absolute; z-index: 2; right: 0; bottom: 0; padding: 15px 18px; color: var(--on-dark-body); background: rgba(12, 17, 18, .84); font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; backdrop-filter: blur(8px); }
.dsm-quality__steps { margin: 45px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.dsm-quality__steps li { display: grid; grid-template-columns: 42px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.dsm-quality__steps b { color: #ed8c68; font-size: 10px; }
.dsm-quality__steps strong, .dsm-quality__steps span { display: block; }
.dsm-quality__steps strong { font-size: 18px; }
.dsm-quality__steps span { margin-top: 4px; color: var(--on-dark-body); font-size: 13px; }
.dsm-quality__note { margin: 30px 0 0; padding-left: 18px; color: var(--on-dark-body); border-left: 3px solid var(--copper); font-size: 13px; }

.dsm-system { background: var(--paper); }
.dsm-component-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.dsm-component { min-height: 440px; display: grid; background: var(--white); border: 1px solid var(--line); overflow: hidden; }
.dsm-component--image { grid-template-rows: 250px 1fr; }
.dsm-component__image { min-height: 0; overflow: hidden; background: var(--paper-deep); }
.dsm-component__image img { height: 100%; object-fit: cover; filter: saturate(.78); transition: transform .7s var(--ease), filter .4s; }
.dsm-component:hover .dsm-component__image img { transform: scale(1.035); filter: saturate(1); }
.dsm-component__copy { display: flex; flex-direction: column; padding: clamp(26px, 4vw, 48px); }
.dsm-component__copy small { color: var(--copper-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dsm-component h3 { margin: auto 0 14px; font-size: clamp(18.9px, 2.1vw, 28px); letter-spacing: -.045em; line-height: 1.08; }
.dsm-component p { margin: 0; color: var(--muted); font-size: 14px; }
.dsm-component ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 25px 0 0; padding: 0; list-style: none; }
.dsm-component li { padding: 6px 9px; color: #535c5f; background: var(--paper); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dsm-component--accent { color: var(--white); background: var(--ink); }
.dsm-component--accent p { color: var(--on-dark-body); }
.dsm-component--accent small { color: #ef9573; }
.dsm-swatches { display: flex; gap: 10px; margin-top: 35px; }
.dsm-swatch { width: 46px; height: 46px; display: block; border: 1px solid rgba(255, 255, 255, .24); }
.dsm-swatch--zinc { background: linear-gradient(135deg, #8e999d, #e2e5e4 48%, #778286); }
.dsm-swatch--green { background: #17422d; }
.dsm-swatch--anthracite { background: #333a3c; }
.dsm-swatch--custom { background: conic-gradient(#a74325, #d5a12c, #3c6f83, #5f486c, #a74325); }

.dsm-applications { background: var(--white); }
.dsm-use-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(520px, auto); gap: 14px; }
.dsm-use-card { position: relative; min-height: 520px; overflow: hidden; color: var(--white); background: var(--ink); }
.dsm-use-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; filter: saturate(.68); transition: transform .8s var(--ease), filter .4s; }
.dsm-use-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 12, 13, .97) 0%, rgba(8, 12, 13, .86) 48%, rgba(8, 12, 13, .34) 100%); }
.dsm-use-card > div { position: absolute; z-index: 1; right: clamp(25px, 4vw, 50px); bottom: clamp(25px, 4vw, 48px); left: clamp(25px, 4vw, 50px); max-width: 650px; }
.dsm-use-card small { color: #ef9573; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.dsm-use-card h3 { margin: 9px 0 12px; font-size: clamp(20.3px, 2.8vw, 33.6px); letter-spacing: -.045em; line-height: 1.05; }
.dsm-use-card p { margin: 0; color: #edf0ef; }
.dsm-use-card a { display: inline-flex; margin-top: 22px; padding-bottom: 3px; color: var(--white); border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.dsm-use-card:hover img { transform: scale(1.04); filter: saturate(.96); }

.dsm-delivery { background: var(--paper); }
.dsm-process { counter-reset: process; border-top: 1px solid var(--line); }
.dsm-process article { display: grid; grid-template-columns: 70px 1fr; gap: 30px; min-height: 145px; align-items: center; border-bottom: 1px solid var(--line); transition: padding .3s, background .3s; }
.dsm-process article:hover { padding-inline: 20px; background: var(--white); }
.dsm-process article > span { color: var(--copper-dark); font-size: 10px; font-weight: 800; }
.dsm-process article > div { display: grid; grid-template-columns: minmax(260px, .6fr) 1fr; gap: 8%; align-items: center; }
.dsm-process h3 { margin: 0; font-size: clamp(16.8px, 2.1vw, 25.9px); letter-spacing: -.04em; }
.dsm-process p { max-width: 630px; margin: 0; color: var(--muted); }

.dsm-briefing { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 610px; margin-top: clamp(70px, 9vw, 120px); color: var(--white); background: var(--ink); }
.dsm-briefing__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 6vw, 78px); }
.dsm-briefing h3 { margin: 18px 0 27px; font-size: clamp(22.4px, 2.8vw, 35.7px); letter-spacing: -.045em; line-height: 1.04; }
.dsm-briefing ul { margin: 0 0 30px; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.dsm-briefing li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.dsm-briefing li b { color: #ef9573; font-size: 9px; }
.dsm-briefing li span { color: var(--on-dark-body); font-size: 13px; }
.dsm-briefing .text-link { align-self: flex-start; }

.dsm-trust { padding-block: var(--space); }
.dsm-trust__top { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8%; align-items: end; margin-bottom: clamp(50px, 7vw, 88px); }
.dsm-trust__top > p { max-width: 540px; margin: 0; color: var(--on-dark-body); font-size: 17px; }
.dsm-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, .18); border-left: 1px solid rgba(255, 255, 255, .18); }
.dsm-trust__grid article { min-height: 300px; padding: 27px; border-right: 1px solid rgba(255, 255, 255, .18); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.dsm-trust__grid b { color: #ef9573; font-size: 10px; }
.dsm-trust__grid h3 { margin: 74px 0 13px; font-size: 16px; letter-spacing: -.025em; line-height: 1.15; }
.dsm-trust__grid p { margin: 0; color: var(--on-dark-muted); font-size: 13px; }
.dsm-contact-strip { display: grid; grid-template-columns: 1fr 1fr auto; gap: 20px; align-items: center; margin-top: 45px; padding: 25px; background: var(--ink-soft); border: 1px solid rgba(255, 255, 255, .16); }
.dsm-contact-strip > div { padding-left: 20px; border-left: 2px solid var(--copper); }
.dsm-contact-strip small, .dsm-contact-strip strong, .dsm-contact-strip > div a { display: block; }
.dsm-contact-strip small { color: var(--on-dark-muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dsm-contact-strip strong { margin: 4px 0; color: var(--white); font-size: 17px; }
.dsm-contact-strip > div a { color: var(--on-dark-body); font-size: 12px; }

.dsm-faq { background: var(--white); }
.dsm-faq__layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9%; align-items: start; }
.dsm-faq__intro { position: sticky; top: 155px; }
.dsm-faq__intro > p { max-width: 420px; color: var(--muted); }
.dsm-faq__intro .text-link { margin-top: 20px; }
.dsm-faq__list { border-top: 1px solid var(--line); }
.dsm-faq details { border-bottom: 1px solid var(--line); }
.dsm-faq summary { min-height: 92px; display: grid; grid-template-columns: 1fr 40px; gap: 25px; align-items: center; cursor: pointer; list-style: none; font-size: 18px; font-weight: 750; letter-spacing: -.015em; }
.dsm-faq summary::-webkit-details-marker { display: none; }
.dsm-faq summary span { display: grid; place-items: center; width: 38px; height: 38px; color: var(--copper-dark); border: 1px solid var(--line); border-radius: 50%; font-size: 20px; font-weight: 400; transition: transform .25s, background .25s, color .25s; }
.dsm-faq details[open] summary span { color: var(--white); background: var(--copper-dark); transform: rotate(45deg); }
.dsm-faq details > div { max-width: 720px; padding: 0 60px 28px 0; }
.dsm-faq details p { margin: 0; color: var(--muted); }

.dsm-next { padding-block: clamp(70px, 9vw, 120px); color: var(--white); background: var(--ink-soft); }
.dsm-next__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8%; align-items: end; }
.dsm-next h2 { margin: 18px 0 0; font-size: clamp(25.2px, 3.36vw, 44.1px); letter-spacing: -.05em; line-height: 1.04; }
.dsm-next__links { border-top: 1px solid rgba(255, 255, 255, .18); }
.dsm-next__links a { display: grid; grid-template-columns: 1fr 1.3fr 35px; gap: 20px; align-items: center; min-height: 95px; border-bottom: 1px solid rgba(255, 255, 255, .18); transition: padding .25s, background .25s; }
.dsm-next__links a:hover { padding-inline: 16px; background: rgba(255, 255, 255, .05); }
.dsm-next__links small { color: var(--on-dark-muted); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.dsm-next__links strong { font-size: 17px; }
.dsm-next__links span { color: #ef9573; font-size: 18px; }

@media (max-width: 1100px) {
  .dsm-hero__grid { grid-template-columns: 1fr .72fr; gap: 50px; }
  .dsm-hero__visual { min-height: 560px; }
  .dsm-hero__proof { grid-template-columns: 1fr; }
  .dsm-hero__proof div { min-height: 67px; }
  .dsm-trust__grid { grid-template-columns: 1fr 1fr; }
  .dsm-contact-strip { grid-template-columns: 1fr 1fr; }
  .dsm-contact-strip > .button { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .dsm-subnav { top: 0; }
  .dsm-subnav .dsm-subnav__cta { margin-left: 0; }
  .dsm-hero__grid, .dsm-compare, .dsm-briefing, .dsm-faq__layout, .dsm-next__inner { grid-template-columns: 1fr; }
  .dsm-hero__copy { padding-top: 0; }
  .dsm-hero__visual { min-height: 600px; margin-top: 20px; }
  .dsm-hero__proof { grid-template-columns: repeat(3, 1fr); }
  .dsm-problem-grid { grid-template-columns: 1fr 1fr; }
  .dsm-problem-card:last-child { grid-column: 1 / -1; }
  .dsm-compare__intro, .dsm-faq__intro { position: static; }
  .dsm-compare__table { margin-top: 40px; }
  .dsm-quality__visual { min-height: 580px; }
  .dsm-quality__copy { padding-top: 20px; }
  .dsm-use-grid { grid-auto-rows: minmax(460px, auto); }
  .dsm-use-card { min-height: 460px; }
  .dsm-trust__top { grid-template-columns: 1fr; }
  .dsm-trust__top > p { margin-top: 25px; }
  .dsm-faq__list, .dsm-next__links { margin-top: 50px; }
}

@media (max-width: 660px) {
  .dsm-subnav strong { display: none; }
  .dsm-subnav a { min-height: 46px; display: flex; align-items: center; }
  .dsm-hero { padding-top: 40px; }
  .dsm-hero .display { font-size: clamp(43px, 11.4vw, 58px); }
  .dsm-hero__proof { grid-template-columns: 1fr; }
  .dsm-hero__visual { min-height: 480px; }
  .dsm-hero__image { inset: 0 0 42px; }
  .dsm-hero__badge { right: -6px; }
  .dsm-problem-grid, .dsm-component-grid, .dsm-use-grid, .dsm-trust__grid, .dsm-contact-strip { grid-template-columns: 1fr; }
  .dsm-problem-card { min-height: 290px; }
  .dsm-problem-card:last-child { grid-column: auto; }
  .dsm-problem-card h3 { margin-top: 55px; }
  .dsm-compare__row { grid-template-columns: .7fr 1fr 1fr; }
  .dsm-compare__row > * { min-height: 72px; padding: 11px; font-size: 11px; }
  .dsm-compare__row span { font-size: 8px; }
  .dsm-quality__visual { min-height: 430px; }
  .dsm-component--image { grid-template-rows: 260px 1fr; }
  .dsm-component { min-height: 390px; }
  .dsm-component h3 { margin-top: 60px; }
  .dsm-use-grid { grid-auto-rows: auto; }
  .dsm-use-card { min-height: 480px; }
  .dsm-process article { grid-template-columns: 38px 1fr; gap: 14px; padding-block: 24px; }
  .dsm-process article > div { grid-template-columns: 1fr; gap: 8px; }
  .dsm-contact-strip > .button { grid-column: auto; }
  .dsm-faq summary { min-height: 86px; font-size: 16px; }
  .dsm-faq details > div { padding-right: 0; }
  .dsm-next__links a { grid-template-columns: 1fr 25px; gap: 7px; padding-block: 16px; }
  .dsm-next__links small { grid-column: 1; }
  .dsm-next__links strong { grid-column: 1; }
  .dsm-next__links span { grid-column: 2; grid-row: 1 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  .dsm-hero__image img, .dsm-component__image img, .dsm-use-card img { transition: none; }
}

/* Product-data readability pass. */
.dsm-hero__proof span,.dsm-problem-card>span,.dsm-quality__steps b,.dsm-component__copy small,.dsm-use-card small,.dsm-process article>span,.dsm-trust__grid b{font-size:11px}
.dsm-hero__badge span,.dsm-component li,.dsm-briefing li b,.dsm-contact-strip small,.dsm-next__links small{font-size:11px}
.dsm-compare__row>*,.dsm-quality__steps span,.dsm-quality__note,.dsm-briefing li span,.dsm-trust__grid p{font-size:14.5px;line-height:1.55}
.dsm-compare__row span{font-size:12.5px}
.dsm-use-card a,.dsm-contact-strip>div a{font-size:13px}

@media (max-width:660px){
  .dsm-hero .display{font-size:clamp(36px,10.2vw,44px);hyphens:manual;overflow-wrap:anywhere;word-break:normal}
  .dsm-compare,.dsm-compare>*{min-width:0;width:100%}
  .dsm-compare__table{min-width:0;width:100%;overflow:hidden}
  .dsm-compare__row{grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr)}
  .dsm-compare__row>*{min-width:0;overflow-wrap:anywhere}
  .dsm-applications{min-width:0;overflow:hidden}
  .dsm-applications .shell,.dsm-applications .section-head,.dsm-use-grid,.dsm-use-card{min-width:0;max-width:100%}
}

@media (max-width:900px){
  .dsm-compare,.dsm-faq__layout,.dsm-next__inner{display:block}
}

/* Compact product-page architecture */
.dsm-hero{padding-block:clamp(44px,5vw,70px) clamp(62px,6vw,84px)}
.dsm-hero__copy{padding-top:16px}
.dsm-hero__proof{margin-top:34px}
.dsm-hero__proof div{min-height:76px;padding:15px}
.dsm-hero__visual{min-height:520px}

.dsm-decision,.dsm-system,.dsm-applications,.dsm-delivery,.dsm-faq{padding-block:clamp(76px,7vw,104px)}
.dsm-decision .section-head,.dsm-system .section-head,.dsm-applications .section-head,.dsm-delivery .section-head{margin-bottom:clamp(38px,4vw,54px)}
.dsm-problem-card{min-height:235px;padding:27px}
.dsm-problem-card h3{margin:32px 0 13px}
.dsm-compare{grid-template-columns:.62fr 1.38fr;gap:7%;margin-top:clamp(46px,5vw,64px)}
.dsm-compare__row>*{min-height:66px;padding:15px 17px}

.dsm-surface{display:grid;grid-template-columns:.78fr 1.22fr;min-height:500px;margin-top:clamp(54px,6vw,78px);overflow:hidden;color:var(--white);background:var(--ink)}
.dsm-quality__visual{min-height:500px;overflow:hidden}
.dsm-quality__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,66px)}
.dsm-quality__copy>p{max-width:680px;margin:20px 0 0;color:var(--on-dark-body);font-size:15px;line-height:1.7}
.dsm-quality__steps{margin-top:30px}
.dsm-quality__steps li{grid-template-columns:35px 1fr;gap:16px;padding:15px 0}
.dsm-quality__steps strong{font-size:16px}
.dsm-quality__note{margin-top:22px;padding-left:16px}

.dsm-component-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dsm-component{min-height:0;grid-template-rows:190px 1fr}
.dsm-component--image{grid-template-rows:190px 1fr}
.dsm-component__copy{padding:27px 24px}
.dsm-component h3{margin:25px 0 12px;font-size:clamp(18px,1.55vw,22px)}
.dsm-component p{font-size:13.5px;line-height:1.62}
.dsm-component ul{gap:6px;margin-top:20px}
.dsm-component li{padding:5px 7px}
.dsm-component--accent .dsm-component__image img{filter:saturate(.55) brightness(.72)}
.dsm-swatches{margin-top:22px}
.dsm-swatch{width:38px;height:38px}

.dsm-use-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:390px;gap:12px}
.dsm-use-card{min-height:390px}
.dsm-use-card>div{right:32px;bottom:28px;left:32px}
.dsm-use-card h3{font-size:clamp(20px,2.2vw,28px)}
.dsm-use-card p{max-width:610px;font-size:14px;line-height:1.6}
.dsm-use-card a{margin-top:16px}
.dsm-use-card__facts{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.dsm-use-card__facts li{padding:5px 8px;color:#f1f3f2;background:rgba(8,12,13,.82);border:1px solid rgba(255,255,255,.34);font-size:11px;font-weight:750;text-transform:uppercase}

.dsm-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.dsm-process article{min-height:235px;display:block;padding:26px 23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.dsm-process article:hover{padding:26px 23px;background:var(--white)}
.dsm-process article>div{display:block;margin-top:28px}
.dsm-process h3{font-size:18px;line-height:1.15}
.dsm-process p{margin-top:12px;font-size:13.5px;line-height:1.58}
.dsm-briefing{min-height:0;display:grid;grid-template-columns:.75fr 1.25fr auto;gap:34px;align-items:center;margin-top:22px;padding:30px 32px}
.dsm-briefing__copy{display:block;padding:0}
.dsm-briefing h3{margin:10px 0 0;font-size:clamp(20px,2vw,27px)}
.dsm-briefing ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.dsm-briefing li{padding:9px 0}
.dsm-briefing>.button{white-space:nowrap}

.dsm-trust{padding-block:clamp(72px,6.5vw,96px)}
.dsm-trust__top{margin-bottom:clamp(36px,4vw,52px)}
.dsm-trust__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dsm-trust__grid article{min-height:210px;padding:25px}
.dsm-trust__grid h3{margin:34px 0 11px;font-size:17px}
.dsm-contact-strip{margin-top:24px}

.dsm-faq__intro{position:static}
.dsm-faq summary{min-height:76px;font-size:16.5px}
.dsm-faq details>div{padding-bottom:22px}

.dsm-next{padding-block:clamp(56px,5vw,76px)}
.dsm-next__inner{display:block}
.dsm-next h2{max-width:760px}
.dsm-next__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;border-left:1px solid rgba(255,255,255,.18)}
.dsm-next__links a{min-height:142px;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-content:center;gap:8px 15px;padding:24px;border-right:1px solid rgba(255,255,255,.18)}
.dsm-next__links a:hover{padding:24px;background:rgba(255,255,255,.05)}
.dsm-next__links small,.dsm-next__links strong{grid-column:1}
.dsm-next__links span{grid-column:2;grid-row:1/3;align-self:center}

@media(max-width:1100px){
  .dsm-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dsm-component,.dsm-component--image{grid-template-rows:220px 1fr}
  .dsm-process{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dsm-briefing{grid-template-columns:1fr 1.3fr}
  .dsm-briefing>.button{grid-column:1/-1;justify-self:start}
}

@media(max-width:900px){
  .dsm-surface{grid-template-columns:1fr}
  .dsm-quality__visual{min-height:420px}
  .dsm-use-grid{grid-auto-rows:360px}
  .dsm-use-card{min-height:360px}
  .dsm-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dsm-briefing{grid-template-columns:1fr}
  .dsm-briefing>.button{grid-column:auto}
  .dsm-next__links{grid-template-columns:1fr}
  .dsm-next__links a{min-height:110px}
}

@media(max-width:660px){
  .dsm-hero{padding-bottom:60px}
  .dsm-hero__visual{min-height:420px}
  .dsm-decision,.dsm-system,.dsm-applications,.dsm-delivery,.dsm-faq{padding-block:60px}
  .dsm-problem-grid,.dsm-component-grid,.dsm-use-grid,.dsm-process{grid-template-columns:1fr}
  .dsm-problem-card{min-height:0;padding:24px 22px}
  .dsm-problem-card h3{margin-top:24px}
  .dsm-compare__table{overflow:visible}
  .dsm-compare__row{grid-template-columns:minmax(76px,.62fr) repeat(2,minmax(0,1fr))}
  .dsm-compare__row>*{min-height:64px;padding:10px;font-size:12px}
  .dsm-quality__visual{min-height:310px}
  .dsm-quality__copy{padding:36px 22px}
  .dsm-component,.dsm-component--image{grid-template-rows:210px auto}
  .dsm-component h3{margin-top:22px}
  .dsm-use-grid{grid-auto-rows:auto}
  .dsm-use-card{min-height:350px}
  .dsm-use-card>div{right:22px;bottom:22px;left:22px}
  .dsm-process article{min-height:0;padding:23px 22px}
  .dsm-process article:hover{padding:23px 22px}
  .dsm-process article>div{margin-top:20px}
  .dsm-briefing{padding:27px 22px}
  .dsm-briefing ul{grid-template-columns:1fr}
  .dsm-briefing>.button{width:100%}
  .dsm-trust__grid{grid-template-columns:1fr}
  .dsm-trust__grid article{min-height:0}
  .dsm-trust__grid h3{margin-top:24px}
  .dsm-next__links{margin-top:28px}
}

/* Live-Zaunwelt in der Doppelstabmatten-Unterseite. */
html:has(.dsm-planner__app) { overflow-anchor: none; }
.dsm-planner { background: var(--paper-deep); padding-block: clamp(32px,4vw,64px); }
.dsm-planner__shell { width:calc(100% - clamp(32px,4vw,64px)); max-width:1440px; margin-inline:auto; min-width:0; background:#fff; border:1px solid var(--line); border-top:3px solid var(--copper-dark); box-shadow:0 12px 40px #151a1c08; }
.dsm-planner__app { display:block; width:100%; height:1000px; border:0; background:#fff; }
.dsm-planner__shell noscript p { padding:24px; }
.dsm-planner__expand { display:flex; justify-content:flex-end; gap:10px; padding:12px 24px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.dsm-planner__expand:hover { color:var(--copper-dark); }
