/* R117: scoped media layouts. Contact and demo styles remain owned by R115. */
.r117-page .r117-editorial-surface,.r117-page .r117-editorial-figure{background:#fff;border-color:#dededb}
.r117-page .r117-editorial-figure>figcaption,.r117-page .r115-media-top,.r117-page .c82-figure-head{background:#fff;border-color:#dededb}
.r117-page .r115-hero>.r115-media{align-self:center!important;height:auto!important;min-height:0!important;width:100%;box-sizing:border-box;padding:0;aspect-ratio:auto}
.r117-page .r115-hero>.r115-media>img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain;padding:0;margin:0;border:0;background:transparent}
.r117-page .r115-media{border-color:#dededb;background:#fff;box-shadow:0 14px 40px #1c34300c}
.r117-page .r115-media figcaption{background:#fff;border-color:#dededb}
.r117-page .r115-media-top{font-size:10px;padding:13px 17px;letter-spacing:.06em}
.r117-page .r115-compare-tabs{background:#fff}
/* A selected view uses the full media column, with no small split-screen thumbnails. */
.r117-page .r117-gallery{overflow:hidden;border-radius:15px}
.r117-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;background:#fff;border-bottom:1px solid #e4e4df}
.r117-page .r117-options button{display:block;width:100%;max-width:100%;min-width:0;min-height:44px;box-sizing:border-box;font:inherit;font-size:12px;line-height:1.35;font-weight:600;border:1px solid #d6d8d2;border-radius:6px;background:#fff;color:#345149;padding:10px 8px;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.r117-page .r117-options button[aria-pressed=true]{background:#173d3d;border-color:#173d3d;color:#fff}
.r117-options button:hover{border-color:#61786b}
.r117-frame{margin:0;padding:0;min-width:0}
.r117-stage{position:relative;width:100%;height:0;padding-top:68.9655%;overflow:hidden;background:var(--r117-image-bg,#f5f5f2)}
.r117-page .r117-stage>img{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;aspect-ratio:auto;padding:0;margin:0;border:0;background:transparent}
.r117-gallery[data-r117-kind=process] .r117-stage{padding-top:65.12195%}
.r117-gallery[data-r117-kind=plan] .r117-stage{padding-top:66.6667%}
.r117-gallery[data-r117-kind=products] .r117-stage{padding-top:71.4286%}
.r117-gallery[data-r117-kind=overview] .r117-stage{padding-top:76.9231%}
.r117-frame-copy{padding:15px 18px 17px;background:#fff;border-top:1px solid #e5e5df;min-height:104px;box-sizing:border-box}
.r117-frame-copy strong{display:block;font-size:16px;line-height:1.35;color:#173d3d;margin-bottom:5px}
.r117-frame-copy p{font-size:12px!important;line-height:1.55!important;color:#56675e;margin:0!important}
.r117-frame-copy a{display:inline-flex;align-items:center;min-height:32px;margin-top:6px;font-size:12px;font-weight:650;color:#174e43;text-underline-offset:4px}
.r117-gallery>figcaption{border-top:1px solid #e5e5df;font-size:11px!important;padding:11px 18px!important}
/* Neutral media surfaces for existing editorial photos; dimensions are component-owned. */
.r117-page .r83-figure,.r117-page .calc-photo,.r117-page .r94-energy-picture{padding:0;background:#fff;border-color:#dededb;overflow:hidden}
.r117-page .r83-figure>img,.r117-page .calc-photo>img,.r117-page .r94-energy-picture>img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;margin:0;padding:0;background:transparent}
.r117-page .r83-figure>figcaption,.r117-page .calc-photo>figcaption{padding:13px 16px;background:#fff;font-size:12px;line-height:1.55}
.r117-page .offer-proof figure{margin:0;width:100%;padding:0;background:#fff;align-self:start}
.r117-page .twin-image-open{display:block;width:100%;padding:0;background:#fff}
.r117-page .twin-image-open>img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;background:transparent;margin:0;padding:0}
/* Showroom proof: fixed ownership of width and caption typography. */
.r117-page .r82-demo-proof{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;background:#fff;border:1px solid #dededb;border-radius:14px;overflow:hidden;padding:0;margin:28px 0 42px}
.r117-page .r82-demo-proof>figure{align-self:center;width:100%;height:auto;min-width:0;margin:0;padding:0;border:0;background:#fff}
.r117-page .r82-demo-proof img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain;margin:0;padding:0;background:transparent}
.r117-page .r82-demo-proof figcaption{font-family:inherit;font-size:12px;line-height:1.55;color:#56675e;margin:0;padding:13px 17px;background:#fff;border-top:1px solid #e4e4df}
.r117-page .r82-demo-proof>div{padding:26px 30px 26px 0;min-width:0}
/* Product finder cards retain a shared product stage and readable labels. */
.r117-page .r110-demo-preview{height:auto;max-height:none;padding:0;background:#fff;border-color:#dededb}
.r117-page .r110-product-images{display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;height:270px;min-height:0;max-height:none;padding:12px;background:#f5f5f2}
.r117-page .r110-product-images img{display:block;flex:1 1 0;min-width:0;width:0;height:100%;max-height:100%;object-fit:contain;padding:0;background:transparent;border-radius:0}
.r117-page .r110-demo-preview figcaption{background:#fff;padding:13px 16px;border-top:1px solid #dededb}
.r117-page .r110-demo-preview figcaption span{background:#fff}
.r117-page .r110-demo-card,.r117-page .r83-card,.r117-page .offer-proof{border-color:#dededb}
@media(max-width:760px){
 .r117-page .r115-hero{gap:22px;grid-template-columns:minmax(0,1fr);max-width:100%}
 .r117-page .r115-hero-copy{width:100%;min-width:0}
 .r117-page .r115-hero h1{max-width:100%;overflow-wrap:anywhere}
 .r117-page .r115-media-top{padding:11px 13px;font-size:9px}
 .r117-page .r117-gallery{border-radius:12px}
 .r117-options{padding:10px;gap:6px}
 .r117-page .r117-options button{font-size:11px;padding:9px 6px;min-height:44px}
 .r117-frame-copy{padding:13px 14px;min-height:104px}
 .r117-frame-copy strong{font-size:15px}
 .r117-gallery>figcaption{padding:10px 14px!important}
 .r117-page .r82-demo-proof{grid-template-columns:1fr;gap:0;margin:22px 0 32px}
 .r117-page .r82-demo-proof>div{padding:22px}
 .r117-page .r110-product-images{height:230px}
}

/* R117: two audited training pages. Existing forms and demo runtimes untouched. */
.r117-page.r83-training .r117-training-image {
  display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:16/9!important;object-fit:cover!important;max-height:none!important;
  padding:0!important;margin:0!important;
}
.r117-page.r83-training .r117-training-examples .r83-grid2 {
  align-items:stretch;
}
.r117-page.r83-training .r117-training-examples .r83-card {
  display:flex;flex-direction:column;min-width:0;
}
.r117-page.r83-training .r117-training-examples .r83-card>figure {
  flex:none;width:100%;margin:0;align-self:start;
}
.r117-page.r83-training .r117-training-examples .r83-card-copy {
  display:flex;flex-direction:column;flex:1 1 auto;padding:26px;
}
.r117-page.r83-training .r117-training-examples .r83-card-copy>p {
  margin:0 0 17px;
}
.r117-page.r83-training .r117-training-examples .r117-first-step {
  font-size:14px;line-height:1.65;
}
.r117-page.r83-training .r117-training-examples .r83-actions {
  display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;
  align-content:start;gap:11px;margin-top:auto;padding-top:8px;
}
.r117-page.r83-training .r117-training-examples .r83-button {
  min-height:50px;margin:0;white-space:normal;max-width:100%;
}
.r117-page.r83-training .r117-training-examples .r83-actions>.r115-note {
  min-height:3.2em;margin:0!important;font-size:12px!important;line-height:1.6!important;
}
.r117-page.r83-training .r117-training-examples .r83-secondary {
  min-height:36px;font-size:14px;
}
.r117-page.r83-training .r117-learning-steps {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;
  list-style:none;margin:0;padding:0;
}
.r117-page.r83-training .r117-learning-steps>li {
  display:flex;flex-direction:column;min-width:0;padding:25px;
  background:#fffdf9;border:1px solid #deded8;border-radius:12px;
}
.r117-page.r83-training .r117-step-number {
  display:block;font-size:30px;line-height:1;font-weight:600;
  letter-spacing:-.04em;color:#946327;margin-bottom:23px;
}
.r117-page.r83-training .r117-learning-steps h3 {
  font-size:23px;line-height:1.2;margin-bottom:15px;
}
.r117-page.r83-training .r117-learning-steps p {
  font-size:16px;line-height:1.7;margin:0 0 23px;
}
.r117-page.r83-training .r117-step-focus {
  display:block;margin-top:auto;padding-top:16px;border-top:1px solid #deded8;
  font-size:13px;line-height:1.6;color:#193d43;font-weight:600;
}
@media(max-width:760px){
  .r117-page.r83-training .r117-training-examples .r83-card-copy {padding:21px;}
  .r117-page.r83-training .r117-training-examples .r83-actions>.r115-note {min-height:0;}
  .r117-page.r83-training .r117-learning-steps {grid-template-columns:1fr;gap:14px;}
  .r117-page.r83-training .r117-learning-steps>li {padding:22px;}
  .r117-page.r83-training .r117-step-number {font-size:26px;margin-bottom:17px;}
}

/* R117: lower configurator cards only. The original image is always complete.
   Four-by-three stages align related content; source-matched neutral backgrounds
   avoid the green bands. No application, hero, consent or form styles. */
body.r117-page .r117-config-grid,
body.r117-page .r117-application-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px; align-items:stretch;
}
body.r117-page .r117-config-card,
body.r117-page .r117-application-card {
  display:flex; flex-direction:column; grid-row:auto; grid-template-rows:none;
  min-width:0; margin:0; padding:0; overflow:hidden;
  background:#fffefa; border:1px solid #deded8; border-radius:14px;
}
body.r117-page .r117-config-figure,
body.r117-page .r117-application-figure {
  display:flex; flex-direction:column; flex:none; grid-template-rows:none;
  width:100%; min-width:0; margin:0; padding:0; align-self:stretch;
  background:#fff; border:0; border-radius:0; overflow:hidden;
}
body.r117-page .r117-config-card .r117-product-media,
body.r117-page .r117-application-card .r117-product-media {
  position:relative; display:block; flex:none;
  width:100%; height:auto; min-height:0; max-height:none;
  aspect-ratio:auto; padding:0; margin:0; overflow:hidden;
  background:#fff; box-sizing:border-box;
}
/* The in-flow spacer gives even legacy absolutely positioned artwork a real
   4:3 containing box. It also works in static renderers without aspect-ratio. */
body.r117-page .r117-config-card .r117-product-media::before,
body.r117-page .r117-application-card .r117-product-media::before {
  content:""; display:block; width:100%; padding-top:75%;
}
body.r117-page .r117-config-card .r117-stage-conveyor,
body.r117-page .r117-application-card .r117-stage-conveyor { background:#ececec; }
body.r117-page .r117-config-card .r117-product-media > img,
body.r117-page .r117-application-card .r117-product-media > img {
  display:block; position:absolute; inset:0;
  width:100%; height:100%; min-width:0; min-height:0; max-width:100%; max-height:100%;
  aspect-ratio:auto; object-fit:contain; object-position:center;
  padding:0; margin:0; border:0; background:transparent; box-sizing:border-box;
}
body.r117-page .r117-config-figure > .c84-preview-heading,
body.r117-page .r117-config-figure .r77-plan-toolbar {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  min-height:76px; width:100%; padding:12px 18px; gap:8px 14px;
  box-sizing:border-box; background:#fff; border-bottom:1px solid #deded8;
}
body.r117-page .r117-config-figure .r77-plan-toolbar {
  display:grid; grid-template-columns:minmax(0,1fr) auto;
}
body.r117-page .r117-config-figure .r77-view-tabs {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%; max-width:320px; min-width:0; gap:3px;
  padding:3px; border:1px solid #deded8; border-radius:7px;
  background:#f6f6f2; box-sizing:border-box;
}
body.r117-page .r117-config-figure .r77-view-tabs button {
  min-height:40px; padding:8px 10px; font-size:12px;
  line-height:1.3; white-space:normal; box-sizing:border-box;
}
body.r117-page .r117-config-figure .r77-plan-zoom {
  min-height:40px; padding:8px 0; margin:0; font-size:12px;
  box-sizing:border-box;
}
body.r117-page .r117-config-figure .r77-plan-viewer {
  display:contents; border:0; border-radius:0; background:#fff;
}
body.r117-page .r117-config-figure .r76-visual-top { display:none; }
body.r117-page .r117-config-card .r117-stage-plan > [data-plan-panel] {
  position:absolute; inset:0;
  width:100%; height:100%; min-width:0; min-height:0;
  padding:0; margin:0; background:#fff;
}
body.r117-page .r117-config-card .r117-stage-plan > [data-plan-panel][hidden] { display:none; }
body.r117-page .r117-config-card .r117-stage-plan > [data-plan-panel] > img {
  display:block; position:static; inset:auto; width:100%; height:100%;
  min-height:0; max-height:100%; aspect-ratio:auto; object-fit:contain;
  padding:0; margin:0; background:transparent;
}
body.r117-page .r117-config-card .r117-stage-valves .c83-valves {
  position:absolute; inset:0;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center;
  width:100%; height:100%; padding:22px 14px; gap:8px; box-sizing:border-box;
  background:#fff;
}
body.r117-page .r117-config-card .r117-stage-valves .c83-valves > div {
  display:flex; flex-direction:column; justify-content:center;
  min-width:0; margin:0; padding:0; border:0; border-radius:0; background:#fff;
}
body.r117-page .r117-config-card .r117-stage-valves img {
  display:block; position:static; width:100%; height:auto; max-height:none;
  aspect-ratio:4/3; object-fit:contain; padding:0; margin:0; background:#fff;
}
body.r117-page .r117-config-card .r117-stage-valves strong {
  display:block; margin:0; padding:12px 0 0; font-size:13px; line-height:1.4;
  text-align:center;
}
body.r117-page .r117-config-figure .c83-facts,
body.r117-page .r117-config-figure .r77-plan-dimensions {
  min-height:110px; margin:0; background:#fff; box-sizing:border-box;
  border-top:1px solid #deded8; border-bottom:1px solid #deded8;
}
body.r117-page .r117-config-figure .c83-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
body.r117-page .r117-config-figure .c83-facts > div { padding:14px 16px; }
body.r117-page .r117-config-figure .r77-plan-dimensions { padding:14px 16px; align-items:center; }
body.r117-page .r117-config-figure .c83-facts dd,
body.r117-page .r117-config-figure .r77-plan-dimensions strong { font-size:17px; line-height:1.45; }
body.r117-page .r117-config-figure > figcaption,
body.r117-page .r117-application-figure > figcaption {
  display:flex; align-items:center; min-height:48px; padding:11px 18px;
  margin:0; box-sizing:border-box; font-size:12px; line-height:1.5;
  color:#526762; background:#fff; border:0; border-bottom:1px solid #deded8;
}
body.r117-page .r117-config-card .c83-product-copy,
body.r117-page .r117-application-card .c82-product-copy {
  display:flex; flex-direction:column; flex:1; min-width:0; padding:26px;
}
body.r117-page .r117-config-card .c83-product-copy > * {
  margin:0!important; padding:0; min-width:0;
}
body.r117-page .r117-config-card .c83-product-copy > .c83-kicker { margin-bottom:12px!important; }
body.r117-page .r117-config-card .c83-product-copy > h3,
body.r117-page .r117-application-card .c82-product-copy > h3 {
  min-height:2.6em; margin:0 0 18px!important; padding:0;
  font-size:clamp(24px,2vw,27px); line-height:1.3;
}
body.r117-page .r117-config-card .c83-product-copy > .c83-question {
  margin:0 0 14px!important; font-size:18px; line-height:1.5;
}
body.r117-page .r117-config-card .c83-product-copy > p:not(.c83-kicker):not(.c83-question) {
  font-size:16px; line-height:1.65; margin-bottom:20px!important;
}
body.r117-page .r117-config-card .c83-product-copy > .c83-actions {
  display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(80px,auto) auto;
  align-content:end; gap:8px; margin-top:auto!important; padding:0;
}
body.r117-page .r117-config-card .r117-card-primary {
  display:flex; align-items:flex-end; min-width:0; min-height:80px;
}
body.r117-page .r117-config-card .r117-card-primary > .c83-btn {
  display:flex; justify-content:space-between; align-items:center;
  width:100%; min-height:52px; padding:13px 16px; box-sizing:border-box;
}
body.r117-page .r117-config-card .c83-actions > .c83-link {
  display:flex; width:100%; min-height:44px; justify-content:space-between;
  padding:4px 0; box-sizing:border-box;
}
body.r117-page .r117-config-card .r111-configurator-demos { width:100%; }
body.r117-page .r117-config-card .r111-configurator-demos .c83-btn { min-height:52px; }
body.r117-page .r117-application-card .c82-product-copy > .text-link {
  margin-top:auto; padding-top:20px;
}
body.r117-page .r117-application-card .c82-product-copy > dl { margin-bottom:0; }
@media (max-width:1050px) {
  body.r117-page .r117-config-grid { grid-template-columns:minmax(0,1fr)!important; }
  body.r117-page .r117-config-card .c83-product-copy > h3 { min-height:0; }
  body.r117-page .r117-config-card .r117-card-primary { min-height:0; }
  body.r117-page .r117-config-card .c83-product-copy > .c83-actions { grid-template-rows:auto auto; padding-top:6px; }
}
@media (max-width:760px) {
  body.r117-page .r117-application-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.r117-page .r117-application-card .c82-product-copy > h3 { min-height:0; }
  body.r117-page .r117-config-card .c83-product-copy,
  body.r117-page .r117-application-card .c82-product-copy { padding:22px 20px; }
  body.r117-page .r117-config-figure > .c84-preview-heading,
  body.r117-page .r117-config-figure .r77-plan-toolbar { min-height:64px; padding:12px 14px; }
  body.r117-page .r117-config-figure .c83-facts { grid-template-columns:minmax(0,1fr); min-height:0; }
  body.r117-page .r117-config-figure .c83-facts > div { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:10px 14px; border-right:0; }
  body.r117-page .r117-config-figure .c83-facts dd { margin:0; }
  body.r117-page .r117-config-figure .r77-plan-dimensions { min-height:0; padding:12px 14px; }
  body.r117-page .r117-config-figure > figcaption,
  body.r117-page .r117-application-figure > figcaption { min-height:0; padding:11px 14px; }
  body.r117-page .r117-application-card .c82-product-copy > .text-link { margin-top:18px; padding-top:0; }
}
@media (max-width:440px) {
  body.r117-page .r117-config-figure .r77-plan-toolbar {
    grid-template-columns:minmax(0,1fr); gap:6px;
  }
  body.r117-page .r117-config-figure .r77-view-tabs { max-width:none; }
  body.r117-page .r117-config-figure .r77-plan-zoom { justify-self:end; min-height:36px; padding:4px 0; }
}

/* R117: clear inquiry access at the top of every service page. */
.r117-page .r117-header-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;min-width:0}
.r117-page .r117-header-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px;min-width:0;width:auto!important;max-width:none!important;flex:0 0 auto!important;flex-wrap:nowrap!important}
.r117-page .r117-header-nav>a{white-space:nowrap;flex:0 0 auto;margin:0!important}
.r117-page a.r117-header-inquiry{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px;padding:11px 18px!important;min-height:44px;box-sizing:border-box;border:1px solid #1f5144!important;border-radius:9px;background:#1f5144!important;color:#fff!important;font-size:14px!important;line-height:1.3!important;font-weight:700!important;text-decoration:none!important;flex-shrink:0}
.r117-page a.r117-inquiry-button{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-height:48px;box-sizing:border-box;padding:12px 20px;border:1.5px solid #1f5144;border-radius:9px;background:#fff;color:#1f5144;font:inherit;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:normal}
.r117-page a.r117-header-inquiry:hover{background:#153d33!important}
.r117-page a.r117-inquiry-button:hover{background:#f1f6f3}
.r117-page a.r117-header-inquiry:focus-visible,.r117-page a.r117-inquiry-button:focus-visible{outline:3px solid #a77a32;outline-offset:4px}
.r117-page #kontakt{scroll-margin-top:100px}
@media(max-width:760px){
  .r117-page .r117-header-inner{gap:12px}
  .r117-page .r117-header-nav{gap:8px;flex-wrap:nowrap}
  .r117-page .r117-header-nav>a:not(.r117-header-inquiry){display:none!important}
  .r117-page .r117-header-inner>.brand,.r117-page .r117-header-inner>.r83-brand,.r117-page .r117-header-inner>.offer-brand{min-width:0}
  .r117-page .r117-header-inner>.brand>span,.r117-page .r117-header-inner>.offer-brand>span{display:none!important}
  .r117-page a.r117-header-inquiry{min-height:44px;padding:10px 14px!important;font-size:13px!important;gap:8px}
  .r117-page .r115-actions{align-items:stretch}
  .r117-page .r115-actions>a.r117-inquiry-button{min-height:48px}
}
@media(max-width:380px){.r117-page .r115-actions>a.r117-inquiry-button{width:100%}}
