/* Lanz: shared brand colours, navigation and footer. */
:root{--lanz-gold:#b59032;--lanz-ink:#242620;--lanz-paper:#f5f3ed;--lanz-link:#b59032;--bs-link-color:#b59032;--bs-link-hover-color:#977726}
body.site{color:var(--lanz-gold);font-family:Montserrat,Arial,sans-serif;font-size:17px;line-height:1.75}
a{color:var(--lanz-link)}
a:hover,a:focus,a:active{color:#977726}
a,button{transition:color .2s,background-color .2s,border-color .2s}
a:focus-visible,button:focus-visible{outline:2px solid var(--lanz-gold);outline-offset:5px}
.btn-primary,.sppb-btn-primary{background:var(--lanz-gold)!important;border-color:var(--lanz-gold)!important;color:#171914!important;border-radius:40px;padding:13px 26px;font-weight:600;box-shadow:none!important}
.btn-primary:hover,.btn-primary:focus,.sppb-btn-primary:hover,.sppb-btn-primary:focus{background:#c6a34d!important;border-color:#c6a34d!important;color:#171914!important}
.form-control:focus,.sppb-form-control:focus{border-color:var(--lanz-gold);box-shadow:0 0 0 3px #b5903224}







.lanz-completion{color:var(--lanz-gold);font-size:17px;line-height:1.8}
.lanz-completion h1,.lanz-completion h2,.lanz-completion h3{color:var(--lanz-gold)}
.lanz-completion a:not(.sppb-btn){color:var(--lanz-link)}
.lanz-cta{background:var(--lanz-paper)!important;padding:76px 0!important}
.lanz-cta .sppb-addon-title{max-width:850px;margin:0 0 22px!important;font-size:clamp(28px,3vw,42px)!important;line-height:1.3!important}
.lanz-cta .sppb-addon-content>p{max-width:880px;margin-bottom:24px}
.lanz-cta .sppb-addon-content>p:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin:28px 0 0}
#sp-footer{background:#20221d;color:#cbcfc2;padding:0!important;font-size:14px;line-height:1.8}
#sp-footer .container-inner{border:0;padding:0}
#sp-footer .sp-module,#sp-footer .sp-module-content{margin:0;padding:0}
.lanz-footer{font-size:14px;line-height:1.85}
.lanz-footer-main{display:grid;grid-template-columns:1.35fr 1fr .75fr;gap:70px;padding:64px 0 48px}
#sp-footer .lanz-footer-brand{font-family:Cinzel,Georgia,serif;font-weight:400;font-size:30px;line-height:1.3;color:#d1af59;margin:0 0 10px}
#sp-footer .lanz-footer p{margin:0 0 14px}
#sp-footer .lanz-footer-note{color:#aeb4a5;font-size:14px;max-width:310px;margin-top:22px}
#sp-footer .lanz-footer-label{font-family:Montserrat,Arial,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#d1af59;margin:0 0 20px}
#sp-footer .lanz-footer address{font-style:normal;margin:0 0 14px;color:#d8dccf}
#sp-footer .lanz-footer a{color:#e6e9e0;text-decoration:none;text-underline-offset:5px}
#sp-footer .lanz-footer a:hover,#sp-footer .lanz-footer a:focus{color:#d1af59;text-decoration:underline}
.lanz-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.lanz-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.lanz-footer-bottom{border-top:1px solid #ffffff1c;padding:23px 0 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;align-items:center;font-size:11px;color:#aeb4a5}
#sp-footer .lanz-footer-bottom p{margin:0}
.lanz-footer-legal{display:flex;gap:20px}
#sp-footer .lanz-footer-bottom a{color:#bec4b3}
#sp-footer .lanz-footer-credit a{color:#d1af59}
.sp-scroll-up{background:#3f4338;color:#fff}
@media(max-width:1100px){.lanz-footer-main{gap:40px}}
@media(max-width:991px){.lanz-footer-main{grid-template-columns:1.2fr 1fr;gap:36px}.lanz-footer-explore{grid-column:1/-1}.lanz-footer-links{flex-direction:row;flex-wrap:wrap;gap:12px 24px}}
@media(max-width:575px){.lanz-cta{padding:48px 0!important}.lanz-cta .sppb-addon-content>p:last-child{gap:18px}#sp-footer .container{padding-left:24px;padding-right:24px}.lanz-footer-main{grid-template-columns:1fr;gap:32px;padding:42px 0 32px}.lanz-footer-explore{grid-column:auto}.lanz-footer-note{max-width:100%!important}.lanz-footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:26px}#sp-footer .lanz-footer-label{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){a,button{transition:none}}

.lanz-dark-section .sppb-addon-text-block .sppb-addon-content p{text-align:left!important}
#sp-footer .lanz-footer-label{font-family:Montserrat,Arial,sans-serif!important}
.lanz-footer-bottom{font-size:12px}
@media(max-width:575px){.lanz-cta .sppb-row-container{padding-left:24px;padding-right:24px}.lanz-dark-section .sppb-addon-text-block .sppb-addon-content{font-size:16px;line-height:1.8}}
body:not(.itemid-102):not(.itemid-103) #sp-page-builder h1.sppb-addon-title{font-size:clamp(38px,5.3vw,76px)!important;line-height:1.15!important;letter-spacing:.01em}
@media(max-width:575px){body:not(.itemid-102):not(.itemid-103) #sp-page-builder h1.sppb-addon-title{font-size:38px!important}}

/* Keep the original overlay on homepages; reserve header space on content pages. */
body:not(.itemid-102):not(.itemid-103) #sp-header{background-color:#242424!important}
body:not(.itemid-102):not(.itemid-103) #sp-header:not(.header-sticky){position:relative;top:0}
body:not(.itemid-102):not(.itemid-103) #sp-header.header-sticky{position:fixed;top:0}
body:not(.itemid-102):not(.itemid-103) .sticky-header-placeholder{display:block}
/* Translated pages use the same gold custom buttons as their German originals. */
body.it-it #sp-page-builder .sppb-btn-custom{background-color:var(--lanz-gold)!important;border-color:var(--lanz-gold)!important;color:#fff!important}
body.it-it #sp-page-builder .sppb-btn-custom:hover,body.it-it #sp-page-builder .sppb-btn-custom:focus{background-color:#977726!important;border-color:#977726!important}
/* Preserve the heading typeface of the matching German content pages. */
#sp-page-builder:is(.page-10,.page-11,.page-12,.page-13) :is(h1,h2,h3,h4,h5,h6){font-family:Cinzel,Georgia,serif!important}
/* Prevent the fullscreen slider's off-screen content from widening mobile viewports. */
html{overflow-x:clip}
.lanz-service-detail h2{font-family:Cinzel,Georgia,serif!important}
