/* Shared rhythm for the website. Photography and existing motion stay intact. */
:root{--content-width:1280px;--section-space:72px;--column-gap:clamp(28px,5vw,72px)}
.wrap,.studio-wrap{max-width:var(--content-width)}
.header-inner,.page-home .header-inner{max-width:calc(var(--content-width) + var(--gutter)*2);min-height:88px;padding-block:16px}
.breadcrumbs{padding-top:6px;gap:12px}
.page-intro{padding-block:28px 38px}
.page-intro>.eyebrow{margin-bottom:14px;color:var(--wood)}
.page-intro h1{font-size:clamp(42px,4.7vw,68px);line-height:1.08;letter-spacing:-.035em;max-width:1050px}
.page-intro .lead{font-size:16px;line-height:1.7;max-width:68ch;margin-top:20px;color:var(--muted)}
.intro-inline{margin-top:20px;gap:30px;align-items:center}
.intro-inline p{max-width:60ch;font-size:15px}

/* One regular collection, unaffected by card order or selected category. */
.projects-intro{padding-block:24px 26px}
.projects-intro h1{font-size:clamp(40px,4.5vw,64px)}
.projects-intro .lead{margin-top:14px;font-size:15px}
.projects-section{padding-bottom:54px}
.filters{gap:10px 28px;margin-bottom:28px;padding-bottom:10px;align-items:center}
.filter{min-height:44px;padding:10px 0;border:0;border-bottom:2px solid transparent;font-size:12px}
.filter:hover,.filter.active{border-bottom:2px solid var(--wood)}
.project-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;align-items:start}
.project-collection .project-card{min-width:0;margin:0;padding:0;max-width:none}
.project-collection .project-card>a{display:block}
.project-collection .project-image{aspect-ratio:4/3;background:#22231e;border:1px solid #ffffff09}
.project-collection .project-card .project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}
.project-collection .project-caption{align-items:center;padding-top:18px;gap:18px}
.project-collection .project-caption .eyebrow{font-size:10px;margin-bottom:6px;color:var(--wood);letter-spacing:.12em}
.project-collection .project-caption h3{font-size:clamp(27px,2.6vw,36px);line-height:1.15}
.card-arrow{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:21px;transition:color .2s,background .2s,border-color .2s}
.project-card a:hover .card-arrow{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.project-summary{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 50px 0 0;max-width:58ch}
.project-note.wrap{max-width:var(--content-width);margin-inline:auto;padding-block:32px 50px;display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:center}
.project-note>.eyebrow{grid-column:1/-1;margin-bottom:12px}
.project-note>p:not(.eyebrow){font:400 20px/1.5 var(--serif);max-width:760px;margin:0}
.project-note>.button{grid-column:2;grid-row:2}

/* Service and project openings use the same two-column alignment. */
.service-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap);align-items:center;padding-block:32px 52px}
.service-hero-copy{display:block;margin:0;min-width:0}
.service-hero-copy>.eyebrow{margin-bottom:18px;color:var(--wood)}
.service-hero h1{font-size:clamp(42px,4.5vw,64px);line-height:1.08;margin:0}
.service-hero .lead{padding:0;margin:23px 0;max-width:48ch;font-size:15px;line-height:1.8}
.service-hero .button{margin:0;font-size:12px}
.service-hero figure{min-width:0}
.service-hero figure img{height:clamp(330px,35vw,460px);object-fit:cover}
.service-hero figure:has(img[src*="holzplatte"]) img{object-fit:contain;background:var(--sand)}
.service-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:var(--column-gap);padding-block:32px}
.service-intro>p:last-child{font-size:clamp(25px,2.5vw,34px);line-height:1.4}
.service-detail,.faq-section{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:var(--column-gap);padding-block:var(--section-space)}
.service-detail h2,.feature-inner h2,.faq-section h2{font-size:clamp(34px,3.5vw,50px);line-height:1.12}
.numbered-text{gap:22px;padding-block:24px}
.numbered-text h3{font-size:29px;margin-bottom:12px}
.numbered-text p{font-size:14px;line-height:1.85}
.feature-section{padding-block:var(--section-space)}
.feature-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap)}
.feature-inner figure img{height:clamp(300px,33vw,430px)}
.feature-inner h2{margin-bottom:22px}
.service-hero~.faq-section{padding-block:var(--section-space)}
.faq-list summary{font-size:14px;padding-block:19px}
.faq-list details p{font-size:14px}
.project-cover img{height:auto;max-height:560px;object-fit:contain;background:var(--sand)}
.project-description{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:var(--column-gap);padding-block:42px}
.project-description>p:last-child{font-size:25px;line-height:1.45;margin:0}
.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.detail-gallery figure:last-child:nth-child(odd){grid-column:auto}
.detail-gallery .zoom-image{aspect-ratio:4/3;background:var(--sand)}
.detail-gallery img,.detail-gallery figure:last-child:nth-child(odd) img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
/* Original construction photos: full frames and a legible portrait detail. */
.construction-cover{max-width:840px}
.construction-cover img{max-height:none}
.detail-gallery.construction-gallery figure.portrait-photo{grid-column:1/-1;width:min(100%,440px);justify-self:center}
.construction-gallery .portrait-photo .zoom-image{aspect-ratio:3/4}
img[src*="/neubau-fenster-innen-"]{filter:brightness(1.06)}
.similar-cta{padding-block:52px 64px}
.similar-cta h2{font-size:clamp(36px,4vw,56px);line-height:1.1;margin-bottom:24px}
.interior-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap);padding-block:32px 52px}
.interior-introduction{padding:0}
.interior-introduction h1{font-size:clamp(44px,4.7vw,68px);line-height:1.08}
.interior-introduction .lead{font-size:15px;line-height:1.8;margin:23px 0;max-width:48ch}
.interior-cover .zoom-image{height:clamp(380px,44vw,560px);background:var(--sand)}
.interior-cover img{width:100%;height:100%;object-fit:contain}
.interior-description{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:var(--column-gap);padding-block:38px}
.interior-description h2{font-size:clamp(34px,3.5vw,50px)}
.interior-gallery{gap:32px}
.interior-gallery .zoom-image{aspect-ratio:4/3;background:var(--sand)}
.interior-gallery figure:nth-child(n+3) .zoom-image{aspect-ratio:3/4}
.interior-gallery img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
.interior-cover figcaption,.interior-gallery figcaption{font-size:11px}

/* Workshop, people and material stories share section edges and spacing. */
.page-manufaktur .gallery-hero{min-height:560px;height:76svh;max-height:760px}
.page-manufaktur .gallery-hero-content{padding-top:140px;padding-bottom:76px}
.page-manufaktur .gallery-hero h1{font-size:clamp(60px,7vw,102px);line-height:.98}
.page-manufaktur .hero-baseline{margin-top:28px}
.gallery-introduction{grid-template-columns:1fr 2.5fr;gap:var(--column-gap);padding-block:var(--section-space)}
.gallery-introduction h2,.gallery-section-top h2{font-size:clamp(36px,4vw,58px);line-height:1.1}
.gallery-introduction-bottom{gap:32px;margin-top:25px}
.material-spread{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--column-gap);padding-bottom:var(--section-space);align-items:center}
.material-main{padding:0}
.material-main .material-frame{height:480px;display:grid;place-items:center;background:var(--sand)}
.material-main .material-frame img{width:100%;height:100%;object-fit:contain}
.material-aside{margin:0}
.material-aside>div{padding:0 0 28px;max-width:420px}
.material-aside h2{font-size:clamp(36px,3.8vw,52px);margin-bottom:22px}
.gallery-section-top{grid-template-columns:1fr 2.5fr;gap:var(--column-gap);margin-bottom:32px}
.atelier-process{padding-block:0 var(--section-space)}
.atelier-ledger article{grid-template-columns:55px 1fr 1.3fr;gap:32px;padding-block:28px}
.atelier-ledger h3{font-size:clamp(28px,3vw,39px)}
.atelier-panorama{max-width:var(--content-width);width:calc(100% - var(--gutter)*2)}
.atelier-panorama img{height:clamp(320px,40vw,520px)}
.atelier-panorama figcaption{padding:12px 0}
.collection-index{padding-block:var(--section-space)}
.collection-index>a{grid-template-columns:45px 1fr 220px 28px;gap:24px;padding-block:25px}
.collection-index h2{font-size:clamp(32px,3.5vw,50px)}
.philosophy-lead{gap:var(--column-gap);padding-block:4px 60px}
.philosophy-lead figure img{height:430px}
.philosophy-lead h2,.material-explained h2,.about-text h2,.sister-section h2{font-size:clamp(34px,3.7vw,52px);line-height:1.12}
.statement{padding-block:var(--section-space)}
.statement blockquote{font-size:clamp(35px,4.5vw,62px);line-height:1.12}
.journey{padding-block:var(--section-space)}
.journey h2{font-size:clamp(36px,4vw,56px)}
.journey-step{grid-template-columns:56px minmax(0,1fr) 30%;gap:32px;padding-block:32px}
.journey-number{font-size:40px}
.journey-step h3{font-size:32px}
.material-explained,.about-text,.sister-section{gap:var(--column-gap);padding-block:var(--section-space)}
.team-wide img{max-height:560px}
.material-explained figure img{height:420px;object-fit:contain;background:var(--sand)}

/* Contact and legal: measured headings, readable lines, consistent gutter. */
.contact-layout{gap:var(--column-gap);grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);padding-bottom:64px}
.inquiry{padding:32px}
.imprint-intro{padding-block:28px 32px}
.imprint-intro>.eyebrow{margin-bottom:14px}
.imprint-heading{gap:var(--column-gap)}
.imprint-heading h1{font-size:clamp(44px,4.7vw,68px);line-height:1.08}
.imprint-layout{gap:var(--column-gap);padding-block:40px 48px}
.imprint-company{font-size:clamp(30px,3vw,42px)}
.legal-content.wrap{max-width:820px;margin-left:max(var(--gutter),calc((100% - var(--content-width))/2));font-size:15px;line-height:1.85}
.legal-content h2{font-size:30px;line-height:1.25;margin-top:32px}
.final-cta{padding-block:64px;border-top:1px solid var(--line)}
.final-cta>.eyebrow{margin-bottom:22px}
.final-cta h2{font-size:clamp(42px,5vw,72px);line-height:1.05}
.cta-composition{gap:30px}
.cta-orbit{width:118px;height:118px;margin-right:0;font-size:11px;gap:16px}
.cta-bottom{margin-top:28px}
.footer-top{padding-block:48px}

/* Keep the existing home interactions, with less oversized typography. */
.hero-content h1{font-size:clamp(64px,8.7vw,138px);line-height:1.02}
.motion-manifesto{padding-block:84px}
.motion-manifesto>.studio-label{margin-bottom:32px}
.word-reveal{font-size:clamp(38px,5.6vw,80px)}
.studio-directory{padding-block:80px;gap:var(--column-gap)}
.studio-directory h2{font-size:clamp(36px,3.5vw,50px)}
.studio-invitation{padding-top:70px}
.invitation-link h2{font-size:clamp(44px,5.5vw,80px)}
.invitation-content>.studio-label{margin-bottom:35px}
.invitation-bottom{margin-top:45px}

@media(max-width:1050px){
 .header-inner,.page-home .header-inner{min-height:80px}
 .js .site-nav,.js .page-home .site-nav{top:80px;max-height:calc(100svh - 80px)}
 .service-hero h1{font-size:clamp(38px,5vw,54px)}
 .service-hero figure img{height:360px}
 .gallery-introduction,.gallery-section-top{grid-template-columns:1fr 2.5fr;gap:28px}
 .material-main .material-frame{height:400px}
 .collection-index>a{grid-template-columns:35px 1fr 170px 28px}
 .interior-hero{gap:28px}
}
@media(max-width:800px){
 :root{--section-space:52px}
 .service-hero,.interior-hero{grid-template-columns:1fr;padding-block:24px 42px;gap:28px}
 .service-hero h1,.interior-introduction h1{font-size:clamp(40px,7vw,56px)}
 .service-hero .lead,.interior-introduction .lead{max-width:60ch;margin-block:18px}
 .service-hero figure img{height:auto;max-height:460px;aspect-ratio:4/3;object-fit:contain;background:var(--sand)}
 .interior-cover{max-width:560px}
 .interior-cover .zoom-image{height:auto;aspect-ratio:3/4;max-height:none}
 .interior-cover img{position:absolute;inset:0}
 .service-intro,.service-detail,.feature-inner,.faq-section,.interior-description,.project-description{display:grid;grid-template-columns:1fr;gap:24px}
 .service-intro{padding-block:28px}
 .service-intro .eyebrow{margin:0}
 .gallery-introduction,.gallery-section-top{display:block}
 .gallery-introduction>.eyebrow,.gallery-section-top>.eyebrow{padding:0;margin-bottom:20px}
 .material-spread{gap:28px}
 .material-aside h2{font-size:36px}
 .material-main .material-frame{height:360px}
 .philosophy-lead,.about-text,.material-explained,.sister-section{display:grid;grid-template-columns:1fr;gap:28px}
 .contact-layout{grid-template-columns:1fr;gap:32px}
 .contact-info{display:grid;grid-template-columns:1fr 1fr;gap:24px}
 .contact-info>div,.contact-info figure{margin:0}
 .contact-info>p{grid-column:1/-1;max-width:65ch}
 .contact-info figure img{height:210px}
 .imprint-heading{display:block}
 .imprint-heading>p{margin:16px 0 0}
 .imprint-layout{grid-template-columns:1fr}
 .footer-top{gap:30px}
}
@media(max-width:700px){
 .page-intro{padding-block:22px 30px}
 .page-intro h1{font-size:clamp(36px,8.6vw,48px);line-height:1.12;overflow-wrap:break-word;hyphens:auto}
 .page-intro>.eyebrow{font-size:9px;margin-bottom:12px}
 .page-intro .lead{font-size:14px;margin-top:16px}
 .intro-inline{display:block;margin-top:18px}
 .intro-inline p{font-size:14px}
 .intro-inline .text-link{margin-top:12px}
 .projects-intro{padding-bottom:22px}
 .projects-intro h1{font-size:clamp(35px,8.5vw,47px)}
 .filters{gap:0 20px;padding-bottom:9px;margin-bottom:22px}
 .filter{font-size:11px}
 .project-collection{grid-template-columns:1fr;gap:30px}
 .project-collection .project-caption h3{font-size:29px}
 .project-collection .project-caption{padding-top:15px}
 .project-summary{font-size:13px;margin-top:9px}
 .project-note.wrap{display:block;padding-block:28px 40px}
 .project-note>p:not(.eyebrow){font-size:22px}
 .project-note>.button{margin-top:22px}
 .detail-gallery{grid-template-columns:1fr;gap:28px}
 .interior-gallery{grid-template-columns:1fr;gap:28px}
 .interior-gallery figure,.interior-gallery figure:nth-child(-n+2){grid-column:1;width:100%;margin:0}
 .project-description>p:last-child{font-size:23px}
 .similar-cta{padding-block:42px}
 .similar-cta .text-link{margin:18px 0 0;display:flex;width:fit-content}
 .page-manufaktur .gallery-hero{height:82svh;min-height:570px;max-height:720px}
 .page-manufaktur .gallery-hero h1{font-size:clamp(51px,12vw,74px)}
 .page-manufaktur .gallery-hero-content{padding-top:125px;padding-bottom:68px}
 .gallery-introduction-bottom{display:block;margin-top:22px}
 .gallery-introduction-bottom .text-link{margin-top:18px}
 .material-spread{display:block}
 .material-main .material-frame{height:auto;aspect-ratio:4/3}
 .material-aside{margin:32px 0 0}
 .material-aside>div{max-width:none;padding-bottom:22px}
 .material-aside figure img{height:auto;aspect-ratio:4/3}
 .atelier-ledger article{grid-template-columns:24px minmax(0,1fr);gap:14px 18px;padding-block:24px}
 .atelier-ledger p{grid-column:2}
 .atelier-ledger h3{font-size:30px}
 .atelier-panorama img{height:auto;aspect-ratio:4/3}
 .collection-index>a{grid-template-columns:24px minmax(0,1fr) 24px;gap:14px}
 .collection-index .index-description{display:none}
 .collection-index h2{font-size:clamp(29px,7.5vw,39px)}
 .philosophy-lead figure img,.feature-inner figure img,.team-wide img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .statement blockquote{font-size:clamp(32px,8vw,44px)}
 .statement>div{display:grid;grid-template-columns:1fr;gap:10px}
 .journey-step{grid-template-columns:32px minmax(0,1fr);gap:18px;padding-block:26px}
 .journey-step figure{grid-column:2}
 .journey-step h3{font-size:28px}
 .journey-number{font-size:30px}
 .material-explained figure img{height:auto;aspect-ratio:4/3}
 .contact-info{display:block}
 .contact-info>div,.contact-info figure{margin-top:26px}
 .inquiry{padding:26px 20px}
 .imprint-heading h1{font-size:44px}
 .imprint-intro{padding-block:22px 28px}
 .imprint-layout{padding-block:30px 38px}
 .legal-content.wrap{margin-inline:auto;font-size:14px}
 .legal-content h2{font-size:27px}
 .final-cta{padding-block:44px}
 .final-cta h2{font-size:clamp(38px,9vw,52px)}
 .cta-composition{display:flex;align-items:center;gap:20px}
 .cta-orbit{width:92px;height:92px;margin:0;font-size:9px;gap:8px}
 .cta-orbit .arrow{font-size:19px}
 .cta-bottom{margin-top:24px}
 .cta-bottom>.eyebrow{margin-top:18px}
 .hero-content h1{font-size:clamp(51px,11.6vw,78px)}
 .motion-manifesto{padding-block:58px}
 .word-reveal{font-size:clamp(34px,8.5vw,54px)}
 .studio-directory{padding-block:58px}
 .studio-directory h2{font-size:37px}
 .invitation-link h2{font-size:clamp(38px,9vw,57px)}
 .footer-top{padding-block:38px}
}
@media(max-width:380px){
 .cta-composition{display:block}
 .cta-orbit{margin-top:24px}
 .service-hero h1,.interior-introduction h1{font-size:38px}
}
@media print{
 .page-intro,.service-hero,.interior-hero{padding-block:20px}
 .page-intro h1,.service-hero h1,.interior-introduction h1,.imprint-heading h1{font-size:36px}
 .project-collection{grid-template-columns:1fr 1fr}
 .project-card{break-inside:avoid}
 .project-summary{color:#333}
 .card-arrow{display:none}
 .legal-content.wrap{max-width:none;margin-inline:auto}
}
