@font-face{font-family:Meister;src:url('assets/fraktur.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:190px}body{margin:0;color:#112348;background:#fcfbf8;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #0087c9;outline-offset:5px}h1,h2,p,figure{margin:0}h1,h2{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(36px,4.6vw,64px);font-weight:500}h2{font-size:clamp(25px,2.4vw,34px);font-weight:500}p{color:#4c5870;font-size:17px;max-width:760px}p+p{margin-top:16px}.header{position:fixed;top:0;left:0;right:0;height:154px;z-index:20;background:#fcfbf8f5;border-bottom:1px solid #d9e0e6;display:flex;align-items:center;padding:20px 5%;gap:28px;backdrop-filter:blur(12px)}.brand{margin-right:auto;display:flex;flex-direction:column;align-items:center}.brand>span{font-family:Meister,Georgia,serif;font-size:clamp(35px,4vw,59px);line-height:1.15;border-bottom:2px solid #1695d0;padding-bottom:5px;transform:scaleX(1.05)}.brand small{font-size:13px;letter-spacing:.13em;margin-top:8px}.header nav{display:flex;gap:22px;font-size:13px}.header nav a:hover,.topics a:hover{color:#0086c7}.header-logo{order:3}.logo-mark{display:block;position:relative;overflow:hidden;aspect-ratio:1.87;width:160px;background:white}.logo-mark img{position:absolute;width:100%;height:auto;left:0;top:-33%}.sidebar{position:fixed;left:0;top:165px;bottom:24px;width:29%;display:flex;align-items:center;justify-content:center;flex-direction:column}.person{position:relative;height:100%;max-height:690px;width:100%;isolation:isolate}.person-photo{position:absolute;height:100%;width:auto;max-width:none;left:50%;transform:translateX(-55%);bottom:0}.sign{position:absolute;top:38%;left:50%;transform:translateX(-50%) rotate(-1deg);width:min(83%,285px);padding:16px 12px;background:#fff;border:2px solid #d8d7cf;box-shadow:0 9px 15px #1422381c;text-align:center;display:flex;align-items:center;flex-direction:column;line-height:1.25}.sign:before,.sign:after{content:'';position:absolute;bottom:100%;width:3px;height:50px;background:#4c4440;z-index:-1;transform:rotate(10deg);left:23%}.sign:after{left:auto;right:23%;transform:rotate(-10deg)}.sign .logo-mark{width:90px;margin-bottom:7px}.sign b{font-size:clamp(17px,1.7vw,25px);font-weight:600}.sign small{display:block;margin-top:10px;font-size:11px;color:#0984c3}.sign .blue{color:#168ccc}.golf .sign{top:37%}.back{font-size:13px;padding:12px 15px;background:#fff;border:1px solid #e1e5e9;border-radius:30px;white-space:nowrap}.inner main{margin:154px 4.5% 0 31%;padding-top:36px;max-width:1150px}.topics{display:flex;gap:10px 19px;flex-wrap:wrap;font-size:12px;border-bottom:1px solid #dce1e6;padding-bottom:17px;margin-bottom:38px}.topics [aria-current]{color:#0086c7;border-bottom:1px solid}.eyebrow{display:block;color:#1188bc;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:17px}.page-intro{padding:22px 0 40px}.page-intro p{margin-top:23px;max-width:660px}.project{margin:40px 0 65px}.project h2{margin-bottom:20px}.project p{margin-bottom:25px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}.gallery figure{min-width:0}.gallery img{display:block;width:100%;height:300px;object-fit:cover;border-radius:3px;transition:filter .2s,transform .3s}.gallery a{display:block;overflow:hidden;border-radius:3px}.gallery a:hover img{transform:scale(1.025);filter:brightness(1.04)}.gallery figure:only-child{grid-column:1/-1;max-width:760px}.gallery figure:only-child img{height:auto;max-height:650px;object-fit:contain;background:#f0eee8}.gallery figcaption{font-size:12px;color:#67718a;margin-top:8px}.videos{grid-template-columns:repeat(3,minmax(0,1fr))}.videos video{width:100%;max-height:420px;background:#e4e5e1}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px}.service{background:#fff;border:1px solid #dfe4e8;transition:transform .2s,box-shadow .2s;overflow:hidden;border-radius:3px}.service:hover{transform:translateY(-5px);box-shadow:0 8px 25px #16254a12}.service>img,.roof-art{height:220px;width:100%;object-fit:cover}.service>div:last-child{padding:18px 15px 22px}.service h2{font-size:19px;letter-spacing:-.025em;overflow-wrap:anywhere}.service h2 span{float:right;color:#098fc6}.service p{font-size:12px;margin-top:10px}.roof-art{position:relative;background:#e6eae5}.roof-art span{position:absolute;width:80%;height:35%;left:10%;top:30%;background:#827463;transform:skewY(-12deg);box-shadow:0 12px #f6f1df}.roof-art i{position:absolute;width:10px;height:15px;background:#867969;top:70%;left:45%}.contact{margin:70px 0 40px;padding:38px;background:#eaf3f7;border-top:2px solid #168fbe}.contact h2{margin-bottom:15px}.contact p{margin-bottom:24px}.contact>a{display:block;width:fit-content;font-size:clamp(19px,2.4vw,29px);margin:7px 0;overflow-wrap:anywhere}.contact>a:hover{text-decoration:underline}.contact small{display:block;margin-top:25px;color:#546780}.prices{display:grid;grid-template-columns:1fr 1fr;gap:20px}.prices>div{border:1px solid #cfdbe3;padding:25px;display:flex;flex-direction:column;background:#fff}.prices>div:last-child{background:#eaf3f7;border-top:3px solid #148abd}.prices strong{font-size:50px;font-weight:500;line-height:1.4}.prices small{color:#667287}.club-gallery{position:relative;overflow:hidden;aspect-ratio:1.8;background:#fff}.club-gallery img{position:absolute;width:145%;max-width:none;left:-44%;top:-30%}.muted{font-size:12px;color:#758095;margin-top:10px}footer{display:flex;flex-wrap:wrap;gap:15px 24px;border-top:1px solid #dce0e5;padding:25px 0;color:#6e788a;font-size:11px}footer span{margin-right:auto}.button{display:inline-block;padding:13px 25px;background:#087fbc;color:white;font-size:14px;border-radius:4px;box-shadow:0 4px 9px #0b578029}.page-intro .button{margin-top:25px}.button:hover{background:#075e95}.skip{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;padding:10px}.skip:focus{top:12px}dialog{border:0;background:#fff;padding:45px 15px 12px;max-width:95vw;max-height:95vh;box-shadow:0 15px 90px #0008}dialog::backdrop{background:#06142cdd}dialog img{display:block;max-width:90vw;max-height:78vh;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:13px;margin-top:10px}.close{position:absolute;right:10px;top:3px;background:none;border:0;font-size:32px;color:#10264b;cursor:pointer}.landing{background:#fafaf6 url('assets/landing-bg.webp') center 145px/cover fixed no-repeat}.landing .header{background:#fcfbf8ed}.landing main{margin-top:154px}.landing-intro{text-align:center;padding:27px 20px 0}.landing-intro h1{font-size:clamp(28px,3vw,43px)}.landing-intro p{font-size:15px;margin:12px auto 0}.landing-intro .eyebrow{margin-bottom:9px}.choices{display:grid;grid-template-columns:1fr 1fr;max-width:1150px;margin:-5px auto 0;gap:130px;padding:0 30px}.choice{height:540px;display:flex;align-items:center;flex-direction:column}.choice .person{height:475px;flex-shrink:0}.choice .person-photo{height:100%}.choice .sign{width:235px}.choice .sign b{font-size:23px}.choice .sign small{font-size:11px}.choice .button{margin-top:10px}.landing-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 35px;font-size:13px;padding:25px}.landing footer{padding:20px 5%;background:#fcfbf8bc}.landing footer span{margin-right:auto}
@media(min-width:1550px){.inner main{margin-left:31%;margin-right:auto}.sidebar{width:28%}.person{max-width:420px}.header{height:165px}.inner main{margin-top:165px}}
@media(max-width:1100px){.header{padding:20px 4%;gap:20px}.header nav{gap:15px}.logo-mark{width:115px}.inner main{margin-left:31%;margin-right:3%}.service-grid{grid-template-columns:repeat(2,1fr)}.service>img,.roof-art{height:210px}.gallery img{height:240px}.sign{width:90%;padding:12px 7px}.sign .logo-mark{width:75px}.choices{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:130px}.header{height:122px;display:grid;grid-template-columns:1fr 65px;gap:8px 15px;padding:12px 20px}.brand{align-items:flex-start}.brand>span{font-size:37px}.brand small{font-size:10px;letter-spacing:.06em}.header-logo{order:0;grid-column:2;grid-row:1}.header-logo .logo-mark{width:65px}.header nav{grid-column:1/-1;justify-content:center;font-size:11px;gap:30px}.inner main{margin:122px 0 0;padding:24px 20px 0}.sidebar{position:relative;top:auto;bottom:auto;width:100%;height:260px;float:none;margin-top:135px;background:linear-gradient(135deg,#edf2ed,#fbfaf6);overflow:hidden}.sidebar .person{height:245px;width:240px}.sidebar .person-photo{height:360px;bottom:-104px}.sidebar .sign{top:113px;width:205px;padding:8px}.sidebar .sign b{font-size:17px}.sidebar .sign .logo-mark{width:55px;margin:0}.sidebar .sign small{font-size:9px;margin-top:5px}.sidebar .back{position:absolute;left:15px;top:15px;background:#fff9;font-size:10px;padding:6px 9px}.inner main{margin-top:0}.page-intro{padding:8px 0 30px}h1{font-size:43px}.page-intro p,p{font-size:16px}.topics{font-size:11px;gap:9px 15px;margin-bottom:25px}.service-grid{gap:18px 12px}.service>img,.roof-art{height:170px}.service h2{font-size:17px}.service p{font-size:11px}.service>div:last-child{padding:15px 12px}.gallery{gap:14px 12px}.gallery img{height:220px}.project{margin:30px 0 48px}.contact{padding:25px 22px;margin-top:45px}.contact>a{font-size:22px}.prices{gap:12px}.prices>div{padding:18px}.prices strong{font-size:39px}.prices span{font-size:13px}.prices small{font-size:11px}.videos{grid-template-columns:1fr}.videos video{max-height:480px}.landing main{margin-top:122px}.landing{background-position:center 122px;background-attachment:scroll}.landing-intro{padding-top:25px}.landing-intro h1{font-size:29px}.landing-intro p{font-size:13px}.choices{gap:0;padding:0 10px;margin-top:16px}.choice{height:405px}.choice .person{height:335px}.choice .person-photo{height:100%;transform:translateX(-55%)}.choice .sign{width:158px;padding:10px 5px}.choice .sign b{font-size:16px}.choice .sign small{font-size:8px}.choice .sign .logo-mark{width:62px}.choice .button{font-size:11px;padding:11px 10px;text-align:center;max-width:170px}.landing-contact{padding:5px 15px 25px;font-size:12px}.landing footer{font-size:10px}.eyebrow{font-size:10px}.club-gallery{aspect-ratio:1.6}}
@media(max-width:400px){.brand>span{font-size:32px}.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:450px;object-fit:contain}.choice .sign{width:143px}.choice .sign b{font-size:14px}.service-grid{grid-template-columns:1fr}.service>img{height:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Display the colored emblem without the surrounding lettering. */
.logo-mark img{clip-path:polygon(5% 48%,12% 36%,20% 28%,29% 24%,36% 22%,44% 21%,54% 21%,63% 23%,69% 25%,76% 29%,82% 33%,88% 39%,94% 46%,96% 54%,90% 62%,85% 68%,78% 72%,70% 77%,61% 82%,52% 84%,43% 82%,35% 79%,27% 75%,20% 70%,13% 66%,8% 61%,5% 56%)}

/* Preserve the supplied golf display as one complete original. */
.original-aufsteller .person-photo{transform:translateX(-50%);mix-blend-mode:multiply}
.person.painter .sign .painter-values{font-size:clamp(12px,1.25vw,17px);color:#0984c3;margin:2px 0 10px;white-space:nowrap}
.person.painter .sign .painter-service{font-size:clamp(17px,1.7vw,25px)}
@media(max-width:760px){.person.painter .sign .painter-values{font-size:11px;margin-bottom:7px}.person.painter .sign .painter-service{font-size:17px}.choice .person.painter .sign .painter-values{font-size:9px}.choice .person.painter .sign .painter-service{font-size:16px}.choice .original-aufsteller .person-photo{transform:translateX(-50%)}}
@media(max-width:400px){.choice .person.painter .sign .painter-values{font-size:8px}.choice .person.painter .sign .painter-service{font-size:14px}}

/* Anchor the painter board to the same proportional canvas as his arms. */
.person.painter{width:auto;aspect-ratio:947/1660;flex-shrink:0;margin-inline:auto}
.person.painter .person-photo{left:0;transform:none;width:100%;height:100%;bottom:0;object-fit:contain}
.person.painter .sign{top:35%;left:50%;width:82%;transform:translateX(-50%);padding:10px 8px;border:2px solid #333;border-radius:12px;box-shadow:0 3px 6px #14223820}
.person.painter .sign:before,.person.painter .sign:after{width:7px;height:27px;bottom:calc(100% - 5px);background:#292b2c;border-radius:2px;left:16%;transform:rotate(8deg)}
.person.painter .sign:after{left:auto;right:16%;transform:rotate(-8deg)}
.original-aufsteller .person-photo{mix-blend-mode:normal}
@media(max-width:760px){.sidebar .person.painter{height:360px;width:auto;position:absolute;bottom:-104px}.sidebar .person.painter .sign{top:35%;width:82%;padding:8px 5px}.sidebar .person.painter .sign:before,.sidebar .person.painter .sign:after{height:20px;width:5px}.choice .person.painter{height:335px;width:auto}.choice .person.painter .person-photo{transform:none}.choice .person.painter .sign{top:35%;width:82%;padding:8px 5px}.choice .person.painter .sign:before,.choice .person.painter .sign:after{height:20px;width:5px}}
.person.painter .sign:before{left:25%}.person.painter .sign:after{right:29%}

.person.painter.integrated-aufsteller .person-photo{width:100%;height:100%;transform:none;left:0;bottom:0}

/* Use the complete supplied logo, with one shared intrinsic ratio. */
.logo-mark{aspect-ratio:1290/710;background:transparent;mix-blend-mode:multiply}
.logo-mark img{position:static;display:block;width:100%;height:100%;object-fit:contain;clip-path:none;left:auto;top:auto}

.privacy-title{font-size:clamp(28px,3.4vw,48px);overflow-wrap:anywhere;hyphens:auto}.project a{overflow-wrap:anywhere}

/* Personal appointment booking; external link only, no Google embed. */
.booking{margin:55px 0 35px;padding:35px 38px;background:#f0f6f8;border:1px solid #cfdee5;border-top:3px solid #1188bc;border-radius:4px}.booking h2{margin-bottom:17px}.booking p{font-size:16px}.booking .booking-place{font-weight:600;color:#112348}.booking .booking-times{font-size:14px;line-height:1.8;margin-top:20px}.booking .booking-button{margin-top:24px;font-size:16px}.booking small{display:block;color:#526276;font-size:12px;max-width:670px;margin-top:15px}.booking small a{text-decoration:underline}.landing .booking{max-width:1040px;margin:35px auto 10px;background:#fcfbf8f2}.header nav{align-items:center;flex-wrap:wrap}.header nav a:last-child{color:#087fbc}.project #terminbuchung{scroll-margin-top:190px}
@media(max-width:760px){.booking{margin:35px 0 25px;padding:25px 22px}.landing .booking{margin:25px 18px 15px}.header nav{gap:10px 18px}.booking h2{font-size:27px}.booking .booking-button{max-width:100%;text-align:center}}

/* Contact form served directly by STRATO. */
.contact-page main{max-width:960px;margin:154px auto 0;padding:40px 35px 0}.contact-page .page-intro{max-width:740px}.contact-form-section{padding:32px;background:#fff;border:1px solid #cfdee5;border-top:3px solid #1188bc;border-radius:4px;margin-bottom:45px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.contact-form-section label{display:block;font-size:15px;font-weight:600;color:#112348;margin-bottom:8px}.contact-form-section label span{font-weight:400;color:#536277}.contact-form-section input:not([type=hidden]),.contact-form-section select,.contact-form-section textarea{font:inherit;font-size:16px;color:#112348;background:#fcfcfb;border:1px solid #9daebc;border-radius:4px;padding:12px 14px;width:100%;max-width:100%}.contact-form-section textarea{resize:vertical;min-height:180px}.contact-form-section input:focus,.contact-form-section select:focus,.contact-form-section textarea:focus{outline:3px solid #0087c9;outline-offset:2px}.contact-form-section .form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form-section .form-required,.contact-form-section .form-privacy,.contact-form-section small{font-size:13px;color:#536277}.form-privacy{margin-top:23px}.form-privacy a,.direct-contact p a{text-decoration:underline}.form-submit{font:inherit;font-size:16px;border:0;cursor:pointer;margin-top:25px}.form-success,.form-errors{padding:22px;border-radius:4px;margin-bottom:25px}.form-success{background:#edf7ef;border:1px solid #88ad91}.form-errors{background:#fff1ee;border:1px solid #c77560}.form-success h2,.form-errors h2{font-size:24px;margin-bottom:12px}.form-errors ul{padding-left:22px;margin:0}.direct-contact{margin-bottom:40px}.direct-contact h2{font-size:25px;margin-bottom:15px}.direct-contact>a{display:block;width:fit-content;color:#087fbc;font-size:20px;margin:7px 0;overflow-wrap:anywhere}.direct-contact p{font-size:15px;margin-top:20px}.contact .contact-form-link{font-size:clamp(16px,1.8vw,22px);font-weight:600;margin-bottom:20px}
@media(max-width:760px){.contact-page main{margin:122px auto 0;padding:25px 20px 0}.contact-form-section{padding:24px 18px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-page h1{font-size:38px}}
