/* Figma revision: chalk surfaces, readable body copy and a calmer message. */
.meister{background:#dce0dc;font-family:Arial,Helvetica,sans-serif}
.meister .service-dock{background:#f5f5f5;grid-template-columns:repeat(3,minmax(0,1fr))}
.meister .service-dock a{min-height:70px;border-bottom:1px solid #c5cbca;font-size:1rem;gap:12px}
.meister .service-dock a:nth-child(3n){border-right:0}
.meister .service-dock a:hover{background:#e9ecea}
.meister .meister-section-title{align-items:start}
.meister .meister-section-title>p{font-size:1rem;line-height:1.7}
.meister .work-card{background:#f5f5f5}
.meister .work-card:nth-child(2){background:#e9ecea}
.meister .work-card:nth-child(3){background:#e7e1d5}
.meister .work-card-special{border-top:4px solid #c79a4b}
.meister .work-grid{align-items:start}
.meister .work-content>p{min-height:0;font-size:1.125rem;line-height:1.55;color:#313a37}
.meister .work-expanded p,.meister .work-card ul{font-size:1rem;line-height:1.7}
.meister .work-expanded p{margin-top:20px}
.meister .work-content{padding:30px 32px}
.meister .meister-about{padding-block:85px;display:grid;grid-template-columns:.9fr 1.15fr;gap:70px;align-items:center}
.meister .meister-about-brand{padding:15px 30px;mix-blend-mode:multiply}
.meister .meister-about-brand img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center}
.meister .meister-about-copy h2{margin-bottom:26px;font-size:clamp(2.35rem,3.8vw,3.8rem)}
.meister .meister-about-copy .eyebrow{font-size:.875rem;line-height:1.5;margin-bottom:20px}
.meister .meister-about-copy p{font-size:1.0625rem;line-height:1.75;max-width:62ch;margin-bottom:20px}
.meister .meister-about-copy .text-link{display:inline-block;margin-top:5px}
.meister .promise-items p,.meister .meister-steps p{font-size:1rem;line-height:1.7}
.meister .meister-process-aside{background:#f5f5f5}
.meister .meister-process-aside>p{font-size:1rem}
.meister .meister-contact h2{font-size:clamp(2.5rem,4.2vw,4.1rem)}
.meister .meister-contact-copy>p{max-width:48ch}
.meister .project-form{font-family:Arial,Helvetica,sans-serif}
.meister .project-form h3{font:700 1.45rem/1.3 Arial,Helvetica,sans-serif}
.meister .project-form label{font-size:1rem}
.meister .form-hint,.meister .small-note{font-size:.875rem}
.meister .meister-header nav{gap:24px;font-size:.9375rem}
@media(min-width:761px) and (max-width:1050px){.meister .meister-header nav{gap:14px;font-size:.875rem}.meister .meister-header .action{padding:12px 15px}}
@media(max-width:760px){
 .meister .service-dock{grid-template-columns:repeat(2,minmax(0,1fr))}
 .meister .service-dock a{font-size:.9375rem;padding:18px 15px;min-height:64px}
 .meister .service-dock a:nth-child(3n){border-right:1px solid #c5cbca}
 .meister .service-dock a:nth-child(2n){border-right:0}
 .meister .meister-about{padding-block:60px;grid-template-columns:1fr;gap:28px}
 .meister .meister-about-brand{width:min(100%,260px);margin:auto;padding:0}
 .meister .meister-about h2{font-size:clamp(2.35rem,9vw,3rem)}
 .meister .work-content{padding:25px}
 .meister .meister-contact h2{font-size:clamp(2.2rem,9.5vw,3rem)}
 .meister .meister-header nav{gap:0}
}
@media(max-width:380px){.meister .service-dock{grid-template-columns:1fr}.meister .service-dock a{border-right:0!important}}
/* One continuous service rail, with touch scrolling and explicit controls. */
.meister .service-dock{display:flex;align-items:stretch;grid-template-columns:none;padding-inline:clamp(10px,3vw,48px);border-bottom:1px solid #c5cbca}
.dock-track{display:flex;flex:1;min-width:0;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.dock-track::-webkit-scrollbar{display:none}
.meister .service-dock a{flex:1 0 210px;white-space:nowrap;scroll-snap-align:start;border:0!important;border-right:1px solid #d8ddda!important;padding:22px;min-height:78px}
.service-dock button{width:46px;flex:none;border:0;background:transparent;font-size:1.5rem;color:#846029}
.service-dock button:disabled{opacity:.25;cursor:default}
.meister .meister-section-title{display:block}
.meister .meister-section-title>p{max-width:62ch;margin-top:25px}
.meister .meister-about-brand{padding:15px 30px;overflow:hidden}
.about-logo-crop{overflow:hidden;aspect-ratio:1;position:relative}
.meister .meister-about-brand img{position:absolute;width:101%;max-width:none;height:auto;aspect-ratio:auto;top:-59%;left:-.5%}
.meister .flip-card.is-ready .flip-open{justify-content:flex-start;gap:10px}
.meister #graffitientfernung .work-photo img{object-position:50% 28%}
.field-optional{display:inline;color:#666;font-size:.8rem}
.meister .project-form label:has(.field-optional){display:block}
.meister .project-form label:has(.field-optional) input{margin-top:7px}
.paint-journey{position:relative;--paint-progress:0;padding-top:22px}
.paint-track{position:absolute;top:22px;bottom:45px;left:11px;width:48px;background:#cdd3cd;border-radius:3px;pointer-events:none}
.paint-fill{height:calc(var(--paint-progress)*100%);width:100%;background:#c79a4b;border-radius:3px;box-shadow:inset 7px 0 #d8b16b,inset -5px 0 #b88b3f}
.paint-roller{position:absolute;width:74px;height:74px;max-width:none;left:-13px;top:calc(var(--paint-progress)*100% - 12px);transform:rotate(180deg);z-index:2;filter:drop-shadow(0 3px 1px #dce0dc)}
.meister .meister-steps{position:relative;z-index:3}
.meister .meister-steps li{grid-template-columns:70px 1fr;gap:24px;min-height:130px;padding-bottom:30px}
.meister .meister-steps li:last-child{min-height:100px;padding-bottom:0}
.meister .meister-steps li>span{width:42px;height:42px;margin-left:14px;background:#dce0dc;border:1px solid #8d968f;color:#535d55;border-radius:50%;font-size:1.25rem;transition:background .2s,border-color .2s}
.meister .meister-steps li.is-painted>span{background:#181c1d;border-color:#181c1d;color:#e1b666}
.meister .meister-steps li>div{border-bottom:1px solid #bdc5be;padding-bottom:22px}
.meister .meister-steps li:last-child>div{border-bottom:0}
.meister-footer{border-top:1px solid #bcc5be;padding:35px 0 28px}
.meister-footer>.container{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.footer-brand{display:flex;flex-direction:column;gap:2px}
.footer-brand strong{font:400 1.6rem Georgia,serif;letter-spacing:.13em}
.footer-brand span,.meister-footer small{font-size:.75rem;color:#58605e}
.meister-footer nav{display:flex;flex-wrap:wrap;gap:22px;font-size:.8rem}
.meister-footer nav a:hover{text-decoration:underline;text-underline-offset:5px}
.meister-footer small{grid-column:1/-1}
@media(max-width:760px){
 .meister .service-dock a{flex-basis:195px;font-size:.9rem;min-height:70px}
 .service-dock button{width:32px}
 .meister .meister-about-brand{padding:0;width:min(100%,300px)}
 .meister .meister-steps li{grid-template-columns:65px 1fr;gap:16px;min-height:142px}
 .meister .meister-process-aside{padding:28px}
 .meister-footer>.container{grid-template-columns:1fr}
 .meister-footer nav{gap:14px 22px}
}

.meister-header .logo{padding:0;width:270px;background:transparent}
.meister-header .navbar-logo{width:100%;height:auto;display:block;object-fit:contain}
@media(max-width:760px){.meister-header .logo{width:230px;transform:none;margin-right:0}}
@media(max-width:380px){.meister-header .logo{width:200px}}
/* Final page refinements and the five-station perspective diagram. */
.meister .service-dock a{flex-basis:200px;padding-inline:18px}
.meister .flip-card:nth-child(odd) .flip-front,.meister .flip-card:nth-child(odd) .flip-back{background:#f5f5f5}
.meister .flip-card:nth-child(even) .flip-front,.meister .flip-card:nth-child(even) .flip-back{background:#e7e1d5}
.meister .meister-process{display:block;padding-block:90px}
.meister .meister-process-aside{background:transparent;padding:0;max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:start}
.meister-process-aside .eyebrow{grid-column:1/-1;margin-bottom:18px}
.meister .meister-process-aside h2{grid-column:1;grid-row:2/4}
.meister .meister-process-aside>p:not(.eyebrow){grid-column:2;margin:0;max-width:45ch}
.meister .meister-process-aside .action{grid-column:2;justify-self:start;margin-top:24px}
.paint-journey{position:relative;margin-top:55px;padding:0;min-height:760px}
.paint-ribbon{position:absolute;left:0;top:0;width:42%;height:100%;pointer-events:none}
.paint-ribbon img{width:100%;height:100%;object-fit:fill}
.meister .meister-steps{margin-left:44%;display:grid;min-height:760px}
.meister .meister-steps li{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:26px;padding:14px 0;min-height:152px}
.meister .meister-steps li:last-child{padding:14px 0;min-height:152px}
.meister .meister-steps li>span{--size:38px;width:var(--size);height:var(--size);margin:0;justify-self:center;background:#dce0dc;border:1px solid #9d8b6d;color:#313a37;font:700 1.1rem Barlow,Arial,sans-serif;box-shadow:2px 3px 0 #b6beb6;transition:background .3s,color .3s,box-shadow .3s}
.meister .meister-steps li:nth-child(2)>span{--size:46px;font-size:1.3rem}
.meister .meister-steps li:nth-child(3)>span{--size:55px;font-size:1.5rem}
.meister .meister-steps li:nth-child(4)>span{--size:66px;font-size:1.7rem}
.meister .meister-steps li:nth-child(5)>span{--size:78px;font-size:2rem;box-shadow:5px 9px 14px #39423826}
.meister .meister-steps li.is-painted>span{background:#181c1d;color:#e2ba72;border-color:#181c1d}
.meister .meister-steps li>div{padding:0;border:0}
.meister .meister-steps h3{font-size:1.25rem;margin-top:0}
.meister .meister-steps p{max-width:42ch;margin-bottom:0}
@media(max-width:760px){
 .meister .service-dock a{flex-basis:185px;padding-inline:14px}
 .meister .meister-process{padding-block:60px}
 .meister .meister-process-aside{display:block}
 .meister .meister-process-aside>p:not(.eyebrow){margin-top:22px}
 .paint-journey{margin-top:32px;min-height:850px}
 .paint-ribbon{width:25%;left:-2%}
 .meister .meister-steps{margin-left:24%;min-height:850px}
 .meister .meister-steps li,.meister .meister-steps li:last-child{grid-template-columns:48px 1fr;gap:12px;min-height:170px}
 .meister .meister-steps li>span{width:calc(var(--size)*.62);height:calc(var(--size)*.62);font-size:1rem}
 .meister .meister-steps h3{font-size:1.05rem;overflow-wrap:anywhere}
 .meister .meister-steps p{font-size:.9375rem;line-height:1.65}
}

/* Stations share the road geometry with the moving roller. */
.paint-journey.has-road{height:960px;min-height:0}
.has-road .paint-ribbon{inset:0;width:100%;height:100%}
.journey-road{display:block;width:100%;height:100%;overflow:visible}
.road-paint{filter:drop-shadow(3px 7px 5px #39423822)}
.road-roller{filter:drop-shadow(2px 4px 2px #39423830)}
.meister .has-road .meister-steps{position:static;margin:0;display:block;min-height:0}
.meister .has-road .meister-steps li,.meister .has-road .meister-steps li:last-child{position:absolute;right:0;display:grid;grid-template-columns:var(--station-size) minmax(0,1fr);gap:22px;align-items:start;min-height:0;padding:0}
.meister .has-road .meister-steps li>span{width:var(--station-size);height:var(--station-size);font-size:clamp(1rem,2vw,1.8rem);margin:0}
.meister .has-road .meister-steps li>div{padding-top:8px}
.meister .has-road .meister-steps p{max-width:40ch}
@media(max-width:760px){.paint-journey.has-road{height:1120px}.meister .has-road .meister-steps li{gap:10px}.meister .has-road .meister-steps li>div{padding-top:3px}.meister .has-road .meister-steps li>span{font-size:1.1rem}}

/* Desktop checkerboard; retain alternating mobile stack. */
@media(min-width:761px){
 .meister .flip-card:nth-child(4n+1) .flip-front,.meister .flip-card:nth-child(4n+1) .flip-back,.meister .flip-card:nth-child(4n) .flip-front,.meister .flip-card:nth-child(4n) .flip-back{background:#f5f5f5}
 .meister .flip-card:nth-child(4n+2) .flip-front,.meister .flip-card:nth-child(4n+2) .flip-back,.meister .flip-card:nth-child(4n+3) .flip-front,.meister .flip-card:nth-child(4n+3) .flip-back{background:#e7e1d5}
}
.legal-page{padding-block:80px 100px;max-width:1000px}
.legal-page h1{font:700 clamp(3rem,7vw,5.5rem)/1 Barlow,Arial,sans-serif;margin-bottom:28px}
.legal-page .legal-lead{max-width:65ch;font-size:1.1rem;line-height:1.7;margin-bottom:42px}
.legal-section{border-top:1px solid #b5bdb6;padding:28px 0;display:grid;grid-template-columns:1fr 2fr;gap:30px}
.meister .legal-section h2{font:700 1.3rem/1.3 Arial,sans-serif}
.legal-section p{line-height:1.75;margin-bottom:14px;overflow-wrap:anywhere}
.legal-section a{text-decoration:underline;text-underline-offset:4px}
.legal-placeholder{color:#59625b}
@media(max-width:600px){.legal-page{padding-block:50px}.legal-section{grid-template-columns:1fr;gap:14px}}
/* Compact mobile actions and accessible hamburger navigation. */
.burger-lines{display:flex;flex-direction:column;gap:5px;width:23px}
.burger-lines>span{display:block;height:2px;width:23px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] .burger-lines>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .burger-lines>span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .burger-lines>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:760px){
 .meister-header .menu-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-height:46px;padding:10px;flex:none}
 .meister .meister-actions{flex-direction:column;align-items:center;gap:14px}
 .meister .meister-actions .action,.meister .meister-header nav .action,.meister .project-form .action,.meister .meister-process-aside .action{width:fit-content;max-width:100%;justify-content:center;text-align:center;padding:14px 24px;margin-inline:auto}
 .meister .project-form .action,.meister .meister-process-aside .action{display:flex}
 .meister .flip-back .service-request{align-self:center;width:fit-content;max-width:100%;justify-content:center;text-align:center;padding:14px 20px;gap:14px}
}
@media(prefers-reduced-motion:reduce){.burger-lines>span{transition:none}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.legal-placeholder{background:#f3e5c9;border-left:3px solid #b48538;padding:16px;color:#493a21}
.legal-toc{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-bottom:45px;padding:25px;background:#edf0ed}
.meister .legal-toc h2{grid-column:1/-1;font:700 1.2rem Arial;margin-bottom:8px}
.legal-toc a{font-size:.95rem;text-decoration:underline;text-underline-offset:3px}
.legal-section{scroll-margin-top:30px}.legal-section li{margin-bottom:12px;line-height:1.6}
@media(max-width:600px){.legal-toc{grid-template-columns:1fr}}
.legal-page h1{overflow-wrap:anywhere}
@media(max-width:600px){.legal-page h1{font-size:clamp(2rem,8.5vw,3rem)}}
