@font-face{font-family:Familjen;src:url('fonts/familjen.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Courier Prime;src:url('fonts/courier-prime.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--green:#234f3d;--yellow:#e4bc35;--red:#752a38;--white:#e6e6d9;--ink:#20251d;--paper:#f0f0cb;--pad:clamp(22px,4.3vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--yellow);font-family:Familjen,Arial,sans-serif;color:var(--ink);font-size:19px;line-height:1.4}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:600;letter-spacing:-.065em;line-height:.87}h3{font-weight:600;letter-spacing:-.035em}img{display:block;width:100%;height:auto}svg{flex-shrink:0}button{border-radius:0}::selection{background:#fff;color:#203e2c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:20px;top:-100px;padding:15px;background:var(--paper);color:var(--ink);z-index:100}.skip:focus{top:15px}
.wall{position:relative;isolation:isolate;background:var(--paint);color:var(--text);touch-action:pan-y pinch-zoom;overflow:clip}.wall[data-tone=gruen]{--paint:var(--green);--text:var(--paper)}.wall[data-tone=gelb]{--paint:var(--yellow);--text:var(--ink)}.wall[data-tone=rot]{--paint:var(--red);--text:var(--paper)}.wall[data-tone=weiss]{--paint:var(--white);--text:var(--ink)}
.section-body{position:relative;padding:92px var(--pad) 30px;z-index:1}.paint-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.wall.is-raw .section-body{color:#fff;mix-blend-mode:difference}.wall.is-raw img{filter:grayscale(1)}.wall.is-raw figure{mix-blend-mode:normal}.wall.is-raw h1,.wall.is-raw h2{font-weight:400}.taped:before{content:"";position:absolute;top:0;left:-1%;width:102%;height:27px;background:url('krepp.svg') center/600px 100%;z-index:3;transform:rotate(-.25deg);pointer-events:none}.colour-caption{display:flex;gap:20px;align-items:baseline;border-top:1px solid currentColor;margin-top:70px;padding-top:16px;font:14px/1.3 'Courier Prime',monospace}.colour-caption .tone-name{font-size:21px}.colour-caption>span:last-child{margin-left:auto}.hero .section-body{padding-top:26px}.masthead{display:grid;grid-template-columns:1fr 1fr auto;gap:28px;align-items:start}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;max-width:320px;font-size:26px;font-weight:600;line-height:.95;letter-spacing:-.045em}.brand span{overflow-wrap:anywhere}.location{font-size:16px;line-height:1.3;padding-left:12%;padding-top:7px}.masthead nav{display:flex;gap:28px;font-size:16px;padding-top:7px}.masthead nav a{text-decoration:none;border-bottom:1px solid}.hero-main{position:relative;padding-top:85px}.hero h1{font-size:clamp(88px,14.5vw,270px);letter-spacing:-.07em;line-height:.83;position:relative;max-width:90%}.roll-note{position:absolute;right:2%;top:35%;transform:rotate(7deg);font:17px/1.1 'Courier Prime',monospace}.roll-note svg{margin:0 0 15px 15px;transform:rotate(100deg)}.hero-foot{display:grid;grid-template-columns:1fr 38%;gap:40px;align-items:end;margin-top:47px}.hero-copy{padding-bottom:20px}.hero-copy p{font-size:clamp(21px,2.25vw,34px);line-height:1.15;letter-spacing:-.025em}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:17px;margin-top:30px;text-decoration:none;border-bottom:1px solid;padding-bottom:8px}.text-link span{font-size:28px}.hero-photo{position:relative;transform:rotate(-3deg);margin:0 10px 0 0}.hero-photo:before{content:"";position:absolute;top:-13px;left:36%;width:30%;height:30px;background:url('krepp.svg') center/100% 100%;z-index:2;transform:rotate(5deg)}.hero-photo img{aspect-ratio:1.9;object-fit:cover}.hero-photo figcaption{font:13px 'Courier Prime',monospace;padding-top:7px}.hero .colour-caption{margin-top:42px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:66px}.section-heading h2{font-size:clamp(70px,8.7vw,160px)}.section-heading>p{font-size:20px;max-width:380px;line-height:1.25;padding-bottom:5px}.service-list{border-top:2px solid}.service-list details{border-bottom:1px solid}.service-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font-size:clamp(35px,4.7vw,80px);font-weight:500;line-height:1.15;letter-spacing:-.04em;padding:14px 0}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:.8em;transition:transform .2s}.service-list details[open] summary span{transform:rotate(90deg)}.service-list details>div{display:grid;grid-template-columns:1fr 38%;gap:10%;padding:10px 0 28px}.service-list details p{max-width:640px;font-size:20px}.aside-note{align-self:end;font:16px 'Courier Prime',monospace}.process-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:start}.room-photo{position:sticky;top:35px}.room-photo img{aspect-ratio:.95;object-fit:cover;object-position:57%}.room-photo figcaption{font:14px/1.3 'Courier Prime',monospace;padding-top:15px}.steps{list-style:none;padding:0;margin:0;counter-reset:none}.steps li{padding:25px 0;border-top:1px solid}.steps li:first-child{padding-top:0;border:0}.steps h3{font-size:34px;line-height:1.1;margin-bottom:12px}.steps p{max-width:480px}.preparation .section-body{display:grid;grid-template-columns:1.2fr 1fr;gap:70px 9%}.prep-title h2{font-size:clamp(69px,7.6vw,145px);margin-top:45px}.tape-note{display:inline-block;background:url('krepp.svg') center/100% 100%;padding:15px 25px;color:var(--ink);transform:rotate(-4deg);font:18px 'Courier Prime',monospace}.prep-copy{padding-top:20px}.prep-copy h3{font-size:29px;margin:35px 0 10px}.prep-copy h3:first-child{margin-top:0}.preparation .colour-caption{grid-column:1/-1;width:100%;margin-top:0}.team-intro{font-size:clamp(25px,3vw,48px);letter-spacing:-.03em;line-height:1.2;margin-bottom:70px}.team-roster{border-top:1px solid}.team-roster>div{position:relative;display:grid;grid-template-columns:1fr 1fr 80px;gap:25px;align-items:center;border-bottom:1px solid;padding:25px 0}.team-roster h3{font-size:clamp(45px,5vw,80px);line-height:1}.team-roster p{font-size:20px}.hand-mark{font-size:58px;font-weight:400;transform:rotate(-12deg);opacity:.75}.contact-intro{font-size:22px;margin-bottom:35px}.contact h2{font-size:clamp(88px,13vw,240px)}.call-button{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-top:2px solid;border-bottom:2px solid;text-decoration:none;margin-top:65px;font-size:clamp(40px,5.5vw,92px);font-weight:600;letter-spacing:-.045em;line-height:1.1}.call-button small{display:block;font:20px 'Courier Prime',monospace;letter-spacing:0;margin-top:10px}.call-button:hover svg{transform:translate(5px,-5px)}.call-button svg{transition:transform .2s}.contact-detail{display:flex;justify-content:space-between;gap:40px;margin-top:25px;font-size:18px}.contact-detail [data-firma]{overflow-wrap:anywhere}.why{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;border-top:1px solid;margin-top:100px;padding-top:30px}.why h3{font-size:44px}.why p{max-width:720px}.why .package-note{font-size:14px;margin-top:25px;max-width:600px}footer{display:flex;justify-content:space-between;gap:20px;font:14px 'Courier Prime',monospace;margin-top:65px;padding-bottom:150px}.paint-tools{position:fixed;bottom:calc(var(--studie-balken,45px) + 16px);right:var(--pad);z-index:30;display:flex;align-items:center;gap:18px;background:#e6e6d9;color:#20251d;padding:10px 14px;box-shadow:3px 4px 0 #20251d;border:1px solid #20251d;max-width:calc(100% - 32px)}.paint-tools[hidden]{display:none}.current-tone{display:flex;flex-direction:column;min-width:136px;font:13px/1.25 'Courier Prime',monospace}.current-tone>span:first-child{font-size:21px}.swatches{display:flex;gap:5px}.swatches button{width:43px;height:48px;border:1px solid #20251d;position:relative;padding:0}.swatches button span{font:12px 'Courier Prime',monospace}.swatches [data-colour=gruen]{background:var(--green);color:var(--paper)}.swatches [data-colour=gelb]{background:var(--yellow);color:var(--ink)}.swatches [data-colour=rot]{background:var(--red);color:var(--paper)}.swatches [data-colour=weiss]{background:var(--white);color:var(--ink)}.swatches button[aria-pressed=true]{transform:translateY(-6px);box-shadow:0 5px 0 #20251d}.finish-button{font-size:15px;border:0;border-left:1px solid #20251d;background:transparent;padding:10px 0 10px 15px;min-height:44px}.finish-button span{margin-left:12px}.roller-cursor{display:none;position:fixed;z-index:50;width:25px;height:76px;pointer-events:none;transform:translate(-50%,-50%)}.roller-cursor span{display:block;width:20px;height:60px;background:var(--cursor-paint,var(--green));border:2px solid #e6e6d9;box-shadow:0 0 0 1px #20251d}.roller-cursor i{position:absolute;top:32px;left:20px;width:17px;height:37px;border:2px solid #20251d;border-left:0}.roller-cursor.is-visible{display:block}
/* Keep reportage photographs natural while the pencil-coloured type reacts to the paint beneath it. */
.section-body{z-index:auto}.wall.is-raw .section-body{mix-blend-mode:normal}.wall.is-raw .section-body :is(.masthead,.hero-main,.hero-copy,.colour-caption,.section-heading,.service-list,.steps,.prep-title,.prep-copy,.team-intro,.team-roster,.contact-intro,.call-button,.contact-detail,.why,footer),.wall.is-raw.contact h2{mix-blend-mode:difference}.wall.is-raw figure{color:#30332c}.wall.is-raw img{filter:saturate(.65)}
@media(min-width:1600px){body{font-size:22px}.hero-main{padding-top:100px}.hero-foot{margin-top:65px}.hero-photo img{max-height:310px}.hero .section-body{min-height:100svh}.section-body{padding-top:115px}.steps p{max-width:550px}}
@media(max-width:1000px){.location{display:none}.masthead{grid-template-columns:1fr auto}.masthead nav{flex-direction:column;gap:10px}.hero-main{padding-top:80px}.roll-note{font-size:14px;right:0}.roll-note svg{width:70px}.hero h1{font-size:15vw}.hero-foot{grid-template-columns:1fr 42%}.section-heading>p{font-size:17px}.section-heading{gap:25px}.preparation .section-body{gap:55px 6%}.prep-title h2{font-size:8vw}.process-layout{gap:6%}.steps h3{font-size:28px}}
@media(max-width:650px){body{font-size:18px}.section-body{padding:70px var(--pad) 25px}.hero .section-body{padding-top:22px}.masthead{gap:15px}.brand{font-size:22px;max-width:230px;gap:8px}.brand svg{width:33px;height:38px}.masthead nav{font-size:14px;padding-top:0}.masthead nav a:first-child{display:none}.hero-main{padding-top:75px}.hero h1{font-size:16.4vw;max-width:100%;line-height:.9}.roll-note{position:relative;top:auto;right:auto;transform:rotate(-4deg);display:flex;justify-content:flex-end;align-items:center;margin:23px 8px 0 0;font-size:13px;gap:12px}.roll-note svg{transform:rotate(12deg);margin:0;width:50px;height:35px}.hero-foot{display:flex;flex-direction:column;align-items:stretch;margin-top:24px;gap:25px}.hero-copy{padding:0}.hero-copy p{font-size:23px}.text-link{font-size:16px;margin-top:18px;padding-bottom:2px}.hero-photo{margin:5px 4px 0 10%;width:86%;align-self:flex-end}.hero-photo img{aspect-ratio:2.1}.hero-photo figcaption{font-size:11px}.hero .colour-caption{margin-top:31px}.colour-caption{gap:12px;flex-wrap:wrap;margin-top:40px;font-size:12px}.colour-caption .tone-name{font-size:16px}.colour-caption>span:last-child{display:none}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:16vw}.section-heading>p{font-size:18px;margin-top:25px}.service-list summary{font-size:9.1vw;padding:18px 0}.service-list details>div{display:block;padding-top:0}.service-list details p{font-size:18px}.aside-note{display:block;margin-top:20px;font-size:14px}.process-layout{display:flex;flex-direction:column;gap:35px}.room-photo{position:static}.room-photo img{aspect-ratio:1.2}.room-photo figcaption{font-size:12px}.steps h3{font-size:30px}.steps li{padding:23px 0}.preparation .section-body{display:block}.prep-title h2{font-size:17vw;margin-top:35px}.prep-copy{padding-top:45px}.prep-copy h3{font-size:28px}.preparation .colour-caption{margin-top:45px}.team-intro{font-size:25px;margin-bottom:35px}.team-roster>div{grid-template-columns:1fr 40px;gap:12px}.team-roster h3{font-size:52px}.team-roster p{font-size:18px;grid-column:1}.hand-mark{grid-column:2;grid-row:1/3;font-size:40px}.contact-intro{font-size:18px;max-width:250px}.contact h2{font-size:18vw}.call-button{font-size:41px;margin-top:40px;padding:25px 0;gap:12px}.call-button svg{width:48px;height:48px}.call-button small{font-size:17px}.contact-detail{flex-direction:column;gap:20px;font-size:16px}.why{display:block;margin-top:65px;padding-top:25px}.why h3{font-size:36px;margin-bottom:20px}footer{flex-direction:column;font-size:12px;gap:12px;padding-bottom:150px;margin-top:40px}.paint-tools{right:12px;left:12px;bottom:calc(var(--studie-balken,45px) + 10px);max-width:none;gap:10px;justify-content:space-between;padding:10px}.current-tone{min-width:0;width:63px;font-size:10px}.current-tone>span:first-child{font-size:18px}.swatches{gap:4px}.swatches button{width:34px;height:44px}.swatches button span{font-size:10px}.finish-button{font-size:12px;max-width:80px;padding:3px 0 3px 10px;line-height:1.15}.finish-button span{display:none}}
.wall[data-tone=blau]{--paint:#303d73;--text:var(--paper)}.wall[data-tone=rosa]{--paint:#d7a1b7;--text:var(--ink)}.swatches [data-colour=blau]{background:#303d73;color:var(--paper)}.swatches [data-colour=rosa]{background:#d7a1b7;color:var(--ink)}
@media(max-width:650px){.swatches{display:grid;grid-template-columns:repeat(3,40px);gap:4px 5px}.swatches button{width:40px;height:35px}.swatches button[aria-pressed=true]{transform:none;box-shadow:inset 0 -4px currentColor}.paint-tools{gap:8px}.current-tone{width:70px}.finish-button{max-width:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.roller-cursor{display:none!important}}

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