.editorial-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:38px}.editorial-tiles article{padding:30px;background:#f0ebe5;border:1px solid #e7dfd5;border-radius:22px}.editorial-number{display:block;color:#b62119;font-size:13px;letter-spacing:.14em;margin-bottom:28px}.editorial-tiles h3{font-size:23px;line-height:1.2;margin:0 0 18px}.editorial-tiles p{font-size:16px;line-height:1.65;margin:0}.editorial-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,88px);align-items:center}.editorial-feature figure{margin:0;background:#eee9e2;border-radius:28px;overflow:hidden}.editorial-feature img{width:100%;height:480px;object-fit:cover;display:block}.editorial-feature img[src*="grundriss"],.editorial-feature img[src*="lageplan"]{object-fit:contain;padding:24px}.editorial-feature h2{font-size:clamp(34px,4vw,60px);line-height:1.04;letter-spacing:-.04em;margin:20px 0 26px}.editorial-feature p{font-size:18px;line-height:1.65;color:#655f59}.editorial-feature .text-link{margin-top:20px}.editorial-feature--reverse figure{order:2}.editorial-band{background:#b81d16;color:white;padding:clamp(38px,6vw,86px) max(6vw,24px);display:flex;gap:50px;align-items:center;justify-content:space-between;margin:40px 0}.editorial-band>div{max-width:790px}.editorial-band h2{color:white;font-size:clamp(34px,4vw,60px);line-height:1.06;letter-spacing:-.035em;margin:18px 0 22px}.editorial-band p{color:#fff0ec;font-size:18px;line-height:1.65;max-width:700px}.editorial-band .dw-eyebrow{color:#ffddd5}.editorial-band>a{flex-shrink:0;max-width:330px;text-align:center}.editorial-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.editorial-faq h2{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:20px 0}.editorial-faq details{border-bottom:1px solid #d6cec4;padding:24px 0}.editorial-faq summary{font-size:20px;font-weight:600;cursor:pointer;line-height:1.4}.editorial-faq details p{font-size:17px;line-height:1.7;color:#625d57;margin:18px 0 0}.editorial-sources{padding-top:15px!important;padding-bottom:25px!important;font-size:13px;color:#79716a}.editorial-sources summary{cursor:pointer}.editorial-sources p{font-size:13px;max-width:800px}.editorial-sources a{text-decoration:underline;text-underline-offset:3px}.editorial-route-links{display:flex;gap:16px;flex-wrap:wrap;margin:26px 0}.editorial-route-links a{border:1px solid #d6ccc1;border-radius:100px;padding:15px 24px;font-size:16px}.editorial-route-links a:hover{border-color:#b81d16;color:#b81d16}.editorial-checklist{max-width:900px;padding-left:24px}.editorial-checklist li{font-size:18px;line-height:1.65;margin:15px 0}.construction-catalog-offer .catalog-cover img{box-shadow:none;transform:none;border-radius:0;background:transparent;object-fit:contain}.catalog-cover figcaption{max-width:300px;font-size:12px;line-height:1.5}.construction-catalog>.dw-button{margin-top:18px}.editorial-map{position:relative;min-height:420px;border-radius:28px;overflow:hidden;background:#ebe8e2;display:grid;place-items:center}.editorial-map iframe{width:100%;height:500px;border:0;display:block}.editorial-map-consent{max-width:560px;padding:38px;text-align:center}.editorial-map-consent img{width:50px;height:auto;margin:0 auto 20px}.editorial-map-consent p{font-size:16px}.editorial-map-controls{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:16px 0}.editorial-map-controls button{text-decoration:underline;background:none;border:0;cursor:pointer}.editorial-map-caption{font-size:14px;color:#6c655e}.news-editor textarea{min-height:260px;resize:vertical}.news-editor .editorial-review{background:#f6f1e9;padding:22px;border-radius:16px;margin:20px 0}.news-editor .editorial-review label{display:flex;gap:12px;align-items:flex-start}.news-editor input[type=checkbox]{width:auto;margin-top:5px}.news-preview{padding:24px;border:1px solid #ddd;border-radius:16px}.news-preview h2{font-size:28px}.news-editor fieldset{border:0;padding:0}.portal-news-grid{display:grid;gap:16px}.portal-news-item{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #e5dfd8;padding:20px 0}.portal-news-item h2{font-size:22px;margin:8px 0}.news-editor-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.news-editor input,.news-editor textarea,.news-editor select{width:100%;box-sizing:border-box}.news-editor .portal-tools{align-items:start}.news-grid-empty{padding:32px;border:1px solid #ddd;border-radius:20px}
@media(max-width:900px){.editorial-tiles{grid-template-columns:1fr;gap:16px}.editorial-tiles article{padding:25px}.editorial-number{margin-bottom:16px}.editorial-feature{grid-template-columns:1fr;gap:25px}.editorial-feature--reverse figure{order:0}.editorial-feature img{height:360px}.editorial-band{display:block}.editorial-band>a{margin-top:15px}.editorial-faq{grid-template-columns:1fr;gap:0}.editorial-route-links{display:grid;gap:12px}.portal-news-item{align-items:start;flex-direction:column}.construction-catalog>.dw-button{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.editorial-feature *{scroll-behavior:auto}}
.download-intro { padding-top: 48px; padding-bottom: 44px; }
.download-intro h1 { font-size: clamp(42px,5.7vw,82px); letter-spacing: -.055em; line-height: 1.05; margin: 18px 0 24px; }
.download-intro > p { max-width: 720px; font-size: 17px; line-height: 1.75; }
.download-library { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.3fr); gap: clamp(32px,6vw,96px); align-items: start; padding-top: 12px; scroll-margin-top: 30px; }
.download-showcase { position: sticky; top: 28px; border-radius: 30px; background: #eeeae3; padding: 28px 34px 36px; }
.download-showcase-art { height: clamp(230px,28vw,380px); display: grid; place-items: center; }
.download-showcase-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 16px 18px #352f2018); }
.download-showcase h2 { font-size: clamp(25px,2.8vw,38px); line-height: 1.15; letter-spacing: -.04em; margin: 16px 0; }
.download-showcase p { line-height: 1.7; font-size: 14px; }
.download-showcase ol { counter-reset: catalog-step; list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 13px; }
.download-showcase li { counter-increment: catalog-step; display: flex; align-items: center; gap: 12px; font-size: 14px; }
.download-showcase li::before { content: counter(catalog-step); background: #fff9; border: 1px solid #fff; border-radius: 50%; width: 27px; height: 27px; display: grid; place-items: center; font-size: 11px; }
.download-library .download-small { font-size: 11px; line-height: 1.65; color: #746e66; }
.download-selection-head h2 { font-size: clamp(26px,3vw,38px); letter-spacing: -.04em; line-height: 1.15; margin: 12px 0; }
.download-selection-head > p { font-size: 14px; color: #746e66; }
.download-filters { display: flex; gap: 7px; flex-wrap: wrap; margin: 22px 0; }
.download-filters button { padding: 9px 13px; border: 1px solid #ddd7cd; border-radius: 24px; background: transparent; font: inherit; font-size: 12px; cursor: pointer; color: #514b43; }
.download-filters button[aria-pressed=true] { color: white; background: #292a27; border-color: #292a27; }
.download-cards { display: grid; gap: 10px; }
.download-card { position: relative; cursor: pointer; display: grid; grid-template-columns: 76px minmax(0,1fr) 23px; align-items: center; gap: 20px; padding: 17px 20px; border: 1px solid #e1dbd2; border-radius: 18px; background: #fff9; transition: border-color .2s,background .2s,box-shadow .2s; }
.download-card:hover { border-color: #b9aca0; background: white; }
.download-card:has(input:checked) { border-color: #b82319; background: #fff9f6; box-shadow: 0 0 0 1px #b82319; }
.download-card:has(input:focus-visible) { outline: 3px solid #202725; outline-offset: 4px; }
.download-card > input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; inset: 0; cursor: pointer; }
.download-card > img { width: 76px; height: 96px; object-fit: contain; filter: drop-shadow(1px 4px 4px #28231c22); }
.download-card-copy { display: grid; gap: 5px; }
.download-card-copy strong { font-size: 17px; line-height: 1.3; font-weight: 600; }
.download-card-copy > span { font-size: 12px; line-height: 1.6; color: #6a655e; }
.download-card-copy small { font-size: 10px; color: #797267; line-height: 1.4; }
.download-check { width: 22px; height: 22px; border-radius: 50%; border: 1px solid #c9c0b6; display: grid; place-items: center; }
.download-card:has(input:checked) .download-check { background: #b82319; border-color: #b82319; }
.download-card:has(input:checked) .download-check::after { content: ''; width: 9px; height: 5px; border-left: 1.8px solid white; border-bottom: 1.8px solid white; transform: rotate(-45deg) translateY(-1px); }
.download-action { position: sticky; bottom: 18px; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 15px 18px; margin-top: 18px; background: #f8f6f1f5; border: 1px solid #e2dcd2; border-radius: 20px; box-shadow: 0 8px 28px #392d1712; backdrop-filter: blur(16px); }
.download-action p { margin: 0; font-size: 12px; }
.download-action .dw-button { font-size: 12px; padding: 14px 18px; gap: 14px; }
.download-action button:disabled { opacity: .45; cursor: not-allowed; }
.download-form-slot { scroll-margin-top: 32px; }
.download-lead-form,.download-success { padding: 26px; background: #fff; border: 1px solid #ded8ce; border-radius: 24px; margin-top: 24px; }
.download-lead-form h3,.download-success h3 { font-size: 30px; line-height: 1.15; letter-spacing: -.035em; margin: 14px 0; }
.download-lead-form > p,.download-success > p { font-size: 14px; line-height: 1.7; }
.download-lead-form .form-field { display: grid; gap: 8px; font-size: 13px; margin: 20px 0; }
.download-lead-form input:not([type=checkbox]) { width: 100%; padding: 14px; border: 1px solid #cfc7bc; border-radius: 10px; background: #faf9f6; font: inherit; font-size: 16px; }
.download-lead-form .consent { font-size: 12px; line-height: 1.7; }
.download-chosen { padding: 16px 18px 16px 32px; background: #f4f1eb; border-radius: 12px; font-size: 12px; line-height: 1.8; }
.download-ready-row { display: flex; gap: 14px; align-items: center; padding: 18px 0; border-bottom: 1px solid #e7e1d8; }
.download-ready-row img { object-fit: contain; }
.download-ready-row > span { display: grid; gap: 5px; flex: 1; }
.download-ready-row strong { font-size: 14px; }
.download-ready-row small { font-size: 11px; color: #797267; }
.download-ready-row .dw-button { font-size: 11px; padding: 12px 14px; gap: 8px; }
.download-more { margin: 24px 0; font-size: 13px; }
.download-more summary { cursor: pointer; line-height: 1.6; }
.catalog-retry { background: none; border: 0; padding: 6px 0; text-decoration: underline; text-underline-offset: 4px; font: inherit; font-size: 12px; cursor: pointer; }
.download-help { display: flex; justify-content: space-between; gap: 32px; align-items: center; }
.download-help h2 { font-size: clamp(28px,4vw,44px); }
.download-help p { max-width: 640px; line-height: 1.7; }
.download-library [hidden] { display: none!important; }
@media(max-width:850px) {
 .download-library { grid-template-columns: 1fr; }
 .download-showcase { position: static; display: grid; grid-template-columns: .7fr 1fr; align-items: center; padding: 24px; gap: 22px; }
 .download-showcase-art { height: 280px; }
 .download-showcase h2 { font-size: 27px; }
 .download-showcase .download-small { display: none; }
 .download-help { align-items: flex-start; flex-direction: column; }
}
@media(max-width:520px) {
 .download-intro { padding-top: 24px; padding-bottom: 26px; }
 .download-intro > p { font-size: 14px; }
 .download-showcase { padding: 20px; gap: 12px; }
 .download-showcase-art { height: 215px; }
 .download-showcase h2 { font-size: 21px; }
 .download-showcase .dw-eyebrow { font-size: 8px; }
 .download-showcase p { display: none; }
 .download-showcase li { font-size: 11px; gap: 6px; }
 .download-showcase ol { margin: 16px 0 0; gap: 10px; }
 .download-showcase li::before { width: 20px; height: 20px; flex-shrink: 0; }
 .download-card { grid-template-columns: 54px minmax(0,1fr) 20px; padding: 14px; gap: 12px; }
 .download-card > img { width: 54px; height: 80px; }
 .download-card-copy strong { font-size: 15px; }
 .download-card-copy > span { font-size: 11px; }
 .download-action { bottom: 12px; padding: 12px; gap: 9px; }
 .download-action p { font-size: 10px; max-width: 100px; }
 .download-action .dw-button { padding: 12px; font-size: 11px; }
 .download-lead-form,.download-success { padding: 20px; }
 .download-lead-form .form-actions { flex-wrap: wrap; }
 .download-ready-row { gap: 8px; flex-wrap: wrap; }
}
.download-showcase-art { display: flex; justify-content: center; align-items: center; margin-bottom: 28px; }
.download-showcase-art img { width: auto; max-width: 100%; height: 100%; max-height: 100%; min-height: 0; }
body:has(.download-library) .contact-dock { display: none; }
/* Shared campaign hero: home typography, gentle zoom and matching crossfade. */
.page-slideshow > .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease;pointer-events:none;will-change:transform,opacity}
.page-slideshow > .hero-photo.is-active{opacity:1}
.page-hero--slider > div{max-width:920px}
.page-hero--slider h1{font-size:clamp(48px,6.5vw,100px);line-height:1.02;letter-spacing:-.065em;font-weight:500;max-width:16ch;text-wrap:balance}
.page-hero--slider h1 em{font-weight:400;letter-spacing:-.055em}
.page-hero--slider p{margin:25px 0 28px;max-width:610px}
.hero-page-action{margin-top:4px}
.slide-controls .slide-motion-toggle{width:auto;min-width:80px;font-size:11px;padding:0 13px;border:1px solid #ffffff70;background:#201e1b55;color:#fff;border-radius:24px}
.slide-motion-toggle[hidden]{display:none}
@media(max-width:700px){.page-hero--slider h1{font-size:clamp(37px,9.8vw,62px)}.page-hero--slider p{font-size:15px}.page-slideshow figcaption{gap:10px;padding:16px 22px}.slide-controls{gap:8px}.slide-controls button{width:36px;height:36px}.slide-caption{max-width:36%;font-size:10px}.slide-counter{font-size:10px}.slide-controls .slide-motion-toggle{min-width:64px;padding:0 8px}.has-hero .page-hero--slider{min-height:720px;padding-bottom:130px}}
@media(prefers-reduced-motion:reduce){.page-slideshow > .hero-photo{transition:none;will-change:auto}}

/* One rounded red treatment for the key consultation bands. */
.editorial-band,.page-cta.dw-section{border-radius:clamp(24px,3vw,44px);background:var(--red,#b81d16);color:white;overflow:hidden}
.editorial-band{margin:44px clamp(16px,2vw,32px);padding:clamp(34px,5vw,72px) clamp(24px,5vw,80px)}
.page-cta.dw-section{width:auto;max-width:none;margin:50px clamp(16px,2vw,32px);padding:clamp(34px,5vw,72px) clamp(24px,5vw,80px)}
.page-cta h2,.page-cta .dw-eyebrow,.page-cta p{color:white}
.page-cta p{max-width:650px;margin-top:16px;line-height:1.65}
.page-cta .dw-button,.editorial-band .dw-button{background:#fff;border-color:#fff;color:#a31e17;white-space:normal;text-align:center}
.page-cta .dw-button:hover,.editorial-band .dw-button:hover{background:#f5eee7;border-color:#f5eee7;color:#8c1712}
.page-cta :focus-visible,.editorial-band :focus-visible{outline:2px solid white;outline-offset:5px}
@media(max-width:700px){.page-cta.dw-section{align-items:flex-start;flex-direction:column;gap:24px}.page-cta h2{font-size:34px}.page-cta .dw-button,.editorial-band .dw-button{max-width:100%}}
