:root{--red:#b91945;--red-dark:#951238;--ink:#252b29;--muted:#606761;--paper:#f5f4f0;--line:#dddfd9;--white:#fff;--max:1200px;--radius:2px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;color:var(--ink);background:var(--white)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0}body.lightbox-open{overflow:hidden}img,svg{display:block;max-width:100%}img{height:auto}picture{display:block}svg{width:22px;height:22px;flex-shrink:0}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #175f8b;outline-offset:5px}::selection{background:#f1cbd7}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(2.1rem,4vw,3.65rem);font-weight:700;max-width:1000px}h2{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:700}h3{font-size:1.3rem;letter-spacing:-.02em}p+p{margin-top:1rem}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto;min-width:0}.section{padding-block:78px}.eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;color:var(--red);margin-bottom:17px}.lead{font-size:1.22rem;line-height:1.6;color:#4d5650}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:22px;justify-content:center;align-items:center;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-size:.91rem;font-weight:700;line-height:1.4;transition:background .18s,color .18s,transform .18s;max-width:100%}.button svg{width:19px;height:19px}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-dark)}.secondary{background:transparent;border-color:#929b93;color:var(--ink)}.secondary:hover{background:var(--paper)}.light{background:white;color:var(--red)}.light:hover{background:#f7e6ec}.text-button{padding-inline:0;gap:12px}.text-button:hover{color:var(--red)}.arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:.91rem;font-weight:700;line-height:1.5;text-decoration:none;min-height:44px}.arrow-link:hover{color:var(--red)}.arrow-link svg{width:20px}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 18px;background:#fff;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.topline{background:var(--paper);font-size:.74rem;color:#515a52}.topline .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px}.topline a{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;min-height:34px}.topline svg{width:13px;height:13px}.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:107px;gap:28px}.brand{display:block;flex:0 0 205px;line-height:0}.brand img{width:205px}.site-header nav{display:flex;gap:28px;align-items:center}.site-header ul{padding:0;margin:0;display:flex;gap:24px;align-items:center;list-style:none}.site-header li a{display:flex;align-items:center;min-height:46px;font-size:.79rem;text-decoration:none;line-height:1.4;position:relative}.site-header li a:after{content:'';height:2px;background:var(--red);position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header li a:hover:after,.site-header li a[aria-current]:after{transform:scaleX(1)}.site-header li a[aria-current]{color:var(--red)}.header-contact{min-height:45px;padding:12px 17px;gap:12px;font-size:.8rem}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:60px;padding-block:52px}.hero-copy{padding-block:30px 12px;align-self:center}.hero h1{font-size:clamp(2.5rem,4.25vw,3.7rem);letter-spacing:-.055em;line-height:1.08}.hero h1 span{color:var(--red)}.hero .lead{margin-top:26px;max-width:440px;font-size:1.24rem;line-height:1.6}.hero-copy>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:450px;font-size:.98rem;margin-top:16px}.hero .actions{margin-top:30px;gap:24px}.hero-proof{display:flex;align-items:center;gap:12px;font-size:.77rem;color:var(--muted);margin-top:32px;text-decoration:none;line-height:1.65;width:fit-content}.hero-proof strong{font-size:.82rem;font-weight:700;color:var(--ink);display:inline-flex;gap:8px;align-items:center}.hero-proof strong svg{width:16px;height:16px}.proof-mark{border:1px solid #ced3cb;border-radius:50%;padding:10px;color:var(--red)}.proof-mark svg{width:20px;height:20px}.hero-visual{position:relative;min-width:0;align-self:stretch;background:var(--paper)}.hero-visual>picture{height:100%}.hero-visual img{width:100%;height:100%;min-height:520px;max-height:565px;object-fit:cover;object-position:center 39%}.hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);padding:16px 22px;border:1px solid var(--line);border-top:none}.hero-visual figcaption>span{display:block;font-size:.66rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.hero-visual figcaption a{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;font-size:.88rem;font-weight:700;margin-top:2px}.hero-visual figcaption svg{width:18px;height:18px}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:25px;display:grid;grid-template-columns:repeat(3,1fr)}.facts>div{display:flex;gap:20px;align-items:center;padding-inline:32px;border-left:1px solid var(--line);min-width:0}.facts>div:first-child{padding-left:0;border:0}.facts>div:last-child{padding-right:0}.facts>div>svg{width:33px;height:33px;color:var(--red)}.facts span:not(.fact-number){font-size:.79rem;line-height:1.7;color:var(--muted)}.facts strong{font-size:.84rem;color:var(--ink);font-weight:600}.fact-number{font-size:2.7rem;color:var(--red);letter-spacing:-.06em;line-height:1}.section-head{display:flex;align-items:end;gap:60px;justify-content:space-between;margin-bottom:34px}.section-head>p{max-width:380px;color:var(--muted);font-size:.96rem}.section-head h2{max-width:720px}.section-head .eyebrow{margin-bottom:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card{min-width:0}.service-image{display:block;background:var(--paper);overflow:hidden}.service-image img{width:100%;aspect-ratio:1.65;object-fit:cover;transition:transform .4s}.service-image:hover img{transform:scale(1.025)}.service-title{display:flex;gap:14px;align-items:center;margin-top:22px;margin-bottom:14px}.service-title>span{font-size:.72rem;color:var(--red);font-weight:700}.service-card>p{color:var(--muted);font-size:.92rem;line-height:1.75;min-height:79px}.service-card .arrow-link{border-bottom:1px solid var(--line);margin-top:16px;width:100%;justify-content:space-between;padding-block:9px;font-size:.83rem}.about-section{background:var(--paper);padding-block:68px}.about-grid{display:grid;grid-template-columns:.82fr 1fr;gap:90px;align-items:center}.about-visual{position:relative;max-width:425px;margin-left:20px}.about-visual:before{content:'';position:absolute;inset:24px 20px -20px -20px;background:#e6e5df;z-index:0}.about-visual>picture{position:relative}.about-visual img{width:100%;max-height:420px;object-fit:cover;object-position:center top}.portrait-caption{position:absolute;bottom:18px;left:18px;background:white;padding:12px 20px;display:flex;flex-direction:column;line-height:1.7}.portrait-caption strong{font-size:.95rem}.portrait-caption span{font-size:.76rem;color:var(--muted)}.about-copy h2{margin-bottom:22px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:.96rem;max-width:540px}.about-copy .button{margin-top:26px}.project-teasers{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.project-teaser{display:block;text-decoration:none;min-width:0}.project-teaser img{height:245px;width:100%;object-fit:cover;background:var(--paper)}.project-teaser>div{position:relative;padding:20px 27px 0 0}.project-teaser .eyebrow{font-size:.65rem;margin-bottom:8px;color:var(--muted)}.project-teaser h3{font-size:1.12rem}.project-teaser>div>svg{position:absolute;right:0;top:37px;width:19px}.project-teaser:hover h3{color:var(--red)}.quote-section{border-top:1px solid var(--line);padding-block:66px}.quote-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.quote-layout h2{font-size:2.1rem}.quote-layout .arrow-link{margin-top:22px}.quote-layout blockquote{position:relative;padding-left:38px}.quote-layout blockquote>p{font-size:1.17rem;line-height:1.8}.quote-sign{font-family:Georgia,serif;font-size:5rem;line-height:1;color:var(--red);display:block;height:40px}.quote-layout .quote-sign{position:absolute;left:0;top:-28px}.quote-layout cite{display:block;margin-top:18px;font-style:normal;font-size:.73rem;color:var(--muted)}.contact-strip{background:var(--red);color:white;padding-block:42px}.contact-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-strip .eyebrow{color:#ffe1eb;margin-bottom:6px;font-size:.65rem}.contact-strip h2{font-size:2.1rem}.contact-strip p:not(.eyebrow){font-size:.9rem;margin-top:8px;color:#fff0f4}.contact-strip .button{flex-shrink:0}.site-footer{background:#f8f8f5;padding-top:48px}.footer-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:80px;padding-bottom:40px}.footer-brand img{width:200px;mix-blend-mode:multiply}.footer-brand p{margin-top:18px;color:var(--muted);font-size:.78rem}.site-footer h2{font-size:.84rem;letter-spacing:0;margin-bottom:20px}.site-footer address{font-style:normal;line-height:2;font-size:.81rem}.site-footer address a{overflow-wrap:anywhere}.footer-grid>div:last-child>a{display:block;text-decoration:none;font-size:.81rem;min-height:34px}.footer-grid a:hover{color:var(--red)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:20px;font-size:.69rem;color:var(--muted)}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:23px}.footer-bottom a{display:flex;align-items:center;min-height:28px;text-decoration:none}
.breadcrumbs{display:flex;gap:11px;align-items:center;flex-wrap:wrap;padding-top:26px;font-size:.74rem;line-height:1.7;color:var(--muted)}.breadcrumbs a{text-decoration:none;min-height:28px;display:flex;align-items:center}.breadcrumbs a:hover{color:var(--red)}.breadcrumbs span[aria-current]{color:var(--ink)}.page-intro{padding-block:36px 38px;max-width:930px}.page-intro h1{font-size:clamp(2rem,3.5vw,3.2rem)}.page-intro .lead{max-width:730px;margin-top:23px;font-size:1.12rem}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:30px;padding-bottom:65px}.service-detail>div{min-width:0}.service-detail>div>picture>img{width:100%;height:400px;object-fit:cover}.service-detail p:not(.eyebrow){color:var(--muted);margin-top:22px}.service-detail h2{font-size:2.25rem}.service-detail .button{margin-top:25px}.service-detail.reverse>div:first-child{order:2}.service-detail.reverse img{height:420px;object-position:center 38%}.network-section{background:var(--paper);padding-block:65px}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.network-grid p:not(.eyebrow){color:var(--muted);margin-top:20px;max-width:440px}.trade-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-content:start}.trade-list li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #d4d8d0;min-height:58px;font-size:.96rem}.trade-list svg{color:var(--red);width:18px}.project-navigation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:22px}.project-navigation .eyebrow{margin-bottom:10px}.project-navigation nav{display:flex;gap:7px 21px;flex-wrap:wrap}.project-navigation a{font-size:.78rem;min-height:32px;display:flex;align-items:center;text-decoration:none}.project-navigation a:hover{color:var(--red)}.gallery-section{padding-top:55px}.gallery-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:24px}.gallery-heading>span{font-size:.8rem;font-weight:700;color:var(--red)}.gallery-heading h2{font-size:1.7rem}.gallery-heading>p{margin-left:auto;font-size:.75rem;color:var(--muted);white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo{display:block;position:relative;min-width:0;overflow:hidden;background:var(--paper)}.photo img{width:100%;height:210px;object-fit:cover;transition:transform .25s}.photo:hover img{transform:scale(1.025)}.photo-zoom{position:absolute;bottom:10px;right:10px;color:var(--ink);background:#ffffffeb;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.photo-zoom svg{width:18px;height:18px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.archive-grid>a{display:block;text-decoration:none;min-width:0;border-bottom:1px solid var(--line)}.archive-grid img{width:100%;height:210px;object-fit:cover}.archive-grid span{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.92rem;font-weight:700;padding-block:17px;line-height:1.5}.archive-grid a:hover{color:var(--red)}.post-content{padding-bottom:60px}.post-image{margin-bottom:32px;max-width:1000px}.post-image img{max-height:730px;width:auto;object-fit:contain}.post-content>.lead{max-width:700px}.post-navigation{display:flex;justify-content:space-between;gap:30px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.reviews{padding-block:48px 65px}.review-grid{columns:3;column-gap:36px}.review-grid blockquote{break-inside:avoid;margin-bottom:30px;border-top:1px solid var(--line);padding-top:8px}.review-grid p{font-size:.93rem;line-height:1.8}.review-grid .quote-sign{font-size:3.5rem;height:40px}.contact-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:80px;padding-block:12px 65px;align-items:start}.contact-details h2{font-size:1.65rem;margin-bottom:24px}.contact-person{display:flex;align-items:center;gap:18px;margin-bottom:28px}.contact-person img{width:75px;height:89px;object-fit:cover;object-position:top}.contact-person strong,.contact-person span{display:block}.contact-person strong{font-size:1rem}.contact-person span{font-size:.79rem;color:var(--muted)}.contact-row{display:flex;align-items:center;gap:15px;padding-block:20px;border-top:1px solid var(--line);text-decoration:none;min-width:0}.contact-row>svg:first-child{color:var(--red);width:23px}.contact-row>svg:last-child:not(:first-child){width:18px;margin-left:auto}.contact-row>span{min-width:0}.contact-row small{display:block;color:var(--muted);font-size:.75rem}.contact-row strong{font-weight:600;font-size:.99rem;overflow-wrap:anywhere}.contact-row:hover{color:var(--red)}.contact-details>.arrow-link{font-size:.81rem;margin-top:6px}.form-panel{background:var(--paper);border-top:3px solid var(--red);padding:32px}.form-panel h2{font-size:1.9rem}.form-panel .eyebrow{font-size:.65rem;margin-bottom:10px}.form-note{font-size:.76rem;color:var(--muted);margin-top:12px;margin-bottom:25px}.field{margin-bottom:20px;min-width:0}.field label{display:block;font-size:.83rem;font-weight:700;margin-bottom:6px}.field label span{font-weight:400;color:var(--muted)}input,textarea{width:100%;padding:11px 13px;background:white;border:1px solid #929b93;border-radius:1px;color:var(--ink);min-height:47px;font-size:1rem}textarea{resize:vertical;min-height:150px;display:block}.form-row{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.privacy-note{font-size:.76rem;color:var(--muted);line-height:1.7;margin-bottom:22px}.privacy-note a{font-weight:700}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.field-error{display:block;font-size:.78rem;color:#8f1230;margin-top:5px}[aria-invalid=true]{border:2px solid #a21537}.error-summary,.form-success{border:1px solid #a21537;background:#fff3f6;padding:18px;margin-bottom:25px;scroll-margin-top:150px}.error-summary h3,.form-success h3{font-size:1rem;letter-spacing:0}.error-summary ul{padding-left:18px;font-size:.83rem}.form-success{border-color:#55745d;background:#eff7f0}.form-success p{font-size:.9rem;margin-top:10px}.old-comments{padding-bottom:50px;font-size:.85rem}.old-comments summary{cursor:pointer;min-height:44px;padding:10px 0}.old-comments article{padding-block:15px;border-top:1px solid var(--line)}.old-comments h3{font-size:.85rem;letter-spacing:0;margin-bottom:9px}.legal{max-width:830px;margin-left:max(40px,calc((100% - var(--max))/2));padding-bottom:70px;overflow-wrap:anywhere}.prose{font-size:.95rem;line-height:1.85}.prose h2{font-size:1.55rem;margin-block:30px 15px}.prose h3{font-size:1.15rem;margin-block:26px 12px;letter-spacing:0}.prose ul{padding-left:23px}.prose p{margin-block:16px}.legal strong{font-weight:700}.legal .entry-content{display:block}
.lightbox{border:0;padding:14px 20px;background:#171c19;color:white;max-width:min(1200px,96vw);width:fit-content;max-height:94dvh;overflow:auto}.lightbox:not([open]){display:none}.lightbox::backdrop{background:#101712ed}.lightbox-bar,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.lightbox-bar p{font-size:.85rem;max-width:850px}.lightbox-image{display:block;max-width:90vw;max-height:72dvh;object-fit:contain;margin:12px auto}.icon-button{background:transparent;border:1px solid #5d635e;color:white;width:44px;height:44px;display:flex;justify-content:center;align-items:center;font-size:1.4rem;flex-shrink:0}.icon-button:hover{background:#333d35}.image-counter{font-size:.8rem}.lightbox-bottom{max-width:400px;margin-inline:auto}
@media(min-width:1600px){:root{--max:1280px}.hero{gap:90px}.hero h1{font-size:3.85rem}.hero-visual img{max-height:600px;min-height:560px}.header-inner{min-height:112px}.hero-copy>p:not(.eyebrow):not(.lead){max-width:470px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-inner{min-height:90px}.brand{flex-basis:170px}.brand img{width:170px}.menu-toggle{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:10px 14px;min-height:46px;font-size:.8rem;font-weight:700}.menu-lines{position:relative;width:21px;height:14px;border-block:1.5px solid currentColor}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:1.5px solid currentColor}.js .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px 25px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 16px #1825170a;max-height:calc(100dvh - 95px);overflow:auto}.js .menu-open .site-header nav{display:block}.site-header ul{display:block}.site-header li a{font-size:.97rem;min-height:51px;border-bottom:1px solid var(--line)}.site-header li a:after{display:none}.site-header .header-contact{margin-top:20px;width:100%;justify-content:space-between}.menu-open .menu-lines{border:0}.menu-open .menu-lines:after,.menu-open .menu-lines:before{content:'';position:absolute;top:6px;left:0;width:22px;border-top:1.5px solid currentColor;transform:rotate(45deg)}.menu-open .menu-lines:after{transform:rotate(-45deg)}html:not(.js) .header-inner{flex-wrap:wrap;padding-block:12px}html:not(.js) .site-header nav{width:100%;padding-block:15px;display:block}html:not(.js) .site-header{position:relative}html:not(.js) .menu-toggle{display:none}.hero{gap:35px;padding-block:38px}.hero h1{font-size:2.75rem}.hero-copy{padding:12px 0}.hero .lead{font-size:1.1rem}.hero .actions{gap:15px}.hero .button{padding-inline:17px;font-size:.8rem}.hero .text-button{padding-inline:0}.hero-visual img{min-height:520px}.facts>div{padding-inline:20px;gap:15px}.fact-number{font-size:2.25rem}.facts strong{font-size:.77rem}.facts span:not(.fact-number){font-size:.73rem}.about-grid{gap:55px}.quote-layout{gap:45px}.contact-layout{gap:35px}.form-panel{padding:25px}.form-row{grid-template-columns:1fr}.footer-grid{gap:35px}.service-detail{gap:50px}.photo-grid{grid-template-columns:repeat(3,1fr)}.trade-list{grid-template-columns:1fr}.network-grid{gap:50px}.legal{margin-left:28px}}
@media(max-width:800px){.hero{gap:28px}.hero h1{font-size:2.35rem}.hero-copy>p:not(.eyebrow):not(.lead){font-size:.87rem}.hero .lead{font-size:1.03rem}.hero .actions{display:block}.hero .text-button{margin-top:10px;display:flex;justify-content:start;min-height:40px}.hero-visual img{min-height:510px;max-height:570px}.hero-proof{margin-top:20px}.hero-visual figcaption{padding:14px}.hero-visual figcaption a{font-size:.77rem}.facts>div{gap:12px;padding-inline:15px}.facts>div>svg{width:25px}.facts span:not(.fact-number){font-size:.66rem}.facts strong{font-size:.72rem}.fact-number{font-size:1.9rem}.section{padding-block:55px}.section-head{gap:30px;align-items:start}.section-head>p{max-width:280px;font-size:.85rem}.service-grid{gap:21px}.service-title{gap:9px}.service-title h3{font-size:1.12rem}.service-card>p{font-size:.83rem}.service-card .arrow-link{font-size:.73rem;gap:5px}.about-grid{gap:40px}.about-copy h2{font-size:1.9rem}.about-copy>p:not(.eyebrow){font-size:.85rem}.about-visual{margin-left:12px}.about-visual img{min-height:340px;object-position:60% 0}.project-teasers{gap:18px;grid-template-columns:repeat(3,1fr)}.project-teaser img{height:190px}.project-teaser h3{font-size:1rem}.quote-layout h2{font-size:1.8rem}.quote-layout blockquote>p{font-size:1rem}.quote-layout{gap:28px}.contact-strip p:not(.eyebrow){max-width:360px}.contact-strip .button{max-width:240px;font-size:.79rem}.footer-grid{gap:25px;grid-template-columns:1fr 1.1fr}.footer-grid>div:last-child{grid-column:2}.footer-brand{grid-row:span 2}.footer-brand img{width:180px}.footer-bottom{align-items:start}.footer-bottom>div{gap:8px 18px}.service-detail{gap:35px}.service-detail h2{font-size:1.9rem}.service-detail p:not(.eyebrow){font-size:.92rem}.service-detail>div>picture>img{height:400px}.review-grid{columns:2}.contact-layout{grid-template-columns:1fr 1.2fr;gap:25px}.contact-details h2{font-size:1.4rem}.contact-row{gap:10px}.contact-row>svg:last-child:not(:first-child){display:none}.contact-row strong{font-size:.89rem}.contact-row>svg{width:20px}.contact-person{gap:12px}.contact-person img{width:55px;height:75px}.contact-person span{font-size:.7rem}.form-panel{padding:23px}.form-panel h2{font-size:1.6rem}.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){html{scroll-padding-top:110px}.wrap{width:calc(100% - 40px)}.topline .wrap{justify-content:center}.topline .wrap>span{font-size:.65rem}.topline a{display:none}.header-inner{min-height:82px;gap:15px}.brand{flex-basis:155px}.brand img{width:155px}.menu-toggle{padding:9px 12px;gap:10px;font-size:.75rem}.js .site-header nav{padding-inline:20px}.hero{grid-template-columns:1fr;gap:28px;padding-block:32px 28px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.25rem,9.2vw,3.35rem)}.hero .eyebrow{margin-bottom:16px;font-size:.68rem}.hero .lead{font-size:1.12rem;margin-top:21px;max-width:470px}.hero-copy>p:not(.eyebrow):not(.lead){font-size:.91rem;max-width:440px}.hero .actions{display:flex;margin-top:24px;gap:12px 23px}.hero .button{font-size:.84rem;padding-inline:19px}.hero .text-button{padding-inline:0;margin-top:0}.hero-proof{margin-top:23px;font-size:.74rem}.hero-proof strong{font-size:.78rem}.hero-visual img{min-height:0;height:375px;max-height:none;object-position:center 43%}.hero-visual figcaption{padding:13px 16px}.hero-visual figcaption a{font-size:.83rem}.hero-visual figcaption>span{font-size:.61rem}.facts{grid-template-columns:1fr;padding-block:5px}.facts>div,.facts>div:first-child,.facts>div:last-child{padding:17px 0;border:0;border-top:1px solid var(--line);gap:18px}.facts>div:first-child{border-top:0}.facts>div>svg{width:33px;height:33px;margin-inline:15px}.facts span:not(.fact-number){font-size:.78rem}.facts strong{font-size:.82rem}.fact-number{font-size:2rem;width:63px;flex-shrink:0}.section{padding-block:45px}.section-head{display:block;margin-bottom:26px}.section-head>p{max-width:480px;margin-top:17px;font-size:.91rem}.section-head .arrow-link{margin-top:15px;font-size:.85rem}.eyebrow{font-size:.67rem;margin-bottom:12px}h2{font-size:1.9rem}.service-grid{grid-template-columns:1fr;gap:32px}.service-image img{aspect-ratio:1.9}.service-title{margin-top:18px;margin-bottom:10px;gap:13px}.service-title h3{font-size:1.35rem}.service-card>p{font-size:.91rem;min-height:0}.service-card .arrow-link{font-size:.83rem;margin-top:10px}.about-section{padding-block:40px}.about-grid{grid-template-columns:1fr;gap:46px}.about-visual{max-width:350px;width:calc(100% - 20px);margin-left:20px}.about-visual img{max-height:355px;min-height:0;object-position:top}.about-copy h2{font-size:1.9rem;margin-bottom:18px}.about-copy>p:not(.eyebrow){font-size:.92rem}.about-copy .button{font-size:.85rem}.project-teasers{grid-template-columns:1fr;gap:30px}.project-teaser img{height:auto;aspect-ratio:1.65}.project-teaser h3{font-size:1.17rem}.project-teaser>div{padding-top:15px}.project-teaser>div>svg{top:30px}.quote-section{padding-block:40px}.quote-layout{grid-template-columns:1fr;gap:32px}.quote-layout h2{font-size:1.9rem}.quote-layout .arrow-link{margin-top:13px}.quote-layout blockquote{padding-left:27px}.quote-layout blockquote>p{font-size:1.03rem}.quote-layout .quote-sign{top:-24px}.contact-strip{padding-block:35px}.contact-strip .wrap{display:block}.contact-strip h2{font-size:1.9rem}.contact-strip .button{max-width:none;margin-top:23px;font-size:.82rem}.site-footer{padding-top:35px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:28px}.footer-brand{grid-row:auto}.footer-grid>div:last-child{grid-column:auto}.footer-brand img{width:190px}.site-footer h2{margin-bottom:12px}.footer-brand p{margin-top:14px}.footer-bottom{display:block;font-size:.67rem;padding-block:17px}.footer-bottom>div{margin-top:10px;gap:8px 19px}.footer-bottom a{min-height:38px}.breadcrumbs{padding-top:20px;font-size:.68rem;gap:8px}.page-intro{padding-block:25px 30px}.page-intro h1{font-size:clamp(1.9rem,7.3vw,2.7rem)}.page-intro .lead{font-size:1rem;margin-top:19px}.service-detail{grid-template-columns:1fr;gap:26px;padding-block:10px 45px}.service-detail>div>picture>img{height:auto;max-height:360px;aspect-ratio:1.6}.service-detail.reverse>div:first-child{order:0}.service-detail.reverse>div>picture>img{aspect-ratio:1.35;object-position:center 40%}.service-detail h2{font-size:1.9rem}.service-detail p:not(.eyebrow){margin-top:17px;font-size:.92rem}.service-detail .button{font-size:.83rem}.network-section{padding-block:40px}.network-grid{grid-template-columns:1fr;gap:20px}.trade-list{grid-template-columns:1fr 1fr;gap:0 15px}.trade-list li{font-size:.81rem;gap:8px;min-height:53px}.trade-list svg{width:16px}.network-grid p:not(.eyebrow){font-size:.92rem}.project-navigation{padding-block:17px}.project-navigation nav{gap:4px 17px}.project-navigation a{font-size:.74rem}.gallery-section{padding-top:35px}.gallery-heading{gap:9px;flex-wrap:wrap;margin-bottom:18px}.gallery-heading h2{font-size:1.35rem;flex:1;min-width:0}.gallery-heading>p{font-size:.66rem}.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px}.photo img{height:175px}.photo-zoom{bottom:7px;right:7px;width:27px;height:27px}.archive-grid{gap:25px 16px}.archive-grid img{height:150px}.archive-grid span{font-size:.81rem;gap:7px;padding-block:12px}.archive-grid svg{width:17px}.post-image img{width:100%;max-height:none}.post-content{padding-bottom:40px}.post-navigation{flex-wrap:wrap;gap:12px}.post-navigation a{font-size:.83rem}.reviews{padding-block:35px 40px}.review-grid{columns:1}.review-grid blockquote{margin-bottom:22px;padding-top:4px}.review-grid p{font-size:.92rem}.contact-layout{grid-template-columns:1fr;gap:36px;padding-block:0 40px}.contact-details h2{font-size:1.65rem}.contact-person img{width:70px;height:85px}.contact-person span{font-size:.78rem}.contact-person{gap:17px;margin-bottom:20px}.contact-row{padding-block:17px;gap:15px}.contact-row strong{font-size:.99rem}.contact-row>svg{width:24px}.contact-row>svg:last-child:not(:first-child){display:block}.form-panel{padding:25px 20px}.form-panel h2{font-size:1.8rem}.form-panel .eyebrow{font-size:.62rem}.form-row{grid-template-columns:1fr;gap:0}.form-panel .button{width:100%;justify-content:space-between;font-size:.86rem}.privacy-note{font-size:.74rem}.legal{margin-left:auto;max-width:none;padding-bottom:40px;font-size:.89rem}.legal h2{font-size:1.4rem}.legal h3{font-size:1.1rem}.lightbox{padding:10px;max-width:96vw}.lightbox-image{max-width:89vw;max-height:70dvh}.lightbox-bar{gap:12px}.lightbox-bar p{font-size:.75rem}.lightbox .icon-button{width:40px;height:40px}.old-comments{padding-bottom:35px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero .actions{gap:8px 18px}.hero .button{font-size:.8rem;padding-inline:16px}.hero .text-button{padding-inline:0}.hero h1{font-size:2.18rem}.hero-visual img{height:330px}.trade-list{grid-template-columns:1fr}.photo img{height:145px}.gallery-heading>p{width:100%;margin-left:26px}.contact-row strong{font-size:.9rem}.form-panel{padding-inline:16px}.brand{flex-basis:145px}.brand img{width:145px}.menu-toggle{padding-inline:10px}.archive-grid{grid-template-columns:1fr}.archive-grid img{height:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.topline,.site-header,.contact-strip,.site-footer,.actions,.project-navigation,.photo-zoom,.menu-toggle,.lightbox{display:none!important}.wrap{width:100%;max-width:none}.hero,.contact-layout{display:block}.hero-visual{max-width:320px}.hero h1{font-size:30pt}.page-intro h1{font-size:24pt}.section{padding-block:20px}.form-panel{display:none}.photo img{height:130px}a{text-decoration:none}body{font-size:11pt}.legal{margin:0}.about-section,.quote-section{background:none}h1,h2,h3{break-after:avoid}.gallery-section{break-inside:avoid}}
/* Reflow bei vergrößerter Schrift, einschließlich langer deutscher Begriffe. */
h1,h2,h3{overflow-wrap:anywhere}.hero-copy,.about-copy,.section-head>*,.quote-layout>*,.hero-proof>span,.menu-label{min-width:0}.menu-label{overflow-wrap:anywhere}
@media(max-width:680px){.menu-toggle{max-width:calc(100% - 165px)}.header-inner{padding-block:8px}}
@media(max-width:680px){.header-inner{flex-wrap:wrap}.menu-toggle{max-width:none;flex:0 0 auto}.menu-label{white-space:nowrap;overflow-wrap:normal}.hero h1{hyphens:auto}}
.review-grid .quote-sign{font-size:2.5rem;line-height:.7;height:35px;margin-bottom:14px}
