@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#252725;--muted:#666762;--paper:#f5f3ee;--white:#fff;--line:#d8d7d0;--red:#8b232a;--red-dark:#64181d;--soft:#e9e7df;--max:1344px;--pad:clamp(22px,4.7vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(46px,6.7vw,96px);margin-bottom:28px}h2{font-size:clamp(34px,4vw,60px);margin-bottom:26px}h3{font-size:clamp(23px,2.1vw,32px);letter-spacing:-.035em}p{margin-bottom:22px}small,.small{font-size:13px}.muted{color:var(--muted)}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--pad));margin:auto;padding-left:var(--pad);padding-right:var(--pad)}.section{padding-top:100px;padding-bottom:100px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;display:block;line-height:1.5;margin-bottom:28px}.label::before{content:'';width:7px;height:7px;background:var(--red);display:inline-block;margin-right:10px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;display:flex;gap:24px;align-items:center;margin-bottom:36px}.section-label span{color:var(--red)}.section-label:after{content:'';height:1px;background:var(--line);flex:1;margin-left:24px}.button{display:inline-flex;gap:36px;align-items:center;justify-content:space-between;background:var(--red);color:white;border:1px solid var(--red);padding:17px 22px;font-size:13px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.button.outline:hover{border-color:var(--ink)}.arrow{font-size:23px;line-height:1;font-weight:400;flex-shrink:0}.textlink{display:inline-flex;gap:24px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:6px}.textlink:hover{color:var(--red)}.actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.skip{position:absolute;top:-100px;left:16px;background:white;padding:16px;z-index:1000}.skip:focus{top:10px}.site-header{height:96px;position:sticky;top:0;z-index:100;background:rgba(245,243,238,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navwrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;line-height:1.05;flex-shrink:0}.brand img{width:54px;height:58px;object-fit:contain}.brand strong{display:block;font-size:18px;font-weight:650;letter-spacing:-.04em}.brand small{display:block;font-size:9px;letter-spacing:.23em;margin-top:7px;text-transform:uppercase}.nav{display:flex;align-items:center;gap:26px;font-size:13px}.nav>a:not(.button){padding:10px 0;position:relative}.nav>a[aria-current=page]:after{content:'';height:2px;background:var(--red);position:absolute;bottom:3px;left:0;right:0}.nav>a:hover{color:var(--red)}.nav>.button:hover{color:white}.nav .button{padding:13px 16px;gap:20px}.menu-button{display:none;border:0;background:none;padding:12px;color:var(--ink)}.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:4vw;padding-top:54px;padding-bottom:52px;align-items:center;min-height:680px}.hero-copy{padding:30px 0 40px}.hero-copy h1{max-width:640px}.hero-copy h1 em{font-style:normal;color:var(--red)}.hero-copy .lead{max-width:470px;font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:30px}.hero-media{position:relative;height:580px;overflow:hidden}.hero-media>img{object-position:center 50%;transition:transform 1s}.hero-media:hover>img{transform:scale(1.025)}.hero-caption{position:absolute;left:0;bottom:0;background:var(--red);color:white;padding:24px 28px;min-width:240px;max-width:90%;display:flex;align-items:center;gap:48px;font-size:13px}.hero-caption small{display:block;color:#eed7d8;font-size:10px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:5px}.hero-meta{display:flex;gap:28px;margin-top:36px;font-size:11px;color:var(--muted)}.hero-meta span+span{border-left:1px solid var(--line);padding-left:24px}.ticker{background:var(--ink);color:#ecece5;padding:22px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.ticker .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.ticker span:before{content:'+';color:#e2999c;margin-right:20px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:6vw}.intro h2{font-size:clamp(31px,3.5vw,51px);line-height:1.23}.intro p{max-width:660px;color:var(--muted)}.intro-side{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.intro-side .line-icon{font-size:82px;line-height:1.2;color:var(--red);font-weight:200;margin-bottom:32px}.white{background:white}.dark{background:var(--ink);color:var(--paper)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:42px}.section-head h2{margin-bottom:0;max-width:650px}.section-head p{max-width:370px;margin-bottom:0;color:var(--muted)}.service-showcase{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.service-image{height:550px;position:sticky;top:125px;overflow:hidden}.service-image img{transition:opacity .25s}.service-rows a{display:grid;grid-template-columns:40px 1fr 30px;align-items:center;gap:15px;padding:29px 0;border-top:1px solid var(--line);transition:color .2s,padding .2s}.service-rows a:last-child{border-bottom:1px solid var(--line)}.service-rows a:hover,.service-rows a:focus-visible{color:var(--red);padding-left:10px}.service-rows .num{font-size:11px;color:var(--red);align-self:start;padding-top:8px}.service-rows h3{margin:0 0 9px}.service-rows p{font-size:13px;color:var(--muted);margin:0;max-width:340px}.extra-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.chip{font-size:12px;padding:10px 16px;border:1px solid var(--line);background:transparent;border-radius:0;color:var(--ink)}.chip:hover,.chip[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card .media{aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--soft)}.project-card img{transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-card .media button{position:absolute;right:18px;bottom:18px;width:46px;height:46px;background:var(--paper);border:0;font-size:25px;color:var(--ink)}.project-card .meta,.article-card .meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px;gap:12px}.project-card h3{font-size:24px;margin:0 0 10px}.project-card p{font-size:14px;color:var(--muted)}.project-card a:hover h3{color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.portrait{height:580px;background:#ddd}.portrait img{object-position:50% 20%}.dark .muted,.dark p{color:#c1c1ba}.dark .label::before{background:#d68c8e}.dark .section-label:after{background:#52534f}.dark h2{line-height:1.14}.signature{padding-top:23px;border-top:1px solid #53544f;margin-top:32px}.signature strong{display:block;font-weight:500}.signature span{font-size:12px;color:#b7b7af}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step{border-top:1px solid var(--line);padding-top:20px}.step-num{color:var(--red);font-size:13px;display:block;margin-bottom:38px}.step h3{font-size:23px;line-height:1.2}.step p{font-size:14px;color:var(--muted)}.regionbox{background:var(--soft);display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:60px}.regionbox p{color:var(--muted)}.regionlinks{display:flex;flex-direction:column;justify-content:center}.regionlinks a{border-bottom:1px solid #c9c8bf;display:flex;justify-content:space-between;padding:17px 0;font-size:18px}.regionlinks a:hover{color:var(--red)}.article-card{display:block}.article-card .media{aspect-ratio:16/11;overflow:hidden}.article-card img{transition:transform .5s}.article-card:hover img{transform:scale(1.035)}.article-card h3{font-size:25px;line-height:1.2;letter-spacing:-.04em}.article-card p{font-size:14px;color:var(--muted)}.article-card .textlink{font-size:12px}.cta{background:var(--red);color:white;padding:70px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{margin:0 0 16px;font-size:clamp(35px,4.2vw,63px)}.cta p{color:#f0dfe0;max-width:650px;margin:0;font-size:15px}.footer{background:#20221f;color:#f1f0eb;padding:64px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}.footer .brand{margin-bottom:22px;gap:18px}.footer .brand img{width:64px;height:68px;padding:6px;background:var(--paper);border:1px solid #d8d7d0;flex-shrink:0}.footer p{color:#b1b2ab;font-size:13px;max-width:280px}.footer h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:8px 0 25px;color:#aeb0a6}.footer a:not(.brand){display:block;font-size:13px;margin-bottom:9px}.footer a:hover{color:#e1b5b6}.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid #44463f;display:flex;gap:22px;justify-content:space-between;color:#b1b2ab;font-size:11px}.footer-bottom button{border:0;background:none;color:inherit;padding:0;font-size:11px}.breadcrumb{font-size:11px;color:var(--muted);padding-top:28px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--red)}.page-intro{padding-top:54px;padding-bottom:62px;max-width:1000px}.page-intro h1{font-size:clamp(42px,5.5vw,78px);max-width:1020px}.page-intro p{max-width:690px;color:var(--muted);font-size:18px}.page-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding-top:48px;padding-bottom:72px;align-items:center}.page-hero h1{font-size:clamp(40px,4.3vw,65px)}.page-hero p{color:var(--muted);max-width:610px}.page-hero .photo{height:480px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.service-tile{display:grid;grid-template-columns:1fr 1fr;background:white;min-height:275px;overflow:hidden}.service-tile img{transition:transform .7s}.service-tile:hover img{transform:scale(1.04)}.service-tile>div{padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.service-tile h2{font-size:29px;margin:0 0 14px}.service-tile p{font-size:13px;color:var(--muted);margin:0}.service-tile .label{margin:0}.detail-layout{display:grid;grid-template-columns:245px 1fr;gap:7vw;align-items:start}.side-nav{position:sticky;top:126px}.side-nav .label{margin-bottom:22px}.side-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.side-nav a:hover{color:var(--red)}.side-nav .button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;margin-top:26px;border:0;text-align:left;color:white}.side-nav .button .arrow{font-size:20px}.detail-section{padding-bottom:60px;margin-bottom:60px;border-bottom:1px solid var(--line);scroll-margin-top:130px}.detail-section:last-child{border:0;margin-bottom:0}.detail-section h2{font-size:clamp(30px,3vw,43px)}.detail-section>p{max-width:770px;color:var(--muted)}.detail-items{display:grid;gap:22px;margin-top:32px}.detail-item{display:grid;grid-template-columns:40px 1fr;gap:20px}.detail-item>span{font-size:12px;color:var(--red);padding-top:4px}.detail-item h3{font-size:22px;margin:0 0 12px}.detail-item p{color:var(--muted);font-size:15px;max-width:690px;margin:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:30px 0}.facts>div{padding:20px;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts small{display:block;color:var(--muted);margin-bottom:7px}.facts strong{font-size:15px;font-weight:500}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;padding:22px 42px 22px 0;cursor:pointer;position:relative;font-size:17px;font-weight:500;line-height:1.45}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:16px;font-size:27px;font-weight:300;color:var(--red)}details[open] summary:after{content:'−'}details p{max-width:740px;font-size:15px;color:var(--muted);padding-right:30px;line-height:1.75}details[open]{padding-bottom:8px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.filter-search{margin-bottom:24px;max-width:450px}.filter-search input{width:100%;background:white;border:1px solid var(--line);padding:14px}.no-results{padding:30px 0;color:var(--muted)}[hidden]{display:none!important}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-gallery .project-card:first-child{grid-row:span 2}.project-gallery .project-card:first-child .media{aspect-ratio:3/4}.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:7vw;justify-content:center}.article-body h2{font-size:31px;line-height:1.25;scroll-margin-top:125px}.article-body p{color:#4e514b;line-height:1.9;font-size:17px}.article-body section{margin-bottom:45px}.article-cover{height:420px;margin-bottom:60px}.author{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.article-aside{position:sticky;top:128px;font-size:12px}.article-aside a{display:block;padding:10px 0;color:var(--muted)}.article-aside a:hover{color:var(--red)}.article-aside .textlink{color:var(--red);margin-top:20px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.contact-info h1{font-size:clamp(44px,5vw,72px)}.contact-info p{color:var(--muted)}.contact-info .person{display:flex;align-items:center;gap:22px;padding:28px 0;margin:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.person img{width:88px;height:100px}.person span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.contact-links a{display:block;margin-bottom:12px;font-size:20px}.contact-form{background:white;padding:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.field{display:block;font-size:12px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid var(--line);padding:13px;background:#fafaf7;border-radius:0;margin-top:7px;color:var(--ink);font-size:14px;min-width:0}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red)}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6}.check input{margin-top:4px}.check a{text-decoration:underline}.contact-form .button{width:100%;margin-top:24px}.form-note{font-size:11px;color:var(--muted);margin:16px 0 0}.notice{background:#eeece5;border-left:2px solid var(--red);padding:15px 18px;font-size:12px;color:#55574f;margin-bottom:24px}.form-status{margin-top:20px;font-size:14px;padding:18px;background:var(--paper)}.legal{max-width:850px}.legal h2{font-size:25px;margin-top:35px;letter-spacing:-.025em}.legal p,.legal li{color:var(--muted);font-size:15px}.legal dt{font-weight:600;margin-top:20px}.legal dd{margin-left:0;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:min(1000px,92vw);max-height:92vh}dialog::backdrop{background:rgba(20,22,20,.8)}.dialog-close{position:absolute;right:16px;top:16px;background:var(--paper);border:0;width:42px;height:42px;font-size:26px;z-index:2}.lightbox-img{max-height:76vh;width:auto;max-width:90vw;object-fit:contain;margin:auto}.dialog-caption{padding:18px 26px;font-size:13px}.cookie-panel{position:fixed;bottom:20px;left:20px;background:white;border:1px solid var(--line);padding:24px;z-index:150;max-width:450px;box-shadow:0 8px 40px #0002}.cookie-panel p{font-size:13px}.cookie-panel .actions{gap:10px}.cookie-panel .button{padding:12px;gap:10px}.consent-dialog{padding:35px;max-width:500px}.consent-dialog h2{font-size:30px}.mobile-actions{display:none}.reveal{animation:arrive .55s ease both}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.back-top{border-bottom:1px solid #777}.article-index-note{margin-top:32px;font-size:12px;color:var(--muted)}
@media(min-width:1700px){.home-hero{gap:80px}.hero-media{height:650px}.hero-copy h1{font-size:100px}}
@media(max-width:1100px){.nav{gap:18px}.nav>a{font-size:12px}.brand strong{font-size:16px}.home-hero{gap:35px;min-height:600px}.hero-media{height:520px}.hero-meta{gap:12px}.hero-meta span+span{padding-left:12px}.service-image{height:490px}.detail-layout{grid-template-columns:180px 1fr;gap:40px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.contact-layout{gap:40px}.service-tile{grid-template-columns:1fr}.service-tile>img{height:250px}.service-tile>div{min-height:230px}.article-layout{grid-template-columns:175px 1fr;gap:35px}}
@media(max-width:850px){.site-header{height:80px}.brand img{width:43px;height:48px}.brand strong{font-size:17px}.menu-button{display:block}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px var(--pad) 32px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #0001;align-items:stretch}.nav.open{display:flex;flex-direction:column;gap:10px}.nav>a{font-size:17px}.nav>.button{margin-top:12px}.home-hero{padding-top:25px;grid-template-columns:1fr 1fr;gap:24px;min-height:550px}.hero-copy h1{font-size:56px}.hero-copy .lead{font-size:15px}.hero-media{height:460px}.hero-meta{display:none}.hero-caption{padding:18px;gap:20px;min-width:0;font-size:11px}.hero-caption small{font-size:9px}.hero-copy .actions{gap:20px}.ticker .wrap{justify-content:flex-start;gap:16px 30px}.ticker{font-size:10px}.intro{grid-template-columns:1fr;gap:15px}.intro-side .line-icon{display:none}.section{padding-top:70px;padding-bottom:70px}.intro-side{margin-bottom:20px}.cards{gap:18px}.service-showcase{gap:30px}.service-rows h3{font-size:25px}.service-rows a{padding:24px 0;grid-template-columns:25px 1fr 20px;gap:8px}.service-rows p{font-size:12px}.service-image{height:500px}.section-head{align-items:flex-start;flex-direction:column;gap:22px}.split{gap:36px}.portrait{height:480px}.process{grid-template-columns:1fr 1fr}.regionbox{padding:35px;gap:30px}.page-hero{gap:30px}.page-hero .photo{height:400px}.page-hero h1{font-size:40px}.detail-layout{grid-template-columns:1fr}.side-nav{position:static;display:flex;gap:14px;flex-wrap:wrap}.side-nav .label{width:100%;margin:0}.side-nav a{padding:8px 0}.side-nav .button{display:none}.detail-section{scroll-margin-top:100px}.article-card h3{font-size:22px}.article-layout{grid-template-columns:1fr}.article-aside{position:static;border-bottom:1px solid var(--line);padding-bottom:25px}.article-aside a{display:inline-block;margin-right:20px;padding:5px 0}.contact-layout{grid-template-columns:1fr}.contact-info{max-width:620px}.contact-info .person{max-width:400px}.cta .wrap{align-items:flex-start;flex-direction:column;gap:30px}}
@media(max-width:600px){body{font-size:15px}.home-hero{grid-template-columns:1fr;padding-top:26px;padding-bottom:28px;gap:20px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(48px,13vw,67px);margin:20px 0}.hero-copy .label{font-size:9px;letter-spacing:.12em;margin-bottom:18px}.hero-copy .lead{font-size:15px;margin-bottom:25px;max-width:100%}.hero-copy .actions{gap:20px}.hero-media{height:390px}.hero-caption{padding:19px 22px;font-size:12px}.ticker{padding:20px 0}.ticker .wrap{gap:12px 20px;letter-spacing:.02em}.ticker span:before{margin-right:8px}.section{padding-top:55px;padding-bottom:55px}.section-label{font-size:10px;gap:15px;margin-bottom:28px}.section-label:after{margin-left:0}.intro h2{font-size:31px}.service-showcase{grid-template-columns:1fr}.service-image{height:300px;position:relative;top:auto;order:2}.service-rows a{padding:24px 0}.service-rows h3{font-size:27px}.service-rows p{font-size:13px}.cards{grid-template-columns:1fr;gap:36px}.project-card .media{aspect-ratio:4/4.5}.project-card h3{font-size:26px}.split{grid-template-columns:1fr;gap:32px}.portrait{height:420px}.split .portrait{order:2}.dark .split .portrait{order:0}.process{gap:26px 20px}.step h3{font-size:20px}.step p{font-size:13px}.step-num{margin-bottom:24px}.regionbox{grid-template-columns:1fr;padding:26px}.regionbox h2{font-size:31px}.regionlinks a{font-size:16px}.article-card .media{aspect-ratio:16/10}.article-card h3{font-size:27px}.cta{padding:55px 0}.footer{padding:48px 0 85px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:14px;margin-top:30px}.footer-bottom a{margin:0!important}.page-intro{padding-top:37px;padding-bottom:35px}.page-intro h1{font-size:43px}.page-intro p{font-size:16px}.page-hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px}.page-hero h1{font-size:43px}.page-hero .photo{height:330px}.service-grid{grid-template-columns:1fr;gap:24px}.service-tile{grid-template-columns:1fr}.service-tile>img{height:240px}.service-tile>div{padding:25px;min-height:220px}.detail-items{gap:28px}.detail-section{padding-bottom:40px;margin-bottom:40px}.facts{grid-template-columns:1fr}.facts>div{border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.project-gallery{grid-template-columns:1fr}.project-gallery .project-card:first-child{grid-row:auto}.project-gallery .project-card:first-child .media{aspect-ratio:4/4.5}.article-cover{height:280px;margin-bottom:40px}.article-body h2{font-size:28px}.article-body p{font-size:16px}.contact-form{padding:25px 20px}.form-grid{grid-template-columns:1fr;gap:19px}.field.full{grid-column:auto}.field input,.field select,.field textarea{font-size:16px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--paper);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;padding:8px var(--pad);gap:12px}.mobile-actions a{font-size:12px;display:flex;align-items:center;justify-content:center;min-height:43px}.mobile-actions .button{padding:10px 15px}.cookie-panel{left:12px;right:12px;bottom:75px;max-width:none;padding:20px}.contact-links a{font-size:19px}.label{font-size:10px}.filters{gap:8px}.chip{font-size:11px;padding:10px 13px}summary{font-size:16px}.breadcrumb{padding-top:20px}.service-image{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{header,footer,.mobile-actions,.cta,.cookie-panel,.side-nav,.article-aside{display:none!important}.section{padding:25px 0}.article-layout,.detail-layout{display:block}body{background:white}.wrap{padding:0}a{color:inherit}}

.detail-section .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.detail-section .step h3{font-size:22px}.detail-section .step-num{margin-bottom:24px}
@media(max-width:380px){.process{grid-template-columns:1fr}.detail-section .process{grid-template-columns:1fr}}
/* Reference details and contextual navigation */
.region-context{padding-bottom:45px}.region-context p{font-size:14px;color:var(--muted);max-width:850px}.region-context a{text-decoration:underline;text-underline-offset:4px}.region-context a:hover{color:var(--red)}.reference-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:start}.reference-images{display:grid;gap:22px}.reference-images figure{margin:0}.reference-images button{width:100%;border:0;padding:0;background:var(--soft);display:block;cursor:zoom-in}.reference-images img{height:auto;max-height:760px;object-fit:contain}.reference-copy{position:sticky;top:125px}.reference-copy section{margin-bottom:35px}.reference-copy h2{font-size:30px;line-height:1.2}.reference-copy p{font-size:16px;color:var(--muted)}.home-faq{padding-top:20px}.reference-images button:focus-visible{outline-offset:4px}
@media(max-width:850px){.reference-layout{grid-template-columns:1fr;gap:35px}.reference-copy{position:static}.reference-images{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.reference-images figure:first-child{grid-column:1/-1}.reference-images img{max-height:560px}.home-faq{padding-top:0}}
@media(max-width:600px){.reference-copy h2{font-size:26px}.reference-images img{max-height:none}.region-context{padding-bottom:32px}.home-faq .section-head{margin-bottom:24px}}

/* Editorial customer reviews, rendered as text without third-party scripts. */
.reviews-section{background:var(--soft)}.reviews-section .section-head{align-items:center}.reviews-section .section-head h2{max-width:680px}.review-score{flex-shrink:0;max-width:280px}.review-score strong{display:block;font-size:32px;line-height:1.2;font-weight:500;letter-spacing:-.04em;color:var(--red)}.review-score span,.review-score small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.review-score small{font-size:10px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.review-card{display:flex;flex-direction:column;background:var(--paper);margin:0;padding:32px;border-top:2px solid var(--red);min-width:0}.review-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;font-size:11px;color:var(--muted)}.review-stars{color:var(--red);letter-spacing:2px;white-space:nowrap}.review-card blockquote{margin:0 0 28px;flex:1}.review-card blockquote p{font-size:clamp(19px,1.7vw,25px);line-height:1.5;letter-spacing:-.025em;margin:0}.review-card figcaption{border-top:1px solid var(--line);padding-top:18px;font-size:12px}.review-card figcaption strong,.review-card figcaption span{display:block}.review-card figcaption strong{font-weight:600}.review-card figcaption span{color:var(--muted);margin-top:3px}.review-card figcaption a{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:4px}.review-card a:hover{color:var(--red)}.review-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:28px}.review-bottom p{margin:0;max-width:620px;font-size:12px;color:var(--muted)}.review-bottom .textlink{flex-shrink:0}.review-grid-single{grid-template-columns:1fr;max-width:880px}.review-grid-single blockquote p{max-width:780px}@media(max-width:850px){.reviews-section .section-head{align-items:flex-start}.review-bottom{flex-direction:column;align-items:flex-start;gap:20px}}@media(max-width:600px){.review-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:24px}.review-meta{flex-wrap:wrap;gap:8px}.review-card blockquote p{font-size:21px}}
/* Real project media: keep ceiling work in view when cropped. */
.article-cover img[src*="trockenbau-deckenmontage"],.article-card img[src*="trockenbau-deckenmontage"],.project-card img[src*="trockenbau-deckenmontage"]{object-position:50% 20%}
/* Shared vector arrows: identical on mobile and desktop, no emoji fallback. */
.icon-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.12em;color:inherit}.arrow{display:inline-flex;align-items:center;justify-content:center}.button .icon-arrow,.textlink .icon-arrow{width:20px;height:20px}.project-card [data-lightbox] .icon-arrow{width:22px;height:22px}
.mobile-actions a{gap:12px}.mobile-actions .icon-arrow{width:18px;height:18px}
