/* SBR / editorial register. Breakpoints: 1100px, 760px, 480px. */
:root{--paper:#f7f7f3;--surface:#eeeee7;--ink:#292d2c;--muted:#666a65;--line:#c9ccc3;--blue:#005da8;--white:#fff;--font:'IBM Plex Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--body:clamp(1rem,.9rem + .18vw,1.125rem);--h1:clamp(2rem,2.4vw + .5rem,3.5rem);--h2:clamp(1.65rem,1.4vw + .5rem,2.25rem);--gutter:clamp(22px,3.5vw,72px);--container:1720px;--gap:clamp(24px,3vw,64px);--space-sm:24px;--space-md:48px;--space-lg:clamp(64px,7vw,128px);--space-xl:clamp(96px,11vw,200px);--border:1px solid var(--line);--radius:0;--shadow:none;--z-nav:20;--z-dialog:100;--duration:180ms;--ease:cubic-bezier(.2,.7,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.55 var(--font);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}::selection{background:#c7ddea;color:#182f40}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1em}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:1.45rem}strong{font-weight:500}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--blue)}a,button{transition:color var(--duration),background-color var(--duration),text-decoration-color var(--duration)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:5px}address{font-style:normal}ul{padding-left:1.2em}.container{width:calc(100% - var(--gutter)*2);max-width:var(--container);margin-inline:auto}.small,figcaption{font-size:.8rem;line-height:1.55;color:var(--muted)}.text-link{display:inline-block;margin-top:24px}.skip{position:absolute;z-index:101;top:-100px;left:20px;background:var(--white);padding:16px}.skip:focus{top:10px}
/* Header remains part of the composition. */
.site-header{background:var(--paper);position:relative;z-index:var(--z-nav)}.header-inner{min-height:116px;margin-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{width:210px;flex:none}.brand img{mix-blend-mode:multiply}.header-inner nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,52px)}.header-inner nav a{text-decoration:none;position:relative;padding-block:12px}.header-inner nav a:after{content:'';position:absolute;left:0;bottom:7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration) var(--ease)}.header-inner nav a:hover:after,.header-inner nav a[aria-current]:after{transform:scaleX(1)}.header-phone{margin-left:clamp(14px,4vw,72px);font-variant-numeric:tabular-nums;color:var(--blue)}.menu-toggle{display:none;background:none;border:0;padding:12px 0 12px 20px}
/* Cover: typeset margin, unretouched workshop photograph. */
.cover{display:grid;grid-template-columns:27% 1fr;gap:var(--gap);margin-left:var(--gutter);margin-right:var(--gutter)}.cover-index{display:flex;flex-direction:column;padding-top:28px;min-width:0}.cover h1{font-size:clamp(30px,2.55vw,49px);line-height:1.12;letter-spacing:-.04em}.cover-services{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:clamp(45px,6vw,104px)}.cover-services a{font-size:clamp(16px,1.35vw,23px);text-decoration:none;line-height:1.35}.cover-services a:hover{text-decoration:underline}.cover-place{margin-top:auto;padding-block:64px 40px}.cover-place>p:first-child{font-size:22px}.cover-place p+p{margin-top:2px}.cover-photo img{height:clamp(540px,calc(100svh - 180px),870px);object-fit:cover;object-position:50% 48%}.cover-photo figcaption{padding-top:10px}.project{min-width:0}.photo-open{display:block;cursor:zoom-in}.project figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:0;line-height:1.6}.cover-photo figcaption{margin-top:0}.photo-open:focus-visible{outline-offset:7px}
.selected-work{padding-top:var(--space-xl)}.work-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:48px;gap:24px}.work-heading p{font-size:.875rem;color:var(--muted)}.conveyor-work{display:grid;grid-template-columns:9fr 2.4fr;gap:var(--gap);align-items:end}.conveyor-work .work-note{padding-bottom:24px}.work-note h3{margin-bottom:24px}.work-note p{font-size:1rem}.work-note .text-link{font-size:.875rem}.conveyor-work img{aspect-ratio:1000/563;object-fit:cover}.page-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--gap);padding-block:80px 88px;align-items:end}.page-intro p{max-width:560px}.page-intro h1{max-width:750px}
/* Closing imprint. */
.site-footer{margin-top:var(--space-xl);background:var(--surface);padding-top:var(--space-lg)}.footer-main{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.footer-name{font-size:clamp(38px,5vw,86px);line-height:1.02;letter-spacing:-.045em}.footer-contact>a{display:block;width:fit-content;font-size:clamp(18px,1.6vw,28px);text-decoration:none}.footer-contact>a:hover{text-decoration:underline}.footer-contact address{margin-top:28px}.footer-contact .small{margin-top:8px}.footer-location{grid-column:2;width:fit-content;font-size:.9rem}.footer-bottom{margin-top:var(--space-lg);padding-block:26px;display:flex;align-items:baseline;gap:28px;font-size:12px;border-top:var(--border)}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:10px 20px;margin-left:auto}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
/* Native dialog retains keyboard and touch navigation. */
.lightbox{border:0;background:var(--paper);color:var(--ink);padding:24px;width:min(1400px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;z-index:var(--z-dialog)}.lightbox::backdrop{background:rgb(25 28 27 / .87)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;font:12px var(--mono);height:44px}.lightbox button{border:0;background:transparent;min-width:48px;min-height:48px}.lightbox button:hover{background:var(--surface)}.lightbox-stage{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;height:calc(100% - 92px);gap:12px}.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-stage button{font-size:30px}.lightbox #lightbox-caption{font-size:13px;margin-top:16px;text-align:center}.lightbox-open{overflow:hidden}
/* Homepage project spreads: composed for the actual photographs. */
.stairs-work{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:56px;margin-top:var(--space-xl);align-items:start}.stairs-caption{grid-column:1/6;grid-row:1;padding-top:28px}.stairs-caption p{margin-top:24px}.stairs-caption .text-link{font-size:.875rem}.stairs-overview{grid-column:8/13;grid-row:1/3}.stairs-detail{grid-column:2/6;grid-row:2;margin-top:0}.stairs-work img{aspect-ratio:3/4;object-fit:cover}.interior-work{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:64px;align-items:start;margin-top:var(--space-xl)}.interior-large{grid-column:1/7;grid-row:1/3}.interior-text{grid-column:9/13;margin-top:60px}.interior-text p{margin-top:24px}.interior-text .text-link{font-size:.875rem}.interior-small{grid-column:9/13;align-self:end}.interior-large img{aspect-ratio:3/4;object-fit:cover}.interior-small img{aspect-ratio:1.25;object-fit:cover}.archive-link{display:flex;justify-content:flex-end;margin-top:48px}.archive-link a{font-size:1.1rem}.home-company{margin-top:var(--space-xl);padding-block:var(--space-lg);background:var(--surface)}.company-register{display:grid;grid-template-columns:3fr 3fr 5fr;gap:var(--gap);align-items:start}.company-year span{font-size:14px}.company-year>p{font-size:clamp(65px,7vw,110px);line-height:1;letter-spacing:-.065em;margin-top:10px}.company-story>p{max-width:580px}.training-note{margin-top:60px;max-width:480px}.training-note h3{font-size:1.15rem}.training-note p{font-size:.9rem;margin-top:16px}.training-note a{font-size:.875rem}.home-documents{display:grid;grid-template-columns:4fr 7fr;gap:var(--gap);padding-top:var(--space-xl)}.home-documents header>p{font-size:14px;margin-top:24px}.home-documents header>a{font-size:14px;max-width:250px}
/* Document register. */
.document{display:grid;grid-template-columns:1fr 3fr;gap:12px 28px;padding-block:28px;border-top:var(--border);text-decoration:none}.document:last-child{border-bottom:var(--border)}.document strong{display:block;font-size:20px;font-weight:400;line-height:1.25}.document small{display:block;margin-top:12px;font-size:13px;line-height:1.6;color:var(--muted)}.doc-type{font:11px/1.5 var(--mono);padding-top:4px}.doc-action{grid-column:2;font-size:12px;text-decoration:underline;text-underline-offset:5px}.document:hover .doc-action{text-decoration-thickness:2px}.funding{margin-top:var(--space-xl);display:grid;grid-template-columns:4fr 7fr;column-gap:var(--gap);row-gap:40px;border-top:var(--border);padding-top:48px}.funding-title p{font-size:13px;color:var(--muted);margin-top:20px}.funding-copy h3{font-size:24px;margin-bottom:32px}.funding-copy>p{max-width:660px;font-size:16px}.funding-copy .text-link{font-size:14px;margin-right:24px}.funding-logos{grid-column:1;grid-row:2;display:flex;align-items:center;gap:28px;flex-wrap:wrap;align-self:end}.funding-logos img:first-child{width:134px}.funding-logos img:last-child{width:130px}.funding-copy{grid-column:2;grid-row:1/3}.foerderung .funding{margin-top:0}
/* Services index and three different opening compositions. */
.service-index article{display:grid;grid-template-columns:5fr 5fr 1fr;align-items:baseline;gap:var(--gap);padding-block:40px;border-top:var(--border)}.service-index article:last-child{border-bottom:var(--border)}.service-index h2{font-size:clamp(24px,2.2vw,36px)}.service-index h2 a{text-decoration:none}.service-index h2 a:hover{text-decoration:underline}.service-index p{font-size:16px;max-width:560px}.index-open{font-size:13px;text-align:right}.services-photo{display:grid;grid-template-columns:6fr 4fr;gap:var(--gap);margin-top:var(--space-lg);align-items:end}.services-photo .project{max-width:700px;margin-left:15%}.services-photo>p{font-size:14px;color:var(--muted);margin-bottom:28px}.services-photo img{max-height:760px;object-fit:cover}.machine-opening{display:grid;grid-template-columns:8fr 3fr;gap:var(--gap);align-items:end}.service-summary h2{font-size:22px}.service-summary ul,.steel-opening ul{list-style:none;padding:0;margin-block:24px}.service-summary li,.steel-opening li{padding-block:4px}.service-summary a{font-size:14px}.steel-opening{display:grid;grid-template-columns:3fr 4fr 4fr;gap:var(--gap);align-items:start}.steel-opening h2{font-size:24px}.steel-opening .steel-primary{margin-top:0}.steel-opening .steel-secondary{margin-top:150px}.steel-opening .text-link{font-size:14px}.metal-opening{display:grid;grid-template-columns:5fr 3fr 3fr;gap:var(--gap);align-items:end}.metal-opening>.project:nth-child(2){align-self:start;margin-top:100px}.metal-opening .service-summary{padding-bottom:28px}.metal-opening img{object-fit:cover}.service-gallery{margin-top:var(--space-xl)}.service-gallery>h2{margin-bottom:56px}.related{margin-top:var(--space-lg);padding-top:32px;border-top:var(--border);display:flex;gap:24px 60px;flex-wrap:wrap;align-items:baseline}.related span{font-size:13px;color:var(--muted);margin-right:auto}.related a{margin:0}
/* Spacious archive; intrinsic image ratios retained. No masonry, no overlay UI. */
.editorial-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-lg) var(--gap);align-items:start}.editorial-gallery>.project:nth-child(5n+1){grid-column:1/10}.editorial-gallery>.project:nth-child(5n+2){grid-column:2/6}.editorial-gallery>.project:nth-child(5n+3){grid-column:8/13;margin-top:100px}.editorial-gallery>.project:nth-child(5n+4){grid-column:1/7}.editorial-gallery>.project:nth-child(5n+5){grid-column:9/13;margin-top:100px}.editorial-gallery img{max-height:850px;object-fit:contain;object-position:left bottom}.gallery-filters{display:flex;gap:12px 32px;flex-wrap:wrap;border-bottom:var(--border);padding-bottom:12px}.gallery-filters button{border:0;background:none;padding:14px 0;font-size:15px;position:relative}.gallery-filters button[aria-pressed=true]{color:var(--blue);text-decoration:underline;text-underline-offset:10px}.gallery-filters button:hover{text-decoration:underline;text-underline-offset:10px}.gallery-count{font:12px var(--mono);color:var(--muted);margin-block:24px 64px}.portfolio.filtered>.project{grid-column:2/11;margin-top:0}.portfolio.filtered>.project:nth-of-type(even){grid-column:5/13}
/* Company chronicle and supporting pages. */
.company-opening{display:grid;grid-template-columns:4fr 6fr;gap:var(--gap);align-items:end}.company-opening>div{padding-bottom:30px}.company-since{font-size:clamp(45px,5.5vw,90px);line-height:1.1;letter-spacing:-.055em;margin-bottom:45px}.company-opening>div>p:last-child{max-width:360px}.company-opening .project{max-width:680px;justify-self:end}.company-opening img{aspect-ratio:1;object-fit:cover}.history{margin-top:var(--space-xl)}.history>h2{margin-bottom:60px}.chronology article{display:grid;grid-template-columns:4fr 7fr;gap:var(--gap);padding-block:50px 64px;border-top:var(--border)}.chronology time{font-size:clamp(48px,5.5vw,88px);line-height:1;letter-spacing:-.05em}.chronology h2{font-size:clamp(23px,2vw,32px)}.chronology p{max-width:640px;margin-top:24px}.certification{display:grid;grid-template-columns:7fr 3fr;gap:calc(var(--gap)*1.5)}.notice{margin-top:45px;border-left:2px solid var(--line);padding-left:24px;font-size:15px}.notice h2{font-size:22px;margin-bottom:18px}.qualification h2{font-size:22px}.qualification h2:not(:first-child){margin-top:48px}.qualification p{font-size:15px;margin-top:18px}.training-layout{display:grid;grid-template-columns:5fr 4fr;gap:calc(var(--gap)*2);align-items:center}.training-layout .project{max-width:700px}.training-layout img{max-height:740px;object-fit:cover}.training-layout h2{margin-bottom:30px}.training-layout .text-link{display:block;width:fit-content}
/* Contact: plain form surfaces, clear error and prepared-draft states. */
.contact-layout{display:grid;grid-template-columns:4fr 6fr;gap:var(--gap)}.contact-phone,.contact-email{font-size:clamp(22px,2.1vw,34px);display:block;text-decoration:none;width:fit-content}.contact-details address{margin-top:40px}.contact-details>.small{margin-top:12px}.contact-form-wrap{max-width:740px}.contact-form-wrap>p{font-size:15px;margin-block:24px 36px;max-width:550px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{margin-bottom:24px}.field label{display:block;font-size:14px;margin-bottom:9px}.field label>span{color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;background:transparent;border:1px solid #90958c;border-radius:0;min-height:48px;padding:10px 12px}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--ink)}[aria-invalid=true]{border-color:#9e2d24!important}.field-error{display:block;color:#9e2d24;font-size:13px;margin-top:6px}.field .checkbox{display:flex;align-items:flex-start;gap:12px;line-height:1.55}.checkbox input{width:20px;height:20px;flex:none;accent-color:var(--blue);margin:3px 0 0}.checkbox a{color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--ink);color:var(--paper);padding:14px 22px;min-height:48px;text-decoration:none;font-size:15px;margin-top:24px;gap:20px}.button:hover{background:var(--blue);color:white;border-color:var(--blue)}.button:active{transform:translateY(1px)}.form-meta{font-size:12px;color:var(--muted);margin-top:16px}#form-status:not(:empty){margin-top:24px;padding:20px;border-left:2px solid var(--blue);background:var(--surface);font-size:15px}#email-draft{margin-top:24px}.location{display:grid;grid-template-columns:4fr 6fr;gap:var(--gap);margin-top:var(--space-lg);padding-top:48px;border-top:var(--border)}.location>div:first-child p{margin-top:24px}.location h3{margin-bottom:24px}.location>div:last-child{max-width:570px}.location .small{margin-top:20px}.legal{max-width:860px;margin-left:calc(var(--gutter) + (100% - var(--gutter)*2)*.25);font-size:16px;overflow-wrap:anywhere}.legal>.notice{margin:0 0 56px}.legal h2{font-size:27px;margin-block:48px 24px;line-height:1.25}.legal h3{font-size:20px;margin-block:32px 18px;line-height:1.3}.legal p,.legal address{margin-block:18px}.legal li{margin-bottom:12px}.legal ol,.legal ul{padding-left:24px}.legal .inhalt-bereich>div+div{margin-top:48px}.error-actions{display:flex;gap:32px;align-items:baseline}
@media(max-width:1100px){.company-register{grid-template-columns:3fr 3fr 5fr}.funding-logos{gap:20px}.funding-logos img:first-child{width:110px}.funding-logos img:last-child{width:100px}.steel-opening{grid-template-columns:3fr 4fr}.steel-secondary{grid-column:1;grid-row:2;margin-top:0!important}.metal-opening{grid-template-columns:5fr 4fr}.metal-opening .service-summary{grid-column:2;grid-row:2}.metal-opening>.project:first-child{grid-row:1/3}.metal-opening>.project:nth-child(2){margin-top:0}.legal{width:auto;max-width:860px;margin-inline:var(--gutter)}.certification{gap:var(--gap)}.interior-text{grid-column:8/13}.training-layout{gap:var(--gap)}}
@media(max-width:760px){.stairs-work{grid-template-columns:1fr 1fr;gap:34px 22px;margin-top:100px}.stairs-caption{grid-column:1/-1;grid-row:auto;padding:0}.stairs-caption p{margin-top:18px}.stairs-overview{grid-column:2;grid-row:2/4}.stairs-detail{grid-column:1;grid-row:3/5}.stairs-work img{aspect-ratio:3/4}.interior-work{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:100px}.interior-large{grid-column:1/-1;grid-row:2}.interior-text{grid-column:1/-1;grid-row:1;margin-top:0}.interior-text p{margin-top:18px}.interior-small{grid-column:2;grid-row:3}.interior-small img{aspect-ratio:3/4}.archive-link{margin-top:35px;justify-content:flex-start}.company-register{grid-template-columns:1fr 1fr;gap:44px 20px}.company-register h2{font-size:24px}.company-year{justify-self:end}.company-year>p{font-size:65px}.company-story{grid-column:1/-1}.training-note{margin-top:40px}.home-documents{grid-template-columns:1fr;gap:40px}.home-documents h2 br{display:none}.home-documents header>a{max-width:none}.document{grid-template-columns:1fr;gap:14px;padding-block:24px}.doc-action{grid-column:1}.document strong{font-size:21px}.funding{grid-template-columns:1fr;gap:32px;padding-top:32px}.funding-copy{grid-column:1;grid-row:2}.funding-logos{grid-row:3;gap:30px}.funding-logos img:first-child{width:134px}.funding-logos img:last-child{width:130px}.funding-copy h3{font-size:23px;margin-bottom:24px}.service-index article{grid-template-columns:1fr;gap:18px;padding-block:32px}.index-open{text-align:left;width:fit-content}.services-photo{grid-template-columns:1fr}.services-photo .project{margin:0;max-width:80%}.services-photo>p{margin:0}.machine-opening{grid-template-columns:1fr;gap:35px}.service-summary ul{margin-block:16px}.service-summary a{margin-top:12px}.steel-opening{grid-template-columns:1fr 1fr;gap:35px 22px}.steel-opening>div{grid-column:1/-1}.steel-primary{grid-column:2;grid-row:2}.steel-secondary{grid-column:1;grid-row:3;margin-top:-70px!important}.steel-opening h2{font-size:22px}.metal-opening{grid-template-columns:1fr 1fr;gap:35px 22px}.metal-opening>.project:first-child{grid-column:1/-1;grid-row:1}.metal-opening>.project:nth-child(2){grid-column:2;grid-row:2}.metal-opening .service-summary{grid-column:1/-1;grid-row:3;padding:0}.service-gallery>h2{margin-bottom:32px}.editorial-gallery{grid-template-columns:1fr 1fr;gap:60px 22px}.editorial-gallery>.project:nth-child(n){grid-column:1/-1;margin:0}.editorial-gallery>.project:nth-child(3n+2){grid-column:1/-1;width:82%;justify-self:end}.editorial-gallery img{max-height:none}.gallery-filters{gap:0 22px}.gallery-filters button{font-size:13px}.gallery-count{margin-block:24px 40px}.related{display:block}.related a{display:block;width:fit-content;margin-top:18px}.company-opening{grid-template-columns:1fr;gap:40px}.company-opening>div{padding:0}.company-since{font-size:52px;margin-bottom:28px}.company-opening .project{width:100%}.history>h2{margin-bottom:40px}.chronology article{grid-template-columns:1fr;gap:28px;padding-block:32px 48px}.chronology time{font-size:52px}.chronology h2{font-size:23px}.chronology p{margin-top:18px}.certification{grid-template-columns:1fr;gap:60px}.qualification h2:not(:first-child){margin-top:35px}.training-layout{grid-template-columns:1fr;gap:45px}.training-layout .project{width:85%}.training-layout img{max-height:none}.contact-layout{grid-template-columns:1fr;gap:64px}.contact-phone,.contact-email{font-size:25px}.contact-details address{margin-top:28px}.form-pair{grid-template-columns:1fr;gap:0}.contact-form-wrap>p{margin-top:20px}.button{padding:14px 18px;max-width:100%;text-align:center}.location{grid-template-columns:1fr;gap:40px}.legal{font-size:15px}.legal h2{font-size:24px}.legal h3{font-size:19px}.error-actions{flex-wrap:wrap;gap:24px}.home .cover-services a{padding-block:6px;font-size:14px}.home .cover-services{gap:2px 18px}}

@media(min-width:1900px){.cover{max-width:var(--container);margin-inline:auto;grid-template-columns:29% 1fr}.header-inner{max-width:var(--container);margin-inline:auto}}
@media(max-width:1100px){.header-inner{min-height:100px;gap:24px}.brand{width:185px}.header-inner nav{gap:22px}.header-phone{margin-left:0}.cover{grid-template-columns:29% 1fr;gap:28px}.cover-services a{font-size:17px}.conveyor-work{grid-template-columns:3fr 1fr}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{margin-left:0}}
@media(max-width:760px){.header-inner{min-height:88px;flex-wrap:wrap;gap:0}.brand{width:174px}.js .menu-toggle{display:block}.header-inner nav{flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-block:12px 24px}.js .header-inner nav:not(.open){display:none}.header-inner nav a{padding:12px 0}.header-inner nav a:after{display:none}.header-inner nav a[aria-current]{text-decoration:underline}.header-phone{margin-top:10px}.menu-toggle[aria-expanded=true]{color:var(--blue);text-decoration:underline}.cover{display:flex;flex-direction:column;gap:25px}.cover-index{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 22px;padding-top:28px}.cover h1{font-size:clamp(29px,5.4vw,40px)}.cover-services{margin-top:0;gap:8px}.cover-services a{font-size:14px;line-height:1.35;padding-block:2px}.cover-place{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:0;margin:0}.cover-place>p:first-child{font-size:16px}.cover-place .small{font-size:11px}.cover-photo img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 45%}.cover-photo figcaption{font-size:10px;margin-top:8px;padding:0}.work-heading{display:block;margin-bottom:28px}.work-heading p{margin-top:12px}.conveyor-work{display:block}.conveyor-work .work-note{margin-top:30px;max-width:430px;padding:0}.work-note h3{margin-bottom:14px}.work-note .text-link{margin-top:18px}.selected-work{padding-top:90px}.page-intro{grid-template-columns:1fr;padding-block:45px 55px;gap:28px}.page-intro h1{max-width:540px}.footer-main{grid-template-columns:1fr;gap:40px}.footer-location{grid-column:1}.footer-bottom{display:block;padding-block:24px 35px}.footer-bottom nav{margin-block:22px}.footer-name{font-size:clamp(45px,9vw,65px)}.lightbox{padding:12px;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.lightbox-stage{grid-template-columns:40px 1fr 40px;gap:0}.lightbox-stage button{min-width:40px}.lightbox #lightbox-caption{font-size:12px;line-height:1.4}.lightbox button{padding:8px}}
@media(max-width:480px){.cover-index{grid-template-columns:1fr}.cover h1{font-size:36px}.cover-services{flex-direction:row;flex-wrap:wrap;column-gap:16px;row-gap:3px;max-width:340px}.cover-services a{font-size:13px}.cover-place{margin-top:2px}.cover-photo img{aspect-ratio:1/1.08}.project figcaption{font-size:10px}.footer-bottom nav{gap:14px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Refinements from the first desktop/mobile comparison. */
.service-summary>p{margin-top:24px}
@media(max-width:760px){.stairs-overview{grid-column:1/-1;grid-row:2}.stairs-detail{grid-column:1/-1;grid-row:3;width:72%;justify-self:end}.steel-primary{grid-column:1/-1}.steel-secondary{grid-column:1/-1;grid-row:3;width:72%;margin-top:0!important}.portfolio.filtered>.project:nth-child(n){grid-column:1/-1}.home .cover-services{row-gap:2px}}
