/* One photographic system across all pages. Originals are kept in enlargement links. */
:root{--photo-paper:#eeece7;--photo-line:#d9d5cf;--photo-gap:24px;--photo-caption:#615e58}

/* All gallery cells have a fixed aperture; the object decides cover versus contain. */
.glossary-gallery,.reference-gallery,.project-photo-gallery{gap:var(--photo-gap);align-items:start}
.glossary-image,.project-photo-gallery figure{min-width:0;margin:0}
.glossary-image>a,.reference-gallery>a,.project-photo-gallery figure>a,
.reference-opening>a:has(>.reference-cover){display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--photo-paper);border:0}
.glossary-image>a>img,.reference-gallery>a>img,.project-photo-gallery figure>a>img,
.reference-opening>a>.reference-cover{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:var(--photo-position,50% 50%);background:var(--photo-paper)}
.glossary-image>a>img:is([data-photo-type="portrait"],[data-photo-type="panorama"],[data-photo-type="document"]),
.reference-gallery>a>img:is([data-photo-type="portrait"],[data-photo-type="panorama"],[data-photo-type="document"]),
.project-photo-gallery figure>a>img:is([data-photo-type="portrait"],[data-photo-type="panorama"]),
.reference-opening>a>.reference-cover[data-photo-type="portrait"]{object-fit:contain;padding:14px}
.glossary-image>a>img[data-photo-type="document"]{padding:12px;background:#e8e8e5}
.glossary-image>a,.reference-gallery>a,.project-photo-gallery figure>a{outline:1px solid #25272a08;outline-offset:-1px}
.glossary-image>a:focus-visible,.reference-gallery>a:focus-visible,.project-photo-gallery figure>a:focus-visible{outline:2px solid #795835;outline-offset:4px}
.glossary-image figcaption,.project-photo-gallery figcaption{margin:0;padding:14px 0 0;color:var(--photo-caption);font-size:13px;line-height:1.55;overflow-wrap:break-word;min-height:5.7em;border:0}
.glossary-image figcaption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:5.7em}
.laser-section .project-photo-gallery figcaption{color:#dfdbd4}
.glossary-more{border-top:1px solid var(--photo-line);padding-top:4px;margin-top:22px}
.glossary-more>summary,.reference-project>details>summary{font-size:14px;line-height:1.5;padding:14px 0;color:var(--photo-caption)}
.glossary-more .glossary-gallery{margin-top:20px}

/* Uniform editorial cards and restrained treatment of documentary workshop imagery. */
.editorial-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.editorial-project:nth-child(2){margin-top:0}
.editorial-project img,.editorial-project:nth-child(2) img,.design-example img,
.knowledge-card .knowledge-card__image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--photo-paper);border:0}
.design-example img:is([data-photo-type="portrait"],[data-photo-type="panorama"]),
.knowledge-card .knowledge-card__image:is([data-photo-type="portrait"],[data-photo-type="panorama"],[data-photo-type="document"]){object-fit:contain;padding:16px}
.editorial-project>div{min-height:110px;padding:20px 0;border-bottom:1px solid var(--photo-line)}
.design-examples{gap:44px 32px}
.design-example h3{margin-top:20px}
.world>img,.audience-hero:not(.design-hero) figure>img,.workshop-glimpse img{filter:saturate(.84) contrast(1.025)}
.world--1>img{object-position:50% 54%}
.world:after{background:linear-gradient(180deg,#17191c05 5%,#17191c25 35%,#17191ce6 100%)}
.workshop-glimpse figure{overflow:hidden;background:#333638}
.workshop-glimpse figure img{aspect-ratio:4/3;object-fit:cover;object-position:50% 60%}
.design-hero figure{background:var(--photo-paper)}
.design-hero figure>img{object-fit:contain;background:transparent;padding:44px;filter:none}

/* History: aligned photographs, dated captions and an uncropped enlargement. */
.history-collection{min-width:0;padding:0!important}
.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
.history-card{margin:0;min-width:0}
.history-photo{display:block;aspect-ratio:3/2;overflow:hidden;background:#d9d6d0}
.history-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position);transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-position);filter:grayscale(1) contrast(1.04)}
.history-photo>img[data-photo-type="portrait"]{object-fit:contain;padding:5px;transform:none}
.history-card figcaption{display:grid;grid-template-columns:40px 1fr;gap:10px;margin:0;padding:15px 0 0;min-height:92px;border-top:0}
.history-year{font-size:12px;letter-spacing:.08em;line-height:1.5;color:#897560}
.history-card figcaption strong{display:block;font-size:14px;font-weight:500;line-height:1.4;color:var(--ink);margin-bottom:5px}
.history-card figcaption div>span{display:block;font-size:12px;line-height:1.5;color:var(--photo-caption)}
.history-photo:focus-visible{outline:2px solid #795835;outline-offset:4px}

/* Shop: equal stages, text starts on one line, details do not displace product headings. */
.shop-products{gap:32px;align-items:stretch}
.shop-product{border-top:0}
.shop-product .shop-product__media{display:block;aspect-ratio:auto;height:auto;overflow:visible;background:transparent;max-height:none}
.shop-product .shop-product__media>a{display:block;aspect-ratio:4/5;width:100%;height:auto;overflow:hidden;background:var(--photo-paper)}
.shop-product .shop-product__media>a>img,
.shop-product#torso .shop-product__media>a>img,
.shop-product#barhocker .shop-product__media>a>img,
.shop-product#zirbenbueste .shop-product__media>a>img{display:block;width:100%;height:100%;object-fit:contain;padding:24px;background:transparent}
.shop-product#barhocker .shop-product__media>a{background:#fff;border:1px solid var(--photo-line)}
.shop-product .shop-product__media figcaption{position:static;padding:13px 0;margin:0;min-height:46px;background:none;font-size:12px;color:var(--photo-caption)}
.shop-product__copy{padding-top:18px}
.shop-product__copy>p:not(.eyebrow){min-height:8.3em}
.shop-product__gallery{gap:12px;margin:0 0 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.shop-product__gallery a{background:transparent}
.shop-product__gallery img{height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--photo-paper);padding:12px}
.shop-product__gallery span{padding:10px 0 0;line-height:1.5;font-size:12px}
.shop-product__offer{padding-top:22px}
.shop-teaser__image{background:var(--photo-paper)}
.shop-teaser__image img{background:transparent;object-fit:contain}

/* Technical images keep their complete geometry within the same presentation frames. */
.simulation-gallery .glossary-image>a,.development-gallery .glossary-image>a{aspect-ratio:4/3}
.simulation-gallery .glossary-image>a>img{object-fit:contain;padding:12px;background:#e8e8e5}
.development-gallery .glossary-image>a>img[data-photo-type="document"]{object-fit:contain;padding:12px}

@media(max-width:1100px){.about-layout{grid-template-columns:1fr;gap:42px}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.history-card figcaption{grid-template-columns:1fr;gap:5px;min-height:100px}}
@media(max-width:800px){:root{--photo-gap:18px}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.history-card figcaption{grid-template-columns:40px 1fr;min-height:88px;gap:10px}.reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-products{gap:22px}}
@media(max-width:700px){.editorial-projects{grid-template-columns:1fr;gap:34px}.glossary-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-gallery>.glossary-image:first-child{grid-column:auto}.project-photo-gallery{grid-template-columns:1fr}.project-photo-gallery figcaption{min-height:0}.simulation-gallery .glossary-gallery,.development-gallery .glossary-gallery{grid-template-columns:1fr}.simulation-gallery .glossary-image>a,.development-gallery .glossary-image>a{aspect-ratio:3/2}.design-hero figure{min-height:440px}.design-hero figure>img{padding:30px}.shop-products{gap:44px}.shop-product__copy>p:not(.eyebrow){min-height:0}.shop-product__gallery img{height:auto}.shop-product .shop-product__media>a{max-height:580px}.history-card figcaption{display:block;min-height:112px}.history-year{display:block;margin-bottom:7px}}
@media(max-width:420px){.glossary-gallery{grid-template-columns:1fr}.history-grid{gap:24px 14px}.history-card figcaption strong{font-size:13px}.history-card figcaption div>span{font-size:12px}.reference-gallery{gap:12px}}

.chair-reference-link{display:table;margin-top:20px}.reference-project#historische-stuehle .reference-cover{object-fit:contain;padding:0}

/* Current team: tighter framing and a shadow lift without changing faces. */
.team-group-photo{margin:0 auto 48px;max-width:1040px}
.team-group-photo>a{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--photo-paper)}
.team-group-photo img{display:block;position:absolute;width:140%;max-width:none;height:auto;left:-20%;top:-12%;aspect-ratio:1575/1181;object-fit:contain}
.team-group-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--photo-line);font-size:13px;color:var(--photo-caption)}
.team-group-photo>a:focus-visible{outline:2px solid #795835;outline-offset:4px}
.handrail-hero-photo{margin:0 0 44px}
.handrail-hero-photo>a{display:block;overflow:hidden;background:var(--photo-paper)}
.handrail-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1575/1181;object-fit:contain}
.handrail-hero-photo figcaption{padding:14px 0;border-bottom:1px solid var(--photo-line);font-size:14px;color:var(--photo-caption)}
.handrail-hero-photo>a:focus-visible{outline:2px solid #795835;outline-offset:4px}
.handrail-renewal{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;margin:64px 0;padding:48px 0;border-top:1px solid var(--photo-line);border-bottom:1px solid var(--photo-line)}
.handrail-renewal h2{font-size:clamp(32px,3.4vw,52px);line-height:1.1;margin:16px 0 24px}
.handrail-renewal p{line-height:1.7}.handrail-renewal .large-copy{font-size:19px}
.handrail-renewal figure{margin:0}.handrail-renewal figure>a{display:block;overflow:hidden;aspect-ratio:4/3;background:var(--photo-paper)}
.handrail-renewal img{display:block;width:100%;height:100%;object-fit:contain}
.handrail-renewal figcaption{padding:14px 0;font-size:13px;line-height:1.5;color:var(--photo-caption)}
.handrail-renewal-supply{margin-top:28px;padding-top:22px;border-top:1px solid var(--photo-line)}
.handrail-renewal-supply h3{font-size:17px;margin:0 0 12px}
@media(max-width:900px){.handrail-renewal{grid-template-columns:1fr;gap:26px;margin:44px 0;padding:32px 0}}
.handrail-manual-finishing{display:block}
.handrail-manual-finishing .large-copy{max-width:58em}
.handrail-manual-finishing>.project-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
@media(max-width:700px){.handrail-manual-finishing>.project-photo-gallery{grid-template-columns:1fr;gap:22px}}
.large-parts-section{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:center}
.large-parts-section h2{font-size:clamp(34px,3.7vw,56px);line-height:1.1;margin:18px 0 24px}
.large-parts-section p{line-height:1.7}.large-parts-section .primary{margin-top:18px}
.large-parts-section figure{margin:0;min-width:0}.large-parts-section figure>a{display:block;background:var(--photo-paper);aspect-ratio:4/3;overflow:hidden}
.large-parts-section img{display:block;width:100%;height:100%;object-fit:contain}
.large-parts-section figcaption{font-size:13px;line-height:1.5;color:var(--photo-caption);padding-top:14px}
@media(max-width:900px){.large-parts-section{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.team-group-photo{margin-bottom:30px}.team-group-photo figcaption{display:block}.team-group-photo figcaption span{display:block;margin-top:5px}}

/* CNC lead photograph: retain the complete tool/workpiece contact area. */
.industry-hero figure>a{display:block;aspect-ratio:4/3;background:var(--photo-paper);overflow:hidden}
.industry-hero figure>a>img{display:block;width:100%;height:100%;object-fit:contain}
.industry-hero figure:has(>a){align-self:center;min-height:0}
.industry-hero figure:has(>a)>figcaption{position:static;background:none;color:var(--photo-caption);padding:14px 20px 20px;line-height:1.5}

/* Owner-selected lead photograph. Keep the cutter clear of the text. */
.signature-hero{position:relative;isolation:isolate;margin-top:26px;background:#26292c;overflow:hidden;color:#fff}
.signature-hero>.signature-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 66%}
.signature-hero:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#111519bd 0%,#11151955 33%,transparent 64%),linear-gradient(0deg,#11151999,transparent 48%)}
.signature-copy{position:absolute;left:clamp(24px,4vw,64px);bottom:clamp(24px,4vw,60px);z-index:1;max-width:49%}
.signature-copy>.eyebrow{font-size:12px;line-height:1.5;color:#eee5db;margin:0 0 15px}
.arrival .signature-copy h1{font-size:clamp(42px,5.1vw,78px);line-height:1.04;letter-spacing:-.055em;margin:0;color:#fff}
.signature-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px}
.signature-actions>a{font-size:14px;line-height:1.5;padding-bottom:5px;border-bottom:1px solid #d6c9b9}
.signature-actions>a:focus-visible{outline:2px solid white;outline-offset:5px}
.arrival-heading.signature-introduction{grid-template-columns:1fr 1fr;padding:34px 0 38px;gap:38px;align-items:center}
.signature-introduction h2{font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.04em;font-weight:400}
.signature-introduction>p{max-width:640px;font-size:16px;line-height:1.65}
/* Crossfades take 1.05 seconds; the complete introduction ends at 4.8 seconds. */
.site-intro[open] .intro-frames img:nth-child(2){animation-delay:1.35s}
.site-intro[open] .intro-frames img:nth-child(3){animation-delay:3s}
.intro-frames>.signature-photo{object-position:50% 66%}
.intro-shade{background:linear-gradient(90deg,#121619bb,transparent 65%),linear-gradient(0deg,#121619bb,transparent 60%)}
.intro-caption{max-width:49%;bottom:8%}
.intro-title{font-size:clamp(42px,5.2vw,82px);line-height:1.05;margin:18px 0 26px}
@media(max-width:700px){
 .signature-hero{margin-top:20px}.signature-hero>.signature-photo{aspect-ratio:1575/1181;object-fit:contain}
 .signature-hero:after{display:none}.signature-copy{position:relative;left:auto;bottom:auto;max-width:none;padding:25px 24px 28px}
 .arrival .signature-copy h1{font-size:clamp(34px,8.3vw,54px)}.signature-copy>.eyebrow{font-size:11px;margin-bottom:12px}
 .signature-actions{margin-top:22px;gap:16px}.signature-actions>a{font-size:13px}
 .arrival-heading.signature-introduction{grid-template-columns:1fr;gap:17px;padding:28px 0 30px}
 .signature-introduction h2{font-size:30px}
 .site-intro[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 .site-intro .intro-top{position:relative;inset:auto;grid-row:1;padding:18px var(--edge);align-items:center;font-size:11px}
 .site-intro .intro-frames{position:relative;inset:auto;grid-row:2;min-height:0}
 .site-intro .intro-frames img{object-fit:contain;object-position:center;transform:none}
 .site-intro .intro-shade{display:none}
 .site-intro .intro-caption{position:relative;inset:auto;grid-row:3;max-width:none;padding:18px var(--edge) 26px}
 .site-intro .intro-caption>.eyebrow{font-size:11px;margin:0}
 .site-intro .intro-title{font-size:clamp(30px,7.5vw,48px);margin:10px 0 18px}
 .site-intro .intro-links{gap:14px;flex-wrap:wrap}.site-intro .intro-links a{font-size:13px}
}

/* Terrain models are directly discoverable from the homepage. */
.terrain-feature{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;background:#f2f0ec;padding-top:64px;padding-bottom:64px}
.terrain-feature-photo{display:block;overflow:hidden;background:var(--photo-paper);aspect-ratio:16/9}
.terrain-feature-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.terrain-feature-copy{min-width:0}.terrain-feature-copy>.eyebrow{font-size:12px;margin:0 0 18px}
.terrain-feature h2{font-weight:400;font-size:clamp(30px,3.2vw,48px);line-height:1.12;letter-spacing:-.04em;margin:0 0 22px}
.terrain-feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 26px}
.terrain-feature .primary{display:inline-flex;gap:16px}
.terrain-feature-photo:focus-visible{outline:2px solid #795835;outline-offset:5px}
.supply-material-photo{margin:24px 0 22px}
.supply-material-photo>a{display:block;aspect-ratio:4/3;background:var(--photo-paper);overflow:hidden}
.supply-material-photo img{display:block;width:100%;height:100%;object-fit:cover}
.supply-material-photo figcaption,.material-detail-photo figcaption{font-size:13px;line-height:1.5;color:var(--photo-caption);padding-top:12px}
.material-detail-photo{margin:-5px 0 25px;border-bottom:1px solid var(--photo-line)}
.material-detail-photo>summary{font-size:14px;line-height:1.5;padding:10px 0 14px;cursor:pointer}
.material-detail-photo figure{margin:5px 0 24px}.material-detail-photo figure>a{display:block;background:var(--photo-paper)}
.material-detail-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.handrail-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.terrain-feature{grid-template-columns:1fr;padding-top:44px;padding-bottom:44px}.terrain-feature-photo{max-width:100%}.terrain-feature-copy{max-width:680px}}
@media(max-width:700px){.handrail-photo-gallery{grid-template-columns:1fr}.terrain-feature h2{font-size:34px}.terrain-feature-copy>p:not(.eyebrow){font-size:16px}}

/* Full project views with consistent framing, kept separate from the detail galleries. */
.laser-panorama,.handrail-curves{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;margin:42px 0 56px}
.laser-panorama figure,.handrail-curves figure{margin:0;min-width:0}
.laser-panorama figure>a,.handrail-curves figure>a{display:block;background:var(--photo-paper);overflow:hidden}
.laser-panorama img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.laser-panorama h3,.handrail-curves h2{font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:16px 0 22px}
.laser-panorama p,.handrail-curves p{line-height:1.7}
.laser-panorama>div>p:last-child{color:#dfdbd4}
.handrail-curves{grid-template-columns:1fr 1fr;border-block:1px solid var(--photo-line);padding:40px 0}
.handrail-curves img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.laser-panorama figure>a:focus-visible,.handrail-curves figure>a:focus-visible{outline:2px solid #aa8b6d;outline-offset:4px}
@media(max-width:760px){.laser-panorama,.handrail-curves{grid-template-columns:1fr;gap:24px;margin:32px 0 40px}.handrail-curves img{max-height:500px}}

.handrail-curves{display:block}.handrail-curves-copy{max-width:780px;margin-bottom:30px}.handrail-curves-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.handrail-curves-gallery figure>a{aspect-ratio:4/3}.handrail-curves-gallery img{height:100%;max-height:none;object-fit:contain}.handrail-curves-gallery figcaption{font-size:13px;line-height:1.5;padding-top:12px;color:var(--photo-caption)}
@media(max-width:700px){.handrail-curves-gallery{grid-template-columns:1fr}}

.workshop-glimpse figure>a{display:block}.workshop-glimpse figcaption{background:var(--photo-paper);color:var(--photo-caption);padding:12px 16px;font-size:13px;line-height:1.5}

.cam-hero figure>a{display:block;background:var(--photo-paper)}.cam-hero figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;filter:none}

/* Individually reviewed tonal curves; lift shadows without clipping highlights. */
img[data-photo-type][data-photo-tone]{filter:var(--photo-tone-filter,none)}
.history-photo>img[data-photo-tone]{filter:var(--photo-tone-filter,brightness(1)) grayscale(1)}
/* Wide, square and upright components retain their complete outlines in galleries. */
.glossary-image>a>img[data-photo-fit="contain"],
.reference-gallery>a>img[data-photo-fit="contain"],
.project-photo-gallery figure>a>img[data-photo-fit="contain"],
.reference-opening>a>.reference-cover[data-photo-fit="contain"],
.knowledge-card .knowledge-card__image[data-photo-fit="contain"],
.design-example img[data-photo-fit="contain"]{object-fit:contain;padding:8px}
.knowledge-card .knowledge-card__image[data-photo-focus="engraving"],
.glossary-image>a>img[data-photo-focus="engraving"]{object-fit:contain;object-position:50% 58%;padding:0}

/* Business-area photos remain unobscured; dark text lives below the image. */
.worlds{gap:32px}
.world{display:flex;flex-direction:column;min-height:0;background:#fff;color:var(--ink);border-bottom:1px solid var(--photo-line)}
.world::after{content:none;background:none}
.world>img{position:static;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transform:none;background:var(--photo-paper)}
.world:hover>img{transform:none}
.world-copy{position:static;min-height:0;flex:1;padding:24px 0 26px;justify-content:flex-start;background:#fff;color:var(--ink)}
.world .eyebrow{color:var(--photo-caption)}
.world h2{margin:12px 0 24px;font-size:clamp(26px,2.8vw,42px)}
.world-link{margin-top:auto;border-bottom-color:currentColor}
.world:focus-visible{outline:2px solid #795835;outline-offset:6px}
.social-profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:22px}
.social-profile-links .text-link{margin-top:0}
.footer-contact .footer-facebook{font-size:14px;overflow-wrap:anywhere}
@media(max-width:700px){.worlds{gap:30px}.world-copy{padding:20px 0 22px}}

/* A generous, quiet frame for workholding: no text over the photograph. */
.workholding-feature{background:#f2f0ec}
.workholding-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}
.workholding-heading h2{font-size:clamp(30px,3.4vw,52px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0;max-width:760px}
.workholding-heading .eyebrow{flex-shrink:0}
.workholding-feature figure{margin:0}
.workholding-feature figure>a{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--photo-paper)}
.workholding-feature img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%}
.workholding-feature figcaption{font-size:14px;color:var(--photo-caption);line-height:1.6;margin-top:16px;max-width:760px}
@media(max-width:700px){.workholding-heading{display:block}.workholding-heading .eyebrow{margin-bottom:16px}.workholding-feature figure>a{aspect-ratio:4/3}}

/* Editorial facts, drawn from the glossary rather than traffic or file variants. */
.knowledge-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 42px;padding:28px 0;border-top:1px solid var(--photo-line);border-bottom:1px solid var(--photo-line)}
.knowledge-facts>div{display:flex;flex-direction:column;gap:10px;min-width:0}
.knowledge-facts dd{order:0;margin:0;font-size:clamp(42px,4vw,64px);font-weight:400;letter-spacing:-.055em;line-height:1;color:#795835;font-variant-numeric:tabular-nums}
.knowledge-facts dt{order:1;font-size:14px;line-height:1.5;color:var(--photo-caption);max-width:225px}
.knowledge-page>.knowledge-facts{margin:32px 0}
@media(max-width:600px){.knowledge-facts{gap:16px;padding:22px 0}.knowledge-facts dd{font-size:40px}.knowledge-facts dt{font-size:12px}}

/* One selected image on the design page; detailed examples live in the glossary. */
.glossary-gallery.glossary-gallery--main{grid-template-columns:minmax(0,760px)}
.glossary-gallery--main .glossary-image>a{aspect-ratio:3/2}
.gallery-knowledge-link{display:inline-block;margin-top:24px}

/* Native photo viewport: original pixels, cropped to the two garage-door leaves.
   Source 1575 x 1181; visible rectangle x=70, y=170, w=1460, h=835. */
.laser-panorama figure>a{position:relative;aspect-ratio:1460/835}
.laser-panorama img{position:absolute;left:-4.794521%;top:-20.359281%;width:107.876712%;height:auto;max-width:none;aspect-ratio:auto;object-fit:fill}
.project-photo-gallery.laser-photo-gallery--single{grid-template-columns:minmax(0,840px)}
/* Note labels: normal-flow image with the reviewed wide crop. Avoid combining
   a clipped absolute image with a fragment-referenced SVG colour filter. */
.laser-photo-gallery figure>a:has(>img[data-reviewed-gallery-crop="laser"]){aspect-ratio:2280/1280;height:auto}
.laser-photo-gallery figure>a>img[data-reviewed-gallery-crop="laser"]{display:block;position:static;inset:auto;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:2280/1280;object-fit:cover;object-position:50% 67.674419%;padding:0;transform:scale(1.052632) rotate(2.8deg);transform-origin:50% 50%;filter:brightness(1.04)}

/* Same approved crop, without the absolute/filter combination that hid this photo. */
.handrail-manual-finishing figure>a:has(>img[data-reviewed-gallery-crop="handrail-finishing"]){aspect-ratio:1260/825;height:auto}
.handrail-manual-finishing figure>a>img[data-reviewed-gallery-crop="handrail-finishing"]{display:block;position:static;inset:auto;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:1260/825;object-fit:cover;object-position:47.619048% 80.056180%;padding:0;transform:scale(1.25);transform-origin:47.619048% 80.056180%;filter:none}

/* Partner marks and copy share a left edge. Preserve original colors and proportions.
   Optical widths account for the different artwork, including Niedermeier's clear space. */
.partners-section .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 28px;align-items:stretch}
.partners-section .partner-grid .partner-card{display:grid;grid-template-rows:104px auto 1fr auto;gap:12px;align-items:start;padding-top:20px;min-width:0;text-align:left}
.partners-section .partner-grid .partner-card .partner-logo{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;height:104px;min-width:0;margin:0;padding:8px 0;background:#fff}
.partners-section .partner-grid .partner-card .partner-logo>img{display:block;position:static;width:auto;height:auto;min-width:0;max-width:100%;max-height:88px;object-fit:contain;object-position:left center;transform:none;filter:none}
.partners-section .partner-grid .partner-card .partner-logo>img[src$="holz-in-form-niedermeier-original.png"]{width:300px}
.partners-section .partner-grid .partner-card .partner-logo>img[src$="good-cad-cam-original.jpg"]{width:280px}
.partners-section .partner-grid .partner-card .partner-logo>img[src$="homag-original.png"]{width:150px}
.partners-section .partner-grid .partner-card .partner-logo>img[src$="triviso-original.svg"]{width:172px}
.partners-section .partner-grid .partner-card h3{font-size:20px;line-height:1.25;margin:0;min-height:0}
.partners-section .partner-grid .partner-card p{margin:0;font-size:15px;line-height:1.5}
.partners-section .partner-grid .partner-card>span{margin-top:4px;align-self:end}
.partners-section .partner-grid .partner-card:hover>span{color:inherit}
/* Share actual text row heights instead of reserving a blank second title line. */
@supports(grid-template-rows:subgrid){
 .partners-section .partner-grid .partner-card{grid-row:span 4;grid-template-rows:subgrid}
}
@media(max-width:1000px){
 .partners-section .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
 .partners-section .partner-grid .partner-card:nth-child(n+3){margin-top:24px}
}
@media(max-width:600px){
 .partners-section .partner-grid{grid-template-columns:1fr}
 .partners-section .partner-grid .partner-card:nth-child(n+2){margin-top:24px}
 .partners-section .partner-grid .partner-card h3{font-size:18px}
 .partners-section .partner-grid .partner-card p{font-size:14px}
}
.history-card[data-history-year] .history-photo>img{object-fit:cover;padding:0;object-position:var(--photo-position);transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-position)}

/* Accepted image-review captions and native photo viewports, 11 October 2026. */
.reviewed-image-caption{display:block;padding:12px 0;font-size:13px;line-height:1.55;white-space:normal;overflow:visible;text-overflow:clip;color:var(--photo-caption,#575953)}
.reference-gallery>a:has(.reviewed-image-caption){display:flex;flex-direction:column;aspect-ratio:auto;height:auto;align-self:start;overflow:hidden;background:transparent}
.reference-gallery>a>.reviewed-image-caption{width:100%;box-sizing:border-box;flex:1;padding:12px 2px;text-align:left}
.reference-gallery>a:has(.reviewed-image-caption)>img{flex-shrink:0;height:auto;aspect-ratio:4/3}
.reference-opening>a:has(.reviewed-image-caption){height:auto;aspect-ratio:auto}
.reference-opening>a:has(.reviewed-image-caption)>img{height:auto;aspect-ratio:4/3}
.reference-opening>a>.reviewed-image-caption{background:var(--photo-paper,#f2f0ec);padding:14px 18px}
.review-image-credit{display:block;font-size:11px;line-height:1.5;margin-top:7px;color:inherit}
.review-photo-viewport{display:block;position:relative;width:100%;aspect-ratio:var(--review-ratio);overflow:hidden;isolation:isolate;background:var(--photo-paper,#f2f0ec);flex-shrink:0}
/* Homepage entry cards share the same frame, including reviewed crops. */
.worlds>.world>img,.worlds>.world>.review-photo-viewport{aspect-ratio:4/3;flex-shrink:0}
.review-photo-viewport>img[data-image-review-id]{position:absolute!important;inset:auto!important;left:var(--review-left)!important;top:var(--review-top)!important;width:var(--review-width)!important;max-width:none!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:fill!important;padding:0!important;transform:rotate(var(--review-rotation,0deg))!important;transform-origin:50% 50%!important}
a:has(>.review-photo-viewport){aspect-ratio:auto!important;height:auto!important;overflow:hidden}
.history-card .history-photo:has(.review-photo-viewport){display:block;aspect-ratio:auto;height:auto}
.industry-service-card__photo{aspect-ratio:4/3;flex-shrink:0}
.industry-service-card__photo>img[data-reviewed-card-crop="laser"]{position:static;display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 67%;transform:scale(1.13) rotate(2.8deg);filter:brightness(1.06) contrast(1.02)}
.industry-service-card:hover .industry-service-card__photo>img[data-reviewed-card-crop="laser"]{transform:scale(1.13) rotate(2.8deg)}
.intro-frames>img[data-reviewed-intro-crop="laser"]{object-fit:cover;object-position:50% 65%;transform:scale(1.17) rotate(2.8deg)}
.review-photo-left-lift{display:block;position:relative;overflow:hidden}
.review-photo-left-lift>img{display:block;width:100%;height:auto}
.review-photo-left-lift::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.075),transparent 45%);mix-blend-mode:screen}
.furniture-photo-gallery{grid-template-columns:minmax(0,850px)}
.glossary-image figcaption.reviewed-image-caption{display:block;-webkit-line-clamp:unset;white-space:normal;max-height:none;overflow:visible;text-overflow:clip}

/* Four equally sized historical photographs, with native monochrome filters. */
.history-grid .history-photo{display:block;position:relative;aspect-ratio:4/3;height:auto;overflow:hidden;background:#e6e3de}
.history-grid .history-photo>img[data-history-crop]{position:static;display:block;width:100%;height:100%;max-width:100%;padding:0;object-fit:cover;object-position:var(--history-position);transform:scale(var(--history-zoom,1));transform-origin:var(--history-position);filter:grayscale(1) brightness(1.06) contrast(1.035)}
.history-grid .history-card figcaption{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;margin:0;padding:14px 0 0;min-height:0;border:0}
.history-grid .history-year{margin:0;color:#656565}
.history-grid .history-card figcaption div>span{font-size:13px;line-height:1.55}
.history-grid{row-gap:32px;align-items:start}
@media(max-width:420px){.history-grid .history-card figcaption{grid-template-columns:1fr;gap:5px}}
