/* Shared navigation choices. Same visual language as the approved guide cards. */
.navigation-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.navigation-card{display:flex;flex-direction:column;align-items:flex-start;padding:23px 24px 21px;background:#fffefb;border:1px solid #dedad2;border-radius:9px;min-width:0;text-decoration:none;transition:background 160ms,border-color 160ms,box-shadow 160ms}
.navigation-card:hover{background:#f8f4ed;border-color:#c6b7a5;box-shadow:0 5px 18px #2029340a;text-decoration:none}
.navigation-card-top{display:flex;align-items:center;gap:11px;margin-bottom:17px}
.navigation-card-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:8px;background:#eee9e0;color:var(--navy)}
.navigation-card-icon svg{width:22px;height:22px}
.navigation-card-category{font-size:10px;font-weight:600;color:var(--accent);letter-spacing:.025em}
.navigation-card h3{font-size:21px;line-height:1.28;letter-spacing:-.03em;margin:0 0 11px;font-weight:600}
.navigation-card p{font-size:13px;line-height:1.75;margin:0 0 20px;color:var(--muted)}
.navigation-card-action{display:inline-flex;gap:19px;align-items:center;border:1px solid #d5d2ca;border-radius:5px;padding:7px 11px;font-size:11px;font-weight:600;color:var(--navy);margin-top:auto;background:var(--paper)}
.navigation-card:hover .navigation-card-action{background:var(--navy);border-color:var(--navy);color:white}
.service-selection{padding-top:25px;padding-bottom:32px}
.service-selection .section-head{margin-bottom:23px}
.service-selection h2,.service-scope h2{font-size:clamp(28px,3vw,36px);line-height:1.2;margin-bottom:12px}
.service-selection .section-head>p:not(.eyebrow),.service-scope .section-head>p:not(.eyebrow){font-size:14px;line-height:1.7}
.service-scope{padding-top:30px;padding-bottom:32px}
.service-scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-items:start}
.service-scope details{border-top:1px solid var(--line);scroll-margin-top:110px}
.service-scope summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:17px 0;font-size:16px;font-weight:600;cursor:pointer}
.service-scope summary::-webkit-details-marker{display:none}
.service-scope summary>span{font-size:22px;font-weight:400;color:var(--accent)}
.service-scope details[open] summary>span{transform:rotate(45deg)}
.scope-content{padding:0 0 20px;font-size:14px;line-height:1.75;color:var(--muted)}
.scope-content p{margin-bottom:13px}.scope-content .text-link{color:var(--navy)}
/* Related pages and compact link groups always have distinct click areas. */
main>section.related{padding-top:30px;padding-bottom:30px}
.related-navigation h2{font-size:clamp(25px,2.6vw,32px);margin-bottom:21px;line-height:1.25}
.related>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.related>nav>a{display:flex;align-items:center;gap:15px;padding:17px 20px;border:1px solid #dedad2;border-radius:7px;background:#fffefb;min-height:52px;text-decoration:none;color:var(--navy);font-size:14px;font-weight:600}
.related>nav>a:hover{background:#f0ebe3;border-color:#c6b7a5}
.related>nav>a.related-card{position:relative;flex-direction:column;align-items:flex-start;padding:21px 42px 21px 22px;gap:9px}
.related-card strong{font-size:18px;line-height:1.35;color:var(--ink)}
.related-card>span{font-size:13px;line-height:1.65;font-weight:400;color:var(--muted)}
.related-card>b{position:absolute;right:18px;top:21px;font-size:18px;font-weight:400}
.page-nav-list,.knowledge-links{gap:10px}
.page-nav-list>a,.knowledge-links>a{display:inline-flex;align-items:center;min-height:44px;padding:11px 15px;border:1px solid #d8d3ca;border-radius:6px;background:#fffefb;line-height:1.5;color:var(--navy);text-decoration:none}
.page-nav-list>a:hover,.knowledge-links>a:hover{background:#eee9e1;border-color:#bdb4a8}
/* Reading templates keep a consistent measure and a distinct in-page contents menu. */
.ratgeber-page:not(.guide-index-page) .editorial-body{max-width:820px}
.editorial-toc{border-radius:7px;background:#f3f0e9;padding:22px 24px}
.editorial-toc strong{font-size:14px}
.editorial-toc ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.editorial-toc li{margin:0}
.editorial-toc a{display:block;text-decoration:none;font-size:14px;line-height:1.5;padding:5px 0;color:var(--navy)}
.editorial-toc a:hover{text-decoration:underline}
.editorial-byline{font-size:12px;color:var(--muted);margin:15px 0 20px}
.editorial-sources{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.editorial-sources h2{font-size:23px;line-height:1.3}
.editorial-sources p,.editorial-sources li{font-size:14px;line-height:1.75}
.editorial-sources a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.navigation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .navigation-card-grid,.service-scope-list,.related>nav{grid-template-columns:1fr}
 .navigation-card{padding:21px 22px}.navigation-card h3{font-size:21px}
 .service-selection{padding-top:23px;padding-bottom:26px}
 main>section.related{padding:26px 22px}
 .related-navigation h2{max-width:22ch}
 .page-nav-list,.knowledge-links{flex-direction:column;align-items:stretch}
 .editorial-toc{padding:19px 20px}
}
@media(prefers-reduced-motion:reduce){.navigation-card{transition:none}}

/* Information pages use the same introduction and section rhythm as services. */
.information-system-page .service-hero{margin-bottom:10px}
.information-system-page .service-hero-media:has(img[src*="arbeitsablauf"]) img{object-fit:contain;background:#e8e3da}
.information-system-page .manufacturer-section{padding-top:28px;padding-bottom:30px}
.information-system-page .manufacturer-section h2{font-size:32px;line-height:1.2;max-width:25ch}
.information-system-page .manufacturer-section .section-head>p:not(.eyebrow){font-size:14px;line-height:1.75}
.manufacturer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.manufacturer-grid .manufacturer-card{display:flex;flex-direction:row;align-items:flex-start;gap:17px;padding:24px;min-width:0}
.manufacturer-mark{display:grid;place-items:center;flex:none;width:40px;height:40px;background:#eee9e0;border-radius:8px;font-size:18px;color:var(--navy);font-weight:600}
.manufacturer-card>div{display:flex;flex-direction:column;align-items:flex-start;height:100%;min-width:0}
.manufacturer-card h3{font-size:23px;margin-bottom:10px}
.manufacturer-card p{font-size:14px;margin-bottom:20px;line-height:1.7}
.manufacturer-note{font-size:13px;margin-bottom:0}
.manufacturer-note p{margin:0;font-size:13px}
.information-system-page .project-timeline-list li{padding:20px;border:1px solid var(--line);border-radius:6px;background:#fffefb}
.information-system-page .project-timeline-list strong{font-size:19px;line-height:1.3}
.information-system-page .project-timeline-list p{font-size:14px;line-height:1.7}
@media(max-width:760px){.manufacturer-grid{grid-template-columns:1fr}.manufacturer-grid .manufacturer-card{padding:21px}.information-system-page .manufacturer-section h2{font-size:28px}}

.exhibition-section{border-top:1px solid var(--line);padding-top:32px;padding-bottom:32px}
.exhibition-section h2{font-size:clamp(28px,3vw,36px);line-height:1.2}
.exhibition-section .section-head>p:not(.eyebrow){font-size:14px;line-height:1.75}
.exhibition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.exhibition-grid .navigation-card-category{margin-bottom:13px}
.exhibition-grid .navigation-card h3{font-size:25px}
.exhibition-planning{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:27px 0 18px}
.exhibition-planning h3{font-size:20px;line-height:1.3;margin-bottom:10px}
.exhibition-planning p,.exhibition-note{font-size:14px;line-height:1.75;color:var(--muted)}
.exhibition-note{font-size:12px}
@media(max-width:760px){.exhibition-grid,.exhibition-planning{grid-template-columns:1fr}.exhibition-planning{gap:10px}}
/* Native form controls must fit the mobile grid without horizontal scrolling. */
.complete-bath-page .contact-copy,.complete-bath-page .lead-form{min-width:0}
.complete-bath-page .clarity>div,.complete-bath-page .clarity-list,.complete-bath-page .clarity-list article{min-width:0}
.complete-bath-page .clarity-list h3{overflow-wrap:anywhere}
.complete-bath-page .clarity .button.light{background:#fffefb;color:var(--navy);border-color:#fffefb}
.complete-bath-page .clarity .button.light:hover{background:var(--sand);border-color:var(--sand)}
.lead-form fieldset,.lead-form .form-row{min-width:0}
.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea{max-width:100%;min-width:0}
@media(max-width:850px){
 .complete-bath-page section.clarity.section{grid-template-columns:minmax(0,1fr);gap:23px}
 .complete-bath-page section.contact.section{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
 .complete-bath-page .lead-form{width:100%;padding:23px 21px}
 .complete-bath-page .form-contact-options .form-row{grid-template-columns:minmax(0,1fr)}
}

/* Quiet image disclosures: no badge box, visible white text on the photo. */
body.ambiente-new .image-ai-label,
body.ambiente-new .hero-image .image-ai-label,
body.ambiente-new .new-hero-media>figcaption.image-ai-label{
 background:transparent;color:#fff;padding:0;border:0;border-radius:0;
 font-size:11px;font-weight:400;line-height:1.5;
 text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.45);
 max-width:calc(100% - 24px);pointer-events:none;
}
.clean-image-frame>.ref-image-note.image-ai-label{position:absolute;bottom:10px;right:10px;margin:0}
.ref-card figure>.clean-image-frame>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#ebe7df}
.ref-gallery .ref-card:not(:last-child) figure>.clean-image-frame>img{object-fit:cover}

/* Image sections own the content width; only the inner gallery makes columns. */
body.ambiente-new section.photo-showcase.clean-media-showcase{
 display:block;max-width:1200px;margin:0 auto;padding:24px 30px 32px;
}
body.ambiente-new .photo-showcase>.section-head{margin-bottom:23px;max-width:760px}
body.ambiente-new .photo-showcase>.section-head h2{font-size:clamp(28px,3vw,36px);line-height:1.2}
body.ambiente-new .photo-showcase>.section-head p:not(.eyebrow){font-size:14px;line-height:1.75;color:var(--muted)}
body.ambiente-new .photo-showcase>.photo-showcase-grid{
 width:100%;max-width:none;margin:0;display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;
}
body.ambiente-new .photo-showcase>.photo-showcase-grid.single{grid-template-columns:minmax(0,1fr)}
body.ambiente-new .photo-showcase-grid>figure{min-width:0;width:100%;margin:0}
body.ambiente-new .photo-showcase-grid img{
 display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;
 background:var(--sand);border-radius:4px;max-height:none;
}
body.ambiente-new .photo-showcase-grid.single img{aspect-ratio:auto}
body.ambiente-new .photo-showcase-grid figcaption:not(.image-ai-label){
 font-size:12px;line-height:1.6;padding-top:10px;color:var(--muted);
}
/* Two photos followed by one spanning image need a two-column first row. */
body.ambiente-new .real-project-grid:has(>.real-project-wide){grid-template-columns:repeat(2,minmax(0,1fr))}
body.ambiente-new .real-project-grid{gap:24px;align-items:start}
body.ambiente-new.service-system-page .real-project-grid img:not(.real-project-wide img){aspect-ratio:3/2;border-radius:4px}
body.ambiente-new.service-system-page .project-process-media{width:100%;max-width:none;margin-bottom:24px}
body.ambiente-new.service-system-page .project-process-media img{border-radius:4px}
/* Process cards and coordination lists must not force wider tablet columns. */
body.ambiente-new.information-system-page .project-timeline-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.ambiente-new.information-system-page .project-timeline-list li{display:flex;gap:12px;min-width:0}
body.ambiente-new.information-system-page .project-timeline-list li>span{flex:none;font-size:11px;color:var(--accent)}
body.ambiente-new.information-system-page .project-timeline-list li>div{min-width:0}
body.ambiente-new.information-system-page .project-timeline-list h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
body.ambiente-new.information-system-page .trade-coordination{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.ambiente-new.information-system-page .trade-coordination>*{min-width:0}
body.ambiente-new.information-system-page .coordination-benefits{grid-template-columns:minmax(0,1fr);margin:0;gap:12px;list-style:none}
body.ambiente-new.information-system-page .coordination-benefits li{margin:0;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.65}
@media(max-width:1000px){
 body.ambiente-new.information-system-page .project-timeline-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.ambiente-new.information-system-page .trade-coordination{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 body.ambiente-new section.photo-showcase.clean-media-showcase{padding:20px 21px 27px}
 body.ambiente-new .photo-showcase>.photo-showcase-grid,
 body.ambiente-new .photo-showcase>.photo-showcase-grid.four,
 body.ambiente-new .real-project-grid:has(>.real-project-wide){grid-template-columns:minmax(0,1fr);gap:22px}
 body.ambiente-new .real-project-wide{grid-column:1}
 body.ambiente-new .photo-showcase-grid img,
 body.ambiente-new.service-system-page .real-project-grid img:not(.real-project-wide img){aspect-ratio:auto}
 body.ambiente-new.information-system-page .project-timeline-list{grid-template-columns:minmax(0,1fr)}
}

/* The overview uses the exact introduction and text-card system of detail pages. */
body.ambiente-new.service-overview-page .services-hero h1{font-size:clamp(35px,3.7vw,48px);max-width:18ch;line-height:1.09}
body.ambiente-new.service-system-page .service-information .editorial-part{border-radius:9px}
body.ambiente-new .service-assurance>div{min-width:0}
@media(max-width:760px){body.ambiente-new.service-overview-page .services-hero h1{font-size:clamp(33px,8.5vw,40px)}}

/* All regular page introductions share the service proportions. */
body.ambiente-new .ref-intro,
body.ambiente-new.complete-bath-page .hero,
body.ambiente-new.contact-refined-page .ad-hero,
body.ambiente-new.campaign-system-page .ad-hero{
 max-width:1200px;margin:0 auto;background:var(--sand);padding:34px 30px;
}
body.ambiente-new .ref-intro,
body.ambiente-new.complete-bath-page .hero,
body.ambiente-new.campaign-system-page .ad-hero>.ad-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px;align-items:center}
body.ambiente-new .ref-intro h1,
body.ambiente-new.complete-bath-page .hero h1,
body.ambiente-new.contact-refined-page .ad-hero h1,
body.ambiente-new.campaign-system-page .ad-hero h1{font-size:clamp(35px,3.7vw,48px);line-height:1.09;max-width:18ch;margin-bottom:17px}
body.ambiente-new.complete-bath-page .hero .hero-copy>p:not(.eyebrow),
body.ambiente-new.campaign-system-page .ad-hero .hero-copy{font-size:14px;line-height:1.8;color:var(--muted)}
body.ambiente-new.complete-bath-page .hero-image{min-width:0}
body.ambiente-new.complete-bath-page .hero{min-height:0}
body.ambiente-new.complete-bath-page .hero-copy{padding:5px 0 8px;min-width:0}
body.ambiente-new.complete-bath-page .hero-image{min-height:0;aspect-ratio:1.42;overflow:hidden;border-radius:4px}
body.ambiente-new.complete-bath-page .hero-image>img{position:static}
body.ambiente-new.complete-bath-page .hero-image>img{width:100%;height:auto;max-height:none;aspect-ratio:1.42;object-fit:cover;border-radius:4px}
body.ambiente-new.complete-bath-page .hero-image .image-note{bottom:36px;padding:12px 16px;left:12px;right:12px}
body.ambiente-new.complete-bath-page .hero-image .image-note strong{font-size:20px}
body.ambiente-new.complete-bath-page .hero-image .image-note span{font-size:11px}
body.ambiente-new .ref-intro-copy{padding:5px 0 8px}
body.ambiente-new .ref-feature>img{aspect-ratio:1.42;object-fit:contain;border-radius:4px;background:var(--sand)}
body.ambiente-new .ref-intro-text{font-size:14px;line-height:1.8;max-width:52ch}
body.ambiente-new.campaign-system-page .ad-shell>div,
body.ambiente-new.campaign-system-page .lead-form{min-width:0}
body.ambiente-new.campaign-system-page .hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.ambiente-new.campaign-system-page .hero-facts>div{min-width:0;font-size:12px}
body.ambiente-new.campaign-system-page .hero-facts dd{margin:0}
body.ambiente-new.campaign-system-page .lead-form h2{font-size:26px;line-height:1.2}
body.ambiente-new.campaign-system-page .ad-hero>.ad-shell{align-items:start}
body.ambiente-new.campaign-system-page .ad-shell>div{padding-top:5px}
body.ambiente-new.service-system-page .inline-project-contact{grid-column:1/-1;position:static;background:var(--sand);padding:23px 24px;border-radius:9px;min-width:0}
body.ambiente-new.service-system-page .inline-project-contact h2{font-size:24px;margin:0 0 12px}
body.ambiente-new.service-system-page .service-information .expert-note{margin-bottom:0;padding:16px}
body.ambiente-new.service-system-page .content-split:has(>article+article){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.ambiente-new.service-system-page .content-split>article{padding:23px 24px;border:1px solid #dedad2;border-radius:9px;background:#fffefb;min-width:0}
body.ambiente-new.service-system-page .content-split>article>h2{font-size:22px;line-height:1.25;margin:0 0 12px}
body.ambiente-new.service-system-page .content-split ul{font-size:13px;line-height:1.8;color:var(--muted)}
body.ambiente-new.service-system-page .technical-card{border-radius:9px}
body.ambiente-new.service-system-page .geo-knowledge h2{font-size:32px;line-height:1.2;max-width:27ch}
body.ambiente-new.ratgeber-page .editorial-body{max-width:820px}
body.ambiente-new.ratgeber-page .service-hero-media .clean-image-frame>img{aspect-ratio:1.42;object-fit:cover}
body.ambiente-new.ratgeber-page .service-hero-media:has(img[src*="silikonfugen"]) img,
body.ambiente-new.ratgeber-page .service-hero-media:has(img[src*="punktablauf"]) img{object-fit:contain;background:var(--sand)}
@media(max-width:850px){body.ambiente-new.campaign-system-page .ad-hero>.ad-shell{grid-template-columns:minmax(0,1fr);gap:24px}}
@media(max-width:760px){
 body.ambiente-new .ref-intro,body.ambiente-new.complete-bath-page .hero,
 body.ambiente-new.contact-refined-page .ad-hero,body.ambiente-new.campaign-system-page .ad-hero{padding:28px 21px 23px}
 body.ambiente-new .ref-intro,body.ambiente-new.complete-bath-page .hero{grid-template-columns:minmax(0,1fr);gap:23px}
 body.ambiente-new .ref-intro h1,body.ambiente-new.complete-bath-page .hero h1,
 body.ambiente-new.contact-refined-page .ad-hero h1,body.ambiente-new.campaign-system-page .ad-hero h1{font-size:clamp(33px,8.5vw,40px)}
 body.ambiente-new.service-system-page .content-split:has(>article+article){grid-template-columns:minmax(0,1fr)}
 body.ambiente-new.service-system-page .geo-knowledge h2{font-size:28px}
}
/* Legal reading pages retain the text while sharing the page frame. */
body.ambiente-new main:has(.legal-content)>.page-hero{max-width:1200px;margin:0 auto;padding:34px 30px;background:var(--sand)}
body.ambiente-new main:has(.legal-content)>.page-hero h1{font-size:clamp(35px,3.7vw,48px);line-height:1.09;max-width:none;overflow-wrap:anywhere;hyphens:auto}
body.ambiente-new main>.section:has(.legal-content){padding-top:26px;padding-bottom:34px}
body.ambiente-new .legal-content h2{font-size:28px;line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:760px){
 body.ambiente-new main:has(.legal-content)>.page-hero{padding:28px 21px 23px}
 body.ambiente-new main:has(.legal-content)>.page-hero h1{font-size:clamp(30px,8.5vw,40px)}
}

/* Technical quality pass: readable small text and distinct menu hit areas. */
:root{--accent:#9b542e}
.nav-service-toggle{min-width:28px;min-height:28px;display:grid;place-items:center}
.footer-cookie-settings{min-height:24px}
@media(max-width:850px){.nav-service-toggle{min-width:44px;min-height:44px}}
.home-page .faq summary{min-height:44px;display:flex;align-items:center}
.form-optional summary{min-height:24px}

/* Accessible dialog dismissal; categories and stored choices stay unchanged. */
.consent-banner__content{position:relative}
.consent-banner__content>h2{padding-right:60px;min-height:44px;overflow-wrap:anywhere}
.consent-dialog-close{position:absolute;top:0;right:0;width:44px;height:44px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:26px;line-height:1}
.consent-dialog-close:hover{background:var(--sand)}
@media(max-width:760px){.consent-banner__content>h2{font-size:20px;line-height:1.25}}
body:has(>.consent-banner:not([hidden]))::after{content:"";position:fixed;inset:0;z-index:90;background:#20293466}
@media print{body:has(>.consent-banner:not([hidden]))::after{display:none}}
