:root{--navy:#0B1D39;--gold:#C89A2B;--paper:#F7F5F1;--muted:#536071;--line:#d8d9d6;--sand:#eae7df;--gutter:clamp(24px,4.5vw,80px);--serif:'Libre Caslon Text',Georgia,serif;--sans:Karla,Arial,sans-serif;--radius:22px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--navy);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,summary{font:inherit}button,summary{cursor:pointer}button{color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2{font:400 clamp(36px,3.8vw,58px)/1.16 var(--serif);letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(48px,5.6vw,82px)}h3{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.025em}p+p{margin-top:18px}strong{font-weight:600}.wrap{width:calc(100% - var(--gutter)*2);max-width:1320px;margin-inline:auto}.section-pad{padding-block:100px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;line-height:1.6;letter-spacing:.12em;font-weight:600;margin-bottom:25px}.eyebrow:before{content:'';width:22px;height:2px;background:var(--gold);flex:none}.small{font-size:13px;line-height:1.65}.lead{font-size:21px;line-height:1.6;max-width:690px;margin-top:26px}.icon{width:21px;height:21px;flex:none;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:54px;padding:13px 22px;background:var(--navy);border:1px solid var(--navy);border-radius:30px;color:var(--paper);font-size:15px;font-weight:500;line-height:1.4;transition:background .2s,transform .2s}.button .icon{transition:transform .25s var(--ease)}.button:hover .icon{transform:translateX(4px)}.button:hover{background:#203855}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button-outline{background:transparent;color:var(--navy)}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:9px 0;border-bottom:1px solid currentColor;font-size:14px;line-height:1.5;transition:color .2s}.text-link:after{content:'↗';font-size:18px}.text-link:hover{color:#82621a}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--paper);padding:16px 24px}.skip:focus{top:12px}.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
/* A single navigation system, expanded into a touch panel on smaller screens. */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);transition:box-shadow .2s}.is-scrolled .site-header{box-shadow:0 1px 0 #0b1d3914}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative}.brand{flex:none}.brand img{width:213px;height:auto}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px}.main-nav>a{padding-block:12px}.main-nav>a[aria-current=page]:not(.nav-contact){text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px}.main-nav .nav-contact{background:var(--navy);color:var(--paper);padding:13px 19px;border-radius:30px;display:flex;align-items:center;gap:20px;transition:background .2s}.main-nav .nav-contact:hover{background:#203855}.nav-services{position:relative}.nav-services>summary{display:flex;align-items:center;gap:10px;list-style:none;padding:12px 0}.nav-services>summary::-webkit-details-marker{display:none}.nav-services>summary:after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .2s}.nav-services[open]>summary:after{transform:rotate(225deg);margin-top:3px}.submenu{position:absolute;top:calc(100% + 8px);left:-24px;min-width:290px;background:var(--paper);padding:18px;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px #0b1d3914}.submenu a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px;border-radius:8px}.submenu a:hover,.submenu a[aria-current=page]{background:var(--sand)}.submenu .submenu-overview{font-weight:600;margin-bottom:7px;border-bottom:1px solid var(--line);border-radius:0}.submenu .icon{width:16px;height:16px}.menu-toggle,.menu-person,.mobile-dock{display:none}
/* The entry combines a solid brand panel with a closely cropped room image. */
.hero{display:grid;grid-template-columns:54% 46%;background:var(--navy);color:var(--paper);border-radius:var(--radius);overflow:hidden;max-width:1400px;width:calc(100% - 48px);min-height:580px}.hero-copy{padding:clamp(32px,4.1vw,66px);align-self:center;position:relative;z-index:1}.hero-copy .eyebrow{font-size:10px;letter-spacing:.09em;color:#c6cedb;margin-bottom:26px}.hero h1{font-size:clamp(46px,4.9vw,76px);letter-spacing:-.055em;line-height:1.16;text-wrap:nowrap}.hero h1>span{display:block;white-space:nowrap}.hero h1>span:first-child{color:#d7b35a}.hero-lead{font-size:19px;line-height:1.55;max-width:475px;margin-top:27px}.hero-support{color:#bbc6d6;font-size:15px;max-width:435px;margin-top:14px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.hero .button{background:var(--gold);border-color:var(--gold);color:var(--navy)}.hero .button:hover{background:#d5ad4d;border-color:#d5ad4d}.hero .text-link{font-size:13px;border-bottom-color:#758194}.hero .text-link:hover{color:#d7b35a}.hero-byline{margin-top:32px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid #ffffff26;padding-top:18px;font-size:11px;color:#bbc6d6;line-height:1.5}.hero-byline strong{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--paper)}.hero-byline .icon{width:17px;height:17px}.hero-photo{position:relative;min-width:0}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% center}.hero-photo figcaption{position:absolute;bottom:16px;right:16px;padding:5px 9px;background:var(--paper);color:var(--navy);border-radius:4px;font-size:9px;line-height:1.5}.quick-services{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;border-bottom:1px solid var(--line)}.quick-services a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 26px;border-right:1px solid var(--line);font-size:14px}.quick-services a:first-child{padding-left:0}.quick-services a:last-child{border:0;padding-right:0}.quick-services a:hover{color:#82621a}.quick-services .icon{width:17px;height:17px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-block:94px}.intro>.eyebrow{align-self:start;max-width:220px;align-items:baseline;margin-top:6px}.intro>.eyebrow:before{position:relative;top:-3px}.intro h2{max-width:800px;margin-bottom:25px}.intro p:not(.eyebrow){max-width:680px;color:var(--muted)}
/* Varied image modules; their geometry is repeated in compact form on mobile. */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:44px;margin-bottom:44px}.section-head .eyebrow{margin-bottom:20px}.section-note{max-width:290px;font-size:14px;color:var(--muted)}.services-band{background:#efede7}.service-mosaic{display:grid;grid-template-columns:1.18fr 1fr 1fr;grid-template-rows:260px 260px;gap:18px}.service-tile{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:18px;color:var(--paper);background:var(--navy)}.service-tile>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.service-tile:hover>img{transform:scale(1.045)}.service-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#07152726 43%,#071527e8 100%);z-index:0}.tile-1{grid-row:span 2}.tile-2{grid-column:span 2}.tile-copy{position:absolute;left:27px;right:27px;bottom:26px;z-index:1;padding-right:32px}.tile-index{display:block;font-size:11px;color:#e2c681;letter-spacing:.09em;margin-bottom:10px}.tile-copy h3{font:400 clamp(24px,2.5vw,36px)/1.2 var(--serif);letter-spacing:-.04em}.tile-copy p{font-size:13px;line-height:1.5;margin-top:10px;color:#e0e5eb;max-width:260px}.tile-copy>.icon{position:absolute;right:0;top:26px;transition:transform .25s}.service-tile:hover .tile-copy>.icon{transform:translate(2px,-2px)}.image-note{position:absolute;top:15px;left:15px;font-size:9px;letter-spacing:.03em;color:var(--navy);background:var(--paper);padding:3px 8px;border-radius:4px;z-index:1}.tile-2>img{object-position:center 45%}.tile-3>img{object-position:45% center}
/* One named contact, followed by three legible stages. */
.process{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:110px}.process-intro{align-self:start;position:sticky;top:140px}.process-intro>p:not(.eyebrow){margin-top:25px;color:var(--muted);max-width:460px}.person{display:grid;justify-items:start;gap:4px;margin-top:34px}.person-rule{width:36px;height:2px;background:var(--gold);margin-bottom:13px}.person strong{font-size:25px;font-weight:500;letter-spacing:-.025em}.person>span:not(.person-rule){font-size:13px;color:var(--muted)}.person>a{display:flex;align-items:center;gap:12px;font-size:16px;margin-top:10px;overflow-wrap:anywhere}.person>a:hover{text-decoration:underline;text-underline-offset:4px}.steps{list-style:none;margin:0;padding:0;position:relative}.steps:before{content:'';position:absolute;left:24px;top:25px;bottom:75px;width:1px;background:var(--line)}.steps li{display:grid;grid-template-columns:50px 1fr;gap:24px;padding:0 0 34px;position:relative}.steps li:last-child{padding-bottom:10px}.step-number{display:flex;justify-content:center;align-items:center;width:50px;height:50px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-size:14px;font-weight:500;color:#80621d;transition:color .4s,background .4s,border-color .4s}.steps li.is-seen .step-number{background:var(--navy);color:#e1c06e;border-color:var(--navy)}.steps h3{font-size:25px;margin:10px 0 13px}.steps p{font-size:16px;color:var(--muted)}.process-steps>.button{margin:22px 0 0 74px}.projects-section,.work-section{background:var(--sand)}.project-grid{display:grid;grid-template-columns:1.28fr .86fr .86fr;gap:24px}.project-grid .project-tall{margin-top:56px}.project-grid .project-small{margin-top:112px}.project{min-width:0}.zoom{border:0;padding:0;background:none;display:block;position:relative;width:100%;overflow:hidden;border-radius:16px}.project img{width:100%;object-fit:cover;transition:transform .7s var(--ease)}.project-wide img{aspect-ratio:1.15}.project-tall img,.project-small img{aspect-ratio:3/4}.zoom-label{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;border-radius:24px;background:var(--paper);color:var(--navy);font-size:10px;line-height:1.4}.zoom-label .icon{width:17px;height:17px}.project figcaption{padding-top:18px}.project figcaption>span{font-size:9px;letter-spacing:.12em}.project h3{font-size:21px;line-height:1.4;margin-top:6px}.project-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:40px}.gallery-controls{display:none}.region{display:grid;grid-template-columns:1fr 2fr;gap:12px 8%;padding-block:90px}.region h2{font-size:40px}.region>p:last-child{grid-column:2;max-width:550px;color:var(--muted);margin-top:10px}
/* Footer echoes the navy entry panel and keeps the next action explicit. */
.site-footer{background:var(--navy);color:var(--paper);border-radius:28px 28px 0 0;padding-top:76px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:60px;padding-bottom:65px}.footer-top h2{font-size:clamp(42px,5vw,72px);margin-bottom:24px}.footer-top>div>p:not(.eyebrow){font-size:16px;color:#c5cfdd}.footer-top .button{margin-top:28px;background:var(--gold);border-color:var(--gold);color:var(--navy)}.footer-address{display:flex;flex-direction:column;align-items:start;padding-top:6px}.footer-address .eyebrow{color:#ddbd71}.footer-address>p:not(.eyebrow){margin:0 0 22px}.footer-address>a{display:block;font-size:17px;padding:6px 0;overflow-wrap:anywhere}.footer-address>a:hover{text-decoration:underline}.footer-address .small{margin-top:20px!important;font-size:13px!important}.footer-services{display:flex;flex-wrap:wrap;gap:12px 38px;border-top:1px solid #ffffff26;padding:20px 0;font-size:14px}.footer-services a{padding:7px 0}.footer-services a:hover{color:#ddbd71}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0;border-top:1px solid #ffffff26;font-size:12px}.footer-bottom>span{display:flex;gap:20px;align-items:center}.footer-bottom small{font-size:10px;color:#b6c1d2}.footer-bottom nav{display:flex;gap:28px}.footer-bottom a{padding-block:8px}
/* The same image, button and spacing language across the inner pages. */
.page-top{padding-top:22px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);align-items:center;min-height:28px}.breadcrumbs a{border-bottom:1px solid #b6bdc3}.breadcrumbs span{color:var(--navy)}.page-heading{padding-top:55px;padding-bottom:25px}.page-heading h1{max-width:950px}.service-jumps,.detail-jumps{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.service-jumps a,.detail-jumps a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 18px;border:1px solid var(--line);border-radius:28px;font-size:14px;transition:background .2s,color .2s}.service-jumps a:hover,.detail-jumps a:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}.overview-service{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:65px;border-bottom:1px solid var(--line)}.overview-service:nth-of-type(odd) .overview-photo{order:2}.overview-photo{position:relative;overflow:hidden;border-radius:var(--radius)}.overview-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;transition:transform .7s var(--ease)}.overview-photo:hover img{transform:scale(1.04)}.overview-photo>span{position:absolute;bottom:14px;right:14px;background:var(--paper);border-radius:5px;padding:4px 8px;font-size:9px}.overview-copy h2{font-size:47px;margin-bottom:19px}.large-copy{font-size:22px;line-height:1.5;margin-bottom:18px}.overview-copy>p:not(.eyebrow):not(.large-copy){color:var(--muted)}.overview-copy>.text-link{margin-top:23px}.extras{display:grid;grid-template-columns:1fr 1fr;gap:20px 8%}.extras>.eyebrow{grid-column:1/-1;margin:0}.extras p{max-width:560px;color:var(--muted)}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:45px}.service-hero h1{font-size:clamp(44px,4.7vw,70px)}.service-tagline{font-size:25px;line-height:1.4;margin:23px 0 20px;letter-spacing:-.02em}.service-hero p:not(.eyebrow):not(.service-tagline){color:var(--muted)}.service-hero .button{margin-top:27px}.service-hero figure{position:relative}.service-hero figure img{width:100%;aspect-ratio:1.03;object-fit:cover;border-radius:var(--radius)}.service-hero figcaption{position:absolute;right:14px;bottom:14px;background:var(--paper);border-radius:4px;padding:4px 8px;font-size:9px}.detail-jumps{margin-top:35px;padding-bottom:28px;border-bottom:1px solid var(--line)}.scope{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding-top:70px}.scope-row{display:grid;grid-template-columns:27px 1fr;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.scope-row:first-child{padding-top:0;border:0}.scope-row h3{margin-bottom:12px}.scope-row p{color:var(--muted)}.index{font-size:12px;color:#80621d;padding-top:5px}.scope-note{padding:20px 23px;margin-top:15px;font-size:14px;border-radius:12px;background:var(--sand);color:var(--muted)}.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}.work-gallery .project img{aspect-ratio:3/4}.work-gallery:has(>figure:nth-child(2):last-child){grid-template-columns:1fr 1fr;max-width:900px}.comparison-heading{max-width:680px;margin-bottom:30px}.comparison-heading h3{font-size:28px;margin-bottom:10px}.comparison-heading p{font-size:15px;color:var(--muted)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px}.comparison img{width:100%;aspect-ratio:4/3;object-fit:cover}.comparison-trockenbau img{aspect-ratio:3/4;object-fit:contain;background:#ddd9d0}.comparison figcaption{padding:12px 2px 0;font-size:14px}.comparison-controls{display:none}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.faq>div>p:not(.eyebrow){margin-top:25px;color:var(--muted)}.faq .text-link{margin-top:14px}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-item summary{padding:24px 34px 24px 0;list-style:none;position:relative;line-height:1.5;font-size:19px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after,.faq-item summary:before{content:'';position:absolute;right:4px;top:36px;width:12px;height:1px;background:var(--navy);transition:transform .25s}.faq-item summary:before{transform:rotate(90deg)}.faq-item[open] summary:before{transform:rotate(0)}.faq-item p{padding:0 26px 24px 0;font-size:16px;color:var(--muted)}.related{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:0 0 70px;font-size:14px}.related>span{color:var(--muted);margin-right:16px}.related>a{padding:10px 17px;border:1px solid var(--line);border-radius:26px;min-height:44px}.related>a:hover{background:var(--sand)}
/* Contact is direct first, with a quiet form panel for detailed enquiries. */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;padding-top:45px}.contact-copy{align-self:start;position:sticky;top:125px}.contact-copy h1{font-size:clamp(48px,5.2vw,76px)}.contact-copy>p:not(.eyebrow){max-width:450px}.contact-copy .lead{margin-bottom:18px}.contact-copy .person{gap:5px}.contact-copy .person a{font-size:16px;min-height:44px;padding:9px 0;margin-top:2px}.contact-hours{font-size:13px;color:var(--muted);margin-top:22px}.form-panel{background:#fff;padding:34px;border:1px solid #e5e4e0;border-radius:var(--radius)}.form-panel h2{font-size:31px;margin-bottom:18px}.form-panel>p{font-size:14px;color:var(--muted)}.form-notice{font-size:12px;line-height:1.6;background:var(--paper);border-radius:10px;padding:16px 18px;margin-block:24px;color:var(--muted)}.form-notice strong{color:var(--navy)}.form-notice p{margin-top:6px}.field{margin-bottom:22px}.field label{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:8px}.field label span{font-size:10px;color:var(--muted)}input,textarea{display:block;width:100%;min-width:0;border:1px solid #c8cdd2;border-radius:9px;background:var(--paper);padding:12px 14px;color:var(--navy);font-size:16px;transition:border-color .2s}input{min-height:50px}input:hover,textarea:hover{border-color:#7d8997}textarea{resize:vertical;min-height:150px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form .small{margin-bottom:22px;color:var(--muted);font-size:12px}form .small a{text-decoration:underline}.form-result{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.form-result p{font-size:14px}.form-result .button{margin-top:16px}.form-result:focus{outline:none}
/* Original legal wording; readable type only. */
.legal{max-width:850px;overflow-wrap:anywhere}.legal h1{font-size:clamp(32px,4.5vw,62px);margin-bottom:35px}.legal h2{font-size:28px;line-height:1.3;letter-spacing:-.025em;margin:36px 0 16px;hyphens:auto}.legal h3{font-size:21px;line-height:1.4;margin:28px 0 12px;hyphens:auto}.legal li+li{margin-top:10px}.legal a{text-decoration:underline}.legal .small{margin-top:30px}.lightbox{border:0;padding:58px 20px 20px;border-radius:18px;max-width:min(1100px,94vw);max-height:94dvh;background:var(--paper);color:var(--navy)}.lightbox::backdrop{background:#071224e6}.lightbox-close{position:absolute;right:18px;top:8px;min-height:44px;border:0;background:none;padding:6px;font-size:14px}.lightbox img{max-height:72dvh;width:auto;margin:auto;object-fit:contain;border-radius:8px}.lightbox p{margin-top:15px;font-size:13px}.lightbox-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:640px}.hero h1{font-size:76px}.hero-copy{padding:60px}}
@media(max-width:1100px){.main-nav{gap:22px}.brand img{width:190px}.hero{grid-template-columns:55% 45%;min-height:550px}.hero-copy{padding:34px}.hero h1{font-size:5vw}.hero-lead{font-size:17px}.hero-actions{gap:18px}.hero .text-link{font-size:12px}.hero .button{font-size:14px;gap:15px}.hero-byline{margin-top:25px}.hero-copy .eyebrow{font-size:9px}.section-pad{padding-block:80px}.service-mosaic{grid-template-rows:235px 235px}.tile-copy{left:22px;right:22px;bottom:22px}.tile-copy h3{font-size:27px}.process{gap:6%}.process-steps>.button{margin-left:0}.project-grid{gap:20px}.project h3{font-size:19px}.overview-copy h2{font-size:40px}.service-tagline{font-size:23px}.contact{gap:6%}.form-panel{padding:27px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:900px){.header-inner{height:80px}.brand img{width:190px}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:92px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:24px;background:none;font-size:13px}.menu-toggle>.icon:last-child{display:none}.menu-toggle[aria-expanded=true]>.icon:first-of-type{display:none}.menu-toggle[aria-expanded=true]>.icon:last-child{display:block}.main-nav{position:absolute;top:100%;left:calc(var(--gutter)*-1);right:calc(var(--gutter)*-1);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 35px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 80px);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 28px #0b1d3914}.js .main-nav:not(.is-open){display:none}.main-nav>a,.nav-services>summary{font-size:22px;padding:14px 0;min-height:56px;border-bottom:1px solid var(--line)}.nav-services>summary{justify-content:space-between}.main-nav .nav-contact{justify-content:space-between;padding:15px 22px;margin-top:23px;border:0;font-size:16px}.submenu{position:static;min-width:0;box-shadow:none;border:0;border-radius:0;padding:0 0 12px 14px;margin-top:5px}.submenu a{font-size:16px;padding:10px 0;min-height:44px}.submenu .submenu-overview{font-size:13px;border:0;margin-bottom:0}.menu-person{display:grid;gap:4px;margin-top:30px}.menu-person>span,.menu-person>small{font-size:11px;color:var(--muted)}.menu-person strong{font-size:18px;font-weight:500}.menu-person>a{display:flex;align-items:center;gap:10px;min-height:44px}.nav-open{overflow:hidden}.nav-open .mobile-dock{visibility:hidden}.hero-copy{padding:30px}.hero h1{font-size:4.8vw}.hero-actions{gap:10px}.hero-support{font-size:14px}.hero-byline{gap:5px}.quick-services a{padding-inline:16px;font-size:13px}.intro,.region{gap:6%;grid-template-columns:.8fr 2fr}.intro{padding-block:70px}.section-head{gap:24px}.section-note{font-size:13px}.process{gap:7%}.process-intro{position:static}.steps li{grid-template-columns:44px 1fr;gap:18px}.step-number{width:44px;height:44px}.steps:before{left:21px}.steps h3{font-size:22px;margin-top:8px}.steps p{font-size:15px}.scope,.faq{gap:7%;grid-template-columns:1fr 1.3fr}.scope h2,.faq h2{font-size:34px}.service-hero{gap:6%}.service-hero h1{font-size:43px}.contact-copy{position:static}.footer-address>a{font-size:15px}}
@media(max-width:680px){
 :root{--gutter:20px;--radius:18px}html{scroll-padding-top:88px}body{font-size:16px}.has-mobile-dock{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.header-inner{height:72px}.brand img{width:169px}.menu-toggle{min-width:85px;gap:9px;font-size:12px}.menu-toggle .icon{width:18px;height:18px}.main-nav{max-height:calc(100dvh - 72px)}h1{font-size:43px}h2{font-size:34px;line-height:1.2}h3{font-size:22px}.eyebrow{font-size:9px;letter-spacing:.1em;gap:9px;margin-bottom:20px}.eyebrow:before{width:16px}.section-pad{padding-block:56px}.button{min-height:50px;font-size:14px;padding:12px 20px;gap:22px}.text-link{font-size:13px}.lead{font-size:18px;margin-top:22px}
 .hero{display:grid;grid-template-columns:1fr;min-height:0;width:calc(100% - 24px);border-radius:19px}.hero-copy{padding:28px 23px 25px}.hero-copy .eyebrow{font-size:9px;gap:7px;letter-spacing:.06em;margin-bottom:20px;white-space:normal;max-width:285px}.hero h1{font-size:clamp(32px,9.6vw,62px);line-height:1.16;letter-spacing:-.05em}.hero-lead{font-size:16px;line-height:1.55;margin-top:21px;max-width:470px}.hero-support{font-size:13px;line-height:1.55;margin-top:12px;max-width:420px}.hero-actions{gap:17px;margin-top:23px;flex-wrap:wrap}.hero .button{min-height:48px;padding:12px 16px;font-size:13px;gap:14px}.hero .text-link{font-size:11px}.hero .text-link:after{display:none}.hero-byline{display:none}.hero-photo{height:200px}.hero-photo img{object-position:center 60%}.hero-photo figcaption{font-size:8px;bottom:10px;right:10px;padding:3px 7px}.quick-services{grid-template-columns:1fr 1fr;gap:0;padding:14px 0 0;border:0}.quick-services a,.quick-services a:first-child,.quick-services a:last-child{padding:12px 13px;min-height:48px;border:0;border-bottom:1px solid var(--line);font-size:12px}.quick-services a:nth-child(odd){padding-left:0;margin-right:12px}.quick-services a:nth-child(even){padding-right:0;margin-left:12px}.quick-services .icon{width:15px;height:15px}.intro{display:block;padding-block:53px}.intro>.eyebrow{max-width:none;font-size:8px;margin:0 0 20px}.intro h2{font-size:31px;margin-bottom:20px;max-width:500px}.intro h2 br{display:none}.intro p:not(.eyebrow){font-size:15px;line-height:1.7}.section-head{display:block;margin-bottom:28px}.section-head .eyebrow{margin-bottom:17px}.section-head h2{font-size:33px}.section-head>.text-link,.section-head>.section-note{margin-top:19px}.section-note{font-size:12px;max-width:none}.service-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:235px 195px 195px;gap:12px}.tile-1{grid-column:1/-1;grid-row:auto}.tile-2{grid-column:1/-1;grid-row:auto}.tile-copy{left:19px;right:19px;bottom:19px;padding-right:27px}.tile-copy h3{font-size:27px}.tile-copy p{font-size:12px;margin-top:7px;max-width:none}.tile-index{font-size:9px;margin-bottom:8px}.tile-copy>.icon{width:20px;height:20px;top:21px}.service-tile{border-radius:14px}.service-tile:after{background:linear-gradient(180deg,transparent 20%,#07152726 45%,#071527ed 100%)}.tile-1>img{object-position:50% 55%}.tile-2>img{object-position:center 45%}.tile-3 .tile-copy,.tile-4 .tile-copy{padding-right:0;left:14px;right:14px;bottom:17px}.tile-3 .tile-copy h3,.tile-4 .tile-copy h3{font-size:21px}.tile-3 .tile-copy p,.tile-4 .tile-copy p{font-size:11px;line-height:1.4}.tile-3 .tile-copy>.icon,.tile-4 .tile-copy>.icon{right:0;top:0;width:16px;height:16px}.image-note{font-size:8px;top:11px;left:11px;padding:2px 6px}.process{display:block;padding-block:58px}.process-intro>p:not(.eyebrow){font-size:15px;margin-top:22px}.person{margin-top:25px}.person strong{font-size:23px}.person>span:not(.person-rule){font-size:12px}.process-intro .person{padding:21px 23px;border:1px solid var(--line);border-radius:14px}.process-intro .person-rule{display:none}.process-intro .person a{margin-top:12px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--navy)}.process-steps{margin-top:33px}.steps li{padding-bottom:26px;gap:16px}.steps h3{font-size:21px}.steps p{font-size:14px;line-height:1.7}.process-steps>.button{margin-top:18px}.project-grid{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 var(--gutter) 12px;margin:0 calc(var(--gutter)*-1);scroll-padding-inline:var(--gutter)}.project-grid::-webkit-scrollbar{display:none}.project-grid .project{flex:0 0 87%;scroll-snap-align:start;margin-top:0}.project-grid .project img{aspect-ratio:1.12;object-position:center}.project-grid .project-tall img{object-position:center 45%}.project h3{font-size:21px}.project figcaption{padding-top:15px}.project figcaption>span{font-size:8px}.project-grid .project h3{font-size:20px}.zoom{border-radius:14px}.zoom-label{right:10px;bottom:10px;padding:8px}.zoom-label>span{display:none}.js .gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.gallery-count{font-size:11px;letter-spacing:.08em;color:var(--muted)}.gallery-controls>div{display:flex;gap:8px}.gallery-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #b7bcbf;border-radius:50%;background:transparent}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-controls button:first-child .icon{transform:rotate(180deg)}.project-links{flex-direction:column;align-items:start;gap:15px;margin-top:24px}.project-links .text-link{font-size:12px}.region{display:block;padding-block:54px}.region h2{font-size:31px}.region>p:last-child{font-size:15px;margin-top:21px}.site-footer{border-radius:22px 22px 0 0;padding-top:49px}.footer-top{display:block;padding-bottom:32px}.footer-top h2{font-size:42px}.footer-top>div>p:not(.eyebrow){font-size:15px}.footer-address{margin-top:36px;padding-top:30px;border-top:1px solid #ffffff26}.footer-address>.eyebrow{margin-bottom:18px}.footer-address>a{font-size:16px;min-height:44px;padding:8px 0}.footer-address .small{font-size:12px!important}.footer-services{display:grid;grid-template-columns:1fr 1fr;gap:3px 15px;font-size:13px;padding:17px 0}.footer-services a{padding:10px 0}.footer-bottom{display:block;padding:23px 0;font-size:11px}.footer-bottom>span{justify-content:space-between;gap:10px}.footer-bottom nav{gap:25px;margin-top:15px}.footer-bottom small{font-size:9px}
 /* Fixed, safe-area-aware app-style shortcuts. No installation required. */
 .mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:45;left:0;right:0;bottom:0;padding:8px 12px calc(7px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid #d9dcd9;box-shadow:0 -3px 18px #0b1d3906;gap:4px}.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:53px;padding:6px 3px;border-radius:12px;color:var(--muted);font-size:10px;line-height:1.3}.mobile-dock .icon{width:20px;height:20px}.mobile-dock a[aria-current=page]{background:var(--sand);color:var(--navy)}.mobile-dock .dock-phone{color:var(--navy)}.mobile-dock .dock-mail,.mobile-dock .dock-mail[aria-current=page]{background:var(--navy);color:var(--paper)}body:has(input:focus,textarea:focus) .mobile-dock{display:none}
 .page-top{padding-top:18px}.breadcrumbs{font-size:10px;gap:7px 13px}.page-heading{padding-top:32px;padding-bottom:5px}.page-heading h1{font-size:40px}.service-jumps,.detail-jumps{gap:8px;margin-top:25px}.service-jumps{display:grid;grid-template-columns:1fr 1fr}.service-jumps a,.detail-jumps a{font-size:12px;padding:9px 12px}.overview-service{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-block:35px}.overview-service:nth-of-type(odd) .overview-photo{order:0}.overview-photo img{aspect-ratio:1.5}.overview-copy .eyebrow{margin-bottom:14px}.overview-copy h2{font-size:35px;margin-bottom:15px}.large-copy{font-size:20px;margin-bottom:15px}.overview-copy>p:not(.eyebrow):not(.large-copy){font-size:15px}.overview-copy>.text-link{margin-top:15px}.extras{display:block}.extras>.eyebrow{margin-bottom:20px}.extras h2{margin-bottom:23px}.extras p{font-size:15px}.service-hero{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding-top:33px}.service-hero h1{font-size:43px}.service-hero .eyebrow{font-size:8px;margin-bottom:18px}.service-tagline{font-size:23px;margin:18px 0}.service-hero p:not(.eyebrow):not(.service-tagline){font-size:15px;line-height:1.65}.service-hero .button{margin-top:23px}.service-hero figure img{aspect-ratio:1.55}.detail-jumps{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:23px calc(var(--gutter)*-1) 0;padding:0 var(--gutter) 23px;gap:8px}.detail-jumps a{white-space:nowrap;min-height:44px;flex:none;font-size:11px;padding-inline:14px}.scope{display:block;padding-top:46px}.scope h2{font-size:33px;margin-bottom:28px}.scope-row{gap:14px;grid-template-columns:21px 1fr;padding-block:23px}.scope-row h3{font-size:22px}.scope-row p{font-size:15px}.scope-note{font-size:12px;padding:18px 20px}.work-gallery,.work-gallery:has(>figure:nth-child(2):last-child){grid-template-columns:1fr;gap:28px;max-width:none}.work-gallery .project img{aspect-ratio:1.13;object-position:center 45%}.comparison-heading h3{font-size:24px}.comparison-heading p{font-size:14px}.comparison{gap:14px}.comparison .zoom{border-radius:12px}.comparison img{aspect-ratio:3/4;object-fit:contain;background:#ddd9d0}.comparison figcaption{font-size:12px}.js .comparison-controls{display:inline-flex;gap:4px;background:#d8d5ce;padding:4px;border-radius:30px;margin-bottom:20px}.comparison-controls button{min-height:42px;padding:8px 25px;border:0;background:none;border-radius:24px;font-size:13px}.comparison-controls button[aria-pressed=true]{background:var(--navy);color:var(--paper)}.js .comparison{display:block}.js .comparison figure:not(.is-active){display:none}.comparison-kuechen img{aspect-ratio:4/3;object-fit:cover}.comparison-trockenbau img{aspect-ratio:3/4;max-height:450px}.js .comparison figcaption{display:none}.faq{display:block}.faq>div:first-child{margin-bottom:28px}.faq h2{font-size:33px}.faq>div>p:not(.eyebrow){font-size:15px;margin-top:20px}.faq-item summary{font-size:17px;padding-block:21px}.faq-item p{font-size:14px}.faq-item summary:before,.faq-item summary:after{top:33px}.related{gap:9px;padding-bottom:45px;font-size:12px}.related>span{width:100%;font-size:11px;margin:0 0 3px}.related>a{padding:9px 14px}
 .contact{display:block;padding-top:31px}.contact-copy h1{font-size:46px}.contact-copy h1 br{display:none}.contact-copy .lead{font-size:18px;line-height:1.5;margin-top:20px;margin-bottom:14px}.contact-copy>p:not(.eyebrow):not(.lead){font-size:14px}.contact-copy .person{margin-top:25px;padding:22px;background:var(--sand);border-radius:14px}.contact-copy .person-rule{display:none}.contact-copy .person>span{margin-bottom:12px}.contact-copy .person a{font-size:14px;gap:10px;width:100%;border-top:1px solid #cacbc7;min-height:47px;padding:10px 0}.contact-copy .person a .icon{width:18px;height:18px}.contact-hours{font-size:12px!important;margin-top:18px}.form-panel{margin-top:32px;padding:25px 20px;border-radius:17px}.form-panel h2{font-size:28px;margin-bottom:17px}.form-panel>p{font-size:13px}.form-notice{padding:14px 15px;margin-block:22px;font-size:11px}.form-panel form>.button,.form-result .button{width:100%;justify-content:center}.field{margin-bottom:20px}.field label{font-size:13px}.field label span{font-size:9px}.legal{padding-top:35px}.legal h1{font-size:34px;hyphens:auto}.legal h2{font-size:25px}.legal h3{font-size:20px}.lightbox{max-width:95vw;padding:55px 12px 16px;border-radius:14px}.lightbox p{font-size:11px}
}
@media(max-width:360px){:root{--gutter:18px}.brand img{width:151px}.hero-copy{padding-inline:19px}.hero-copy .eyebrow{font-size:8px}.hero .button{padding-inline:14px;gap:10px;font-size:12px}.hero-actions{gap:12px}.hero .text-link{font-size:10px}.hero h1{font-size:9.6vw}.tile-3 .tile-copy h3,.tile-4 .tile-copy h3{font-size:17px}.contact-copy .person{padding:18px}.contact-copy .person a{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
@media print{.scroll-progress,.mobile-dock,.menu-toggle{display:none}.has-mobile-dock{padding-bottom:0}.site-header{position:static}.hero{break-inside:avoid}.project-grid{display:grid}.project-grid .project{width:auto}.process-intro,.contact-copy{position:static}}

@media(max-width:900px){html:not(.js) .site-header{position:relative}html:not(.js) .header-inner{height:auto;flex-wrap:wrap;padding-block:20px}html:not(.js) .menu-toggle{display:none}html:not(.js) .main-nav{position:static;width:100%;max-height:none;box-shadow:none;padding:10px 0 0}}

@media(min-width:681px) and (max-width:1000px){.service-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:290px 260px}.tile-1{grid-row:auto}.tile-2{grid-column:auto}.tile-copy h3{font-size:28px}.project h3{font-size:18px}}
section[id]{scroll-margin-top:-55px}@media(max-width:680px){section[id]{scroll-margin-top:-28px}}

/* Shared finishing rules: one type scale, one spacing rhythm, one enquiry path. */
:root{--section-space:clamp(64px,7vw,104px);--section-title:clamp(32px,3.5vw,50px);--detail-title:23px;--image-radius:18px;--control-radius:28px;--reading-width:62ch}
.section-pad{padding-block:var(--section-space)}
h2,.section-head h2,.intro h2,.scope h2,.faq h2{font-size:var(--section-title)}
h3,.scope-row h3,.steps h3{font-size:var(--detail-title)}
.hero,.service-hero,.intro,.scope,.faq,.contact{min-width:0}
.scope-row p,.intro p,.faq-item p{max-width:var(--reading-width)}
.eyebrow{font-size:11px;letter-spacing:.08em}
.hero-copy .eyebrow,.service-hero .eyebrow{font-size:10px;letter-spacing:.07em;white-space:normal}
.hero{min-height:510px}.hero-copy{padding-block:58px}.hero-actions{margin-top:32px}
.hero-lead{max-width:45ch}.hero h1>span:first-child{color:var(--gold)}
.hero-photo figcaption,.service-hero figcaption,.image-note{font-size:11px;padding:4px 9px}
.intro{padding-block:var(--section-space)}.intro p+p{font-size:15px;margin-top:16px}
.header-inner{height:90px}.main-nav{gap:clamp(18px,2vw,29px)}
.service-nav-links{display:contents}.service-nav-links>a{padding-block:12px;min-height:44px}
.nav-services{display:none}
.main-nav a[aria-current=page]:not(.nav-contact),.nav-services.is-current>summary{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px;text-decoration-thickness:2px}
.breadcrumbs{font-size:12px}.breadcrumbs>a,.breadcrumbs>span{padding:9px 0;min-height:38px}
/* All four services have equal visual weight. */
.service-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:26px}
.service-tile{display:flex;flex-direction:column;border-radius:var(--image-radius);background:var(--paper);color:var(--navy);isolation:auto;overflow:visible}
.service-tile:after{display:none}.tile-image{position:relative;overflow:hidden;border-radius:var(--image-radius)}
.tile-image img{width:100%;aspect-ratio:1.9;object-fit:cover;transition:transform .55s var(--ease)}
.service-tile:hover .tile-image img{transform:scale(1.035)}
.tile-copy{position:relative;inset:auto;padding:22px 62px 26px 24px;z-index:auto}
.tile-copy h3{font:500 25px/1.3 var(--sans);letter-spacing:-.025em}
.tile-copy p{font-size:15px;line-height:1.5;max-width:none;color:var(--muted);margin-top:7px}
.tile-copy>.icon{top:25px;right:25px;width:22px;height:22px}
.image-note{top:auto;left:auto;right:12px;bottom:12px;border-radius:5px}
.service-extras{margin-top:30px;border-top:1px solid #c9cdc9}
.service-extras>summary{list-style:none;position:relative;cursor:pointer;padding:20px 32px 16px 0;font-size:15px}
.service-extras>summary::-webkit-details-marker{display:none}
.service-extras>summary:after{content:'+';position:absolute;right:4px;top:14px;font-size:24px}
.service-extras[open]>summary:after{content:'−'}
.service-extras>p{font-size:15px;color:var(--muted);max-width:80ch;padding-bottom:10px}
.process-intro>p:not(.eyebrow){max-width:43ch}.steps li{padding-bottom:36px}.steps p{max-width:47ch}
.project-grid .project-tall{margin-top:38px}.project-grid .project-small{margin-top:76px}
.project figcaption>span{font-size:11px;letter-spacing:.07em}.project h3{font-size:22px}
.work-gallery .project:nth-child(2){margin-top:38px}.work-gallery .project:nth-child(3){margin-top:76px}
.work-gallery:has(>figure:nth-child(2):last-child){max-width:1000px}
.detail-jumps a{font-size:13px;min-height:44px}.scope-note{font-size:14px;line-height:1.7}
/* A quiet footer: one invitation, then company details and a compact directory. */
.footer-top{grid-template-columns:1.25fr 1fr;gap:55px 12%;padding-bottom:45px}
.footer-invitation{grid-row:1/3}.footer-address{grid-column:2}
.footer-services{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:18px 0 0;border-top:1px solid #ffffff26;margin-top:-20px;font-size:13px}
.footer-services>a{padding:8px 0;min-height:38px}.footer-compact{padding-top:52px}
.footer-compact .footer-top{grid-template-columns:1fr 1fr;align-items:start}.footer-compact .footer-address{grid-column:1}.footer-compact .footer-services{grid-column:2;margin:0;border:0;padding:0}
/* Form status describes preparation honestly; no successful delivery is implied. */
.contact-copy .lead{max-width:36ch}.form-panel{padding:32px}.form-panel h2{font-size:30px}.form-panel>p,.form-notice{font-size:14px}
.form-notice{padding:16px;margin-block:24px}.form-notice p{font-size:13px}
.field label{font-size:15px}.field label span{font-size:12px}
input,textarea{border-color:#738091;border-radius:9px;background:var(--paper)}
.field-error{font-size:13px;color:var(--navy);margin-top:7px;font-weight:500}
input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid var(--navy);padding:11px 13px}
.form-errors{border-left:3px solid var(--gold);padding:12px 15px;margin-bottom:22px;background:var(--paper);font-size:14px}
.form-errors ul{margin:7px 0 0;padding-left:20px}.form-errors a{text-decoration:underline;text-underline-offset:3px}
.form-result{scroll-margin-bottom:100px}form .small{font-size:13px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.hero a:focus-visible,.site-footer a:focus-visible{outline-color:var(--gold)}
:where(a,button,summary,input,textarea,[tabindex]){scroll-margin-block:115px 95px}
.form-errors:focus,.form-result:focus{outline:2px solid var(--navy);outline-offset:5px}
.section-note{font-size:14px}.small{font-size:14px}
@media(max-width:1180px){.service-nav-links{display:none}.nav-services{display:block}.main-nav{gap:28px}.service-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}}
@media(max-width:900px){.header-inner{height:80px}.main-nav{gap:0}.main-nav>.nav-contact{font-size:16px}.main-nav .submenu a{font-size:17px;min-height:48px;padding:11px 8px}.nav-services>summary{font-size:22px}.submenu{padding-left:6px}.hero{min-height:470px}.hero-copy{padding-block:40px}.contact{grid-template-columns:1fr 1.12fr;gap:5%}.form-panel{padding:24px}.form-panel h2{font-size:28px}.work-gallery{gap:20px}.work-gallery .project:nth-child(2){margin-top:28px}.work-gallery .project:nth-child(3){margin-top:56px}}
@media(max-width:680px){
 :root{--section-space:56px;--section-title:32px;--detail-title:22px;--image-radius:15px}
 html{scroll-padding-bottom:90px}.header-inner{height:72px}.brand img{width:170px}.menu-toggle{min-width:92px;min-height:46px;font-size:13px}
 .eyebrow,.hero-copy .eyebrow,.service-hero .eyebrow{font-size:10px;letter-spacing:.05em}.intro>.eyebrow{font-size:10px}
 .hero{min-height:0}.hero-copy{padding:29px 23px 30px}.hero h1{font-size:clamp(32px,9.5vw,60px)}.hero-lead{font-size:17px;line-height:1.55;margin-top:23px}.hero-actions{margin-top:25px}.hero .button{font-size:14px;min-height:50px;padding-inline:20px;gap:25px}
 .hero-photo{height:190px}.hero-photo figcaption{font-size:10px;bottom:10px;right:10px;max-width:calc(100% - 20px)}
 .intro{padding-block:var(--section-space)}.intro h2{font-size:var(--section-title)}.intro p:not(.eyebrow){font-size:16px}.intro p+p{font-size:14px}
 .section-head h2{font-size:var(--section-title)}.section-note{font-size:13px}.section-head{margin-bottom:28px}
 .service-mosaic{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}
 .service-tile{display:grid;grid-template-columns:36% minmax(0,1fr);min-height:154px;align-items:stretch}
 .tile-image{border-radius:var(--image-radius);min-height:154px}.tile-image img{width:100%;height:100%;position:absolute;inset:0;aspect-ratio:auto;object-fit:cover}
 .tile-copy{padding:20px 17px 42px}.tile-copy h3{font-size:22px}.tile-copy p{font-size:14px;line-height:1.45;margin-top:9px}
 .tile-copy>.icon{top:auto;right:17px;bottom:16px;width:18px;height:18px}
 .image-note{font-size:9px;right:6px;bottom:6px;padding:3px 5px}
 .service-extras{margin-top:24px}.service-extras>summary{font-size:14px;line-height:1.5;padding-block:19px}.service-extras>p{font-size:14px}
 .process{padding-block:var(--section-space)}.process-intro>p:not(.eyebrow){font-size:16px}.process-intro .person{border:0;padding:0;margin-top:26px}.process-intro .person strong{font-size:23px}.process-intro .person a{margin-top:7px}
 .steps li{padding-bottom:26px}.steps h3{font-size:21px}.steps p{font-size:15px}.person>span:not(.person-rule){font-size:13px}
 .project-grid .project-tall,.project-grid .project-small{margin-top:0}.project-grid .project h3{font-size:21px}.project figcaption>span{font-size:10px}.gallery-count{font-size:12px}
 .work-gallery .project:nth-child(n){margin-top:0}.work-gallery .project img{aspect-ratio:1.08}
 .service-hero h1{font-size:clamp(34px,9.4vw,44px)}.service-hero p:not(.eyebrow):not(.service-tagline){font-size:16px}.service-tagline{font-size:23px}.service-hero figure img{aspect-ratio:1.5}.service-hero figcaption{font-size:10px}
 .detail-jumps{gap:8px}.detail-jumps a{font-size:12px;padding-inline:14px}.scope-row p{font-size:16px}.scope-note{font-size:14px;padding:18px}.faq-item summary{font-size:18px}.faq-item p{font-size:15px}
 .footer-top{display:block;padding-bottom:28px}.footer-invitation h2{font-size:40px}.footer-address{padding-top:28px;margin-top:34px}.footer-services{margin-top:27px;padding-top:18px;gap:4px 20px;font-size:14px}.footer-services a{min-height:44px}.footer-compact .footer-top{display:block}.footer-compact .footer-address{margin:0;padding:0;border:0}.footer-compact .footer-services{border-top:1px solid #ffffff26;padding-top:20px;margin-top:24px}.footer-bottom{font-size:12px}.footer-bottom small{font-size:10px}.footer-bottom nav{gap:20px}
 .has-mobile-dock{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.mobile-dock{grid-template-columns:1fr 1.75fr;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px))}
 .mobile-dock a{flex-direction:row;gap:10px;min-height:50px;font-size:14px;padding:12px 8px;border-radius:var(--control-radius)}.mobile-dock .dock-phone{border:1px solid #b8c0c7}.mobile-dock .dock-mail{gap:14px}.mobile-dock .icon{width:18px;height:18px}
 .contact{display:flex;flex-direction:column;padding-top:29px}.contact-copy h1{font-size:44px}.contact-copy .lead{font-size:18px}.contact-copy .person{padding:20px}.contact-copy .person a{font-size:15px}.contact-copy .person>span{margin-bottom:8px}.contact-hours{font-size:13px!important}.form-panel{padding:25px 20px}.form-panel h2{font-size:28px}.form-panel>p{font-size:14px}.form-notice{font-size:13px;padding:15px}.form-notice p{font-size:13px}.field label{font-size:15px}.field label span{font-size:11px}
}
@media(max-width:360px){.brand img{width:152px}.hero-copy{padding-inline:19px}.hero-copy .eyebrow{font-size:9px}.service-tile{grid-template-columns:34% minmax(0,1fr)}.tile-copy{padding:18px 14px 40px}.tile-copy h3{font-size:20px}.tile-copy p{font-size:13px}.image-note{font-size:8px}.mobile-dock a{font-size:13px;gap:7px}.mobile-dock .dock-mail{gap:9px}.mobile-dock{gap:8px}.contact-copy .person{padding:16px}.contact-copy .person a{font-size:13px}.hero h1{font-size:9.5vw}}
@media(max-height:500px) and (max-width:900px){.site-header{position:relative}.mobile-dock{position:static}.has-mobile-dock{padding-bottom:0}.main-nav{position:fixed;top:0;bottom:0;max-height:100dvh;padding-top:80px;z-index:55;left:0;right:0}.menu-toggle[aria-expanded=true]{position:fixed;right:20px;top:15px;z-index:60;background:var(--paper)}.main-nav .menu-person{display:none}.main-nav>a,.nav-services>summary{min-height:44px;padding-block:9px}.main-nav .nav-contact{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.tile-image img{transition:none}.service-tile:hover .tile-image img{transform:none}}
@media(max-width:680px){.header-inner{gap:16px}.menu-toggle[aria-expanded=true]{min-width:46px}}@media(max-width:360px){.menu-toggle[aria-expanded=true]>span{display:none}}

/* Focused navigation and a vertically composed closing section. */
.nav-services{display:block}
.footer-top,.footer-compact .footer-top{display:flex;flex-direction:column;align-items:center;gap:38px;text-align:center}
.footer-invitation{width:100%;padding-bottom:42px;border-bottom:1px solid #ffffff26}
.footer-invitation>.eyebrow,.footer-address>.eyebrow{justify-content:center}
.footer-invitation h2{font-size:clamp(38px,4.5vw,62px)}
.footer-address,.footer-compact .footer-address{margin:0;padding:0;border:0;align-items:center}
.footer-address>a{display:block}
.footer-services,.footer-compact .footer-services{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;width:100%;margin:0;padding:20px 0 0;border-top:1px solid #ffffff26}
.footer-services>a{min-height:44px}
@media(max-width:680px){.footer-top,.footer-compact .footer-top{gap:28px}.footer-invitation{padding-bottom:32px}.footer-services,.footer-compact .footer-services{gap:4px 22px;font-size:14px}}

/* The same footer on every page: enquiry above, contact left, navigation right. */
.site-footer{padding-top:64px}
.footer-layout{max-width:1200px}
.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:48px;border-bottom:1px solid #ffffff26}
.footer-cta .eyebrow{margin-bottom:16px}
.footer-cta h2{font-size:clamp(32px,3.4vw,46px);line-height:1.2;max-width:20ch;text-wrap:balance}
.footer-cta p:not(.eyebrow){font-size:16px;color:#c5cbd4;margin-top:16px}
.footer-cta>.button{flex:none;background:var(--gold);color:var(--navy);border-color:var(--gold)}
.footer-cta>.button:hover{background:#dab052}
.footer-columns{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;padding:48px 0}
.footer-contact .eyebrow,.footer-navigation .eyebrow{margin:0 0 20px;font-size:11px}
.footer-contact>p:not(.eyebrow){font-size:16px;color:#c5cbd4;line-height:1.7}
.footer-contact>a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;font-size:17px;padding:10px 0;min-height:44px}
.footer-contact>p+a{margin-top:18px}
.footer-contact .footer-hours{font-size:14px!important;margin-top:18px}
.footer-navigation{display:flex;flex-direction:column;align-items:flex-start}
.footer-navigation>a{font-size:15px;line-height:1.5;padding:10px 0;min-height:44px}
.footer-navigation>a:hover,.footer-contact>a:hover{text-decoration:none}
.footer-navigation .footer-legal-start{border-top:1px solid #ffffff26;margin-top:14px;padding-top:20px;width:100%;max-width:280px}
.footer-signoff{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #ffffff26;padding:24px 0;font-size:13px;color:#c5cbd4}
.footer-signoff small{font-size:11px}
@media(max-width:680px){.site-footer{padding-top:42px}.footer-cta{align-items:flex-start;flex-direction:column;gap:24px;padding-bottom:32px}.footer-cta h2{font-size:34px;max-width:16ch}.footer-cta p:not(.eyebrow){font-size:15px}.footer-columns{grid-template-columns:1fr;gap:32px;padding:32px 0}.footer-navigation{border-top:1px solid #ffffff26;padding-top:30px}.footer-contact>a{font-size:16px}.footer-signoff{font-size:12px}}

@media(min-width:901px){.intro{grid-template-columns:max-content minmax(0,1fr);gap:clamp(32px,5vw,80px)}.intro>.eyebrow{max-width:none;white-space:nowrap}}

.related{padding-block:40px 55px}@media(max-width:680px){.related{padding-block:28px 36px}}

/* Service gallery titles above their images. */
.work-gallery .project figcaption{padding:0 0 18px}.work-gallery .project figcaption h3{margin:0}.comparison-heading{margin-bottom:24px}

/* Desktop work previews: bounded height and a three-image horizontal gallery. */
@media(min-width:681px){
 .work-gallery .project img{height:auto;max-height:440px;width:100%;aspect-ratio:3/4;object-fit:cover}
 .work-gallery:has(>figure:nth-child(2):last-child) .project img{aspect-ratio:4/3}
 .comparison{align-items:start;max-width:none;gap:28px}
 .comparison figure{margin:0;min-width:0}
 .comparison img{width:100%;height:auto;max-height:440px;aspect-ratio:4/3;object-fit:cover}
 .comparison-trockenbau{max-width:760px}
 .comparison-trockenbau img{height:clamp(320px,48vh,440px);aspect-ratio:auto;object-fit:cover;object-position:center}
 .project-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 0 12px;margin:0;scroll-padding:0}
 .project-grid::-webkit-scrollbar{display:none}
 .project-grid .project{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;margin-top:0}
 .project-grid .project:nth-child(n){margin-top:calc(var(--gallery-step,0)*38px)}
 .project-grid .project img{width:100%;height:clamp(240px,35vw,390px);aspect-ratio:auto;object-fit:cover}
 .js .gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
 .gallery-count{font-size:12px;letter-spacing:.08em;color:var(--muted)}
 .gallery-controls>div{display:flex;gap:8px}
 .gallery-controls button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #b7bcbf;border-radius:50%;background:transparent}
 .gallery-controls button:disabled{opacity:.3;cursor:default}
 .gallery-controls button:first-child .icon{transform:rotate(180deg)}
 .gallery-controls button:not(:disabled):hover{background:var(--navy);color:var(--paper)}
}

/* Connect only consecutive mobile steps; never extend past the final badge. */
@media(max-width:900px){
 .steps:before{content:none}
 .steps li:not(:last-child):before{content:'';position:absolute;left:21px;top:44px;bottom:0;width:1px;background:var(--line)}
}

/* Keep each short slogan sentence together when mobile tiles wrap. */
@media(max-width:680px){.tile-slogan>span{display:inline-block;white-space:nowrap}}
@media(max-width:374px){.tile-copy{padding-inline:12px}.service-tile{grid-template-columns:32% minmax(0,1fr)}}

/* Legal pages share the site's editorial type, rhythm and rounded surfaces. */
.legal-hero{padding:52px 0 56px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(32px,4.4vw,66px);overflow-wrap:anywhere;hyphens:auto}
.legal-hero .lead{max-width:660px;color:var(--muted);font-size:19px;margin-top:22px}
.legal-layout{display:grid;grid-template-columns:minmax(210px, .8fr) minmax(0,2fr);gap:clamp(40px,6vw,100px);padding:56px 0 100px;align-items:start}
.legal-index{position:sticky;top:130px;padding:26px;background:var(--sand);border-radius:var(--radius)}
.legal-index .eyebrow{margin-bottom:16px}
.legal-index nav{display:grid;gap:4px}
.legal-index a{display:block;font-size:14px;line-height:1.5;padding:10px 0;border-bottom:1px solid var(--line)}
.legal-index a:last-child{border:0}
.legal-index a:hover{color:#82621a}
.legal-copy{min-width:0;max-width:790px;overflow-wrap:anywhere}
.legal-copy h2{font-size:clamp(25px,2.5vw,35px);line-height:1.25;letter-spacing:-.03em;margin:46px 0 22px;padding-top:32px;border-top:1px solid var(--line);hyphens:auto;scroll-margin-top:128px}
.legal-copy h2:first-child{margin-top:0;padding-top:0;border:0}
.legal-copy h3{font-size:21px;line-height:1.4;margin:28px 0 12px;hyphens:auto}
.legal-copy h4{font-size:17px;line-height:1.5;margin:22px 0 10px}
.legal-copy p,.legal-copy li{font-size:16px;line-height:1.8}
.legal-copy li+li{margin-top:10px}
.legal-copy a,.form-privacy a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#89909a}
.legal-copy a:hover,.form-privacy a:hover{text-decoration-color:var(--gold)}
.form-privacy{margin-top:22px;color:var(--muted);max-width:520px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:32px;padding-top:30px;padding-bottom:60px}.legal-index{position:static;padding:22px}.legal-index nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.legal-hero{padding:30px 0 36px}.legal-hero .lead{font-size:17px}.legal-copy{max-width:none}}
@media(max-width:520px){.legal-index nav{grid-template-columns:1fr}.legal-hero .eyebrow{font-size:9px;letter-spacing:.08em}.legal-copy h2{margin-top:36px;padding-top:26px}.legal-copy p,.legal-copy li{font-size:16px}}

/* Short titles and consistent reading levels across home, services and contact. */
:root{--section-title:clamp(30px,3.1vw,44px)}
.heading-phrase{display:inline-block}
.intro h2,.process h2,.scope h2,.section-head h2{line-height:1.25;text-wrap:balance}
.intro p+p{font-size:inherit}
.service-hero{grid-template-columns:1.08fr 1fr;gap:6%}
.service-hero>div{min-width:0}
.service-hero h1{font-size:clamp(32px,4.4vw,64px);line-height:1.15}
.service-tagline{font-size:clamp(18px,1.45vw,21px);line-height:1.5;letter-spacing:0;margin:18px 0 20px;color:var(--navy);text-wrap:normal}
.service-tagline>span{display:inline-block;max-width:100%}
.scope-row h3,.steps h3{font-size:clamp(20px,1.7vw,23px);line-height:1.35;text-wrap:balance}
.comparison-heading h3{font-size:clamp(22px,2vw,26px);line-height:1.35;margin-bottom:0}
.contact-copy h1{font-size:clamp(34px,3.2vw,46px);line-height:1.2}
.contact-copy .person{padding:26px;background:var(--sand);border-radius:var(--radius)}
.contact-copy .person-rule{display:none}
.contact-copy .person>a,.contact-copy .person-hours{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.55}
.contact-copy .person .icon{width:19px;height:19px;flex:none}
.contact-copy .person-hours{margin:4px 0 0;padding:10px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px;align-items:flex-start;width:100%}
.person-hours .icon{margin-top:2px}.hours-time{white-space:nowrap}
.contact-copy .person>span:not(.person-rule){margin-bottom:10px}
.form-panel h2{font-size:clamp(26px,2.3vw,32px);margin-bottom:26px}
.footer-cta h2{max-width:none;font-size:clamp(30px,3.1vw,44px)}
.footer-contact,.footer-contact>p:not(.eyebrow),.footer-contact>a,.footer-contact .eyebrow{color:var(--paper)}

.legal-layout-simple{display:block;max-width:850px;padding-top:40px}
@media(min-width:681px) and (max-width:1100px){.service-hero h1{font-size:clamp(32px,4.1vw,44px)}}
@media(max-width:680px){
 :root{--section-title:30px}
 .intro>.eyebrow{font-size:9px;letter-spacing:.035em}
 .intro h2,.process h2,.scope h2,.section-head h2{font-size:var(--section-title)}
 .service-hero{grid-template-columns:1fr}
 .service-hero h1{font-size:clamp(32px,8.7vw,42px)}
 .service-tagline{font-size:18px;line-height:1.55;margin:15px 0 18px}
 .contact-copy h1{font-size:clamp(32px,8.5vw,40px)}
 .contact-copy .person{padding:22px}
 .contact-copy .person>a{font-size:15px}.contact-copy .person-hours{font-size:14px}
 .footer-cta h2{font-size:30px}
 .legal-layout-simple{padding-top:30px}
}
@media(max-width:374px){.contact-copy .person{padding:17px}.contact-copy .person>a{font-size:13px}.contact-copy .person-hours{font-size:13px}.contact-copy .person .icon{width:17px;height:17px}}

.legal-layout-simple .legal-copy h2{font-size:clamp(22px,2vw,28px);line-height:1.3}
@media(max-width:680px){.service-hero{gap:28px}.intro h2{font-size:clamp(26px,7.8vw,30px)}}

/* Gold marks interaction and the current page, on all screen sizes. */
.footer-contact>a,.footer-navigation>a{text-decoration:none}
.footer-link-label{display:inline-block;position:relative;max-width:100%;overflow-wrap:anywhere}
.footer-link-label::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease);pointer-events:none}
.footer-navigation>a[aria-current="page"] .footer-link-label::after,.site-footer a:focus-visible .footer-link-label::after{transform:scaleX(1)}
@media(hover:hover){.site-footer a:hover .footer-link-label::after{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.footer-link-label::after{transition:none}}

/* Responsive formats preserve the existing image layout. */
.responsive-picture{display:contents}

/* v33: calm, level desktop galleries and concise form labels. */
.hero h1>span:first-child{color:#fff}
.hero h1>span:last-child{color:var(--gold)}
.required-note{margin:0 0 18px;color:var(--muted)}
@media(min-width:681px){
 .project-grid .project:nth-child(n),.work-gallery .project:nth-child(n){margin-top:0}
 .project-grid .project img,.work-gallery .project img{height:clamp(240px,48vh,390px);max-height:390px;aspect-ratio:auto}
 .work-gallery .project figcaption{min-height:70px;display:flex;align-items:flex-end}
 .comparison-controls{display:none}
 .comparison,.comparison-trockenbau{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:none;align-items:start}
 .comparison figure,.comparison figure:not(.is-active){display:flex;flex-direction:column;margin:0;min-width:0}
 .comparison .zoom{display:block;width:100%}
 .comparison img,.comparison-trockenbau img{width:100%;height:clamp(240px,48vh,390px);max-height:390px;aspect-ratio:auto;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}
 .comparison figcaption{display:block;order:-1;padding:0 0 18px;font-size:20px;line-height:1.4;color:var(--navy)}
}

.field label{justify-content:flex-start;gap:4px}
.field label span{font-size:inherit;color:inherit}

/* Preserve the full subject of each desktop comparison, with bounded height. */
@media(min-width:681px){
 .comparison{--comparison-height:clamp(300px,52vh,460px)}
 .comparison-kuechen{max-width:calc(var(--comparison-height) * 2.666667 + 28px)}
 .comparison-trockenbau{max-width:calc(var(--comparison-height) * 1.5 + 28px)}
 .comparison .zoom{aspect-ratio:4/3;background:var(--sand)}
 .comparison .zoom img{position:absolute;inset:0}
 .comparison-trockenbau .zoom{aspect-ratio:3/4}
 .comparison img,.comparison-trockenbau img{height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;transition:filter .25s var(--ease)}
 .comparison .zoom:hover img{transform:none;filter:brightness(1.04)}
}

/* v36: subject-specific previews; originals stay intact in the lightbox. */
.comparison-trockenbau .zoom{aspect-ratio:3/4;max-height:460px;background:var(--sand)}
.comparison-trockenbau .zoom img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.comparison-trockenbau [data-photo="laibung-vorher"] img{object-position:50% 12%;transform:none}
.comparison-trockenbau [data-photo="laibung-nachher"] img{object-position:center;transform:scale(1.35);transform-origin:50% 65%}
.comparison-trockenbau [data-photo="laibung-vorher"]:hover img{transform:none}
.comparison-trockenbau [data-photo="laibung-nachher"]:hover img{transform:scale(1.35)}
.work-gallery--fenster-tueren .zoom img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.work-gallery--fenster-tueren .zoom{aspect-ratio:3/4}
.work-gallery--fenster-tueren [data-photo="fensterbank"]{aspect-ratio:4/3}
.work-gallery--fenster-tueren [data-photo="fensterbank"] img{object-position:50% 78%}
.work-gallery--fenster-tueren .zoom:hover img{transform:none;filter:brightness(1.04)}
.lightbox img{max-width:100%;max-height:72dvh;object-fit:contain}
@media(min-width:681px){
 .work-gallery--fenster-tueren{--reference-height:clamp(300px,52vh,440px);grid-template-columns:1.777778fr 1fr 1fr;max-width:calc(var(--reference-height) * 2.833334 + 56px)}
 .work-gallery--fenster-tueren .project img{height:100%}
}
@media(max-width:680px){
 .comparison-trockenbau{max-width:315px;margin-inline:auto}
 .comparison-trockenbau .zoom{max-height:none}
 .work-gallery--fenster-tueren .project:has([data-photo="innentuer"]),.work-gallery--fenster-tueren .project:has([data-photo="innentuer-weiss"]){width:min(100%,315px);margin-inline:auto}
}

/* Shared horizontal references on the home and service pages. */
.reference-carousel{min-width:0}
.reference-carousel .project-grid .project:nth-child(n){margin-top:0}
.reference-carousel .project figcaption{display:block;min-height:0;padding:16px 0 0}
.reference-carousel .project figcaption>span{color:var(--muted);font-size:11px;letter-spacing:.05em}
.reference-carousel .project figcaption h3{margin:6px 0 0;line-height:1.35}
.reference-carousel .gallery-controls[hidden]{display:none}
.reference-carousel .project-grid:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.reference-carousel [data-photo="fensterbank"] img{object-position:50% 78%}
.reference-carousel [data-photo="innentuer"] img,.reference-carousel [data-photo="innentuer-weiss"] img{object-fit:cover;background:var(--sand)}
.reference-carousel [data-photo="kueche-nachher"] img{object-fit:cover;background:var(--sand)}
.reference-carousel [data-photo="laibung-nachher"] img{object-position:50% 65%}
.comparison-section{background:var(--paper)}
@media(min-width:681px){
 .reference-carousel .project-grid .project:only-child{flex-basis:calc((100% - 24px)/2);max-width:600px}
}
@media(max-width:680px){
 .reference-carousel .project-grid .project:only-child{flex-basis:100%}
 .reference-carousel .project-grid .project img{height:300px;max-height:46svh;aspect-ratio:auto}
 .reference-carousel .project-grid .project figcaption>span{font-size:10px}
}

/* Fill rounded preview frames without an additional zoom layer. */
.reference-carousel .zoom,.comparison .zoom{overflow:hidden;isolation:isolate;clip-path:inset(0 round 16px)}
.reference-carousel .project-grid .zoom img,.comparison-kuechen .zoom img{object-fit:cover;display:block}
.reference-carousel [data-photo="innentuer"] img{object-position:50% 48%}
.reference-carousel [data-photo="innentuer-weiss"] img{object-position:50% 48%}
.reference-carousel [data-photo="kueche-nachher"] img{object-position:50% 50%}
.lightbox img{width:auto;height:auto;border-radius:14px}
@media(max-width:680px){.reference-carousel .zoom,.comparison .zoom{clip-path:inset(0 round 14px)}}

/* One hover treatment, independent of each photo's baseline crop. */
.zoom[data-photo] img{scale:1;transition:scale .7s var(--ease);filter:none}
.zoom[data-photo]:hover img{filter:none}
.zoom-label{width:36px;height:36px;padding:0;gap:0;border-radius:50%;right:12px;bottom:12px;pointer-events:none}
.zoom-label>span{display:none}
.zoom-label .icon{width:18px;height:18px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .zoom[data-photo]:hover img,.zoom[data-photo]:focus-visible img{scale:1.035}
}
@media(prefers-reduced-motion:reduce){.zoom[data-photo] img{scale:1;transition:none}}
