:root{--paper:#faf5ef;--ink:#211a15;--muted:#6b5b51;--line:#dfd1c6;--accent:#a84228;--coral:#da7c5f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-80px;background:white;padding:16px;z-index:10}.skip:focus{top:0}header{display:flex;justify-content:space-between;align-items:center;padding:30px 5%;gap:30px}.brand{text-decoration:none;font:29px Georgia,serif;letter-spacing:-1px}.brand span{display:block;font:11px Arial,sans-serif;letter-spacing:2.1px;margin-top:9px}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none;font-size:14px}.nav-contact{border:1px solid var(--ink);padding:10px 24px}.hero{display:grid;grid-template-columns:43% 57%;min-height:640px;padding:20px 0 0 5%}.hero-copy{padding:65px 30px 60px 0;align-self:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;margin:0 0 28px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(48px,5.2vw,82px);letter-spacing:-3px;margin:0 0 30px}.hero-copy>p:not(.eyebrow){max-width:360px;color:var(--muted)}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 23px;background:var(--ink);color:white;text-decoration:none;font-size:14px;margin-top:26px}.button:hover{background:#493327}.text-link{display:block;font-size:14px;margin-top:20px}.hero-photo{margin:0;position:relative;min-height:560px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.hero-photo figcaption{position:absolute;bottom:0;left:0;background:var(--paper);padding:13px 23px;font-size:12px}.visit{display:flex;justify-content:space-between;gap:25px;padding:25px 5%;font-size:12px;border-bottom:1px solid var(--line)}footer{padding:32px 5%;display:flex;justify-content:space-between;font-size:13px;border-top:1px solid var(--line)}section{scroll-margin-top:30px}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px;gap:24px}h2{font-size:clamp(36px,4vw,56px);letter-spacing:-1.5px;margin:0}h3{font-size:30px;margin:0 0 15px}.section-heading p{max-width:310px;color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.gallery figure{margin:0}.gallery figure:nth-child(2){padding-top:55px}.gallery figure:nth-child(3){padding-top:105px}.image-button{display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}.gallery img{display:block;width:100%;height:340px;object-fit:cover}.gallery figure:first-child img{height:440px}.gallery figcaption{padding:15px 0;font-size:14px}.gallery figcaption span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.services{background:#f0e2d6;display:grid;grid-template-columns:1fr 1.35fr;gap:8%}.services .intro p{max-width:320px;color:var(--muted)}details{border-bottom:1px solid #cbb5a5;padding:21px 0}details:first-child{border-top:1px solid #cbb5a5}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font:25px Georgia,serif;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font:25px Arial;font-weight:300}details[open] summary:after{content:'−'}details p{color:var(--muted);max-width:550px;margin-bottom:5px}.number{font:12px Arial;letter-spacing:1px;color:var(--muted);margin-right:15px}.custom{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center}.custom img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.custom p{color:var(--muted);max-width:370px}.caption{font-size:12px!important;margin:10px 0}.workshop{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.workshop p{color:#eadace;max-width:440px}.signature{font:28px Georgia!important;margin-top:30px}.workshop img{width:100%;max-height:530px;object-fit:cover}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.contact h2{margin-bottom:35px}.contact a.mail{overflow-wrap:anywhere}.phone{font:clamp(28px,3.5vw,48px) Georgia;display:block;margin:25px 0 15px;text-decoration:none}.hours{border-top:1px solid var(--ink);padding-top:25px}.hours strong{display:block}.notice{border-left:3px solid var(--accent);padding-left:20px;margin:25px 0}.hours p{margin:20px 0}.contact .eyebrow{margin-bottom:22px}dialog{border:0;background:var(--paper);padding:16px;max-width:95vw;max-height:95vh;width:1000px}dialog::backdrop{background:#211a15ed}dialog img{display:block;width:100%;height:75vh;object-fit:contain}dialog button{float:right;border:1px solid var(--ink);background:transparent;padding:10px 15px;font:14px Arial;cursor:pointer}dialog p{margin:12px 0 0}body:has(dialog[open]){overflow:hidden}@media(max-width:800px){header{align-items:flex-start;flex-direction:column;padding:25px 6%;gap:22px}nav{gap:20px;flex-wrap:wrap}nav a{font-size:13px}.nav-contact{padding:5px 14px}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:30px 6% 45px}.hero-photo{min-height:440px}.hero-photo img{object-position:center}.hero-copy>p:not(.eyebrow){max-width:440px}h1{letter-spacing:-2px}.visit{flex-direction:column;gap:6px;padding:20px 6%}.section{padding:65px 6%}.section-heading{display:block}.section-heading p{margin-top:20px}.gallery{grid-template-columns:1fr;gap:24px}.gallery figure:nth-child(n){padding:0}.gallery img,.gallery figure:first-child img{height:auto;max-height:480px;object-fit:cover}.services,.custom,.workshop,.contact{grid-template-columns:1fr;gap:35px}.workshop img{max-height:420px}.custom .copy{order:-1}summary{font-size:22px}footer{gap:20px;flex-wrap:wrap}.hero-photo figcaption{font-size:11px}.eyebrow{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original identity: coral lettering on deep brown. */
header{background:var(--ink);color:var(--paper);padding-top:23px;padding-bottom:23px}
.brand{display:block;max-width:55%;line-height:1}
.brand img{display:block;width:390px;max-width:100%;height:auto}
.brand span{font-size:12px;letter-spacing:2px;padding-left:20px;color:#ecd6c9;margin-top:6px}
.nav-contact{border-color:var(--coral);color:var(--coral)}
nav a:hover{color:var(--coral)}
.button{background:var(--coral);color:var(--ink);font-weight:600}
.button:hover{background:#ed9c80;color:var(--ink)}
.eyebrow{color:var(--accent)}
.workshop .eyebrow{color:var(--coral)}
.text-link:hover,.phone:hover{color:var(--accent)}
@media(max-width:800px){.brand{max-width:100%;width:360px}.brand span{padding-left:16px;font-size:11px}header{gap:24px}nav{width:100%;justify-content:space-between;gap:12px}}

.arrival{border-bottom:1px solid var(--line)}
.arrival-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:30px;align-items:start}
.arrival figure{margin:0}.arrival figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.arrival figcaption{font-size:14px;margin-top:12px;color:var(--muted)}
.map-panel iframe{display:block;width:100%;height:380px;border:1px solid var(--line);background:#f0e2d6}
.map-panel .button{margin-top:18px}.arrival-note{font-size:14px;color:var(--muted);max-width:690px;margin:30px 0 0}
@media(max-width:800px){.arrival-grid{grid-template-columns:1fr;gap:28px}.map-panel iframe{height:340px}nav{justify-content:flex-start;column-gap:20px;row-gap:12px}}

/* Portrait framing preserves the complete original armchair. */
.hero-photo{aspect-ratio:3/4;min-height:0}.hero-photo img{object-fit:cover;object-position:center}.hero-photo figcaption{max-width:100%}
@media(max-width:800px){.hero-photo{min-height:0;aspect-ratio:3/4}}

.weave{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center}
.weave .eyebrow{color:var(--coral)}.weave-copy{max-width:510px}.weave-copy p{color:#eadace}.weave-copy .weave-lead{font:28px Georgia,serif;color:var(--paper);margin-top:0}.weave-note{border-left:2px solid var(--coral);padding-left:24px;margin-top:28px}
.commercial{background:#f0e2d6}.commercial-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start}.commercial figure{margin:0}.commercial img{width:100%;height:430px;object-fit:cover;display:block}.commercial figure:first-child img{object-fit:contain;background:#e5e0d7}.commercial figcaption{font-size:14px;margin-top:14px;color:var(--muted)}.visit{font-size:14px;align-items:center}.visit strong{font-weight:600}.hero-copy>p:not(.eyebrow){max-width:390px}.brand img{width:390px}
@media(max-width:800px){.weave,.commercial-grid{grid-template-columns:1fr;gap:32px}.commercial img{height:auto;max-height:440px}.visit{align-items:flex-start}.hero-copy{padding-top:42px}h1{font-size:clamp(45px,9vw,72px)}}

.transformations>h2{margin-bottom:45px}.pair-main>p,.pair-secondary p{color:var(--muted);max-width:630px}.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pair-grid figure{margin:0;background:#eee4da}.pair-grid figcaption{padding:12px 18px;font-size:14px;font-weight:600;border-top:2px solid var(--coral)}.pair-grid img{display:block;width:100%;height:490px;object-fit:contain}.pair-secondary{margin-top:60px;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.8fr;gap:40px}.pair-secondary img{height:360px}.woodwork{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#f0e2d6}.woodwork p{max-width:490px;color:var(--muted);margin-top:26px}.woodwork figure{margin:0}.woodwork img{display:block;width:100%;max-height:560px;object-fit:contain}.woodwork figcaption{font-size:14px;color:var(--muted);margin-top:14px}.workshop img{height:auto;max-height:none;object-fit:contain}
@media(max-width:800px){.pair-grid{gap:14px}.pair-grid img{height:290px}.pair-secondary{grid-template-columns:1fr;gap:20px}.pair-secondary img{height:310px}.woodwork{grid-template-columns:1fr;gap:28px}}
@media(max-width:480px){.pair-grid{grid-template-columns:1fr}.pair-grid img,.pair-secondary img{height:auto;max-height:480px}}

/* Tighter photographic framing; the source image remains untouched. */
.hero-photo{aspect-ratio:1/1}.hero-photo img{object-position:50% 40%}
@media(max-width:800px){.hero-photo{aspect-ratio:1/1}}

/* Moderate spacing refinement, preserving section order and desktop layouts. */
.section{padding-top:76px;padding-bottom:76px}
.section-heading{margin-bottom:32px}
.transformations>h2{margin-bottom:34px}
.pair-secondary{margin-top:42px;padding-top:32px}
.gallery figure:nth-child(2){padding-top:35px}
.gallery figure:nth-child(3){padding-top:70px}
.section>div,.section article,.pair-grid figure,.arrival-grid>*,.commercial-grid figure{min-width:0}
img{max-width:100%}
summary:after{flex-shrink:0}
@media(min-width:801px) and (max-width:1100px){header{gap:20px}.brand{max-width:42%}nav{gap:18px}.nav-contact{padding:10px 16px}}
@media(max-width:800px){
header{padding:20px 6% 16px;gap:12px}
.brand{width:360px;max-width:100%}
nav{gap:4px 18px;align-items:center;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.nav-contact{padding:5px 14px}
.hero{min-height:0}
.hero-copy{padding:32px 6% 34px}
h1{margin-bottom:22px;font-size:clamp(44px,9vw,68px)}
h2{font-size:clamp(32px,6.8vw,44px);letter-spacing:-1px}
h3{font-size:27px}
.eyebrow{margin-bottom:18px;letter-spacing:1.6px}
.hero-copy .button{margin-top:18px}
.button{max-width:100%;min-height:48px;padding:13px 18px;gap:16px;line-height:1.5}
.text-link{min-height:44px;display:flex;align-items:center;line-height:1.5;margin-top:14px}
.hero-photo figcaption{font-size:12px;padding:9px 14px;line-height:1.4}
.visit{padding:18px 6%;gap:8px;line-height:1.55}
.visit a{display:inline-flex;align-items:center;min-height:44px}
.section{padding:48px 6%}
.section-heading{margin-bottom:26px}
.section-heading p{margin-top:16px;max-width:100%}
.services,.custom,.workshop,.contact,.woodwork,.weave{gap:26px}
.gallery{gap:20px}.gallery figure:nth-child(n){padding-top:0}
.gallery figcaption{padding:10px 0}.gallery figcaption span{font-size:13px}
summary{font-size:22px;line-height:1.25;min-height:44px;gap:12px}
details{padding:12px 0}.number{margin-right:10px}
.transformations>h2{margin-bottom:28px}
.pair-secondary{margin-top:32px;padding-top:28px;gap:16px}
.pair-grid figcaption{padding:10px 14px}
.woodwork img{height:auto;max-height:470px}
.commercial-grid{gap:26px}
.commercial img{object-fit:contain}
.caption{font-size:13px!important}
.map-panel iframe{height:300px}
.arrival-grid{gap:24px}.arrival-note{margin-top:22px}
.contact h2{margin-bottom:24px}.phone{font-size:34px}
.hours{padding-top:20px}.notice{margin:20px 0}
footer{padding:24px 6%;gap:10px;font-size:14px}footer a{min-height:44px;display:flex;align-items:center}
dialog{padding:12px;max-height:94dvh}dialog img{height:65dvh}dialog button{min-height:44px}dialog p{font-size:14px;line-height:1.4}
}
@media(max-width:480px){
.pair-grid{grid-template-columns:1fr;gap:18px}
.pair-grid img,.pair-secondary img{height:auto;max-height:430px;object-fit:contain}
.gallery img,.gallery figure:first-child img{max-height:410px;object-fit:contain}
.hero-photo figcaption{position:relative;display:block}.hero-photo{aspect-ratio:auto}.hero-photo img{position:relative;display:block;aspect-ratio:1/1;height:auto;object-fit:cover;object-position:50% 40%}
.commercial img{max-height:390px}.phone{font-size:32px}
}

.ribbon-pair>p{max-width:850px}.ribbon-pair .pair-grid figure{display:flex;flex-direction:column}.ribbon-pair .pair-grid figcaption{min-height:68px}.ribbon-pair .pair-grid img{height:auto;max-height:none;aspect-ratio:1/1;object-fit:contain}.ribbon-pair .pair-grid .ribbon-before{object-fit:cover;object-position:50% 65%}

/* Anfahrt und Impressum */
.map-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px}.directions-copy h3{font-size:32px}.legal-page{max-width:1000px;min-height:65vh}.legal-page h2{font-size:28px;letter-spacing:0;margin:32px 0 16px}.legal-page a{overflow-wrap:anywhere}footer>a{padding:8px 0}footer{align-items:center;gap:20px;flex-wrap:wrap}

/* Move only the first caption past the contained photo's lower letterbox. */
#arbeiten .gallery figure:first-child{container-type:inline-size}
@media(min-width:801px){
#arbeiten .gallery figure:first-child figcaption{transform:translateY(min(0px,calc((100cqw * 9 / 16 - 440px) / 2)))}
}

/* Align the third caption with the visible contained portrait, without moving it. */
#arbeiten .gallery figure:nth-child(3){container-type:inline-size;--photo-height:340px}
#arbeiten .gallery figure:nth-child(3) figcaption{padding-left:max(0px,calc((100cqw - var(--photo-height) * 5 / 9) / 2))}
@media(max-width:800px){#arbeiten .gallery figure:nth-child(3){--photo-height:480px}}
@media(max-width:480px){#arbeiten .gallery figure:nth-child(3){--photo-height:410px}}

.footer-legal{display:flex;gap:24px;align-items:center}.footer-legal a{padding:8px 0}@media(max-width:480px){.footer-legal{flex-direction:column;align-items:flex-start;gap:0}}
.privacy-page h1{overflow-wrap:anywhere}

/* Captions follow the visible left edge of these two contained 3:4 photos. */
#gewerbe .commercial-grid figure:first-child{container-type:inline-size;--caption-photo-limit:430px}
#holzarbeiten figure{container-type:inline-size;--caption-photo-limit:560px}
#gewerbe .commercial-grid figure:first-child figcaption,
#holzarbeiten figure figcaption{padding-left:max(0px,calc((100cqw - var(--caption-photo-limit) * 3 / 4) / 2));text-align:left}
@media(max-width:800px){
#gewerbe .commercial-grid figure:first-child{--caption-photo-limit:440px}
#holzarbeiten figure{--caption-photo-limit:470px}
}
@media(max-width:480px){#gewerbe .commercial-grid figure:first-child{--caption-photo-limit:390px}}
