body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
*, *::before, *::after { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol {
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
ul, ol { list-style: none; }

img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }

.content-text p + p { margin-top: var(--space-sm, 1.5rem); }
.content-text:not([class*=" "]) a { text-decoration: underline; }

.invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

:root {

  --c-green: #666E5E;
  --c-beige: #FAF7F5;
  --c-ink: #121212;
  --c-white: #FFFFFF;
  --c-sage: #B4CFAB;

  --sage-filter: brightness(0) invert(76%) sepia(14%) saturate(400%) hue-rotate(60deg);

  --ff-display: "PP Right Didone", Didot, "Bodoni MT", "Times New Roman", serif;
  --ff-body: "PP Neue Montreal", "Helvetica Neue", Arial, sans-serif;
  --ff-script: "The Billion Monoline", "Snell Roundhand", cursive;

  --fs-hero: clamp(2.75rem, 7.8vw, 9.375rem);
  --fs-hero-fluid: max(2.75rem, 7.8vw);
  --fs-display-1-fluid: max(2.4rem, 6.25vw);
  --fs-display-1: clamp(2.4rem, 6.25vw, 7.5rem);
  --fs-display-2: clamp(2rem, 4.17vw, 5rem);
  --fs-display-3: clamp(1.75rem, 3.125vw, 3.75rem);
  --fs-display-2s: clamp(1.85rem, 3.65vw, 4.375rem);
  --fs-lead-lg: clamp(1.4rem, 1.98vw, 2.375rem);
  --fs-foot-nav: clamp(1.15rem, 1.46vw, 1.75rem);
  --fs-lead: clamp(1.125rem, 1.6vw, 1.5625rem);
  --fs-body: clamp(1.0625rem, 1.15vw, 1.375rem);
  --fs-small: 1.125rem;

  --space-2xs: .5rem;
  --space-xs: 1rem;
  --space-sm: 1.5rem;
  --space-md: 2.5rem;
  --space-lg: 4rem;
  --space-xl: 6.5rem;
  --space-2xl: clamp(5rem, 11vw, 12.5rem);

  --wrap-max: 150rem;
  --wrap-pad: clamp(1.25rem, 2.1vw, 2.5rem);

  --icon-fact: 17px;
  --icon-social: 22px;
  --icon-rail: 22px;
  --burger-w: 30px;

  --room-cols: 1;
  --room-rail-cols: 1.15;
  --room-gap: 24px;
  --room-img-ar: 1.2;

  --room-nav-inset: max(clamp(.9rem, 1.56vw, 1.875rem), calc(var(--icon-rail) + .5rem));

  --arrow-box: clamp(1.75rem, 2.29vw, 2.75rem);
  --arrow-glyph: clamp(1.5rem, 2.08vw, 2.5rem);
  --arrow-pitch: clamp(1.25rem, 1.77vw, 2.125rem);
  --gap-media: clamp(2.5rem, 6.5vw, 9rem);
}

@media (min-width: 768px)  { :root { --room-cols: 2; --room-rail-cols: 2; --room-gap: 32px; } }
@media (min-width: 1400px) { :root { --room-cols: 3; --room-rail-cols: 3; --room-gap: 38px; } }

@font-face { font-family: "PP Right Didone"; src: url("../../files/fonts/PPRightDidone-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "PP Neue Montreal"; src: url("../../files/fonts/PPNeueMontreal-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "PP Neue Montreal"; src: url("../../files/fonts/PPNeueMontreal-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "PP Neue Montreal"; src: url("../../files/fonts/PPNeueMontreal-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.rte a { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.rte a:hover { text-decoration-thickness: 2px; }
.site-foot .rte a:not(:hover) { text-decoration: none; }
body {
  margin: 0;
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  line-height: 1.455;
  letter-spacing: .03em;
  color: var(--c-ink);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
}

.lead, .lead-lg, .eyebrow, .eyebrow-line, .mod_breadcrumb,
.foot-legal ul, .foot-col-legal .foot-copy p, .room-facts--intro, .tile-cap p {
  letter-spacing: .03em;
}
img { max-width: 100%; height: auto; display: block; }

.sec { --sec-pad: clamp(2.5rem, 5.2vw, 6.25rem); position: relative; padding-block: var(--sec-pad); }
.sec--green, .sec--beige { --sec-pad: clamp(1.5rem, 2.2vw, 2.6rem); padding-block: var(--sec-pad); }
.sec--compact { --sec-pad: clamp(1.5rem, 2.2vw, 2.6rem); }
.sec--green { background: var(--c-green); color: var(--c-white); }
.sec--beige { background: var(--c-beige); }

.sec--beige,
.sec.room-weitere,
.sec:has(> .wrap.intro-split.season-sec) { color: var(--c-green); }
.sec--flush { --sec-pad: 0rem; padding-block: 0; }

.sec--no-pad-top { padding-top: 0; }

.pad-lg { padding-block: var(--sec-pad); }
.pad-y-xl { padding-block: var(--sec-pad); }

:is(.sec--green, .sec--beige) + :is(.sec--green, .sec--beige) { padding-top: calc(var(--sec-pad) + clamp(2rem, 2.95vw, 3.5rem)); }

#main .mod_article:last-child:not(:has(.room-weitere)) { padding-bottom: clamp(4.5rem, 9.375vw, 11.25rem); }

#main .mod_article.cta-symmetric { padding-top: clamp(4.5rem, 9.375vw, 11.25rem); }

.pad-t-sm { padding-top: var(--space-sm); }
.m-t-anchor { margin-top: clamp(2rem, 8.28vw, 9.94rem); }

.wrap {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--wrap-pad);
}

.sec-media-text {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-media);
  align-items: center;
}
.sec-media-text > * { min-width: 0; }
.sec-media-text.is-reversed > *:first-child { order: 2; }
.sec-media-text .content-image img,
.sec-media-text .content-swiper img { width: 100%; }
.align-start { align-items: start; }

.sec--beige:has(.room-grid) .sec-media-text.align-start {
  margin-top: clamp(3rem, 5.5vw, 6.5rem);
  margin-bottom: clamp(4rem, 9.6vw, 11.5rem);
}

@media (min-width: 992px) {
  .sec-media-text.sec-split-text {
    padding-inline: var(--space-sm);
    column-gap: calc(var(--gap-media) + 2 * (var(--wrap-pad) - var(--space-sm)));
  }
}

.media-flush-left,
.media-flush-right {
  position: relative;
  display: grid;
  align-items: center;
  gap: clamp(2rem, 5vw, 7rem);
}
.media-flush-left > *, .media-flush-right > * { min-width: 0; }
.media-flush-left  { grid-template-columns: minmax(0, 47.2%) minmax(0, 1fr); padding-left: clamp(.5rem, 1.56vw, 1.875rem); padding-right: var(--wrap-pad); }
.media-flush-right { grid-template-columns: minmax(0, 1fr) minmax(0, 47.2%); padding-right: clamp(.5rem, 1.56vw, 1.875rem); padding-left: var(--wrap-pad); }
.media-flush--narrow { grid-template-columns: minmax(0, 37%) minmax(0, 1fr); }
.media-flush-left > :last-child,
.media-flush-right > :first-child { max-width: 46rem; }

.media-flush-right:not(.media-flush--narrow-r) > :first-child { margin-left: clamp(1.5rem, 8vw, 10rem); }
@media (max-width: 991px) { .media-flush-right:not(.media-flush--narrow-r) > :first-child { margin-left: 0; } }
.media-flush-left .content-image img,
.media-flush-left .content-swiper img,
.media-flush-right .content-image img,
.media-flush-right .content-swiper img { width: 100%; }

.sec--green .media-flush-left > :last-child { max-width: 30rem; margin-left: 14%; }
.sec--green .media-flush-right > :first-child { max-width: 37rem; margin-left: 8.3%; }
.media-flush--narrow > :last-child { max-width: 50rem; margin-left: 7.5%; }

.media-inset-left {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 47.3%) minmax(0, 1fr);
  gap: clamp(2rem, 9.79vw, 11.75rem);
  align-items: center;
  padding-inline: clamp(1rem, 2.08vw, 2.5rem);
}
.media-inset-left > * { min-width: 0; }
.media-inset-left > :last-child { max-width: 39.7rem; }
.media-inset-left .content-swiper img, .media-inset-left .content-image img { width: 100%; }

.media-inset-right {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 47.3%);
  gap: clamp(2rem, 9.79vw, 11.75rem);
  align-items: center;
  padding-inline: clamp(1rem, 2.08vw, 2.5rem);
}
.media-inset-right > * { min-width: 0; }
.media-inset-right > :first-child { max-width: 39.7rem; justify-self: end; }
.media-inset-right .content-swiper img, .media-inset-right .content-image img { width: 100%; }

.media-flush--narrow-r { grid-template-columns: minmax(0, 1fr) minmax(0, 41.25%); padding-left: clamp(1.25rem, 9.53vw, 11.44rem); padding-right: clamp(.5rem, 2.08vw, 2.5rem); }
.media-flush--narrow-r > :first-child { max-width: 48.8rem; }

.ratio-87-90 img { aspect-ratio: 87 / 90; object-fit: cover; }
.ratio-87-100 img { aspect-ratio: 87 / 100; object-fit: cover; }
.ratio-7-9 img { aspect-ratio: 7 / 9; object-fit: cover; }

@media (min-width: 992px) {
  .media-flush-left .content-image img,
  .media-flush-left .content-swiper img,
  .media-flush-right .content-image img,
  .media-flush-right .content-swiper img,
  .media-inset-left .content-image img,
  .media-inset-left .content-swiper img,
  .media-inset-right .content-image img,
  .media-inset-right .content-swiper img { max-height: calc(100svh - 2 * var(--sec-pad, 0rem)); object-fit: cover; }
}

.headline-hero, .headline-1, .headline-2, .headline-3 {
  font-family: var(--ff-display);
  font-weight: 500;
  letter-spacing: 0;
  margin-block: 0 var(--space-md);
}

.headline-hero { line-height: .94; }
.headline-1 { line-height: .94; }
.headline-2 { line-height: .94; }
.headline-3 { line-height: .94; }
.headline-hero { font-size: var(--fs-hero); }
.headline-1 { font-size: var(--fs-display-1); }
.headline-2 { font-size: var(--fs-display-2); }
.headline-3 { font-size: var(--fs-display-3); }
.headline-2s {
  font-family: var(--ff-display);
  font-weight: 500;
  letter-spacing: 0;
  margin-block: 0 var(--space-md);
  font-size: var(--fs-display-2s);
  line-height: .94;
}

.eyebrow { font-size: var(--fs-lead); line-height: 1.16; }
.eyebrow :is(p, h4) { margin: 0 0 var(--space-sm); }
.lead { font-size: var(--fs-lead); line-height: 1.16; }
.lead-lg { font-size: var(--fs-lead-lg); line-height: 1.263; }
.script { font-family: var(--ff-script); font-size: clamp(2.2rem, 3.39vw, 4.0625rem); line-height: .846; letter-spacing: 0; }
.img-signature { width: clamp(10rem, 13vw, 15.6rem); margin-left: auto; margin-right: calc(var(--sec-pad) - var(--wrap-pad)); }

.img-signature svg { display: block; width: 100%; height: auto; }
.script p { margin: 0; }

.text-green { color: var(--c-green); }
.text-white { color: var(--c-white); }
.text-right { text-align: right; }
.text-center { text-align: center; }

.btn-pill { display: inline-flex; border: 0; padding: 0; background: none; }
.btn-pill a {
  display: inline-flex;
  align-items: center;
  gap: .7em;
  padding: 1em 2em;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: var(--fs-body);
  line-height: 1;
  color: inherit;
  text-decoration: none;
  background: transparent;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.btn-pill a::before {
  content: "";
  width: .82em;
  aspect-ratio: 20.244 / 10.416;
  -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  background-color: currentColor;
}

.btn-down a::before { transform: rotate(180deg); }
.btn-pill a:hover { background: var(--c-ink); color: var(--c-white); border-color: var(--c-ink); }
.sec--green .btn-pill a:hover { background: var(--c-white); color: var(--c-green); border-color: var(--c-white); }
.btn-pill.text-green a:hover { background: var(--c-green); color: var(--c-white); border-color: var(--c-green); }

.sec:not(.sec--green):has(.headline-2.text-green, .headline-3.text-green) .btn-pill a { color: var(--c-green); }
.sec:not(.sec--green):has(.headline-2.text-green, .headline-3.text-green) .btn-pill a:hover { background: var(--c-green); color: var(--c-white); border-color: var(--c-green); }

.btn-row { display: flex; flex-wrap: wrap; gap: var(--space-xs); }

.space-top-sm { margin-top: var(--space-sm); }
.space-top-md { margin-top: var(--space-md); }
.space-top-lg { margin-top: var(--space-lg); }
.space-top-xl { margin-top: var(--space-xl); }
.space-top-2xl { margin-top: clamp(5rem, 12.5vw, 15rem); }
.space-bottom-sm { margin-bottom: var(--space-sm); }
.space-bottom-md { margin-bottom: var(--space-md); }
.space-bottom-lg { margin-bottom: var(--space-lg); }
.space-bottom-xl { margin-bottom: var(--space-xl); }
.space-none { margin-block: 0; }
.pos-rel { position: relative; }

.site-head {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 40;

  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: var(--space-md);
  padding: 1.9rem var(--wrap-pad) 0;
  color: var(--c-white);
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1;
}
.site-head-nav { grid-row: 1; display: flex; align-items: center; gap: 1.7rem; height: 1.75rem; }
.site-head-nav:not(.site-head-nav--right) { grid-column: 1; }
.site-head-nav--right { grid-column: 3; justify-content: flex-end; }
.site-head a { color: inherit; text-decoration: none; }
.site-logo { grid-column: 2; grid-row: 1 / span 2; align-self: start; display: block; }
.site-logo img { width: auto; height: clamp(4.5rem, 10.7vw, 12.8rem); }
.burger { display: inline-flex; flex-direction: column; gap: 7px; background: none; border: 0; padding: 4px 0; cursor: pointer; }
.burger span { display: block; width: var(--burger-w); height: 2px; background: currentColor; }

.blh-hero { position: relative; }
.blh-hero .content-image { margin: 0; }
.blh-hero img { width: 100%; height: 100svh; object-fit: cover; }

.blh-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(rgba(18, 18, 18, .48), rgba(18, 18, 18, .24) 34%, rgba(18, 18, 18, .24) 62%, rgba(18, 18, 18, .46));
}

.blh-hero .hero-cs {
  position: absolute;
  left: clamp(1.25rem, 3vw, 4rem);
  bottom: clamp(1.25rem, 3.5vw, 4.5rem);
  width: clamp(6.5rem, 13vw, 15rem);
  margin: 0;
  z-index: 2;
}
.blh-hero .hero-cs figure { margin: 0; }
.blh-hero .hero-cs img {
  display: block;
  width: 100%;
  height: auto;

  transform: rotate(-10deg);
  transform-origin: center;
  transition: transform .3s ease;
}
.blh-hero .hero-cs a:hover img { transform: rotate(0deg) scale(1.05); }
.hero-claim {
  position: absolute;
  z-index: 2;
  color: var(--c-white);
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: var(--fs-hero-fluid);
  line-height: .933;
}
.hero-claim { letter-spacing: 0; }
.hero-claim :is(p, h1, h2) { margin: 0; }
.hero-claim--br { bottom: 3%; right: var(--wrap-pad); text-align: right; }

.site-head-nav a { text-decoration: none; transition: text-decoration-color .15s ease; }
.site-head-nav a:hover { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1.5px; }

.site-lang { display: inline-flex; align-items: center; }
.site-lang ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.7rem; }
.site-lang li { margin: 0; padding: 0; }
.contact-rail a img, .site-menu__social img, .foot-social img { transition: filter .2s ease; }
.site-menu__social a:hover img, .foot-social a:hover img { filter: var(--sage-filter); }
.contact-rail a:hover img { filter: var(--sage-filter) drop-shadow(0 0 3px rgba(0,0,0,.4)); }

.site-head { position: fixed; transition: padding .3s ease, background-color .25s ease, transform .28s ease; }

html.head-hidden .site-head { transform: translateY(-100%); }
.site-logo { transition: margin .3s ease; }
.site-logo img { transition: height .3s ease; }
html.head-tint .site-head {

  padding: 1.9rem var(--wrap-pad) 1.4rem;
  background: var(--c-green);
}

html.head-mini .site-logo { margin-top: -.5rem; }
html.head-mini .site-logo img { height: 2.75rem; }
@media (max-width: 991px) {
  html.head-tint .site-head { padding: 1.2rem var(--wrap-pad); }
}
@media (prefers-reduced-motion: reduce) {
  .site-head, .site-logo, .site-logo img, .contact-rail { transition: none; }
}

html.menu-open .site-head {
  position: fixed;
  grid-template-rows: auto auto;
  padding: 1.9rem var(--wrap-pad) 0;
  background: transparent;
  animation: none;
  transform: none;
}
html.menu-open .site-head-nav { height: 1.75rem; }
html.menu-open .site-logo { margin-top: 0; }

[id] { scroll-margin-top: 5.75rem; }

.contact-rail {
  position: fixed;
  top: 50%;
  translate: 0 -50%;

  right: var(--wrap-pad);
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: clamp(1.3rem, 1.72vw, 2.0625rem);
  margin: 0;
  width: var(--icon-rail);

  pointer-events: none;
}
.contact-rail a { display: block; width: var(--icon-rail); height: var(--icon-rail); pointer-events: auto; }

@media (max-width: 1023px) {
  .contact-rail {
    flex-direction: row;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    translate: none;
    align-items: stretch;
    gap: 0;
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    background: var(--c-green);
    transition: transform .28s ease;
  }
  html.head-hidden .contact-rail { transform: translateY(100%); }

  .contact-rail a {
    flex: 1;
    width: auto;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 1.1rem;
  }
  .contact-rail a + a { border-left: 1px solid rgba(255, 255, 255, .3); }
  .contact-rail a img { width: 1.5rem; height: 1.5rem; filter: brightness(0) invert(1); }

  .site-foot { padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px)); }

  .blh-hero img { height: calc(100svh - 3.7rem - env(safe-area-inset-bottom, 0px)); }

  html.menu-open .contact-rail { z-index: 45; }
}
.contact-rail img { width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1) drop-shadow(0 0 3px rgba(0,0,0,.4)); }

.mod_breadcrumb {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--wrap-pad);
  padding-top: clamp(1rem, 2.1vw, 2.5rem);
  font-size: var(--fs-small);
  line-height: 1;
}
.mod_breadcrumb :is(ul, ol) { list-style: none; display: flex; flex-wrap: wrap; gap: .45em; margin: 0; padding: 0; }
.mod_breadcrumb li:not(:first-child)::before { content: "|"; margin-right: .45em; }
.mod_breadcrumb li.active { text-transform: uppercase; letter-spacing: .04em; }
.mod_breadcrumb a { color: inherit; text-decoration: none; }

.img-slider { position: relative; }

.content-swiper .swiper { clip-path: inset(0 1px 0 0); }

.img-slider .swiper-button-prev,
.img-slider .swiper-button-next { top: auto; bottom: 1rem; width: var(--arrow-box); height: var(--arrow-box); color: var(--c-white); }
.img-slider .swiper-button-prev { left: 1rem; }
.img-slider .swiper-button-next { left: calc(1rem + var(--arrow-pitch)); right: auto; }
.img-slider .swiper-navigation-icon { display: none; }
.img-slider .swiper-button-prev::after, .img-slider .swiper-button-next::after {
  content: "";
  height: var(--arrow-glyph);
  aspect-ratio: 19.703 / 38.293;
  -webkit-mask: url("../../files/grafiken/icons/arrow-right.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/arrow-right.svg") no-repeat center / contain;
  background-color: currentColor;
}
.img-slider .swiper-button-prev::after {
  -webkit-mask-image: url("../../files/grafiken/icons/arrow-left.svg");
  mask-image: url("../../files/grafiken/icons/arrow-left.svg");
}
.img-slider .swiper-button-disabled { pointer-events: auto; cursor: auto; }
.img-slider .swiper-pagination { display: none; }

.col-push-label { padding-top: clamp(2.5rem, 3.9vw, 4.7rem); }
.col-r-align { width: 75%; margin-left: auto; }
.img-render { width: 75%; margin-left: auto; }
.img-slider--intro { width: 81%; margin-left: auto; }
.col-slider-r { width: 81%; margin-left: auto; }
.img-narrow { width: 46%; margin: var(--space-lg) auto 0 25%; }

.row-split {
  display: grid;
  grid-template-columns: 1fr auto;
  row-gap: var(--space-sm);
  padding-inline: var(--wrap-pad) calc(var(--wrap-pad) + 3.3%);
}
.row-split > * { min-width: 0; }
.row-split > :first-child { grid-column: 1; grid-row: 1; }
.row-split > :last-child { grid-column: 2; grid-row: 2; justify-self: end; }

.col-indent { padding-left: 24%; }
.col-indent-sm { padding-left: 9%; }
.img-hist { width: 89%; margin-left: 0; margin-top: var(--space-xl); }
.img-fam { width: 100%; }

.col-align-img { padding-left: 10%; }
.img-bobby { width: 80%; margin-left: 0; }
.col-push-lg { padding-top: clamp(4rem, 10.4vw, 12.5rem); }
.col-center { display: flex; flex-direction: column; align-items: center; }
.col-center > * { width: clamp(280px, 20.9vw, 400px); }

.row-split-top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-md); flex-wrap: wrap; }
@media (max-width: 767px) { .row-split-top > * { margin-bottom: 0; } .row-split-top { margin-bottom: var(--space-md); } }

.roof-tr, .roof-img-tl, .roof-img-tr, .roof-tr--head { position: relative; }
.roof-tr::after, .roof-img-tl::after, .roof-img-tr::after, .roof-tr--head::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: clamp(6rem, 7.5vw, 9rem);
  aspect-ratio: 143.505 / 45.636;
  background: url("../../files/grafiken/logo/breitlehenalm-dach-schwarz.svg") no-repeat center / contain;
}
.sec--green.roof-tr::after, .sec--green.roof-tr--head::after, .sec--green .roof-img-tl::after, .sec--green .roof-img-tr::after {
  background-image: url("../../files/grafiken/logo/breitlehenalm-dach-weiss.svg");
}
.roof-tr::after { top: clamp(2.5rem, 4.17vw, 5rem); right: clamp(2.5rem, 4.17vw, 5rem); }
.roof-tr--head::after { top: 1.375rem; right: clamp(2.5rem, 4.17vw, 5rem); }
.roof-img-tl::after { top: clamp(2.5rem, 4.17vw, 5rem); left: 0; transform: translateX(-26%); }
.roof-img-tr::after { top: clamp(2.5rem, 4.17vw, 5rem); right: 0; transform: translateX(72%); }
.roof--low::after { top: clamp(5rem, 8.33vw, 10rem); }
@media (max-width: 991px) {

  .roof-img-tl::after { transform: translateX(0); }
  .roof-img-tr::after { transform: translateX(0); }
  .roof-tr--head::after { content: none; }
}

.roof-mark { position: absolute; width: clamp(60px, 5.7vw, 110px); z-index: 5; margin: 0; }
.roof-mark img { width: 100%; height: auto; }
.roof-mark--tr { top: clamp(1.5rem, 3.3vw, 4rem); right: var(--wrap-pad); }
.roof-mark--mid { top: 0; left: 48.5%; transform: translateY(-60%); }
.roof-mark--skier { top: 0; left: 8%; transform: translateY(-40%); }

.img-w85 { width: 85%; }
@media (max-width: 991px) { .img-w85 { width: 100%; } }

.blh-hero--banner img { height: auto; }
@media (max-width: 991px) { .blh-hero--banner img { height: 50svh; object-fit: cover; } .hero-claim--banner { font-size: min(var(--fs-display-1-fluid), 10vw); } }

.blh-hero .content-player { margin: 0; }
.blh-hero video { display: block; width: 100%; object-fit: cover; }
.blh-hero--banner video { aspect-ratio: 1920 / 800; height: auto; }
@media (max-width: 991px) { .blh-hero--banner video { aspect-ratio: auto; height: 50svh; } }
.hero-claim--banner {
  top: 50%;
  transform: translateY(-50%);
  left: var(--wrap-pad);
  font-size: var(--fs-display-1-fluid);
  line-height: .917;
}

.room-grid {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--wrap-pad);
  margin-top: clamp(2rem, 4vw, 4.8rem);
  display: grid;
  grid-template-columns: repeat(var(--room-cols), minmax(0, 1fr));
  column-gap: var(--room-gap);
  row-gap: clamp(2.5rem, 6.5vw, 7.75rem);
  align-items: stretch;
}

@media (max-width: 1399px) { .room-grid { row-gap: var(--space-lg); } }

.room-grid__head {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--wrap-pad);
  margin-top: clamp(3rem, 6vw, 7rem);
  margin-bottom: 0;
}
.room-grid__head + .room-grid { margin-top: clamp(1.25rem, 2.5vw, 2rem); }

.room-slider {
  max-width: var(--wrap-max);
  margin-inline: auto;
  padding-inline: var(--wrap-pad);
  margin-top: clamp(2rem, 2.6vw, 3.1rem);
}
.room-rail-wrap { position: relative; }
.room-rail {
  display: grid;
  align-items: stretch;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--room-rail-cols) - 1) * var(--room-gap)) / var(--room-rail-cols));
  column-gap: var(--room-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.room-rail::-webkit-scrollbar { display: none; }
.room-rail > .room-card { scroll-snap-align: start; }

.room-nav {
  position: absolute;
  inset: 0 0 auto 0;
  height: 0;
  padding-top: calc((100% - (var(--room-rail-cols) - 1) * var(--room-gap)) / var(--room-rail-cols) / var(--room-img-ar));
  pointer-events: none;
  z-index: 10;
}
.room-arrow {
  position: absolute;
  bottom: var(--room-nav-inset);
  width: var(--arrow-box);
  height: var(--arrow-box);
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-white);
  cursor: pointer;
  pointer-events: auto;
  transition: opacity .2s ease;
}
.room-arrow[disabled] { opacity: .35; cursor: auto; }
.room-arrow--next { right: var(--room-nav-inset); }
.room-arrow--prev { right: calc(var(--room-nav-inset) + var(--arrow-pitch)); rotate: 180deg; }

.room-slider--static .room-nav { display: none; }

.room-card { display: flex; flex-direction: column; }
.room-card .content-image img,
.room-card .image_container img { width: 100%; height: auto; display: block; }
.room-card h3 { margin: var(--space-sm) 0 1.875rem; width: min-content; }

.room-card h3.room-card__title--size { width: auto; }
.room-card h3 a { color: inherit; text-decoration: none; }

.room-card--bnb { position: relative; }
.room-card__badge {
  position: absolute;
  top: clamp(-1.75rem, -1.4vw, -1rem);
  left: clamp(0.5rem, 1vw, 1.25rem);
  width: clamp(6rem, 10.5vw, 10rem);
  aspect-ratio: 1;
  background: url("../../files/grafiken/bed-breakfast-final.svg") center / contain no-repeat;
  transform: rotate(-10deg);
  pointer-events: none;
  z-index: 2;
}
html[lang="en"] .room-card__badge { background-image: url("../../files/grafiken/bed-breakfast-en-final.svg"); }

.room-rail .room-card__badge,
.room-slider .room-card__badge { top: clamp(1rem, 1.6vw, 1.75rem); }
.room-facts { font-size: var(--fs-body); margin: auto 0 var(--space-sm); display: flex; gap: 1.4rem; flex-wrap: wrap; }
.room-fact { display: inline-flex; align-items: center; gap: .45em; }
.room-fact img { width: var(--icon-fact); height: var(--icon-fact); object-fit: contain; }

.site-foot { background: var(--c-green); color: var(--c-white); }
.site-foot a { color: inherit; text-decoration: none; transition: text-decoration-color .15s ease; }

.site-foot a:hover { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1.5px; }
.foot-social a:hover, .foot-brand a:hover, .site-foot a:has(> img):hover { text-decoration: none; }

.foot-kwer a img { height: .85em; width: auto; display: inline-block; vertical-align: -.04em; transition: opacity .2s ease; }
.foot-kwer a:hover img { opacity: .75; }

.foot-kwer .kwer-copyright svg { height: .85em; width: auto; display: block; overflow: visible; }
.foot-kwer .kwer-copyright svg path, .foot-kwer .kwer-copyright svg polygon { fill: currentColor; }
.foot-kwer .kwer-copyright:hover { opacity: .75; }
.foot-links { overflow: visible; }
.foot-contact a:hover { text-decoration-thickness: .045em; text-underline-offset: .08em; }
.foot-wrap {
  max-width: var(--wrap-max);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 41%) minmax(0, 1fr);
  grid-template-areas: "brand nav" "brand contact" "legal legal";
  row-gap: clamp(1.5rem, 2vw, 2.5rem);
  column-gap: var(--space-lg);
  align-items: start;
  padding: clamp(3.5rem, 4.2vw, 5rem) var(--wrap-pad) 2.5rem;
}
.foot-wrap > * { min-width: 0; }
.foot-col-brand { grid-area: brand; }
.foot-brand p { margin: 0 0 var(--space-lg); }
.foot-brand img { width: clamp(6.5rem, 8.6vw, 10.3rem); height: auto; }
.foot-col-nav { grid-area: nav; }
.foot-links { font-size: var(--fs-small); }
.foot-links--heads { font-size: var(--fs-foot-nav); line-height: 1; letter-spacing: .03em; }
.foot-links ul { list-style: none; margin: 0; padding: 0; }

.foot-links--heads ul {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto;
  grid-auto-flow: column;
  justify-content: space-between;
  column-gap: clamp(1.5rem, 2.6vw, 3.1rem);
  row-gap: .72em;
}
.foot-links--heads ul li { white-space: nowrap; }

@media (min-width: 992px) and (max-width: 1279px) {
  .foot-links--heads { font-size: 1.35rem; }
  .foot-links--heads ul { grid-template-columns: auto auto; grid-template-rows: auto auto auto; }
}
.foot-contact-row { grid-area: contact; display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-md); flex-wrap: wrap; margin-top: clamp(1rem, 1.6vw, 1.9rem); }
.foot-contact { font-family: var(--ff-display); font-weight: 500; font-size: clamp(2rem, 4.2vw, 5rem); line-height: .875; letter-spacing: 0; }
.foot-contact p { margin: 0; }
.foot-social p { margin: 0; display: flex; gap: 1.1rem; }
.foot-social img { width: var(--icon-social); height: var(--icon-social); }
.foot-col-legal {
  grid-area: legal;
  display: grid;
  grid-template-columns: minmax(0, 41%) auto auto auto minmax(0, 1fr);
  column-gap: clamp(1.5rem, 2.2vw, 2.6rem);
  align-items: end;
  margin-top: clamp(2.5rem, 4vw, 4.8rem);
}
.foot-col-legal .foot-copy p { margin: 0; font-size: 1.25rem; line-height: 1; opacity: .85; }
.foot-legal ul { list-style: none; display: grid; gap: .45em; margin: 0; padding: 0; font-size: 1.25rem; line-height: 1; }
.foot-kwer { justify-self: end; }
.foot-kwer p { margin: 0; font-size: calc(var(--fs-small) * .85); display: inline-flex; align-items: center; gap: .45em; white-space: nowrap; }
.foot-kwer a { display: inline-flex; align-items: center; gap: .3em; }

@media (max-width: 991px) {
  .sec-media-text { grid-template-columns: 1fr; }
  .media-inset-left, .media-inset-right { grid-template-columns: 1fr; padding-inline: 0; gap: 0; }
  .media-inset-left > :last-child { max-width: none; padding: var(--space-md) var(--wrap-pad) var(--space-sm); }
  .media-inset-right > :first-child { max-width: none; justify-self: stretch; padding: var(--space-md) var(--wrap-pad) var(--space-sm); }
  .media-inset-right > .content-image, .media-inset-right > .content-swiper { order: -1; }
  .sec-media-text.is-reversed > *:first-child { order: 0; }

  :is(.sec-media-text, .media-flush-left, .media-flush-right, .media-inset-left, .media-inset-right) > :is(.content-image, .content-swiper,
    div:has(> .content-image, > .content-swiper):not(:has(> .content-text, > .content-headline, > .content-hyperlink, > .content-element-group)):not(.pos-rel)) { order: -1; }

  #main .inside > .mod_article:nth-child(-n+2) :is(.media-flush-left, .media-flush-right) > div:has(> .content-swiper):not(:has(> .content-text)) { order: 1; }

  .sec-media-text > div:has(> .img-fam-r), .col-center { display: flex; flex-direction: column; }
  .sec-media-text > div > .img-fam-r { order: 1; }
  .sec-media-text > div > .img-signature { order: 2; }
  .col-center > .img-food { order: 1; }

  .sec-media-text > div > .img-fam-r,
  .col-center > .img-food,
  .img-hist { margin-top: var(--space-md); }
  .media-flush-left, .media-flush-right { grid-template-columns: 1fr; padding-inline: var(--wrap-pad); row-gap: var(--space-md); }
  .media-flush-left > :last-child, .media-flush-right > :first-child { max-width: none; }
  .sec--green .media-flush-left > :last-child, .sec--green .media-flush-right > :first-child, .media-flush--narrow > :last-child { margin-left: 0; max-width: none; }

  :is(.headline-1, .headline-2, .headline-2s, .headline-3):has(+ :is(.space-top-md, .space-top-lg, .space-top-xl)) { margin-bottom: 0; }
  :is(.sec-media-text, .media-flush-left, .media-flush-right, .intro-split:not(.season-sec)) > :not(:last-child),
  :is(.sec-media-text, .media-flush-left, .media-flush-right, .intro-split:not(.season-sec)) > :not(:last-child) > :last-child,
  :is(.sec-media-text, .media-flush-left, .media-flush-right, .intro-split:not(.season-sec)) > :not(:last-child) > :last-child > :last-child { margin-bottom: 0; }
  :is(.sec-media-text, .media-flush-left, .media-flush-right, .intro-split:not(.season-sec)) > * > :first-child:not(.img-food, .img-fam-r),
  :is(.sec-media-text, .media-flush-left, .media-flush-right) > * > :is(.img-food, .img-fam-r):first-child + * { margin-top: 0; }

  .col-indent, .col-indent-sm, .col-align-img { padding-left: 0; }
  .col-push-label, .col-push-lg { padding-top: 0; }
  .col-center > * { width: 100%; }
  .row-split { padding-inline: var(--wrap-pad); margin-top: var(--space-md); row-gap: 0; }
  .img-render, .img-slider--intro, .img-narrow, .img-hist, .img-fam, .img-bobby, .img-fam-r, .col-r-align, .col-slider-r { width: 100%; margin-left: 0; }

  .site-head { padding: 1.2rem var(--wrap-pad); }
  .site-head-nav a { display: none; }
  .site-head-nav .site-lang a { display: inline; }
  .site-logo img { height: 3.6rem; }

  .foot-wrap { grid-template-columns: 1fr; grid-template-areas: "brand" "nav" "contact" "legal"; }
  .foot-contact { font-size: min(2rem, 8.5vw); }
  .foot-links--heads ul { grid-template-columns: auto; grid-template-rows: none; grid-auto-flow: row; justify-content: start; }
  .foot-col-legal { grid-template-columns: 1fr 1fr; row-gap: 1rem; }
  .foot-kwer { margin-top: clamp(2rem, 7vw, 3.25rem); }
}

.site-menu {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease, visibility 0s linear .3s;
  pointer-events: none;
}
html.menu-open .site-menu { visibility: visible; opacity: 1; transition: opacity .3s ease; pointer-events: auto; }
html.menu-open { overflow: hidden; }

.site-menu__panel {
  position: relative;
  background: var(--c-green);
  color: var(--c-white);
  padding: var(--space-md) var(--wrap-pad);
  overflow-y: auto;
  min-width: 47.7%;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3.5rem);
}
.site-menu__roof { position: absolute; top: var(--space-md); left: var(--wrap-pad); width: clamp(60px, 6.2vw, 120px); display: block; }
.site-menu__roof img { width: 100%; }
.site-menu__panel > ul { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(.8rem, 1.4vw, 1.7rem); flex-shrink: 0; }
.menu-head {
  cursor: default;
  width: fit-content;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: var(--fs-display-3);
  line-height: .867;
  color: inherit;
  text-align: left;
  padding: 0;
}
.menu-head:hover, li.open > .menu-head { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 2px; }

.site-menu__subcol { align-self: stretch; min-width: 0; display: grid; }
.site-menu__panel .level_2 {
  grid-area: 1 / 1;
  align-self: start;
  display: grid;
  gap: .7em;
  visibility: hidden;
  list-style: none;
  margin: 0;
  padding: 0;
  width: max-content;
  max-width: 100%;
}
.site-menu__panel .level_2.show { visibility: visible; }

.site-menu__panel .level_2 a { font-size: var(--fs-body); line-height: 1; position: relative; display: inline-block; padding-left: 1.6em; }
.site-menu__panel .level_2 a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: .82em;
  aspect-ratio: 20.244 / 10.416;
  -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  background-color: currentColor;
  transform: translateY(-50%) rotate(90deg);
  opacity: 0;
  transition: opacity .15s ease;
}
.site-menu__panel .level_2 a:hover::before,
.site-menu__panel .level_2 :is(li.active, li.trail) > a::before { opacity: 1; }

.site-menu__media { position: relative; overflow: hidden; }

.site-menu__media::before,
.site-menu__media::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: clamp(6rem, 12vh, 10rem);
  pointer-events: none;
  z-index: 1;
}
.site-menu__media::before { top: 0; background: linear-gradient(rgba(18, 18, 18, .35), transparent); }
.site-menu__media::after { bottom: 0; background: linear-gradient(transparent, rgba(18, 18, 18, .4)); }
.site-menu__top, .site-menu__cta { z-index: 2; }
.site-menu__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .3s ease;
}
.site-menu__img > img { width: 100%; height: 100%; object-fit: cover; display: block; }

.site-menu:not(:has(.site-menu__panel > ul > li.open)) .site-menu__media > picture:last-of-type,
.site-menu:has(.site-menu__panel > ul > li:nth-child(1).open) .site-menu__media > picture:nth-of-type(1),
.site-menu:has(.site-menu__panel > ul > li:nth-child(2).open) .site-menu__media > picture:nth-of-type(2),
.site-menu:has(.site-menu__panel > ul > li:nth-child(3).open) .site-menu__media > picture:nth-of-type(3),
.site-menu:has(.site-menu__panel > ul > li:nth-child(4).open) .site-menu__media > picture:nth-of-type(4),
.site-menu:has(.site-menu__panel > ul > li:nth-child(5).open) .site-menu__media > picture:nth-of-type(5),
.site-menu:has(.site-menu__panel > ul > li:nth-child(6).open) .site-menu__media > picture:nth-of-type(6),
.site-menu:has(.site-menu__panel > ul > li:nth-child(7).open) .site-menu__media > picture:nth-of-type(7),
.site-menu:has(.site-menu__panel > ul > li:nth-child(8).open) .site-menu__media > picture:nth-of-type(8) { opacity: 1; }
.site-menu:has(.site-menu__panel > ul > li[data-idx="0"].open) .site-menu__img[data-idx~="0"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="1"].open) .site-menu__img[data-idx~="1"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="2"].open) .site-menu__img[data-idx~="2"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="3"].open) .site-menu__img[data-idx~="3"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="4"].open) .site-menu__img[data-idx~="4"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="5"].open) .site-menu__img[data-idx~="5"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="6"].open) .site-menu__img[data-idx~="6"],
.site-menu:has(.site-menu__panel > ul > li[data-idx="7"].open) .site-menu__img[data-idx~="7"] { opacity: 1; }
.site-menu__top {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.9rem var(--wrap-pad) 0;
  color: var(--c-white);
  font-size: var(--fs-small);
}
.site-menu__social { display: flex; gap: 1.1rem; }
.site-menu__social img { width: var(--icon-social); height: var(--icon-social); }
.site-menu__cta { position: absolute; bottom: clamp(1.5rem, 3vw, 3.6rem); left: var(--wrap-pad); color: var(--c-white); }

.site-menu__cta a { background: var(--c-white); color: var(--c-green); border-color: var(--c-white); }
.site-menu__cta a:hover { background: var(--c-green); color: var(--c-white); border-color: var(--c-green); }

@media (max-width: 991px) {
  .site-menu { grid-template-columns: 1fr; }
  .site-menu__media { display: none; }
  .site-menu__panel > ul { max-width: none; }
  .site-menu__panel { flex-direction: column; align-items: flex-start; justify-content: flex-start; padding-top: 5rem; }
  .site-menu__subcol { align-self: auto; display: block; }
  .site-menu__panel .level_2 { width: auto; visibility: visible; display: none; }
  .site-menu__panel .level_2.show { display: grid; }
  .site-menu__panel { padding-top: 5rem; }
  .site-menu__panel::after { content: ""; }

  .site-menu__panel { padding-bottom: 5rem; }
  .site-menu__panel::after { content: none; }
  .site-menu__panel > ul { margin-block: auto; gap: var(--space-sm); }

  .site-menu__subcol { display: none; }

  .site-menu__panel > ul > li > .level_2 {
    display: grid;
    overflow: hidden;
    height: 0;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transition: height .38s cubic-bezier(.4, 0, .2, 1), margin .38s cubic-bezier(.4, 0, .2, 1), opacity .25s ease, visibility 0s linear .38s;
  }
  .site-menu__panel > ul > li > .level_2.show {
    height: var(--sub-h, auto);
    margin: var(--space-xs) 0 0;
    opacity: 1;
    visibility: visible;
    transition: height .38s cubic-bezier(.4, 0, .2, 1), margin .38s cubic-bezier(.4, 0, .2, 1), opacity .3s ease .08s, visibility 0s;
  }

  .site-menu__panel > ul > li:has(> .level_2) > .menu-head { display: inline-flex; align-items: center; gap: .38em; }
  .site-menu__panel > ul > li:has(> .level_2) > .menu-head::after {
    content: "";
    order: -1;
    flex-shrink: 0;
    width: .5em;
    aspect-ratio: 20.244 / 10.416;
    -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
    mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
    background-color: currentColor;
    transform: rotate(180deg);
    transition: transform .38s cubic-bezier(.4, 0, .2, 1);
  }
  .site-menu__panel > ul > li.open > .menu-head::after { transform: rotate(0deg); }

  .site-menu__panel > ul > li > .level_2 a { padding-left: calc(var(--fs-display-3) * .88); }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .site-menu__panel > ul > li > .level_2,
  .site-menu__panel > ul > li > .level_2.show,
  .site-menu__panel > ul > li > .menu-head::after { transition: none; }
}

html.menu-open .site-head { z-index: 55; right: var(--sbw, 0px); pointer-events: none; }
html.menu-open .site-head-nav--right :is(a, button) { pointer-events: auto; }
html.menu-open .contact-rail { margin-right: var(--sbw, 0px); }
html.menu-open .site-head-nav:not(.site-head-nav--right),
html.menu-open .site-logo { visibility: hidden; }
.burger span { transition: transform .25s ease; }
html.menu-open .burger span:first-child { transform: translateY(4.5px) rotate(45deg); }
html.menu-open .burger span:last-child { transform: translateY(-4.5px) rotate(-45deg); }

.blh-hero--room img { width: 100%; height: auto; }
.hero-claim--room {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  left: var(--wrap-pad);
  right: auto;
  text-align: left;
  z-index: 2;
}

.hero-claim--room h1 { margin: 0; max-width: 7em; font-size: var(--fs-display-1-fluid); line-height: .917; color: var(--c-white); }

.room-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  column-gap: var(--gap-media);
}
.room-intro__grid > * { min-width: 0; }
.room-intro__text { grid-column: 1; grid-row: 2; align-self: center; }
.room-facts--intro { grid-column: 2; grid-row: 1; width: 75%; margin: 0 0 var(--space-sm) auto; font-size: var(--fs-lead); line-height: 1.16; }
.room-card .room-facts, .room-card .btn-pill a { color: var(--c-green); }
.room-card .btn-pill a:hover { background: var(--c-green); color: var(--c-white); border-color: var(--c-green); }
.room-intro__grid > .blh-gallery--intro { grid-column: 2; grid-row: 2; align-self: center; width: 75%; margin-left: auto; }
.room-intro__lead { margin-top: var(--space-md); }
.room-intro__cta { margin-top: var(--space-lg); }

.blh-gallery { display: grid; }
.blh-gallery__track {
  grid-area: 1 / 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.blh-gallery__track::-webkit-scrollbar { display: none; }
.blh-gallery__track > img,
.blh-gallery__track > a { width: 100%; scroll-snap-align: start; }
.blh-gallery__track > a { display: block; }
.blh-gallery__track img { width: 100%; object-fit: cover; display: block; }
.blh-gallery--intro .blh-gallery__track img { aspect-ratio: 3 / 4; }
.blh-gallery--ausst .blh-gallery__track img { aspect-ratio: 1 / 1; }
.blh-gallery__nav {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: start;
  margin: 0 0 var(--space-xs) var(--space-xs);
  display: flex;
}
.blh-gallery__arrow + .blh-gallery__arrow { margin-left: calc(var(--arrow-pitch) - var(--arrow-box)); }
.blh-gallery__arrow {
  width: var(--arrow-box);
  height: var(--arrow-box);
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-white);
  cursor: pointer;
  transition: opacity .2s ease;
}
.blh-gallery__arrow::before, .room-arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  -webkit-mask: url("../../files/grafiken/icons/arrow-right.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/arrow-right.svg") no-repeat center / contain;
  background-color: currentColor;
  pointer-events: none;
}
.blh-gallery__arrow--prev { rotate: 180deg; }

.img-slider .swiper-button-prev::after, .img-slider .swiper-button-next::after,
.blh-gallery__arrow::before, .room-arrow::before { transition: transform .2s ease, background-color .2s ease; }
.img-slider .swiper-button-next:not(.swiper-button-disabled):hover::after { transform: translateX(3px); background-color: var(--c-sage); }
.img-slider .swiper-button-prev:not(.swiper-button-disabled):hover::after { transform: translateX(-3px); background-color: var(--c-sage); }
.blh-gallery__arrow:not([disabled]):hover::before, .room-arrow:not([disabled]):hover::before { transform: translateX(3px); background-color: var(--c-sage); }
.blh-gallery__arrow[disabled] { opacity: .35; cursor: auto; }

@media (min-width: 992px) {
  .media-flush-left.room-ausst__grid > .room-ausst__text { max-width: 46rem; margin-left: 4%; }
}
.room-ausst__text .eyebrow { margin: 0 0 var(--space-sm); }

.room-ausst__note { font-size: .875rem; line-height: 1.4; opacity: .85; margin: var(--space-sm) 0 0; }
.feat-list {
  list-style: none;
  margin: var(--space-md) 0;
  padding: 0;
  display: grid;
  gap: .55em;
  font-size: var(--fs-body);
}

.feat-list li { position: relative; padding-left: 1.32em; }
.feat-list:last-child { margin-bottom: 0; }

.feat-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55em; }
.feat-list p + ul { margin-top: var(--space-sm); }
.feat-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .42em;
  width: .62em;
  aspect-ratio: 13.687 / 12.301;
  -webkit-mask: url("../../files/grafiken/icons/icon-x.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/icon-x.svg") no-repeat center / contain;
  background-color: currentColor;
  opacity: .85;
}

.blh-tl { max-width: 66rem; margin: var(--space-lg) auto 0; }
.blh-tl .tl-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 5.25rem 1fr;
  column-gap: var(--space-md);
  align-items: center;
  margin-bottom: clamp(3rem, 5.2vw, 5rem);
}
.blh-tl .tl-row::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: calc(-1 * clamp(3rem, 5.2vw, 5rem));
  width: 2px;
  background: var(--c-ink);
  transform: translateX(-1px);
}
.blh-tl .tl-first::before { top: 50%; }
.blh-tl .tl-last { margin-bottom: 0; }
.blh-tl .tl-last::before { bottom: 50%; }
.blh-tl .tl-row::after {
  content: "";
  grid-area: 1 / 2;
  place-self: center;
  z-index: 2;
  width: 5.25rem;
  height: 5.25rem;
  border-radius: 50%;
  border: 2px solid var(--c-ink);
  background: var(--c-white) url("../../files/grafiken/logo/breitlehenalm-dach-gruen.svg") center / 52% no-repeat;
}
.blh-tl .tl-row > figure { grid-row: 1; margin: 0; }
.blh-tl .tl-row > .rte { grid-row: 1; }
.blh-tl .tl-img-l > figure { grid-column: 1; }
.blh-tl .tl-img-l > .rte { grid-column: 3; }
.blh-tl .tl-img-r > figure { grid-column: 3; }
.blh-tl .tl-img-r > .rte { grid-column: 1; text-align: right; }
.blh-tl img { display: block; width: 100%; height: auto; }
.blh-tl h3 {
  margin: 0 0 .35em;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: var(--fs-display-3);
  line-height: .833;
  color: var(--c-green);
}
.blh-tl p { margin: 0; }
@media (max-width: 991px) {
  .blh-tl .tl-row { grid-template-columns: 3.25rem 1fr; align-items: start; }
  .blh-tl .tl-row::before { left: 1.625rem; }
  .blh-tl .tl-first::before { top: 1.625rem; }
  .blh-tl .tl-last::before { bottom: calc(100% - 1.625rem); }
  .blh-tl .tl-row::after { grid-area: 1 / 1; place-self: start center; width: 3.25rem; height: 3.25rem; }
  .blh-tl .tl-row > figure { grid-row: 1; margin-bottom: var(--space-sm); }
  .blh-tl .tl-img-l > figure, .blh-tl .tl-img-r > figure { grid-column: 2; }
  .blh-tl .tl-row > .rte { grid-row: auto; }
  .blh-tl .tl-img-l > .rte, .blh-tl .tl-img-r > .rte { grid-column: 2; text-align: left; }
}

.cta-solo { padding-block: clamp(3.75rem, 7.8vw, 9.375rem); text-align: center; }
.cta-solo p { max-width: 40rem; margin-inline: auto; }
.cta-solo .btn-row { justify-content: center; }

.room-weitere { padding-block: clamp(3.75rem, 7.8vw, 9.375rem) clamp(4.5rem, 9.375vw, 11.25rem); background: var(--c-beige); }
.room-weitere__title { margin-bottom: 0; }
.room-weitere .room-slider { margin-top: var(--space-lg); }

@media (max-width: 991px) {
  .room-intro__grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .room-intro__text { grid-column: 1; grid-row: auto; align-self: auto; }
  .room-facts--intro { grid-column: 1; grid-row: auto; width: 100%; margin: var(--space-md) 0; }
  .room-intro__grid > .blh-gallery--intro { grid-column: 1; grid-row: auto; align-self: auto; width: 100%; margin-left: 0; }
  .blh-hero--room img { height: 50svh; object-fit: cover; }
}

.eyebrow-line { font-size: var(--fs-lead); line-height: 1.16; margin: 0 0 var(--space-sm); }

.intro-split {
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
  column-gap: clamp(2rem, 4vw, 5rem);
  align-items: start;
}
.intro-split > * { min-width: 0; }
.intro-split__text { max-width: 57rem; padding-top: clamp(2rem, 6.5vw, 7.5rem); }

.anreise-list .rte { columns: 2; column-gap: clamp(2rem, 4vw, 4rem); }
.anreise-list .rte > p {
  break-inside: avoid;
  margin: 0 0 var(--space-md);
  padding: 0 0 var(--space-sm);
  border-bottom: 2px solid currentColor;
}
.anreise-list .rte > p strong {
  display: block;
  margin-bottom: .5em;
  font-weight: 400;
  font-size: var(--fs-lead-lg);
  line-height: 1.263;
  letter-spacing: .03em;
}
@media (max-width: 767px) { .anreise-list .rte { columns: 1; } }
@media (max-width: 991px) {
  .intro-split { grid-template-columns: 1fr; }
  .intro-split__text { max-width: none; padding-top: var(--space-md); }
  .intro-split__text.space-top-lg { margin-top: 0; }
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--room-gap);
  row-gap: var(--space-lg);
  margin-top: var(--space-lg);
}
.mod_article > .tile-grid:first-child,
.mod_article > .content-element-group:first-child > .tile-grid:first-child { margin-top: 0; }
.tile-grid > * { min-width: 0; }
.tile-card { display: flex; flex-direction: column; }
.tile-card .content-image img { width: 100%; aspect-ratio: 15 / 16; object-fit: cover; }
.tile-cap { margin-top: var(--space-sm); }
.tile-cap .ohead { font-family: var(--ff-display); font-weight: 500; font-size: var(--fs-display-3); line-height: .833; letter-spacing: 0; margin: 0; }
.tile-cap p { font-size: var(--fs-lead); line-height: 1.16; margin: .3em 0 0; }
.tile-grid--3 { grid-template-columns: repeat(3, 1fr); }
.tile-cap h3 { font-family: var(--ff-display); font-weight: 500; font-size: var(--fs-display-3); line-height: .833; letter-spacing: 0; margin: 0; }
.tile-grid--3 .tile-cap p { font-size: var(--fs-body); line-height: 1.45; letter-spacing: .03em; margin: .4em 0 0; }
@media (max-width: 991px) { .tile-grid, .tile-grid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px)  { .tile-grid { grid-template-columns: 1fr; } }

.sec--green .media-flush-left > .col-wide { max-width: 44rem; margin-left: 7%; }

.menu-accordion {
  max-width: 48.8rem;
  margin-top: var(--space-md);
  border-bottom: 0;
}

.menu-accordion .handorgel__header:not(.handorgel__header--open) { border-bottom: 2px solid currentColor; }
.menu-accordion--tight { margin-top: var(--space-md); max-width: 46rem; }
.menu-accordion .handorgel__header {
  margin: 0;
  font-family: inherit;
  font-weight: 400;
  font-size: var(--fs-lead-lg);
  line-height: 1.263;
  letter-spacing: .03em;
}
.menu-accordion .handorgel__header__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: .5em .12em .2em 0;
  border: 0;
  background: none;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.menu-accordion .handorgel__header__button::after {
  content: "";
  width: .6em;
  aspect-ratio: 20.244 / 10.416;
  flex: none;
  margin-right: .12em;
  -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  background-color: currentColor;
  transform: rotate(180deg);
  transition: transform .3s ease;
}
.menu-accordion .handorgel__header--open .handorgel__header__button::after,
.menu-accordion .handorgel__header--opened .handorgel__header__button::after { transform: rotate(0deg); }
.menu-accordion .handorgel__header__button:focus { outline: none; }
.menu-accordion .handorgel__header__button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.menu-accordion .handorgel__content { border: 0; border-bottom: 2px solid currentColor; background: none; }
.menu-accordion .handorgel__content__inner { padding: var(--space-sm) 0; }

.schmankerl-imgs { display: grid; gap: var(--room-gap); }
.schmankerl-imgs .content-image img { width: 100%; }

.price-card { border: 1px solid currentColor; padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-xs); }
.price-card :is(h2, h3) { font-family: var(--ff-display); font-weight: 500; font-size: var(--fs-display-3); line-height: .9; letter-spacing: 0; margin: 0 0 .2em; }
.price-card p { margin: 0 0 .4em; }
.price-card .btn-row { margin-top: auto; padding-top: var(--space-sm); }

.season-sec { position: relative; }
.season-top { position: absolute; top: 0; right: var(--wrap-pad); }
@media (max-width: 991px) { .season-top { position: static; display: inline-block; margin: var(--space-xs) 0; } }

.price-subhead h4 {
  margin: 0 0 .3em;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 2.2vw, 2.65rem);
  line-height: .9;
}
.price-subhead p { margin: 0; }

.sec--beige .season-sec { color: var(--c-green); }
.sec--beige .season-sec .price-table th,
.sec--beige .season-sec .price-table td { border-bottom-color: color-mix(in srgb, currentColor 30%, transparent); }

.sec:has(> .wrap.intro-split.season-sec) { background: var(--c-beige); }
.intro-split.season-sec { display: block; }
.intro-split.season-sec > .content-element-group:first-child { display: inline-block; }
.intro-split.season-sec .season-top { float: right; }
.intro-split.season-sec .intro-split__text { max-width: none; padding-top: var(--space-md); clear: both; }
@media (min-width: 768px) {
  .intro-split.season-sec .intro-split__text > .content-text .rte { columns: 2; column-gap: clamp(2rem, 5vw, 5rem); }
  .intro-split.season-sec .intro-split__text > .content-text .rte > p { break-inside: avoid; }
}

.price-table table { width: 100%; border-collapse: collapse; }
.price-table td {
  text-align: left;
  padding: .75em .6em .8em .8em;
  border-bottom: 1px solid rgba(18, 18, 18, .25);
  vertical-align: top;
}
.price-table tr:nth-child(odd) { background: rgba(18, 18, 18, .05); }
.price-table td:last-child { text-align: right; padding-right: clamp(2rem, 3vw, 3.5rem); }
.price-table td strong { font-weight: 700; }
@media (min-width: 992px) {
  .price-table table { table-layout: fixed; }
  .price-table td:last-child { width: 26%; }

  .price-table table:has(td:nth-child(3)) td:nth-child(2) { width: 16%; text-align: right; }
  .price-table table:has(td:nth-child(3)) td:last-child { width: 16%; }
}
.price-table { margin-top: var(--space-xs); overflow-x: auto; }
@media (max-width: 560px) {

  .price-table table:has(td:nth-child(3)) { table-layout: fixed; }
  .price-table table:has(td:nth-child(3)) td:nth-child(2) { width: 29%; text-align: right; padding-right: .5em; }
  .price-table table:has(td:nth-child(3)) td:last-child { width: 30%; text-align: right; padding-right: .5em; }
  .price-table table:has(td:nth-child(3)) td { padding-inline: .45em; font-size: .9375em; }
}

.blh-form .widget { margin-bottom: .8rem; }

.blh-form :is(.widget-text, .widget-textarea, .widget-calendarfield) { position: relative; }
.blh-form :is(.widget-text, .widget-textarea, .widget-calendarfield) label {
  position: absolute;
  left: 1em;
  top: 1em;
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.3;
  color: rgba(18, 18, 18, .55);
  pointer-events: none;
  transform-origin: left top;
  transition: transform .16s ease, color .16s ease;
}
.blh-form :is(.widget-text, .widget-textarea, .widget-calendarfield):has(:is(input, textarea):focus) label,
.blh-form :is(.widget-text, .widget-textarea, .widget-calendarfield):has(:is(input, textarea):not(:placeholder-shown)) label {
  transform: translateY(-.55em) scale(.68);
  color: rgba(18, 18, 18, .65);
}
.blh-form input[type="text"],
.blh-form input[type="email"],
.blh-form input[type="tel"],
.blh-form textarea {
  width: 100%;
  font: inherit;
  color: var(--c-ink);
  background: var(--c-white);
  border: 1px solid rgba(18, 18, 18, .25);
  border-radius: 0;
  padding: 1.45em 1em .55em;
  transition: border-color .15s ease;
}
.blh-form input:focus, .blh-form textarea:focus { outline: none; border-color: var(--c-green); }
.blh-form textarea { min-height: 8em; resize: vertical; }
.blh-form fieldset { border: 0; padding: 0; margin: 0; background: none; }
.blh-form .widget-checkbox { font-size: var(--fs-small); }
.blh-form .widget-checkbox label { display: inline; font-size: inherit; margin: 0; }
.blh-form .widget-checkbox input { accent-color: var(--c-green); margin-right: .5em; }
.blh-form .widget-checkbox a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.blh-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  gap: .7em;
  padding: 1em 2em;
  border: 1px solid currentColor;
  border-radius: 999px;
  font: inherit;
  line-height: 1;
  color: inherit;
  background: transparent;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.blh-form button[type="submit"]::before {
  content: "";
  width: .82em;
  aspect-ratio: 20.244 / 10.416;
  -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  background-color: currentColor;
}
.blh-form button[type="submit"]:hover { background: var(--c-ink); color: var(--c-white); border-color: var(--c-ink); }

.blh-form .widget:has(> input.hp-field), .blh-form .hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}
.blh-form .widget.error input, .blh-form .widget.error textarea { border-color: #A4453B; }
.blh-form p.error { color: #A4453B; font-size: var(--fs-small); margin: .35em 0 0; }

.form-wrap { max-width: 62rem; }
.blh-form--anfrage .formbody { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; align-items: start; }
.blh-form--anfrage .formbody > * { grid-column: 1 / -1; }
.blh-form--anfrage .formbody > .widget.w-half,
.blh-form--anfrage .formbody > .widget.w-quarter { grid-column: auto / span 1; }
@media (max-width: 640px) { .blh-form--anfrage .formbody > .widget.w-half, .blh-form--anfrage .formbody > .widget.w-quarter { grid-column: 1 / -1; } }
.blh-form .form-sec :is(h2, h3) { font-family: var(--ff-display); font-weight: 500; font-size: var(--fs-display-3); margin: 1.2em 0 .6em; }
.blh-form .formbody > div:first-of-type.form-sec :is(h2, h3) { margin-top: 0; }
.blh-form .widget-submit { margin-bottom: 0; }
.sitemap-tree ul { margin-bottom: 0; }
.sitemap-tree li:last-child { margin-bottom: 0; }

.blh-form .radio_container { border: 0; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6em 2.5rem; }
.blh-form .radio_container > legend {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.blh-form .radio_container > span { display: inline-flex; align-items: center; gap: .55em; }
.blh-form .radio_container > span label { margin: 0; font-size: var(--fs-body); cursor: pointer; }
.blh-form .radio_container input {
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin: 0;
  border: 1px solid rgba(18, 18, 18, .4);
  border-radius: 50%;
  background: var(--c-white);
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: border-color .15s ease;
}
.blh-form .radio_container input::before {
  content: "";
  width: .6em;
  height: .6em;
  border-radius: 50%;
  background: var(--c-green);
  transform: scale(0);
  transition: transform .12s ease;
}
.blh-form .radio_container input:checked { border-color: var(--c-green); }
.blh-form .radio_container input:checked::before { transform: scale(1); }
.blh-form .radio_container input:focus-visible { outline: 2px solid var(--c-green); outline-offset: 2px; }

.blh-form select {
  appearance: none;
  width: 100%;
  font: inherit;
  color: var(--c-ink);
  background: var(--c-white);
  border: 1px solid rgba(18, 18, 18, .25);
  border-radius: 0;
  padding: .75em 2.6em .75em .9em;
  transition: border-color .15s ease;
  cursor: pointer;
}
.blh-form select:focus { outline: none; border-color: var(--c-green); }
.blh-form select:disabled { opacity: .45; cursor: not-allowed; }

.rp-selectwrap { position: relative; display: block; }
.rp-selectwrap::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  width: .82em;
  aspect-ratio: 20.244 / 10.416;
  translate: 0 -50%;
  transform: rotate(180deg);
  -webkit-mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  mask: url("../../files/grafiken/icons/button-icon-black.svg") no-repeat center / contain;
  background-color: var(--c-ink);
  pointer-events: none;
}
.rp-selectwrap:has(select:disabled)::after { opacity: .45; }

.rp-personcell { display: grid; gap: .5rem; }
.rp-roomcell { display: grid; }
.rp-custom, .rp-roomcount {
  width: 100%;
  font: inherit;
  color: var(--c-ink);
  background: var(--c-white);
  border: 1px solid rgba(18, 18, 18, .25);
  border-radius: 0;
  padding: .75em .9em;
  transition: border-color .15s ease;
  display: none;
}
.rp-custom:focus, .rp-roomcount:focus { outline: none; border-color: var(--c-green); }

.room-picker__row.rp-row--custom .rp-custom,
.room-picker__row.rp-row--custom .rp-roomcount { display: block; }
.room-picker__row.rp-row--custom .rp-roomwrap { display: none; }

.room-picker.rp-has-custom .room-picker__add { display: none; }
.room-picker__row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(9em, 1fr) 2fr;
  gap: .6rem;
  align-items: center;
  margin-bottom: .6rem;
}

.room-picker__row .rp-remove { position: absolute; right: -2.2em; top: 50%; translate: 0 -50%; }
@media (max-width: 640px) {
  .room-picker__row { grid-template-columns: 1fr; }

  .room-picker__rows:has(> :nth-child(2)) .room-picker__row { padding-right: 2em; }
  .room-picker__row .rp-remove { right: -.4em; }
}
.rp-remove {
  border: 0;
  background: none;
  font-size: 1.5rem;
  line-height: 1;
  padding: .2em .35em;
  cursor: pointer;
  color: rgba(18, 18, 18, .55);
}
.rp-remove:hover { color: var(--c-ink); }
.room-picker__add {
  border: 0;
  background: none;
  font: inherit;
  font-size: var(--fs-small);
  padding: .2em 0;
  cursor: pointer;
  color: var(--c-green);
  text-decoration: underline;
  text-underline-offset: .18em;
}
.room-picker__add:hover { color: var(--c-ink); }
.blh-form .widget-calendarfield input { background-image: none; }

#wrapper { min-height: 100svh; display: flex; flex-direction: column; }
#container { flex: 1 0 auto; }

.sitemap-tree ul { list-style: none; margin: 0; padding: 0; }
.sitemap-tree ul ul { padding-left: 1.5rem; }
.sitemap-tree li { margin: .45em 0; }
.sitemap-tree a { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.sitemap-tree a:hover { text-decoration-thickness: 2px; }

.prose-narrow :is(p, li) { overflow-wrap: anywhere; }
.prose-narrow { max-width: 56rem; }
.prose-narrow h1 {
  margin: 0 0 .45em;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(2.2rem, 3.1vw, 3.75rem);
  line-height: 1;
}
.prose-narrow h2 {
  margin: var(--space-lg) 0 .4em;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 1.9vw, 2.3rem);
  line-height: 1;
}
.prose-narrow h3 {
  margin: var(--space-md) 0 .35em;
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem);
  line-height: 1.05;
}

.map-embed .osm-map { width: 100%; height: clamp(320px, 36vw, 560px); }
.map-embed { margin-top: clamp(1.5rem, 3vw, 4rem); }

.webcam-embed img, .webcam-embed iframe { width: 100%; border: 0; display: block; }
.webcam-embed img { height: auto; max-width: 640px; }

.gallery-grid ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--room-gap); list-style: none; margin: 0; padding: 0; }
.gallery-grid li { margin: 0; }
.gallery-grid figure { margin: 0; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 991px) { .gallery-grid ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .gallery-grid ul { grid-template-columns: 1fr; } }

.cta-dual { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 13.44vw, 16.125rem); }
.cta-dual > * { min-width: 0; }
.cta-block .content-image img { width: 100%; }
.cta-block h2 { margin-top: var(--space-md); }

.cta-block--rev h2 { margin-top: clamp(2rem, 3.91vw, 4.7rem); }
.cta-block--rev .content-image { margin-top: var(--space-md); width: 73%; }
@media (max-width: 991px) {
  .cta-dual { grid-template-columns: 1fr; row-gap: var(--space-xl); }

  .cta-block--rev { display: flex; flex-direction: column; }
  .cta-block--rev .content-image { order: -1; margin-top: 0; width: 100%; }
  .cta-block--rev h2 { margin-top: var(--space-md); }
}

.sec-fill { align-items: stretch; }
.sec-fill .content-image,
.sec-fill .content-image figure { height: 100%; margin: 0; display: block; }
.sec-fill .content-image img,
.sec-fill .content-image picture { width: 100%; height: 100%; object-fit: cover; display: block; }

.sec-fill .content-swiper, .sec-fill .content-swiper .swiper, .sec-fill .content-swiper .swiper-wrapper { height: 100%; }
.sec-fill .swiper-slide { height: 100%; }
.sec-fill .swiper-slide figure, .sec-fill .swiper-slide .content-image { height: 100%; margin: 0; }
.sec-fill .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (min-width: 992px) {
  .col-pad-y { padding-block: clamp(3rem, 6.5vw, 8.5rem); }
  .sec-media-text.sec-fill { min-height: 90svh; }
  .sec-fill > .col-pad-y { display: flex; flex-direction: column; justify-content: center; }
  .sec-fill > div:has(> .content-swiper), .sec-fill > div:has(> .content-image) { position: relative; min-height: 100%; }
  .sec-fill > div:has(> .content-swiper) > .content-swiper,
  .sec-fill > div:has(> .content-image) > .content-image { position: absolute; inset: 0; }
}
@media (max-width: 991px) {
  .sec-fill .content-image, .sec-fill .content-image img, .sec-fill .content-swiper img { height: auto; }
  .sec-fill .content-swiper img { aspect-ratio: 1; }
}

@media (min-width: 992px) {
  .sec-media-text.sec-fill:has(> div:first-child > :is(.content-image, .content-swiper)) {
    grid-template-columns: 0.58fr 0.42fr;
  }
  .sec-media-text.sec-fill:has(> div:last-child > :is(.content-image, .content-swiper)) {
    grid-template-columns: 0.42fr 0.58fr;
  }
}

.media-flush-left > .col-center { align-self: center; }
.col-center > :last-child { margin-bottom: 0; }

.col-inset { margin-left: clamp(1.5rem, 8vw, 10rem); }
@media (max-width: 991px) { .col-inset { margin-left: 0; } }

@media (min-width: 992px) {
  .sec-fill > div:has(> .content-swiper, > .content-image) ~ .col-inset { margin-left: 0; margin-right: clamp(1.5rem, 8vw, 10rem); }
}

.hero-claim--vcenter { top: 50%; bottom: auto; left: var(--wrap-pad); right: auto; text-align: left; transform: translateY(-50%); z-index: 2; }
.hero-claim--vcenter :is(h1, h2, p) { margin: 0; font-size: var(--fs-display-1-fluid); line-height: .917; color: var(--c-white); }
.hero-claim--hero.hero-claim--vcenter :is(h1, h2, p) { font-size: var(--fs-hero-fluid); line-height: .933; }

.heustadl-tr .intro-split { position: relative; }
.heustadl-tr .intro-split::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: var(--wrap-pad);
  bottom: 0;
  width: clamp(8rem, 13vw, 15rem);
  aspect-ratio: 140.2 / 145.7;
  background: url("../../files/grafiken/heustadl_logo_green.svg") no-repeat left bottom / contain;
}

@media (min-width: 992px) {
  .heustadl-tr .intro-split::after { width: clamp(11rem, 16vw, 14.5rem); }
}
@media (min-width: 1450px) {
  .heustadl-tr .intro-split::after { width: clamp(13.3rem, 12.5vw, 15rem); }
}

@media (max-width: 991px) {
  .heustadl-tr .intro-split::after {
    position: static;
    order: -1;
    justify-self: start;
    width: clamp(8.5rem, 37vw, 10.5rem);
    margin: 0 0 var(--space-md);
  }
}

@media (max-width: 767px) {
  .heustadl-tr .intro-split::after { width: clamp(7.5rem, 32vw, 9.5rem); }
}

.contao-cookiebar { --ccb-bg: var(--c-white); --ccb-focus-clr: var(--c-green); font-family: var(--ff-body); color: var(--c-ink); }
.contao-cookiebar .cc-inner { max-width: 44rem; padding: 2rem 2.25rem; border-radius: 1.25rem; box-shadow: 0 12px 40px rgba(18, 18, 18, .18); font-size: var(--fs-small); line-height: 1.45; }
.contao-cookiebar .cc-head h3 { margin: 0 0 .5rem; font-family: var(--ff-display); font-weight: 400; font-size: var(--fs-lead-lg); line-height: 1.05; color: var(--c-ink); }
.contao-cookiebar .cc-head p { margin: 0; }
.contao-cookiebar .cc-btn { border-radius: 999px; padding: .85em 1.6em; font-family: var(--ff-body); font-size: var(--fs-small); font-weight: 500; line-height: 1; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.contao-cookiebar .cc-footer .cc-btn.save { background: transparent; border: 1px solid var(--c-ink); color: var(--c-ink); }
.contao-cookiebar .cc-footer .cc-btn.save:hover { background: var(--c-beige); }
.contao-cookiebar .cc-footer .cc-btn.success { background: var(--c-green); border-color: var(--c-green); color: var(--c-white); }
.contao-cookiebar .cc-footer .cc-btn.success:hover { background: var(--c-sage); border-color: var(--c-sage); color: var(--c-ink); }
.contao-cookiebar .cc-info a { color: var(--c-green); text-decoration: none; }
.contao-cookiebar .cc-info a:hover { text-decoration: underline; }
.contao-cookiebar .cc-close { display: none; }

.osm-map__consent { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-md, 1.5rem); height: 100%; min-height: 24rem; padding: var(--space-lg, 2rem); background: var(--c-beige); text-align: center; }
.osm-map__consent p { margin: 0; max-width: 32rem; }

