/* Bespoke work, generous compositions and restrained motion. */
:root{--content-width:1360px;--atelier-space:clamp(64px,7.5vw,112px)}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--brand-brown)}
.page-intro h1,.service-hero h1,.interior-introduction h1{font-size:clamp(46px,5.1vw,76px);line-height:1.06;letter-spacing:-.035em}
.page-intro{padding-block:45px 48px}
.eyebrow{font-size:9px;letter-spacing:.18em}
.site-header{box-shadow:0 1px 0 #6e3e1205}
.site-nav .nav-contact{letter-spacing:.015em}
.nav-dropdown[open] .dropdown-content{animation:atelier-panel-enter .22s ease-out}
.button,.text-link{font-size:12px}
.button{padding:18px 24px;min-height:56px;border-radius:0}
.service-hero{padding-block:42px 64px}
.service-hero .lead,.interior-introduction .lead{font-size:15px;line-height:1.9}
.service-intro>p:last-child{font-size:clamp(27px,2.9vw,39px);font-family:var(--serif);line-height:1.35}
.service-detail h2,.feature-inner h2,.faq-section h2,.interior-description h2{font-size:clamp(37px,4vw,56px)}
.page-manufaktur .gallery-hero{height:78svh;max-height:820px;min-height:620px}
.page-manufaktur .gallery-hero h1{font-size:clamp(61px,7.4vw,110px);line-height:.98;max-width:1120px}
.page-manufaktur .gallery-introduction h2{font-size:clamp(41px,4.8vw,65px)}
.gallery-introduction-bottom>p,.atelier-ledger p{font-size:14px;line-height:1.9}
.projects-intro h1{font-size:clamp(52px,5.8vw,84px)}
.project-collection{gap:64px 44px}
.project-collection .project-caption h3{font-size:clamp(31px,2.8vw,39px)}
.project-image,.interior-cover .zoom-image,.interior-gallery .zoom-image,.detail-gallery .zoom-image{border-radius:0}
.project-collection .project-image{border:0}
.project-collection .project-card[data-project="treppenhaus-eiche"] .project-image,
.project-collection .project-card[data-project="schreibtisch-blick-ins-gruene"] .project-image{aspect-ratio:3/4}
.project-card .project-caption{transition:transform .35s ease}
.project-card:hover .project-caption{transform:translateY(-2px)}

/* A genuine commission in the first view, with a clear invitation. */
.atelier-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(38px,6vw,90px);padding-block:48px 74px}
.atelier-hero-copy{min-width:0;padding-block:30px}
.atelier-hero-copy>.eyebrow{margin:0 0 32px;display:flex;align-items:center;gap:17px}
.atelier-hero-copy>.eyebrow:before{content:'';height:1px;width:36px;background:var(--brand-brown);flex-shrink:0}
.atelier-hero h1{font:400 clamp(65px,6.7vw,103px)/1.02 var(--serif);letter-spacing:-.047em;margin-left:-3px}
.atelier-hero h1 em{display:inline-block}
.atelier-hero-intro{font-size:15px;line-height:1.9;color:var(--muted);margin:30px 0 32px;max-width:46ch}
.atelier-hero-actions{display:flex;align-items:center;gap:22px 28px;flex-wrap:wrap}
.atelier-button{background:var(--brand-brown);color:var(--brand-ivory);border-color:var(--brand-brown);font-size:11px;gap:24px}
.atelier-button:hover{background:#4f2d0f;color:var(--brand-ivory);border-color:#4f2d0f}
.atelier-button .arrow{font-size:19px}
.atelier-discover{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:11px;color:var(--muted)}
.atelier-discover:hover{color:var(--brand-brown)}
.atelier-discover svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.atelier-hero-note{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin:48px 0 0;border-top:1px solid var(--line);padding-top:20px;max-width:410px}
.atelier-hero-figure{width:100%;max-width:525px;justify-self:end;min-width:0}
.atelier-hero-frame{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--sand);isolation:isolate}
.atelier-hero-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.025) translateY(var(--atelier-drift-y,0px));will-change:auto}
.atelier-image-arrow{position:absolute;right:21px;bottom:21px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #fff8ed99;border-radius:50%;background:#211a1555;color:#fffaf2;backdrop-filter:blur(6px);transition:background .25s,transform .25s}
.atelier-image-arrow .arrow{font-size:21px}
.atelier-hero-frame:hover .atelier-image-arrow,.atelier-work a:hover .atelier-image-arrow{background:#6e3e12aa;transform:translate(2px,-2px)}
.atelier-hero-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);margin-top:16px}
.atelier-hero-figure figcaption>a{display:inline-flex;align-items:center;gap:14px;min-height:32px;color:var(--brand-brown)}
.atelier-hero-figure figcaption .arrow{font-size:15px}
.closure-notice{padding-block:10px}
.closure-notice p{font-size:11px}

/* The claim is supported by actual work and its specific decisions. */
.atelier-pledge{display:grid;grid-template-columns:.65fr 1.4fr 1.15fr;gap:32px 45px;align-items:start;padding-block:56px 67px;border-block:1px solid var(--line)}
.atelier-pledge>.eyebrow{margin:6px 0 0}
.atelier-pledge h2{font-size:clamp(34px,3.5vw,50px);line-height:1.15;letter-spacing:-.025em}
.atelier-pledge-copy>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 16px}
.atelier-pledge-copy .text-link{font-size:11px;gap:20px;line-height:1.6}
.atelier-works{padding-block:var(--atelier-space)}
.atelier-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--column-gap);align-items:end;margin-bottom:48px}
.atelier-section-heading h2,.atelier-craft h2,.atelier-commissions h2{font-size:clamp(45px,4.9vw,70px);line-height:1.05;letter-spacing:-.035em}
.atelier-section-heading>div:last-child{justify-self:end}
.atelier-section-heading>div:last-child>p{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 13px}
.atelier-work-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,7vw,105px)}
.atelier-work{min-width:0}
.atelier-work:nth-child(2){padding-top:95px}
.atelier-work>a{display:block}
.atelier-work-image{position:relative;overflow:hidden;background:var(--sand);aspect-ratio:3/4}
.atelier-work-image>img{width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.atelier-work a:hover .atelier-work-image>img{transform:scale(1.018)}
.atelier-work-caption{padding-top:23px}
.atelier-work-caption>.eyebrow{margin-bottom:14px;font-size:9px}
.atelier-work-caption h3{font-size:clamp(34px,3.3vw,49px);line-height:1.07;letter-spacing:-.035em}
.atelier-work-caption>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;max-width:45ch;margin:18px 0 12px}
.atelier-inline-link{display:inline-flex;align-items:center;gap:24px;font-size:11px;min-height:40px;color:var(--brand-brown);border-bottom:1px solid #6e3e1250}
.atelier-inline-link .arrow{font-size:18px}

.atelier-detail-story{--ink:#fbf8f3;--muted:#e0d4c4;--wood:#dec6a6;--line:#e4cbb340;background:#251c15;color:var(--ink);padding-block:var(--atelier-space)}
.atelier-detail-inner{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:clamp(44px,8vw,118px)}
.atelier-detail-inner>figure{max-width:460px;width:100%;justify-self:center}
.atelier-detail-image{aspect-ratio:3/4;overflow:hidden;background:#30251c}
.atelier-detail-image>img{width:100%;height:100%;object-fit:contain}
.atelier-detail-inner figcaption{font-size:10px;color:var(--muted);margin-top:16px}
.atelier-detail-copy>.eyebrow{color:var(--wood)}
.atelier-detail-copy h2{font-size:clamp(40px,4.5vw,66px);line-height:1.08;letter-spacing:-.03em}
.atelier-detail-copy h2 em{color:var(--wood)}
.atelier-detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted);max-width:48ch;margin:27px 0 24px}
.atelier-detail-copy .text-link{color:var(--ink);border-color:#dec6a670;gap:24px}
.atelier-detail-copy .text-link:hover{color:var(--wood);border-color:var(--wood)}
.atelier-detail-story a:focus-visible{outline-color:var(--wood)}

.atelier-craft{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:clamp(44px,8vw,118px);padding-block:var(--atelier-space)}
.atelier-craft-photo{align-self:start;padding-top:5px}
.atelier-craft-photo>img{width:100%;height:auto}
.atelier-craft-photo figcaption{font-size:10px;margin-top:16px}
.atelier-craft h2{font-size:clamp(41px,4.4vw,63px)}
.atelier-steps{list-style:none;padding:0;margin:35px 0 20px;border-top:1px solid var(--line)}
.atelier-steps>li{display:grid;grid-template-columns:28px 1fr;gap:20px;padding-block:22px;border-bottom:1px solid var(--line)}
.atelier-steps>li>span{font-size:9px;color:var(--brand-brown);padding-top:5px}
.atelier-steps h3{font:400 23px/1.2 var(--serif);letter-spacing:-.01em;margin-bottom:10px}
.atelier-steps p{font-size:12px;line-height:1.9;color:var(--muted);margin:0;max-width:46ch}
.atelier-commissions{display:grid;grid-template-columns:1fr 1.12fr;gap:45px clamp(44px,8vw,118px);padding-block:25px var(--atelier-space)}
.atelier-commission-links{padding-top:3px}
.atelier-commission-links>a{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);min-height:90px;padding-block:21px;font:400 clamp(26px,2.5vw,37px)/1.2 var(--serif);letter-spacing:-.015em}
.atelier-commission-links>a:last-child{border-bottom:1px solid var(--line)}
.atelier-commission-links>a>span:first-child{font:400 9px/1.5 var(--sans);color:var(--brand-brown);min-width:18px}
.atelier-commission-links .arrow{margin-left:auto;font-size:25px}
.atelier-commission-links a:hover{color:var(--brand-brown)}
.atelier-material-links{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:32px;border-top:1px solid var(--line)}
.atelier-material-links>p{font-size:11px;color:var(--muted);margin:0}
.atelier-material-links nav{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.atelier-material-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:11px;color:var(--muted)}
.atelier-material-links a:hover{color:var(--brand-brown)}
.atelier-material-links .arrow{font-size:16px}

.final-cta{padding-block:82px 72px;border-top:1px solid var(--line)}
.final-cta>.eyebrow{margin-bottom:27px}
.final-cta h2{font-size:clamp(54px,6.6vw,96px);line-height:1.02}
.cta-composition{align-items:center;gap:35px}
.cta-orbit{width:230px;height:auto;min-height:78px;padding:20px 23px;justify-content:space-between;gap:22px;border-radius:0;border:1px solid var(--brand-brown);background:var(--brand-brown);color:var(--brand-ivory);font-size:12px;line-height:1.5}
.cta-orbit:hover{background:#4f2d0f;border-color:#4f2d0f;color:var(--brand-ivory)}
.cta-orbit .arrow{font-size:23px}
.cta-bottom{margin-top:32px;gap:35px}
.cta-bottom>p{font-size:12px;line-height:1.9;max-width:57ch}
.footer-top{padding-block:65px}
.privacy-dialog[open] .privacy-panel{animation:atelier-panel-enter .28s ease-out}

/* Visible by default; the script enhances only content below the fold. */
[data-atelier-reveal]{transition:opacity .65s ease,transform .8s cubic-bezier(.2,.65,.3,1)}
[data-atelier-reveal].atelier-pending{opacity:0;transform:translateY(18px)}
[data-atelier-reveal].atelier-visible{opacity:1;transform:none}
@keyframes atelier-panel-enter{from{opacity:0}to{opacity:1}}

@media(max-width:1050px){
 .atelier-hero{gap:32px;padding-block:35px 58px}
 .atelier-hero h1{font-size:clamp(56px,6.8vw,76px)}
 .atelier-hero-copy>.eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:25px}
 .atelier-hero-intro{font-size:13px;margin-block:25px}
 .atelier-hero-figure figcaption{display:block}
 .atelier-hero-figure figcaption>a{margin-top:4px}
 .atelier-hero-note{margin-top:30px}
 .atelier-pledge{grid-template-columns:1fr 1fr;gap:22px 32px}
 .atelier-pledge>.eyebrow{grid-column:1/-1;margin:0}
 .atelier-work:nth-child(2){padding-top:64px}
 .atelier-detail-inner,.atelier-craft,.atelier-commissions{gap:40px}
 .atelier-material-links{display:block}
 .atelier-material-links>p{margin-bottom:10px}
}
@media(max-width:800px){
 .atelier-hero{grid-template-columns:1fr;gap:30px;padding-block:36px 53px}
 .atelier-hero-copy{padding:0}
 .atelier-hero h1{font-size:clamp(55px,9.5vw,78px)}
 .atelier-hero-intro{max-width:50ch;font-size:14px}
 .atelier-hero-figure{max-width:none;width:100%}
 .atelier-hero-frame{aspect-ratio:4/5;max-height:680px}
 .atelier-hero-frame>img{object-fit:cover;object-position:center}
 .atelier-hero-figure figcaption{display:flex;gap:16px}
 .atelier-hero-figure figcaption>a{margin:0}
 .atelier-section-heading{gap:30px}
 .atelier-section-heading h2{font-size:44px}
 .atelier-detail-inner,.atelier-craft,.atelier-commissions{grid-template-columns:1fr;gap:38px}
 .atelier-detail-inner>figure{max-width:440px;justify-self:start}
 .atelier-detail-copy>p:not(.eyebrow){max-width:58ch}
 .atelier-craft-photo{max-width:650px}
 .atelier-steps p{max-width:60ch}
 .atelier-commissions{gap:32px}
 .atelier-material-links{margin-top:8px}
}
@media(max-width:700px){
 :root{--atelier-space:60px}
 .page-intro{padding-block:30px 35px}
 .page-intro h1,.service-hero h1,.interior-introduction h1{font-size:clamp(36px,8.8vw,49px);line-height:1.1}
 .service-hero{padding-block:30px 45px}
 .page-manufaktur .gallery-hero{height:78svh;min-height:580px;max-height:740px}
 .page-manufaktur .gallery-hero h1{font-size:clamp(46px,11.8vw,76px);line-height:1.04}
 .page-manufaktur .gallery-hero-content{padding-bottom:65px}
 .page-manufaktur .hero-baseline{margin-top:25px}
 .projects-intro h1{font-size:clamp(42px,10vw,55px)}
 .project-collection{gap:38px}
 .project-collection .project-caption h3{font-size:30px}
 .atelier-hero h1{font-size:clamp(43px,11.7vw,69px);letter-spacing:-.045em;margin-left:-1px}
 .atelier-hero-copy>.eyebrow{font-size:8px;margin-bottom:23px}
 .atelier-hero-intro{font-size:13px;line-height:1.9;margin:23px 0 22px}
 .atelier-hero-actions{gap:10px 24px}
 .atelier-button{font-size:11px;min-height:52px;padding:16px 20px}
 .atelier-hero-note{font-size:7px;letter-spacing:.12em;margin-top:24px;padding-top:17px}
 .atelier-hero-frame{aspect-ratio:3/4;max-height:none}
 .atelier-hero-figure figcaption{display:block;font-size:9px;margin-top:11px}
 .atelier-hero-figure figcaption>a{margin-top:3px;min-height:38px}
 .atelier-image-arrow{width:42px;height:42px;right:16px;bottom:16px}
 .atelier-pledge{grid-template-columns:1fr;padding-block:37px 40px;gap:24px}
 .atelier-pledge h2{font-size:clamp(32px,8.5vw,43px)}
 .atelier-pledge-copy>p{font-size:13px}
 .atelier-section-heading{grid-template-columns:1fr;gap:26px;margin-bottom:32px}
 .atelier-section-heading>div:last-child{justify-self:start}
 .atelier-section-heading h2,.atelier-craft h2,.atelier-commissions h2{font-size:clamp(37px,9.2vw,51px)}
 .atelier-section-heading>div:last-child>p{font-size:12px}
 .atelier-work-grid{grid-template-columns:1fr;gap:43px}
 .atelier-work:nth-child(2){padding-top:0}
 .atelier-work-caption{padding-top:20px}
 .atelier-work-caption h3{font-size:35px}
 .atelier-work-caption>p:not(.eyebrow){font-size:12px;margin-top:16px}
 .atelier-detail-inner>figure{max-width:none}
 .atelier-detail-copy h2{font-size:clamp(35px,8.6vw,48px)}
 .atelier-detail-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:24px}
 .atelier-detail-copy .text-link{font-size:11px;gap:17px}
 .atelier-steps>li{gap:15px;padding-block:23px}
 .atelier-steps h3{font-size:23px}
 .atelier-commission-links>a{font-size:27px;gap:17px;min-height:80px}
 .atelier-commission-links .arrow{font-size:22px}
 .atelier-material-links nav{display:block}
 .atelier-material-links a{display:flex;width:fit-content;min-height:44px}
 .final-cta{padding-block:52px}
 .final-cta h2{font-size:clamp(43px,10.5vw,60px)}
 .cta-composition{display:block}
 .cta-orbit{width:100%;max-width:290px;min-height:66px;margin-top:30px;padding:16px 22px;font-size:12px}
 .cta-bottom{display:block;margin-top:25px}
 .cta-bottom>p{font-size:12px}
 .cta-bottom>.eyebrow{margin-top:22px;font-size:8px}
 .footer-top{padding-block:45px}
}
@media(prefers-reduced-motion:reduce){
 [data-atelier-reveal],[data-atelier-reveal].atelier-pending{opacity:1;transform:none;transition:none}
 .atelier-work-image>img,.project-card .project-caption,.atelier-image-arrow{transition:none}
 .atelier-work a:hover .atelier-work-image>img,.project-card:hover .project-caption,.atelier-hero-frame>img{transform:none}
 .nav-dropdown[open] .dropdown-content,.privacy-dialog[open] .privacy-panel{animation:none}
}
@media print{
 [data-atelier-reveal],[data-atelier-reveal].atelier-pending{opacity:1;transform:none}
 .atelier-hero,.atelier-work-grid,.atelier-detail-inner,.atelier-craft,.atelier-pledge,.atelier-commissions{display:block;padding-block:20px}
 .atelier-hero h1{font-size:48px}
 .atelier-detail-story{background:#fff;color:#111;--ink:#111;--muted:#444;--wood:#444}
 .atelier-work:nth-child(2){padding-top:20px}
 .atelier-image-arrow,.atelier-hero-actions,.atelier-material-links,.closure-notice{display:none}
 .atelier-hero-figure{max-width:380px;margin-top:25px}
}
