@font-face{font-family:Alfa;src:url('./fonts/alfa-slab-one-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Crimson;src:url('./fonts/crimson-pro-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--ink:#271e14;--red:#b72d1b;--wood:#e0bf83;--line:rgba(39,30,20,.4);--gutter:clamp(22px,4.2vw,86px);--slab:Alfa,Rockwell,Georgia,serif;--serif:Crimson,Georgia,serif;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:28px}
*{box-sizing:border-box}body{margin:0;background:var(--wood);color:var(--ink);font:400 22px/1.35 var(--serif);-webkit-font-smoothing:antialiased}::selection{background:var(--red);color:#fff2d5}a{color:inherit;text-underline-offset:5px}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}picture{display:block;height:100%}figure,p{margin:0}svg{display:block}h1,h2,h3{font-weight:400;margin:0}h1,h2{font-family:var(--slab);letter-spacing:-.045em;line-height:1.04;text-wrap:balance}h2{font-size:clamp(46px,6.6vw,106px)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;padding:12px;background:var(--ink);color:var(--wood);z-index:100}.skip:focus{top:12px}.wood-grain{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.masthead{margin:0 var(--gutter);min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;max-width:420px;font-family:var(--slab);font-size:24px;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}.brand svg{width:48px;flex-shrink:0;fill:none;stroke:var(--ink);stroke-width:4;stroke-linejoin:miter}.masthead-note{font-size:18px;line-height:1.1;margin-right:auto}.masthead nav{display:flex;align-items:center;gap:28px;font-size:19px}.masthead nav a{padding:12px 0;white-space:nowrap;text-decoration:none}.masthead nav a:last-child{border-bottom:2px solid var(--red)}.masthead a:hover,.text-link:hover{color:var(--red)}.dimension{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:15px;border-top:1px solid var(--ink);position:relative}.dimension:before,.dimension:after{content:'';height:15px;width:1px;background:var(--ink);position:absolute;top:-8px;transform:rotate(28deg)}.dimension:before{left:0}.dimension:after{right:0}.dimension span{background:var(--wood);padding:0 12px;position:relative;top:-11px}.hero{padding-top:33px}.hero-dimension{margin:0 var(--gutter)}.hero-dimension span:first-child{padding-left:10px}.hero-layout{padding:28px var(--gutter) 0;display:grid;grid-template-columns:1.58fr 1fr;gap:4vw;align-items:center}.hero-type{min-width:0}h1{font-size:clamp(64px,8.9vw,172px);line-height:1.03;letter-spacing:-.055em;white-space:nowrap;text-shadow:1px 1px 0 rgba(255,237,192,.5)}.plane-area{position:relative;isolation:isolate;touch-action:pan-y}.rough{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.plane-ready .rough{display:block}.plane-area.is-rough{cursor:ew-resize}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:27px}.hero-bottom p{font-size:clamp(19px,1.65vw,27px);line-height:1.25}.text-link{display:inline-flex;gap:20px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding:8px 0;line-height:1.2;font-size:20px}.text-link span{font-size:26px}.roof-sheet{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding:0 0 0 24px;min-width:0}.drawing-label{font-size:16px;align-self:flex-start}.roof-drawing{width:100%;max-height:355px;overflow:visible}.construction{fill:none;stroke:currentColor;stroke-width:1;opacity:.55}.timber{fill:none;stroke:currentColor;stroke-width:2}.svg-text{fill:currentColor;font:15px var(--serif)}.red-mark{fill:none;stroke:var(--red);stroke-width:2}.drawing-foot{position:absolute;bottom:3px;left:30px;font-size:17px}.stamp{position:absolute;right:-3px;bottom:2px;background:var(--red);color:#fff1d6;padding:15px 16px;transform:rotate(-7deg);text-align:center;box-shadow:3px 3px 0 var(--ink)}.stamp span{font:400 clamp(14px,1.35vw,23px)/1.1 var(--slab)}.stamp small{display:block;font-size:14px;margin-top:6px}.plane-instruction{display:flex;align-items:center;gap:11px;margin:29px var(--gutter) 25px;min-height:44px;font-size:18px;line-height:1.1}.plane-icon{font-size:35px;color:var(--red)}.plane-instruction small{font-size:16px}.replane{margin-left:auto;padding:10px 0 10px 18px;border:0;background:none;font-size:17px;text-decoration:underline;text-underline-offset:5px}.replane span{margin-left:10px}.hero-photo{height:clamp(260px,27vw,480px);position:relative;margin:0 var(--gutter);border:2px solid var(--ink)}.hero-photo img{object-position:50% 46%}figcaption{font-size:16px;line-height:1.2}.hero-photo figcaption{position:absolute;left:-2px;bottom:-1px;background:var(--wood);padding:9px 15px 7px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);max-width:90%}.hero-photo figcaption span{margin-left:28px;font-size:14px}.section-space{padding:110px var(--gutter)}.section-heading{position:relative}.section-kicker{font-size:20px;margin-bottom:24px}.section-kicker:before{content:'';display:inline-block;background:var(--red);width:22px;height:4px;vertical-align:middle;margin-right:12px;transform:rotate(-45deg)}.section-heading .plane-area{max-width:900px}.angle-note{position:absolute;right:4%;bottom:10px;font-size:22px;line-height:1.3;transform:rotate(-7deg);color:var(--red)}.service-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;margin-top:55px}.section-intro{font-size:clamp(23px,2.4vw,36px);max-width:440px;line-height:1.3}.services details,.build-steps details{border-top:1px solid var(--ink)}details:last-child{border-bottom:1px solid var(--ink)}summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;padding:18px 0;font-size:clamp(28px,3vw,45px);line-height:1.1}summary::-webkit-details-marker{display:none}.joint{font-size:34px;line-height:1;flex:0 0 26px;text-align:center;transition:transform .2s;color:var(--red)}details[open] .joint{transform:rotate(45deg)}details p{font-size:23px;max-width:600px;padding:0 44px 25px 0}summary:hover{color:var(--red)}.project{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative;padding-top:70px}.project:before{content:'';position:absolute;left:var(--gutter);top:-10px;width:16px;height:18px;background:var(--wood);border-left:2px solid var(--ink);border-right:2px solid var(--ink)}.project-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.project-intro h2{font-size:clamp(46px,6.1vw,98px)}.project-note{font-size:18px;border-left:1px solid var(--ink);padding-left:20px;flex-shrink:0;margin-bottom:8px}.project-photo{margin:55px 0 0 8%;position:relative;height:clamp(300px,43vw,650px)}.project-photo img{object-position:center 43%}.project-photo:before{content:'48°';position:absolute;left:-35px;top:25px;font-size:26px;transform:rotate(-90deg);transform-origin:left bottom;color:var(--red)}.project-photo figcaption{background:var(--ink);color:var(--wood);padding:10px 16px;position:absolute;bottom:0;right:0}.build-plan{display:grid;grid-template-columns:1fr 2fr;gap:9%;margin-top:50px}.plan-aside{font-size:24px}.plan-aside>span{display:block;font-size:85px;color:var(--red);line-height:1.2;margin-left:40px}.build-steps summary{font-size:clamp(25px,2.6vw,39px);justify-content:initial}.build-steps .joint{margin-left:auto}.step-symbol{color:var(--red);width:35px;flex-shrink:0;font-size:30px}.build-steps p{padding-left:50px}.family{display:grid;grid-template-columns:1.08fr 1fr;gap:7%;align-items:start}.family h2{font-size:clamp(45px,5.6vw,92px)}.fiction-note{font-size:16px;line-height:1.3;margin-top:20px}.generations{padding-top:22px;max-width:520px}.generations p{border-top:1px solid var(--line);padding:20px 0;font-size:23px}.generations strong{display:block;color:var(--red);font-weight:600;margin-bottom:6px}.family-photo{margin-top:60px;position:sticky;top:25px}.family-photo picture{height:auto;aspect-ratio:4/5}.family-photo figcaption{padding-top:12px}.apprentice{background:var(--red);color:#fff0cb;padding:35px var(--gutter) 40px;position:relative;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px))}.apprentice-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid currentColor;padding-bottom:18px;font-size:21px}.apprentice-top>span{font-size:45px;line-height:1}.apprentice h2{font-size:clamp(64px,11.6vw,205px);line-height:.99;margin:45px 0 35px}.apprentice-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:flex-end}.apprentice-bottom p{font-size:clamp(22px,2.1vw,32px);max-width:620px}.apprentice-bottom a{font-size:clamp(22px,2.3vw,36px);padding:12px 0;border-bottom:2px solid currentColor;text-decoration:none;display:flex;justify-content:space-between;gap:20px}.apprentice-small{font-size:17px;margin-top:25px}.apprentice :focus-visible{outline-color:#fff0cb}.contact h2{font-size:clamp(60px,9.7vw,164px)}.contact .plane-area{max-width:1250px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:14%;margin-top:50px}.contact-layout>p{font-size:clamp(26px,3vw,44px);line-height:1.25;max-width:550px}.contact-info p{margin-bottom:22px}.contact-phone{font-family:var(--slab);font-size:clamp(28px,3.3vw,50px);color:var(--red);letter-spacing:-.025em}.contact-info .text-link{font-size:20px}.why{border-top:2px solid var(--ink);padding:45px var(--gutter) 75px;display:grid;grid-template-columns:1fr 1.6fr;gap:30px 10%}.why h2{font-size:clamp(36px,4vw,64px)}.why>div>p:not(.section-kicker){max-width:750px}.why .section-kicker{font-size:17px}.package-note{font-size:17px;margin-top:25px}.package-note a{white-space:nowrap}.colophon{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:16px}.shavings{position:fixed;inset:0 0 var(--studie-balken,45px);width:100%;height:calc(100% - var(--studie-balken,45px));pointer-events:none;z-index:30}.sound-toggle{position:fixed;right:18px;bottom:calc(var(--studie-balken,45px) + 14px);z-index:40;background:var(--ink);color:#ffe6b3;border:1px solid #ffe6b3;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:15px;box-shadow:3px 3px 0 rgba(39,30,20,.2)}.sound-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.sound-toggle[aria-pressed=true]{background:var(--red)}
@media(min-width:1700px){.hero-layout{padding-top:40px}.hero-bottom{margin-top:40px}.hero-dimension{font-size:18px}.plane-instruction{margin-top:40px;margin-bottom:32px}}
@media(max-width:1100px){.masthead-note{display:none}.masthead nav{gap:22px}.hero-layout{gap:20px;grid-template-columns:1.6fr 1fr}h1{font-size:8.7vw}.hero-bottom{display:block}.hero-bottom .text-link{margin-top:16px}.stamp{padding:10px}.drawing-foot{display:none}.roof-sheet{padding-left:16px}.hero-dimension span:last-child{display:none}.project-intro{align-items:flex-start}.project-note{font-size:16px}.service-layout{gap:7%;grid-template-columns:1fr 1.4fr}.family{gap:5%}.family .section-kicker{font-size:18px}}
@media(max-width:767px){body{font-size:21px}.masthead{min-height:94px;gap:15px;align-items:center}.brand{font-size:20px;max-width:68%;gap:9px}.brand svg{width:35px}.masthead nav{font-size:17px;gap:0}.masthead nav a:not(:last-child){display:none}.hero{padding-top:28px}.hero-dimension{font-size:13px;gap:5px}.dimension span{padding:0 7px;top:-10px}.hero-layout{display:block;padding-top:20px}h1{font-size:clamp(54px,12.2vw,93px);line-height:1.07}.hero-bottom{display:flex;margin-top:22px;gap:18px}.hero-bottom p{font-size:21px}.hero-bottom .text-link{font-size:17px;margin:0;max-width:130px;gap:12px}.roof-sheet{margin-top:35px;border-left:0;border-top:1px solid var(--line);padding:17px 0 0;min-height:250px}.roof-drawing{width:70%;max-height:260px;margin-left:-7px}.drawing-label{font-size:14px;position:absolute;top:18px;right:0;max-width:110px;text-align:right;line-height:1.1}.stamp{bottom:30px;right:3px;padding:15px 12px}.stamp span{font-size:18px}.stamp small{font-size:13px}.plane-instruction{margin-top:10px;margin-bottom:22px;font-size:16px;gap:9px;flex-wrap:wrap}.plane-instruction small{font-size:14px}.replane{font-size:14px;max-width:125px;padding-left:5px}.replane span{margin-left:4px}.hero-photo{height:300px;margin:0}.hero-photo figcaption{font-size:15px;padding:10px 13px}.hero-photo figcaption span{display:block;margin:4px 0 0;font-size:13px}.hero-photo img{object-position:40% 50%}.section-space{padding-top:70px;padding-bottom:70px}h2{font-size:clamp(40px,8.7vw,68px)}.section-kicker{font-size:18px;margin-bottom:20px}.angle-note{display:none}.service-layout{grid-template-columns:1fr;gap:32px;margin-top:30px}.section-intro{font-size:25px;max-width:500px}.services summary{font-size:32px;padding:18px 0}.services details p{font-size:21px;padding-right:20px}.project-intro{display:block}.project-intro h2{font-size:clamp(37px,8.5vw,65px)}.project-note{margin-top:26px;font-size:17px;padding-left:15px}.project-photo{margin:30px 0 0;height:350px}.project-photo:before{left:-8px;top:28px;font-size:21px}.project-photo figcaption{font-size:14px;padding:9px 12px;left:0}.build-plan{grid-template-columns:1fr;gap:25px;margin-top:30px}.plan-aside{font-size:20px;display:flex;align-items:center;gap:30px}.plan-aside>span{font-size:50px;margin:0;transform:rotate(-25deg)}.build-steps summary{font-size:27px;gap:10px}.step-symbol{width:25px}.build-steps p{font-size:21px;padding-left:35px;padding-right:15px}.family{grid-template-columns:1fr;gap:30px}.family h2{font-size:clamp(44px,10.4vw,80px)}.generations p{font-size:22px}.family-photo{margin:0 0 0 12%;position:relative;top:auto}.family-photo figcaption{font-size:15px}.apprentice{padding-top:26px;padding-bottom:30px}.apprentice-top{font-size:17px;gap:20px}.apprentice h2{font-size:clamp(53px,11.9vw,90px);margin-top:32px;margin-bottom:27px}.apprentice-bottom{grid-template-columns:1fr;gap:22px}.apprentice-bottom p{font-size:24px}.apprentice-bottom a{font-size:25px}.apprentice-small{font-size:16px}.contact h2{font-size:clamp(54px,11.7vw,90px)}.contact-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.contact-layout>p{font-size:29px}.contact-phone{font-size:34px}.contact-info .text-link{font-size:20px}.why{grid-template-columns:1fr;gap:28px;padding-top:35px;padding-bottom:90px}.why h2{font-size:42px}.why .section-kicker{margin-bottom:15px}.why>div>p{font-size:21px}.why>div>.package-note{font-size:16px}.colophon{display:block;margin-top:10px;font-size:15px;line-height:1.4}.colophon span,.colophon a{display:block;margin-top:8px}.sound-toggle{right:10px;bottom:calc(var(--studie-balken,45px) + 10px);font-size:14px;padding:9px 11px}}
@media(max-width:380px){.brand{font-size:18px}.hero-bottom p{font-size:19px}.hero-bottom .text-link{max-width:100px;font-size:16px}.replane{max-width:105px}.stamp span{font-size:16px}.stamp small{font-size:12px}.roof-drawing{width:73%}.contact-phone{font-size:30px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.rough,.shavings,.plane-instruction,.sound-toggle{display:none!important}}
@media print{body{background:#fff}.wood-grain,.shavings,.sound-toggle,.plane-instruction,.rough{display:none!important}.family-photo{position:static}.section-space{padding-top:35px;padding-bottom:35px}details p{display:block}.apprentice{color:#000;background:none}.hero-photo{height:220px}}
@media(max-width:767px){.plane-instruction .replane{margin-left:0;max-width:none;flex-basis:100%;text-align:left;font-size:16px;padding:8px 0}.generations strong{font-weight:700}} .angle-note{color:#922412}

/* kein Markieren beim Ziehen */
body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}
