/* La Regina dei Prati — modern typography and section system */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-ext-variable.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-latin-variable.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --lrp-font-body: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --lrp-font-display: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --lrp-modern-paper: #fffdf9;
  --lrp-modern-cream: #f7f1e6;
  --lrp-modern-mist: #edf3ee;
  --lrp-modern-ink: #17352d;
  --lrp-modern-copy: #405951;
  --lrp-modern-border: rgba(23, 53, 45, .13);
  --lrp-modern-radius: 28px;
  --lrp-modern-radius-sm: 18px;
  --lrp-modern-shadow: 0 22px 65px rgba(13, 41, 34, .11);
  --lrp-modern-shadow-soft: 0 12px 34px rgba(13, 41, 34, .075);
}

body,
button,
input,
select,
textarea {
  font-family: var(--lrp-font-body);
}

/* Keep legacy navigation and CTA rules from falling back to unloaded fonts. */
body a:not(.icon):not(.fa):not(.material-icons):not([class*="icon-"]):not([class*="linearicons-"]) {
  font-family: var(--lrp-font-body) !important;
}

body {
  min-width: 0;
  color: var(--lrp-modern-copy);
  font-size: clamp(16px, .18vw + 15.2px, 17px);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: -.006em;
}

/* Branded first paint: the legacy layout never appears while assets initialise. */
html {
  background: #0d2922;
}

#page-loader.lrp-loader {
  display: flex;
  position: fixed;
  z-index: 9999999;
  inset: 0;
  min-height: 100vh;
  padding: 32px 20px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(241, 207, 139, .20), transparent 33%),
    radial-gradient(circle at 82% 78%, rgba(141, 20, 32, .24), transparent 34%),
    linear-gradient(145deg, #0d2922, #173f34) !important;
  transition: opacity .35s ease, visibility .35s ease;
  animation: lrp-loader-failsafe .35s ease 1.8s forwards;
}

#page-loader.lrp-loader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes lrp-loader-failsafe {
  to {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

.lrp-loader__brand,
#page-loader.lrp-loader .cssload-container {
  position: relative;
  z-index: 1;
}

.lrp-loader__brand {
  display: flex;
  max-width: min(420px, 88vw);
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}

.lrp-loader__brand img {
  width: clamp(150px, 23vw, 200px);
  height: auto;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .28));
}

.lrp-loader__brand span {
  color: #fff;
  font-family: var(--lrp-font-display);
  font-size: clamp(18px, 2.2vw, 25px);
  font-weight: 600;
  letter-spacing: -.02em;
}

#page-loader.lrp-loader .cssload-container {
  width: 44px;
  height: 44px;
}

#page-loader.lrp-loader .cssload-speeding-wheel {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(241, 207, 139, .32);
  border-top-color: #f1cf8b;
  border-right-color: #f1cf8b;
  box-shadow: 0 0 0 7px rgba(241, 207, 139, .06);
}

iframe[data-external-src][hidden] {
  display: none !important;
}

p,
li,
td,
th,
label,
input,
select,
textarea {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6,
.apartment-fact__value,
.dance-event h2,
.dance-event h3 {
  font-family: var(--lrp-font-display);
  font-weight: 600;
  letter-spacing: -.035em;
  text-wrap: balance;
}

h2 {
  font-size: clamp(2.4rem, 3.85vw, 4.3rem);
  line-height: 1.03;
}

h3 {
  font-size: clamp(1.7rem, 2.25vw, 2.55rem);
  line-height: 1.12;
}

h4 {
  font-size: clamp(1.28rem, 1.55vw, 1.68rem);
  line-height: 1.22;
}

h6 {
  font-family: var(--lrp-font-body);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .14em;
}

.page [class*="__eyebrow"],
.page .dance-event__kicker {
  font-family: var(--lrp-font-body);
  letter-spacing: .08em;
}

p + p {
  margin-top: 20px;
}

.text-width-2 {
  max-width: 720px;
}

/* Readable navigation and controls */
.rd-navbar-nav > li > a,
.rd-navbar-items-list,
.button,
.dance-event__button,
.form-label-outside,
.apartment-fact__label {
  font-family: var(--lrp-font-body);
}

.rd-navbar-items-list > li,
.rd-navbar-items-list p,
.rd-navbar-items-list a {
  font-size: 12px;
  font-weight: 500;
}

.rd-navbar-nav > li > a {
  font-weight: 700;
  letter-spacing: .045em;
}

@media (min-width: 1200px) {
  .rd-navbar.rd-navbar-static .rd-navbar-nav > li > a {
    padding: 9px 10px !important;
    font-size: 11.2px !important;
    font-weight: 700 !important;
  }
}

.button,
.dance-event__button {
  min-height: 56px;
  padding: 15px 28px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .075em;
}

.button::after,
.dance-event__button::after {
  margin-left: 9px;
  content: "→";
  font-size: 1.15em;
  line-height: 1;
  transition: transform .25s ease;
}

.button:hover::after,
.button:focus::after,
.dance-event__button:hover::after,
.dance-event__button:focus::after {
  transform: translateX(4px);
}

/* Hero: modern, geometric and easier to scan */
.swiper-slide-caption h1,
.swiper-slide-caption h2,
.parallax-header__content h1,
.parallax-header__content h2,
.apartment-hero h1,
.apartment-hero h2 {
  max-width: 980px;
  font-family: var(--lrp-font-display);
  font-size: clamp(3.8rem, 7vw, 6.65rem);
  font-weight: 600;
  line-height: .96;
  letter-spacing: -.05em;
}

.parallax-header__content h1,
.parallax-header__content h2 {
  font-size: clamp(3.55rem, 6.15vw, 5.8rem);
}

.swiper-slide-caption p,
.parallax-header__content p,
.apartment-hero p {
  max-width: 750px;
  font-size: clamp(1.15rem, 1.35vw, 1.35rem);
  font-weight: 500;
  line-height: 1.65;
}

.swiper-slide-caption h6,
.parallax-header__content h6,
.apartment-hero h6 {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
}

/* Section architecture */
.modern-section {
  position: relative;
  isolation: isolate;
}

.modern-section > .container {
  position: relative;
  z-index: 2;
}

.modern-section.bg-default {
  background: var(--lrp-modern-paper) !important;
}

.modern-section.bg-gray-lighter {
  background:
    radial-gradient(circle at 8% 12%, rgba(215, 156, 61, .12), transparent 24rem),
    radial-gradient(circle at 92% 88%, rgba(116, 141, 120, .15), transparent 28rem),
    linear-gradient(135deg, #f7f1e6 0%, #fbf8f1 48%, #edf3ee 100%) !important;
}

.modern-section.bg-gray-lighter::after,
.modern-section.bg-default::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--lrp-modern-border), transparent);
}

.section-lg.bg-default + .section-lg.bg-default {
  padding-top: clamp(78px, 8vw, 120px);
}

.modern-section--intro {
  overflow: hidden;
}

.modern-section--intro::before {
  position: absolute;
  z-index: -1;
  top: -16rem;
  right: -12rem;
  width: min(48rem, 72vw);
  height: min(48rem, 72vw);
  content: "";
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(215, 156, 61, .18) 0 2px, transparent 2.5px),
    radial-gradient(circle, rgba(116, 141, 120, .12), transparent 68%);
  background-size: 19px 19px, auto;
  border-radius: 50%;
  -webkit-mask-image: linear-gradient(145deg, #000, transparent 74%);
  mask-image: linear-gradient(145deg, #000, transparent 74%);
}

.modern-section h6 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-bottom: 20px;
  padding: 8px 12px;
  background: rgba(215, 156, 61, .12);
  border: 1px solid rgba(215, 156, 61, .22);
  border-radius: 999px;
  color: #9a641a;
}

.modern-section h6::before {
  width: 7px;
  height: 7px;
  content: "";
  background: var(--lrp-honey);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(215, 156, 61, .12);
}

.modern-section--centered h2,
.modern-section--centered h3,
.modern-section--centered > .container > p {
  max-width: 920px;
  margin-right: auto;
  margin-left: auto;
}

.modern-section--centered.section-md > .container {
  padding: clamp(32px, 5vw, 58px);
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: var(--lrp-modern-radius);
  box-shadow: var(--lrp-modern-shadow-soft);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > [class*="col-"] {
  padding: clamp(28px, 4vw, 48px);
  background: rgba(255, 255, 255, .74);
  border: 1px solid var(--lrp-modern-border);
  border-radius: var(--lrp-modern-radius);
  box-shadow: var(--lrp-modern-shadow-soft);
}

.modern-section--split:not(.modern-section--media):not(.modern-section--map).bg-default > .container > .row > [class*="col-"] {
  background: linear-gradient(145deg, #fff, #fbf7ef);
}

.modern-section--accent,
.modern-section.bg-accent {
  background:
    radial-gradient(circle at 84% 18%, rgba(241, 207, 139, .16), transparent 24rem),
    linear-gradient(125deg, #0d2922 0%, #173f34 55%, #254d40 100%) !important;
}

.modern-section--accent::after,
.modern-section.bg-accent::after {
  position: absolute;
  z-index: -1;
  top: -35%;
  right: -10%;
  width: min(44rem, 70vw);
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: none;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .018);
}

.modern-section--accent::before,
.modern-section.bg-accent::before {
  position: absolute;
  z-index: 0;
  top: -35%;
  right: -10%;
  width: min(44rem, 70vw);
  height: auto;
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: url("../images/logo.png") center / 42% auto no-repeat;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  filter: contrast(2.8) brightness(1.15);
  mix-blend-mode: screen;
  opacity: .22;
}

@media (max-width: 767.98px) {
  .modern-section--accent::after,
  .modern-section.bg-accent::after,
  .modern-section--accent::before,
  .modern-section.bg-accent::before {
    top: -10%;
    right: -17vw;
    width: 105vw;
    background-size: 47% auto;
  }
}

.modern-section--accent h6,
.modern-section.bg-accent h6 {
  background: rgba(241, 207, 139, .10);
  border-color: rgba(241, 207, 139, .22);
  color: var(--lrp-honey-light);
}

/* Media, cards and useful content */
.modern-section--media .img-thumbnail-variant-1,
.modern-section--media .carousel-post-gallery,
.modern-section--media .thumb-minimal,
.modern-section--media .videoWrapper,
.modern-section--media .apartment-gallery a {
  border-radius: var(--lrp-modern-radius);
  box-shadow: var(--lrp-modern-shadow);
}

.modern-section--media .img-thumbnail-variant-1,
.modern-section--media .thumb-minimal,
.modern-section--media .apartment-gallery a {
  border: 1px solid rgba(255, 255, 255, .72);
}

.quote-review,
.apartment-fact,
.rd-mailform,
.contact-info,
.dance-event__slot {
  border-radius: var(--lrp-modern-radius-sm);
}

.quote-review {
  padding: 38px 34px;
}

.quote-review h4 {
  font-size: 1.45rem;
}

.quote-review__body {
  font-size: 1rem;
  line-height: 1.72;
}

.apartment-fact {
  padding: 30px 18px;
}

.apartment-fact__label {
  font-size: 11.5px;
  line-height: 1.45;
}

.list-marked li,
.apartment-list li,
.contact-info li {
  font-size: 1rem;
  line-height: 1.7;
}

table td,
table th {
  padding: 17px 19px !important;
  font-size: 15.5px;
  line-height: 1.55;
}

.form-label-outside {
  font-size: 12.5px;
  font-weight: 800;
}

.form-input {
  min-height: 60px;
  padding: 16px 18px;
  font-size: 16.5px;
}

textarea.form-input {
  min-height: 190px;
}

.object-wrap__body {
  overflow: hidden;
  border: 8px solid rgba(255, 255, 255, .82);
  border-radius: var(--lrp-modern-radius);
  box-shadow: var(--lrp-modern-shadow);
}

/* Footer stays compact, but no longer tiny */
.pre-footer-corporate p,
.pre-footer-corporate li,
.pre-footer-corporate .unit-body {
  font-size: 15px;
  line-height: 1.72;
}

.pre-footer-corporate h6 {
  font-size: 13px;
}

.footer-corporate .rights {
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0;
}

.footer-corporate .cookie-technical-notice {
  max-width: calc(100% - 76px);
  font-size: 13px;
  line-height: 1.72;
  letter-spacing: 0;
}

/* Third-party maps and videos load only after an explicit user action. */
.external-media-consent {
  position: relative;
  display: flex;
  min-height: 360px;
  padding: clamp(30px, 5vw, 64px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at 18% 18%, rgba(241, 207, 139, .2), transparent 34%),
    linear-gradient(145deg, #0d2922, #173f34);
}

.external-media-consent::before {
  position: absolute;
  z-index: 0;
  width: min(360px, 78vw);
  height: min(360px, 78vw);
  content: "";
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255, 255, 255, .035), 0 0 0 68px rgba(255, 255, 255, .025);
}

.external-media-consent > * {
  position: relative;
  z-index: 1;
}

.external-media-consent h3 {
  max-width: 680px;
  color: #fff;
}

.external-media-consent p {
  max-width: 620px;
  margin-top: 16px;
  color: rgba(255, 255, 255, .9);
  font-size: 16px;
  line-height: 1.65;
}

.external-media-consent__button {
  margin-top: 25px;
  color: #0d2922 !important;
  background: #f1cf8b !important;
  border-color: #f1cf8b !important;
}

.external-media-consent__button:hover,
.external-media-consent__button:focus {
  color: #fff !important;
  background: #8d1420 !important;
  border-color: #8d1420 !important;
}

.facebook-link-panel {
  margin-top: 18px;
}

.facebook-link-panel blockquote {
  margin: 0;
  padding: 0;
  border: 0;
}

.facebook-link-panel a {
  display: inline-flex;
  min-height: 44px;
  padding: 10px 17px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  background: rgba(255, 255, 255, .08);
}

.facebook-link-panel a:hover,
.facebook-link-panel a:focus {
  color: #fff !important;
  background: #8d1420;
  border-color: #8d1420;
}

.videoWrapper .external-media-consent,
.object-wrap__body .external-media-consent {
  position: absolute;
  inset: 0;
  min-height: 0;
}

.videoWrapper .external-media-consent {
  border-radius: inherit;
}

@media (max-width: 575.98px) {
  .external-media-consent {
    min-height: 300px;
    padding: 28px 20px;
  }

  .external-media-consent p {
    font-size: 14.5px;
  }

}

.ui-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  right: 24px;
  bottom: max(24px, env(safe-area-inset-bottom, 0px));
  padding: 0;
  overflow: visible;
  box-sizing: border-box;
  color: #fff;
  background: linear-gradient(145deg, #981621 0%, #720d16 100%);
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 50%;
  box-shadow:
    0 0 0 4px rgba(215, 156, 61, .24),
    0 16px 34px rgba(76, 9, 15, .30),
    inset 0 1px 0 rgba(255, 255, 255, .22);
  font-size: 0;
  line-height: 1;
  isolation: isolate;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(88px) scale(.9);
  transition: transform .25s ease, opacity .2s ease, visibility .2s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

.ui-to-top::before {
  display: block;
  width: 24px;
  height: 24px;
  content: "";
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2020V5M6.5%2010.5%2012%205l5.5%205.5%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2020V5M6.5%2010.5%2012%205l5.5%205.5%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-1px);
}

.ui-to-top.active.is-in-scroll-range {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

/* Override the legacy theme, which disabled the control by device type. */
.mobile .ui-to-top,
.tablet .ui-to-top {
  display: flex !important;
}

.ui-to-top:hover,
.ui-to-top:focus {
  color: #fff !important;
  background: linear-gradient(145deg, #285849 0%, #0d2922 100%) !important;
  border-color: rgba(255, 255, 255, .84);
  box-shadow:
    0 0 0 5px rgba(215, 156, 61, .36),
    0 18px 38px rgba(13, 41, 34, .32),
    inset 0 1px 0 rgba(255, 255, 255, .24);
}

.ui-to-top.active:hover,
.ui-to-top.active:focus-visible {
  transform: translateY(-3px);
}

.ui-to-top.active:active {
  transform: translateY(0) scale(.94);
}

.ui-to-top.is-returning-to-top,
.ui-to-top.is-returning-to-top:hover,
.ui-to-top.is-returning-to-top:focus {
  pointer-events: none;
  transform: translateY(0) scale(.96);
}

.ui-to-top:focus-visible {
  outline: 3px solid #f1cf8b;
  outline-offset: 5px;
}

@media (max-width: 575.98px) {
  .ui-to-top {
    display: flex !important;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: max(20px, env(safe-area-inset-bottom, 0px));
    width: 50px;
    height: 50px;
  }

  .ui-to-top::before {
    width: 22px;
    height: 22px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .ui-to-top {
    display: flex !important;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
  body {
    font-size: 17px;
  }

  .rd-navbar-nav > li > a {
    padding: 14px 16px !important;
    font-size: 14px !important;
    line-height: 1.35;
    text-transform: none;
  }

  .modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > [class*="col-"] {
    padding: 34px;
  }
}

/* Phones */
@media (max-width: 767.98px) {
  body {
    font-size: 16px;
    line-height: 1.7;
  }

  h2 {
    font-size: clamp(2.25rem, 10.8vw, 3.35rem);
    line-height: 1.04;
  }

  h3 {
    font-size: clamp(1.7rem, 8vw, 2.3rem);
  }

  h4 {
    font-size: 1.4rem;
  }

  .swiper-slide-caption h1,
  .swiper-slide-caption h2,
  .parallax-header__content h1,
  .parallax-header__content h2,
  .apartment-hero h1,
  .apartment-hero h2 {
    font-size: clamp(2.8rem, 13vw, 4.15rem);
    line-height: .98;
    letter-spacing: -.045em;
  }

  .swiper-slide-caption p,
  .parallax-header__content p,
  .apartment-hero p {
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.65;
  }

  .swiper-slide-caption h6,
  .parallax-header__content h6,
  .apartment-hero h6 {
    font-size: 12px;
    line-height: 1.45;
  }

  .section-lg,
  .section-md {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .section-lg.bg-default + .section-lg.bg-default {
    padding-top: 68px;
  }

  .modern-section--centered.section-md > .container {
    padding: 28px 22px;
    border-radius: 22px;
  }

  .modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > [class*="col-"] {
    padding: 26px 22px;
    border-radius: 22px;
  }

  .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap {
    width: min(92vw, 430px) !important;
    padding: 24px 20px 38px !important;
  }

  .rd-navbar-nav > li > a,
  .rd-navbar.rd-navbar-static .rd-navbar-nav > li > a,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav > li > a {
    min-height: 48px;
    padding: 14px 15px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.35;
    letter-spacing: -.01em !important;
    text-transform: none;
  }

  .button,
  .dance-event__button {
    width: 100%;
    max-width: 360px;
    min-height: 56px;
    padding: 15px 20px;
    font-size: 12.5px;
  }

  .quote-review {
    padding: 29px 24px;
  }

  table td,
  table th {
    min-width: 155px;
    padding: 14px 15px !important;
    font-size: 14.5px;
  }

  .form-input {
    font-size: 16px;
  }

  .pre-footer-corporate p,
  .pre-footer-corporate li,
  .pre-footer-corporate .unit-body {
    font-size: 14.5px;
  }

  .footer-corporate .rights,
  .footer-corporate .cookie-technical-notice {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.7;
  }
}

@media (max-width: 479.98px) {
  .container {
    width: calc(100% - 28px);
  }

  .modern-section--intro::before {
    top: -8rem;
    right: -12rem;
    width: 30rem;
    height: 30rem;
  }

  .apartment-gallery {
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button::after,
  .dance-event__button::after {
    transition: none;
  }
}

/* ========================================================================== */
/* Second visual refinement — alpine hospitality, depth and responsive polish */
/* ========================================================================== */

body {
  background:
    linear-gradient(180deg, var(--lrp-modern-paper), var(--lrp-modern-cream));
}

/* A lighter, more refined frame around the navigation */
.page-header {
  box-shadow: 0 1px 0 rgba(23, 53, 45, .08);
}

.rd-navbar-top-panel__outer {
  position: relative;
}

.rd-navbar-top-panel__outer::after {
  display: none;
  content: none;
}

/* Keep the dark top bar flush with the navigation below it. The legacy
   container border stopped before the viewport edges and produced a visible
   light seam, especially above the burgundy logo panel. */
.rd-navbar-top-panel,
.rd-navbar.rd-navbar-static .rd-navbar-top-panel,
.rd-navbar.rd-navbar-fixed .rd-navbar-top-panel {
  border-bottom: 0 !important;
}

.rd-navbar-brand .brand__name {
  position: relative;
  border: 0;
  box-shadow: 0 20px 48px rgba(87, 9, 15, .24);
}

.rd-navbar-brand .brand__name::after {
  display: none;
  content: none;
}

.rd-navbar-nav > li > a {
  transition: color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.rd-navbar-nav > li.is-current > a {
  background: linear-gradient(135deg, rgba(123, 16, 24, .10), rgba(215, 156, 61, .08));
  box-shadow: inset 0 0 0 1px rgba(123, 16, 24, .06);
}

/* Hero images gain a cinematic overlay and a recognisable honey accent */
.modern-hero,
.parallax-header,
.apartment-hero {
  isolation: isolate;
  overflow: hidden;
}

.parallax-header::before,
.apartment-hero::before {
  background:
    linear-gradient(100deg, rgba(5, 28, 22, .88) 0%, rgba(8, 39, 31, .65) 40%, rgba(8, 32, 26, .20) 78%, rgba(8, 32, 26, .08) 100%),
    linear-gradient(180deg, rgba(5, 23, 19, .18), transparent 46%, rgba(5, 23, 19, .28));
}

/* Keep the home photographs bright; concentrate contrast only behind the copy. */
body.page-index .swiper-slider .swiper-slide::before {
  background:
    linear-gradient(100deg, rgba(5, 28, 22, .20) 0%, rgba(8, 39, 31, .10) 44%, rgba(8, 32, 26, .025) 78%, transparent 100%),
    linear-gradient(180deg, rgba(5, 23, 19, .04), transparent 54%, rgba(5, 23, 19, .12));
}

body.page-index .swiper-slide-caption [class*="col-"] {
  position: relative;
  z-index: 0;
  isolation: isolate;
}

body.page-index .swiper-slide-caption [class*="col-"]::before {
  position: absolute;
  z-index: -1;
  inset: -26px -56px;
  border-radius: 30px;
  content: "";
  pointer-events: none;
  background: linear-gradient(100deg, rgba(4, 24, 19, .66) 0%, rgba(4, 24, 19, .50) 58%, rgba(4, 24, 19, .16) 84%, transparent 100%);
  filter: blur(10px);
}

body.page-index .swiper-slide-caption h1,
body.page-index .swiper-slide-caption h2 {
  text-shadow: 0 2px 3px rgba(0, 0, 0, .72), 0 12px 34px rgba(0, 0, 0, .42);
}

body.page-index .swiper-slide-caption h6,
body.page-index .swiper-slide-caption p {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .90), 0 5px 18px rgba(0, 0, 0, .58);
}

@media (max-width: 767.98px) {
  body.page-index .swiper-slider .swiper-slide::before {
    background:
      linear-gradient(100deg, rgba(5, 28, 22, .18), rgba(8, 39, 31, .07) 72%, transparent),
      linear-gradient(180deg, rgba(5, 23, 19, .04), transparent 48%, rgba(5, 23, 19, .14));
  }

  body.page-index .swiper-slide-caption [class*="col-"]::before {
    inset: -20px -8px;
    border-radius: 24px;
    background: linear-gradient(105deg, rgba(4, 24, 19, .68) 0%, rgba(4, 24, 19, .51) 66%, rgba(4, 24, 19, .20) 100%);
    filter: blur(7px);
  }
}

/* The home slideshow uses an explicit, touch-safe numbered navigation. */
.swiper-form-wrap .swiper-pagination {
  right: auto !important;
  bottom: max(160px, calc(144px + env(safe-area-inset-bottom, 0px))) !important;
  left: 50% !important;
  display: inline-flex;
  width: auto !important;
  min-height: 60px;
  margin: 0;
  padding: 7px 9px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #fff;
  text-align: left;
  background: rgba(8, 37, 30, .78);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  box-shadow: 0 16px 38px rgba(3, 22, 17, .34), inset 0 1px 0 rgba(255, 255, 255, .12);
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transition: none !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.swiper-form-wrap .swiper-pagination.hero-pagination-ready {
  opacity: 1;
  visibility: visible;
}

.swiper-form-wrap .swiper-pagination::before {
  flex: 0 0 auto;
  margin: 0 7px 0 5px;
  content: attr(data-label);
  color: rgba(255, 255, 255, .88);
  font-family: var(--lrp-font-body);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.swiper-form-wrap .swiper-pagination-bullet {
  position: relative;
  display: inline-flex;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  font-family: var(--lrp-font-body);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  opacity: 1;
  transform: none;
  transition: width .28s cubic-bezier(.22, 1, .36, 1), flex-basis .28s cubic-bezier(.22, 1, .36, 1), color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.swiper-form-wrap .swiper-pagination-bullet::before,
.swiper-form-wrap .swiper-pagination-bullet-active::before {
  inset: 0;
  width: auto;
  height: auto;
  transform: none;
}

.swiper-form-wrap .swiper-pagination-bullet-active {
  width: 56px;
  flex-basis: 56px;
  color: var(--lrp-forest-deep);
  background: var(--lrp-honey-light);
  border-color: var(--lrp-honey-light);
  box-shadow: 0 8px 20px rgba(215, 156, 61, .28), inset 0 1px 0 rgba(255, 255, 255, .58);
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .swiper-form-wrap .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    color: var(--lrp-forest-deep);
    background: #fff;
    border-color: #fff;
    transform: translateY(-2px);
  }
}

.swiper-form-wrap .swiper-pagination-bullet:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--lrp-berry);
}

@media (max-width: 575.98px) {
  .swiper-form-wrap .swiper-pagination {
    bottom: max(42px, calc(30px + env(safe-area-inset-bottom, 0px))) !important;
    max-width: calc(100% - 28px);
    min-height: 58px;
    padding: 6px 8px;
    gap: 5px;
  }

  .swiper-form-wrap .swiper-pagination::before {
    margin-right: 5px;
    margin-left: 4px;
    font-size: 10px;
  }
}

@media (max-width: 767.98px) {
  .swiper-form-wrap .swiper-slider {
    /* Keep one-finger vertical scrolling and allow native two-finger zoom. */
    touch-action: pan-y pinch-zoom;
    -webkit-user-select: none;
    user-select: none;
  }
}

.swiper-slide-caption h1::after,
.swiper-slide-caption h2::after,
.parallax-header__content h1::after,
.parallax-header__content h2::after,
.apartment-hero h1::after,
.apartment-hero h2::after {
  display: block;
  width: clamp(76px, 8vw, 118px);
  height: 5px;
  margin-top: 24px;
  content: "";
  background: linear-gradient(90deg, var(--lrp-honey-light), var(--lrp-honey));
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(215, 156, 61, .32);
}

.swiper-slide-caption p,
.parallax-header__content p,
.apartment-hero p {
  margin-top: 22px;
  padding-left: 22px;
  border-left: 2px solid rgba(241, 207, 139, .72);
}

.parallax-container.parallax-header::after,
.apartment-hero::after {
  position: absolute;
  z-index: 4;
  right: -1px;
  bottom: -1px;
  left: -1px;
  height: clamp(30px, 4vw, 58px);
  content: "";
  pointer-events: none;
  background: var(--lrp-modern-paper);
  clip-path: polygon(0 76%, 100% 0, 100% 100%, 0 100%);
}

/* More deliberate rhythm and depth across editorial sections */
.modern-section > .container {
  transition: transform .35s ease;
}

.modern-section h1,
.modern-section h2,
.modern-section h3 {
  color: var(--lrp-modern-ink);
}

.modern-section h1 + p,
.modern-section h2 + p,
.modern-section h3 + p {
  margin-top: clamp(22px, 2.5vw, 32px);
}

.modern-section--split > .container > .row {
  align-items: stretch;
}

.modern-section--split > .container > .row > [class*="col-"] {
  position: relative;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease, border-color .35s ease;
}

.modern-section--split > .container > .row > .modern-copy-card {
  align-self: center;
  padding: clamp(30px, 4.2vw, 54px);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(251, 247, 239, .88));
  border: 1px solid rgba(23, 53, 45, .11);
  border-radius: var(--lrp-modern-radius);
  box-shadow: var(--lrp-modern-shadow-soft);
}

.modern-section--split > .container > .row > .modern-copy-card::before {
  position: absolute;
  top: 34px;
  bottom: 34px;
  left: 0;
  width: 3px;
  content: "";
  background: linear-gradient(180deg, var(--lrp-honey), rgba(215, 156, 61, .08));
  border-radius: 0 999px 999px 0;
}

.modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > .modern-media-card {
  overflow: hidden;
  padding: clamp(12px, 1.3vw, 18px);
}

.modern-media-card img:not([src*="logo-"]),
.modern-section--gallery img,
.modern-section--media .img-thumbnail-variant-1 img,
.modern-section--media .thumb-minimal img {
  width: 100%;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}

.modern-section--gallery .apartment-gallery a,
.modern-section--media .img-thumbnail-variant-1,
.modern-section--media .thumb-minimal,
.modern-section--media .carousel-post-gallery,
.modern-section--media .videoWrapper {
  position: relative;
  overflow: hidden;
  background: #fff;
  outline: 1px solid rgba(23, 53, 45, .07);
  outline-offset: -1px;
}

.modern-section--gallery .apartment-gallery a::after,
.modern-section--media .img-thumbnail-variant-1::after,
.modern-section--media .thumb-minimal::after {
  position: absolute;
  inset: 10px;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: calc(var(--lrp-modern-radius) - 9px);
}

/* Modern gallery interaction */
.modern-section--gallery .carousel-flickr .thumb-minimal {
  cursor: zoom-in;
  isolation: isolate;
  transition: box-shadow .35s ease, outline-color .35s ease;
}

.modern-section--gallery .carousel-flickr .thumb-minimal::after {
  z-index: 3;
  transition: inset .4s cubic-bezier(.16, 1, .3, 1), border-color .3s ease, box-shadow .3s ease;
}

.modern-section--gallery .carousel-flickr .thumb-minimal figure {
  overflow: hidden;
  border-radius: inherit;
}

.modern-section--gallery .carousel-flickr .thumb-minimal img {
  transform: translate3d(-50%, -50%, 0) scale(1.001);
  transition: transform .75s cubic-bezier(.16, 1, .3, 1), filter .45s ease;
  will-change: transform;
}

.modern-section--gallery .carousel-flickr .thumb-minimal__overlay {
  z-index: 2;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(241, 207, 139, .20), transparent 38%),
    linear-gradient(180deg, rgba(8, 32, 26, .02) 18%, rgba(8, 32, 26, .68) 100%);
  border-radius: inherit;
  opacity: 0;
  transition: opacity .38s ease;
}

.modern-section--gallery .carousel-flickr .thumb-minimal__overlay::before {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  content: "";
  color: var(--lrp-forest-deep);
  background:
    linear-gradient(var(--lrp-forest-deep), var(--lrp-forest-deep)) center / 2px 25px no-repeat,
    linear-gradient(var(--lrp-forest-deep), var(--lrp-forest-deep)) center / 25px 2px no-repeat,
    rgba(255, 253, 248, .94);
  border: 1px solid rgba(255, 255, 255, .94);
  border-radius: 50%;
  box-shadow: 0 14px 34px rgba(8, 32, 26, .28), inset 0 1px 0 #fff;
  opacity: 0;
  transform: translateY(14px) scale(.82);
  transition: opacity .3s ease, transform .48s cubic-bezier(.16, 1, .3, 1), background-color .25s ease;
}

.modern-section--gallery .carousel-flickr .thumb-minimal__overlay::after {
  position: absolute;
  width: 74px;
  height: 74px;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(241, 207, 139, .66);
  border-radius: 50%;
  opacity: 0;
  transform: scale(.70);
  transition: opacity .32s ease .05s, transform .5s cubic-bezier(.16, 1, .3, 1);
}

.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible {
  outline: 3px solid var(--lrp-honey);
  outline-offset: -5px;
}

.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible img {
  filter: saturate(1.09) contrast(1.035) brightness(.94);
  transform: translate3d(-50%, -50%, 0) scale(1.075);
}

.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible .thumb-minimal__overlay {
  opacity: 1;
}

.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible .thumb-minimal__overlay::before,
.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible .thumb-minimal__overlay::after {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.modern-section--gallery .carousel-flickr .thumb-minimal:focus-visible .thumb-minimal__overlay::after {
  transform: scale(1);
}

@media (hover: hover) and (pointer: fine) {
  .modern-section--gallery .carousel-flickr .thumb-minimal:hover {
    box-shadow: inset 0 0 0 1px rgba(241, 207, 139, .32), 0 18px 38px rgba(13, 41, 34, .18);
  }

  .modern-section--gallery .carousel-flickr .thumb-minimal:hover img {
    filter: saturate(1.09) contrast(1.035) brightness(.94);
    transform: translate3d(-50%, -50%, 0) scale(1.075);
  }

  .modern-section--gallery .carousel-flickr .thumb-minimal:hover .thumb-minimal__overlay {
    opacity: 1;
  }

  .modern-section--gallery .carousel-flickr .thumb-minimal:hover .thumb-minimal__overlay::before {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .modern-section--gallery .carousel-flickr .thumb-minimal:hover .thumb-minimal__overlay::after {
    opacity: 1;
    transform: scale(1);
  }

  .modern-section--gallery .carousel-flickr .thumb-minimal:hover::after {
    inset: 14px;
    border-color: rgba(241, 207, 139, .72);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
  }
}

.modern-section--reviews .quote-review {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(215, 156, 61, .12), transparent 13rem),
    linear-gradient(145deg, #fff, #faf6ed);
  border: 1px solid rgba(23, 53, 45, .11);
  border-top: 4px solid var(--lrp-honey);
  box-shadow: var(--lrp-modern-shadow-soft);
}

.modern-section--form .rd-mailform,
.modern-section--form .contact-info {
  box-shadow: 0 22px 58px rgba(13, 41, 34, .10);
}

.form-input {
  background: rgba(255, 255, 255, .94);
  border-radius: 15px;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.form-input:focus {
  background: #fff;
  border-color: rgba(215, 156, 61, .76);
  box-shadow: 0 0 0 4px rgba(215, 156, 61, .12);
}

.modern-section--table table {
  overflow: hidden;
  background: rgba(255, 255, 255, .88);
  border-radius: 18px;
  box-shadow: var(--lrp-modern-shadow-soft);
}

.modern-section--table tbody tr:nth-child(even) {
  background: rgba(116, 141, 120, .06);
}

/* A richer ending without changing any footer content or partner logos */
.pre-footer-corporate {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(215, 156, 61, .10), transparent 28rem),
    radial-gradient(circle at 92% 82%, rgba(116, 141, 120, .14), transparent 30rem),
    linear-gradient(135deg, #09241d, #10342a 58%, #173f34) !important;
}

.pre-footer-corporate .row > [class*="col-"] {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
  border-color: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
  transition: transform .35s ease, border-color .35s ease, background-color .35s ease;
}

.pre-footer-corporate .row > [class*="col-"]::before {
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(241, 207, 139, .62), transparent);
}

.footer-corporate .cookie-technical-notice {
  padding-right: 14px;
}

@media (hover: hover) and (pointer: fine) {
  .rd-navbar-nav > li > a:hover {
    transform: translateY(-1px);
  }

  .modern-section--split > .container > .row > [class*="col-"]:hover {
    z-index: 3;
    border-color: rgba(215, 156, 61, .28);
    box-shadow: 0 28px 72px rgba(13, 41, 34, .14);
    transform: translateY(-7px);
  }

  .modern-media-card:hover img:not([src*="logo-"]),
  .modern-section--gallery a:hover img,
  .modern-section--media .img-thumbnail-variant-1:hover img,
  .modern-section--media .thumb-minimal:hover img {
    filter: saturate(1.06) contrast(1.025);
    transform: scale(1.035);
  }

  .pre-footer-corporate .row > [class*="col-"]:hover {
    background: rgba(255, 255, 255, .065);
    border-color: rgba(241, 207, 139, .20);
    transform: translateY(-5px);
  }
}

/* Compact desktop band: keep long translated menus balanced on two rows */
@media (min-width: 1200px) and (max-width: 1399px) {
  .rd-navbar.rd-navbar-static .rd-navbar-nav {
    gap: 4px 1px !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-nav > li > a {
    padding: 8px 7px !important;
    font-size: 10.7px !important;
    letter-spacing: .035em !important;
  }
}

/* Large monitors: use the available space while keeping excellent line length */
@media (min-width: 1600px) {
  .container {
    width: min(100% - 96px, 1760px);
    max-width: 1760px;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-inner,
  .rd-navbar.rd-navbar-static .rd-navbar-top-panel,
  .rd-navbar.rd-navbar-static .rd-navbar-top-panel__main,
  .rd-navbar.rd-navbar-static .rd-navbar-top-panel__content {
    width: min(100% - 80px, 1560px) !important;
    max-width: 1560px !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-nav > li > a {
    padding-right: 11px !important;
    padding-left: 11px !important;
    font-size: 11.5px !important;
  }

  .swiper-slide-caption [class*="col-"],
  .parallax-header__content [class*="col-"],
  .apartment-hero [class*="col-"] {
    max-width: 1040px;
  }

  .modern-section--split > .container > .row {
    margin-right: -5px;
    margin-left: -5px;
  }
}

/* Tablet: premium panels, with touch-safe spacing */
@media (min-width: 768px) and (max-width: 1199px) {
  .rd-navbar-toggle {
    box-shadow: 0 12px 28px rgba(13, 41, 34, .18);
  }

  .modern-section--split > .container > .row > .modern-copy-card {
    padding: 36px;
  }

  .pre-footer-corporate .row > [class*="col-"] {
    padding: 28px;
  }
}

/* Phones: cleaner hierarchy, safe edges and no ornamental crowding */
@media (max-width: 767.98px) {
  .rd-navbar {
    border-bottom: 1px solid rgba(23, 53, 45, .08);
  }

  .rd-navbar-toggle {
    box-shadow: 0 10px 24px rgba(13, 41, 34, .18);
  }

  .swiper-slide-caption h1::after,
  .swiper-slide-caption h2::after,
  .parallax-header__content h1::after,
  .parallax-header__content h2::after,
  .apartment-hero h1::after,
  .apartment-hero h2::after {
    width: 72px;
    height: 4px;
    margin-top: 19px;
  }

  .swiper-slide-caption p,
  .parallax-header__content p,
  .apartment-hero p {
    margin-top: 18px;
    padding-left: 16px;
  }

  .parallax-container.parallax-header::after,
  .apartment-hero::after {
    height: 30px;
  }

  .modern-section--split > .container > .row > .modern-copy-card,
  .modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > .modern-media-card {
    padding: 24px 21px;
    border-radius: 22px;
  }

  .modern-section--split > .container > .row > .modern-copy-card::before {
    top: 24px;
    bottom: 24px;
  }

  .modern-section--gallery .apartment-gallery a::after,
  .modern-section--media .img-thumbnail-variant-1::after,
  .modern-section--media .thumb-minimal::after {
    inset: 7px;
    border-radius: 16px;
  }

  .modern-section--reviews .quote-review {
    border-top-width: 3px;
  }

  .pre-footer-corporate {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .pre-footer-corporate .row > [class*="col-"] {
    padding: 25px 22px;
    border-radius: 20px;
  }

  .lg-outer .lg-actions {
    position: fixed;
    z-index: 1190;
    top: var(--lg-mobile-nav-y, 50%);
    left: var(--lg-mobile-nav-x, 50%);
    display: flex;
    gap: 12px;
    padding: 0;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: opacity .18s ease, transform .18s ease;
  }

  .lg-outer.lg-mobile-nav-row .lg-actions,
  .lg-outer.lg-mobile-nav-column .lg-actions {
    opacity: 1;
    pointer-events: auto;
  }

  .lg-outer.lg-hide-items .lg-actions {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.9);
  }

  .lg-outer.lg-mobile-nav-column .lg-actions {
    flex-direction: column;
  }

  .lg-outer .lg-actions .lg-next,
  .lg-outer .lg-actions .lg-prev {
    position: static;
    display: flex;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(4, 22, 18, .34);
  }

  .lg-outer .lg-actions .lg-next::before,
  .lg-outer .lg-actions .lg-prev::after {
    display: block;
    width: 15px;
    height: 15px;
    content: "";
    box-sizing: border-box;
    background: none;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    -webkit-mask: none;
    mask: none;
    transform: translateX(-4px) rotate(45deg);
  }

  .lg-outer .lg-actions .lg-prev::after {
    transform: translateX(4px) rotate(-135deg);
  }
}

@media (max-width: 359.98px) {
  .container {
    width: calc(100% - 22px);
  }

  h2 {
    font-size: clamp(2.1rem, 10vw, 2.65rem);
  }

  .swiper-slide-caption h1,
  .swiper-slide-caption h2,
  .parallax-header__content h1,
  .parallax-header__content h2,
  .apartment-hero h1,
  .apartment-hero h2 {
    font-size: clamp(2.55rem, 12.5vw, 3.3rem);
  }

  .rd-navbar.rd-navbar-static .rd-navbar-inner,
  .rd-navbar.rd-navbar-fixed .rd-navbar-inner {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .modern-section--split > .container > .row > .modern-copy-card,
  .modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > .modern-media-card {
    padding-right: 18px;
    padding-left: 18px;
  }

  .modern-section--form > .container > .row > .modern-copy-card {
    padding-right: 14px;
    padding-left: 14px;
  }

  .modern-section--form .rd-mailform {
    padding: 18px 14px;
  }

  .modern-section--form .form-label-outside {
    overflow: visible;
    line-height: 1.35;
    text-overflow: clip;
    white-space: normal;
  }

  .modern-section--form .form-input {
    padding-right: 13px;
    padding-left: 13px;
  }

  .lg-toolbar #lg-share,
  .lg-toolbar #lg-actual-size {
    display: none;
  }

  .lg-toolbar .lg-icon {
    width: 44px;
    flex: 0 0 44px;
  }

  #lg-counter {
    height: 47px;
    min-width: 55px;
    padding: 12px 4px 0 10px;
    font-size: 14px;
    line-height: 23px;
    white-space: nowrap;
  }
}

@media (max-height: 620px) and (orientation: landscape) {
  .swiper-form-wrap,
  .swiper-slider_fullheight,
  .swiper-slide-caption,
  .parallax-container.parallax-header,
  .parallax-header__inner,
  .parallax-header__content,
  .apartment-hero {
    min-height: 520px;
  }

  .swiper-slide-caption,
  .parallax-header__content,
  .apartment-hero {
    padding-top: 64px;
    padding-bottom: 70px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .modern-section--split > .container > .row > [class*="col-"],
  .modern-media-card img:not([src*="logo-"]),
  .modern-section--gallery img,
  .modern-section--gallery .carousel-flickr .thumb-minimal,
  .modern-section--gallery .carousel-flickr .thumb-minimal::after,
  .modern-section--gallery .carousel-flickr .thumb-minimal__overlay,
  .modern-section--gallery .carousel-flickr .thumb-minimal__overlay::before,
  .modern-section--gallery .carousel-flickr .thumb-minimal__overlay::after,
  .pre-footer-corporate .row > [class*="col-"] {
    transition: none;
  }
}

/* WCAG 2.2 contrast safeguards for interactive controls and every UI state. */
.page .button.button-primary {
  background: var(--lrp-berry);
  border-color: var(--lrp-berry);
  color: #fff !important;
}

.page .button.button-primary:hover,
.page .button.button-primary:focus,
.page .button.button-primary:active {
  background: var(--lrp-forest);
  border-color: var(--lrp-forest);
  color: #fff !important;
}

.page .bg-accent .button.button-primary {
  background: var(--lrp-honey);
  border-color: var(--lrp-honey);
  color: var(--lrp-forest-deep) !important;
}

.page .bg-accent .button.button-primary:hover,
.page .bg-accent .button.button-primary:focus,
.page .bg-accent .button.button-primary:active {
  background: #fff;
  border-color: #fff;
  color: var(--lrp-forest-deep) !important;
}

.page .button.button-primary-outline {
  background: transparent;
  border-color: var(--lrp-berry);
  color: var(--lrp-berry) !important;
  box-shadow: none;
}

.page .button.button-primary-outline:hover,
.page .button.button-primary-outline:focus,
.page .button.button-primary-outline:active {
  background: var(--lrp-forest);
  border-color: var(--lrp-forest);
  color: #fff !important;
}

.page .rd-navbar-nav > li.is-current > a[href*="contatti"],
.page .rd-navbar-nav > li.is-current > a[href*="contacts"] {
  background: var(--lrp-berry);
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(123, 16, 24, .18);
}

.page .rd-navbar-nav > li.is-current > a[href*="contatti"]:hover,
.page .rd-navbar-nav > li.is-current > a[href*="contatti"]:focus,
.page .rd-navbar-nav > li.is-current > a[href*="contacts"]:hover,
.page .rd-navbar-nav > li.is-current > a[href*="contacts"]:focus {
  background: var(--lrp-forest);
  color: #fff !important;
}

.rd-navbar-nav > li:has(img[src*="flag"]) > a {
  border: 2px solid var(--lrp-forest);
}

.rd-navbar-nav > li:has(img[src*="flag"]) > a:hover,
.rd-navbar-nav > li:has(img[src*="flag"]) > a:focus {
  background: var(--lrp-sage-soft);
  border-color: var(--lrp-berry);
}

.contact-channel__copy small,
.contact-phone-row small {
  color: rgba(255, 255, 255, .78);
}

.footer-corporate .rights a:hover,
.footer-corporate .rights a:focus {
  color: #fff !important;
}

.rd-navbar-toggle:hover,
.rd-navbar-toggle:focus {
  background: var(--lrp-forest) !important;
  color: #fff !important;
}

.lg-outer .lg-actions .lg-next,
.lg-outer .lg-actions .lg-prev,
.lg-outer .lg-toolbar .lg-icon,
.lg-outer .lg-toogle-thumb {
  background: var(--lrp-forest-deep) !important;
  border: 2px solid rgba(255, 255, 255, .78) !important;
  color: #fff !important;
}

.lg-toolbar #lg-share,
.lg-outer #lg-dropdown-overlay {
  display: none !important;
}

.lg-outer .lg-actions .lg-next:hover,
.lg-outer .lg-actions .lg-next:focus,
.lg-outer .lg-actions .lg-prev:hover,
.lg-outer .lg-actions .lg-prev:focus,
.lg-outer .lg-toolbar .lg-icon:hover,
.lg-outer .lg-toolbar .lg-icon:focus,
.lg-outer .lg-toogle-thumb:hover,
.lg-outer .lg-toogle-thumb:focus {
  background: var(--lrp-berry) !important;
  border-color: #fff !important;
  color: #fff !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.lg-icon:focus-visible,
.lg-thumb-item:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--lrp-berry) !important;
}

/* Keep every word intact: wrap only at natural spaces, never by syllabation. */
.modern-section h1,
.modern-section h2,
.modern-section h3,
.modern-section h4,
.modern-section h5,
.modern-section h6,
.modern-section p,
.modern-section li,
.modern-section dt,
.modern-section dd,
.modern-section address,
.quote-review p,
.pre-footer-corporate p,
.pre-footer-corporate li,
.footer-corporate p {
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

/* Preserve complete headings on narrow phones without sacrificing hierarchy. */
@media (max-width: 575.98px) {
  .modern-section h2 {
    font-size: clamp(1.9rem, 9.5vw, 3.25rem);
  }
}

/* Give exceptionally long German review words a naturally wider reading column. */
@media (max-width: 359.98px) {
  html[lang="de"] .modern-section--reviews.modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > [class*="col-"] {
    padding-right: 3px;
    padding-left: 3px;
  }

  html[lang="de"] .modern-section--reviews .quote-review {
    padding-right: 6px;
    padding-left: 6px;
  }
}

@media (min-width: 360px) and (max-width: 767.98px) {
  html[lang="de"] .modern-section--reviews .quote-review {
    padding-right: 18px;
    padding-left: 18px;
  }
}

@media (min-width: 768px) {
  html[lang="de"] .modern-section--reviews .modern-copy-card {
    flex: 0 0 50%;
    max-width: 50%;
  }

  html[lang="de"] .modern-section--reviews.modern-section--split:not(.modern-section--media):not(.modern-section--map) > .container > .row > [class*="col-"] {
    padding-right: 18px;
    padding-left: 18px;
  }

  html[lang="de"] .modern-section--reviews .quote-review {
    padding-right: 18px;
    padding-left: 18px;
  }
}

/* Remove the legacy creative-navbar offset at every compact breakpoint. */
@media (max-width: 1199.98px) {
  .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap {
    top: 82px !important;
    bottom: 0 !important;
    height: calc(100dvh - 82px) !important;
    max-height: calc(100dvh - 82px);
    margin: 0 !important;
    padding-bottom: calc(38px + env(safe-area-inset-bottom, 0px)) !important;
    overscroll-behavior: contain;
  }
}

/* ========================================================================== */
/* Navigation refinement — ordered experience links and crisp language flags  */
/* ========================================================================== */

.lrp-nav-shell,
.lrp-nav-shell * {
  box-sizing: border-box;
}

.lrp-nav-shell {
  width: 100%;
  min-width: 0;
}

.lrp-nav-intro {
  display: none;
}

.lrp-nav-primary,
.lrp-nav-utility,
.lrp-language-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lrp-nav-primary > li > a,
.lrp-nav-utility > li > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 11px;
  white-space: nowrap;
}

.lrp-nav-primary > li > a:hover,
.lrp-nav-primary > li > a:focus,
.lrp-nav-utility > li > a:hover,
.lrp-nav-utility > li > a:focus {
  color: var(--lrp-berry) !important;
  background: #f8f0e8;
  border-color: rgba(123, 16, 24, .11);
  transform: translateY(-1px);
}

.lrp-nav-primary > li.is-current > a,
.lrp-nav-utility > li.is-current > a {
  color: var(--lrp-berry) !important;
  background: linear-gradient(135deg, #f8eee7, #fff8ed);
  border-color: rgba(123, 16, 24, .14);
  box-shadow: 0 7px 18px rgba(63, 31, 24, .07), inset 0 -2px 0 var(--lrp-honey);
}

.lrp-nav-utility > li > a[href*="contatti"],
.lrp-nav-utility > li > a[href*="contacts"] {
  display: flex !important;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding-right: 17px !important;
  padding-left: 17px !important;
  background: linear-gradient(135deg, #86151e, #6f0b13) !important;
  border-color: #6f0b13 !important;
  border-radius: 999px;
  color: #fff !important;
  box-shadow: 0 10px 23px rgba(123, 16, 24, .20);
}

.lrp-nav-utility > li > a[href*="contatti"]:hover,
.lrp-nav-utility > li > a[href*="contatti"]:focus,
.lrp-nav-utility > li > a[href*="contacts"]:hover,
.lrp-nav-utility > li > a[href*="contacts"]:focus {
  background: var(--lrp-forest) !important;
  border-color: var(--lrp-forest) !important;
  color: #fff !important;
  box-shadow: 0 12px 27px rgba(23, 63, 52, .22);
}

/* The legacy navbar gives links a more specific block layout. Restore flex on
   the contact CTA so its label is genuinely centred, in every language. */
.rd-navbar.rd-navbar-static .lrp-nav-utility > li > a[href*="contatti"],
.rd-navbar.rd-navbar-static .lrp-nav-utility > li > a[href*="contacts"],
.rd-navbar.rd-navbar-fixed .lrp-nav-utility > li > a[href*="contatti"],
.rd-navbar.rd-navbar-fixed .lrp-nav-utility > li > a[href*="contacts"] {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.lrp-language-switcher {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.lrp-language-switcher__label {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 5px;
  color: var(--lrp-forest);
  font-family: var(--lrp-font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.lrp-language-switcher__icon {
  display: grid;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  place-items: center;
  border: 1px solid rgba(188, 128, 31, .25);
  border-radius: 8px;
  color: #0f4639;
  background: linear-gradient(145deg, #f6d794, #ebbd5f);
  box-shadow: 0 5px 12px rgba(55, 47, 24, .11), inset 0 1px 0 rgba(255, 255, 255, .46);
  line-height: 1;
}

.lrp-language-switcher__icon svg {
  display: block;
  width: 16px;
  height: 16px;
  overflow: visible;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lrp-language-switcher__label b {
  color: var(--lrp-berry);
  font-size: 10px;
  font-weight: 800;
}

.lrp-language-list {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
}

.lrp-language-list > li {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.lrp-language-link {
  display: inline-flex !important;
  min-width: 48px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 7px !important;
  background: #fff;
  border: 1px solid rgba(23, 63, 52, .18);
  border-radius: 10px;
  color: var(--lrp-forest) !important;
  box-shadow: 0 5px 14px rgba(13, 41, 34, .07);
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.lrp-language-link:hover,
.lrp-language-link:focus {
  color: var(--lrp-berry) !important;
  background: #fff9ef;
  border-color: var(--lrp-berry);
  box-shadow: 0 8px 19px rgba(123, 16, 24, .12);
  transform: translateY(-2px);
}

.lrp-language-flag-frame {
  display: block;
  width: 25px;
  height: 17px;
  flex: 0 0 25px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(13, 41, 34, .14);
  border-radius: 3px;
  box-shadow: 0 1px 4px rgba(13, 41, 34, .13);
}

.lrp-language-flag {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.lrp-language-code {
  color: inherit;
  font-family: var(--lrp-font-body);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
}

@media (min-width: 1200px) {
  .rd-navbar.rd-navbar-static .rd-navbar-inner {
    height: 132px !important;
    min-height: 132px !important;
    gap: 24px !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-panel,
  .rd-navbar.rd-navbar-static .rd-navbar-brand,
  .rd-navbar.rd-navbar-static .rd-navbar-brand .brand__name {
    width: 205px !important;
    height: 132px !important;
    min-height: 132px !important;
    flex-basis: 205px !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-brand img {
    width: 198px !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap {
    align-items: stretch !important;
  }

  .lrp-nav-shell {
    display: grid;
    align-content: center;
    gap: 8px;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-primary,
  .rd-navbar.rd-navbar-static .lrp-nav-utility {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-primary {
    gap: 3px !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-utility {
    width: auto !important;
    gap: 2px !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-primary > li,
  .rd-navbar.rd-navbar-static .lrp-nav-utility > li {
    flex: 0 0 auto;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-primary > li > a,
  .rd-navbar.rd-navbar-static .lrp-nav-utility > li > a {
    min-height: 36px;
    padding: 8px 9px !important;
    font-size: clamp(10px, .19vw + 7.8px, 11.3px) !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
    line-height: 1.15;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-utility > li > a {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: clamp(9.9px, .16vw + 7.9px, 10.9px) !important;
  }

  .lrp-nav-secondary {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 13px;
    padding-top: 8px;
    border-top: 1px solid rgba(23, 63, 52, .10);
  }

  .lrp-language-switcher {
    flex: 0 0 auto;
    padding-left: 12px;
    border-left: 1px solid rgba(23, 63, 52, .13);
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone {
    height: 96px !important;
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-inner,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .rd-navbar-inner,
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-panel,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .rd-navbar-panel,
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-brand,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .rd-navbar-brand,
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-brand .brand__name,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .rd-navbar-brand .brand__name {
    height: 96px !important;
    min-height: 96px !important;
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-brand img,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .rd-navbar-brand img {
    width: 162px !important;
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .lrp-nav-shell,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .lrp-nav-shell {
    gap: 3px;
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .lrp-nav-secondary,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .lrp-nav-secondary {
    padding-top: 3px;
  }

  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .lrp-nav-primary > li > a,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .lrp-nav-primary > li > a,
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .lrp-nav-utility > li > a,
  .rd-navbar.rd-navbar-static.rd-navbar--is-clone .lrp-nav-utility > li > a {
    min-height: 31px;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .lrp-language-switcher__text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .lrp-language-switcher {
    gap: 6px;
    padding-left: 9px;
  }

  .lrp-language-link {
    min-width: 45px;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }
}

@media (min-width: 1600px) {
  .rd-navbar.rd-navbar-static .lrp-nav-primary {
    gap: 5px !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-utility {
    gap: 3px !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-primary > li > a {
    padding-right: 11px !important;
    padding-left: 11px !important;
    font-size: 12.1px !important;
  }

  .rd-navbar.rd-navbar-static .lrp-nav-utility > li > a {
    padding-right: 9px !important;
    padding-left: 9px !important;
    font-size: 11.4px !important;
  }

  .lrp-language-link {
    min-width: 50px;
  }
}

@media (max-width: 1199.98px) {
  .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap {
    width: min(94vw, 440px) !important;
    padding: 25px 22px calc(36px + env(safe-area-inset-bottom, 0px)) !important;
    background:
      radial-gradient(circle at 105% -5%, rgba(215, 156, 61, .17), transparent 13rem),
      linear-gradient(180deg, #fffdf8, #f8f3e9) !important;
    border-left: 1px solid rgba(23, 63, 52, .10);
  }

  .lrp-nav-intro {
    display: flex;
    min-height: 66px;
    flex-direction: column;
    justify-content: center;
    margin: -5px 0 18px;
    padding: 13px 18px;
    background: linear-gradient(135deg, var(--lrp-forest-deep), var(--lrp-forest));
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 17px;
    box-shadow: 0 13px 30px rgba(13, 41, 34, .15);
  }

  .lrp-nav-intro span {
    color: var(--lrp-honey-light);
    font-family: var(--lrp-font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .lrp-nav-intro strong {
    margin-top: 4px;
    color: #fff;
    font-family: var(--lrp-font-display);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.015em;
    line-height: 1.2;
  }

  .rd-navbar .lrp-nav-primary,
  .rd-navbar .lrp-nav-utility {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rd-navbar .lrp-nav-primary > li,
  .rd-navbar .lrp-nav-utility > li {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rd-navbar .lrp-nav-primary > li > a,
  .rd-navbar .lrp-nav-utility > li > a {
    width: 100%;
    min-height: 47px;
    justify-content: flex-start;
    padding: 12px 14px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: -.005em !important;
    line-height: 1.35;
    white-space: normal;
  }

  .rd-navbar .lrp-nav-primary > li.is-current > a,
  .rd-navbar .lrp-nav-utility > li.is-current > a {
    padding-left: 18px !important;
    box-shadow: inset 3px 0 0 var(--lrp-honey), 0 6px 15px rgba(63, 31, 24, .06);
  }

  .lrp-nav-secondary {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(23, 63, 52, .12);
  }

  .lrp-nav-utility > li > a[href*="contatti"],
  .lrp-nav-utility > li > a[href*="contacts"] {
    justify-content: center;
    margin-top: 5px;
    border-radius: 13px;
  }

  .lrp-language-switcher {
    display: block;
    margin-top: 19px;
    padding: 15px;
    background: rgba(235, 242, 237, .82);
    border: 1px solid rgba(23, 63, 52, .11);
    border-radius: 16px;
  }

  .lrp-language-switcher__label {
    display: flex;
    min-height: 24px;
    margin-bottom: 10px;
    font-size: 10px;
  }

  .lrp-language-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .lrp-language-link {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    gap: 7px;
    padding: 8px !important;
    border-radius: 11px;
  }

  .lrp-language-flag-frame {
    width: 30px;
    height: 20px;
    flex-basis: 30px;
  }

  .lrp-language-code {
    font-size: 10px;
  }
}

@media (max-width: 479.98px) {
  .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap {
    width: min(96vw, 400px) !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .rd-navbar .lrp-nav-primary > li > a,
  .rd-navbar .lrp-nav-utility > li > a {
    min-height: 45px;
    padding: 11px 13px !important;
    font-size: 13px !important;
  }

  .lrp-language-switcher {
    padding: 13px;
  }

  .lrp-language-link {
    min-height: 46px;
    gap: 5px;
  }

  .lrp-language-flag-frame {
    width: 27px;
    height: 18px;
    flex-basis: 27px;
  }
}

/* Mobile drawer: keep the panel above its backdrop and support a right swipe. */
@media (max-width: 1199.98px) {
  body.modern-menu-open .page-header {
    z-index: 103;
  }

  .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap,
  .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap {
    touch-action: pan-y;
    will-change: transform;
  }

  body.modern-menu-open .rd-navbar-nav-wrap.is-swiping-right,
  body.modern-menu-open .rd-navbar.rd-navbar-static .rd-navbar-nav-wrap.is-swiping-right,
  body.modern-menu-open .rd-navbar.rd-navbar-fixed .rd-navbar-nav-wrap.is-swiping-right {
    transform: translateX(var(--lrp-menu-swipe-x, 0)) !important;
    transition: none !important;
  }
}

/* Remove the top scroll-progress strip: at some viewport widths it left
   coloured fragments and a visible seam along the page edge. */
body::before,
body.page-scrolled::before,
body.modern-menu-open::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Keep deferred video/map headings readable over their dark media panel. */
.modern-section .external-media-consent h3,
.external-media-consent h3 {
  max-width: 720px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(1.75rem, 3.1vw, 2.65rem);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .32);
}

@media (max-width: 575.98px) {
  .modern-section .external-media-consent h3,
  .external-media-consent h3 {
    font-size: clamp(1.55rem, 8vw, 2rem);
    line-height: 1.16;
  }
}

/* Home wellness feature: an immersive editorial panel with clear service details. */
.wellness-feature {
  overflow: hidden;
  padding-top: clamp(74px, 7vw, 116px);
  padding-bottom: clamp(74px, 7vw, 116px);
  background: linear-gradient(145deg, #f5efe3 0%, #fffdf8 48%, #edf3ee 100%) !important;
}

.wellness-feature > .container {
  position: relative;
  z-index: 1;
}

.wellness-feature .wellness-feature__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: clamp(18px, 2vw, 32px);
  margin: 0 !important;
}

.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro,
.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details {
  width: auto;
  max-width: none;
  height: 100%;
  flex: none;
  align-self: stretch;
  margin: 0;
  border-radius: clamp(22px, 2vw, 30px);
}

.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro {
  display: flex;
  overflow: hidden;
  min-height: 680px;
  padding: clamp(38px, 4vw, 64px) !important;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(105deg, rgba(7, 35, 28, .99) 0%, rgba(10, 47, 38, .96) 62%, rgba(12, 50, 40, .80) 100%),
    url("../images/portfolio/centro-benessere9.jpg") 74% center / cover no-repeat !important;
  border: 1px solid rgba(241, 207, 139, .18);
  box-shadow: 0 28px 72px rgba(13, 41, 34, .2);
}

.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro::before {
  content: none;
}

.wellness-feature__intro h6 {
  width: fit-content;
  margin: 0 0 clamp(24px, 2.6vw, 34px);
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #e7b657;
  border-radius: 0;
  color: #f5d99e !important;
  font-size: 12px;
  letter-spacing: .13em;
}

.wellness-feature__intro h6::before {
  content: none;
}

.wellness-feature .wellness-feature__intro h2 {
  max-width: 760px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.35rem, 3.1vw, 3.75rem);
  font-weight: 670;
  line-height: 1.055;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.wellness-feature .wellness-feature__intro p,
.wellness-feature .wellness-feature__intro .text-width-2 {
  max-width: 720px;
  margin-right: 0;
  margin-left: 0;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(.98rem, .35vw + .92rem, 1.08rem);
  line-height: 1.64;
}

.wellness-feature .wellness-feature__intro h2 + p {
  margin-top: clamp(26px, 2.5vw, 36px);
}

.wellness-feature .wellness-feature__intro p + p {
  margin-top: 17px;
}

.wellness-feature .wellness-feature__intro .button.button-primary {
  width: fit-content;
  min-height: 54px;
  margin-top: clamp(26px, 2.6vw, 36px);
  padding: 15px 23px;
  background: #f1cf8b;
  border-color: #f1cf8b;
  border-radius: 12px;
  color: #0d2922 !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
}

.wellness-feature .wellness-feature__intro .button.button-primary::after {
  color: #0d2922;
}

.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details {
  display: flex;
  padding: clamp(26px, 2.8vw, 44px) !important;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 253, 248, .97);
  border: 1px solid rgba(23, 63, 52, .12);
  box-shadow: 0 24px 60px rgba(13, 41, 34, .11);
}

.wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details::before {
  top: 0;
  right: clamp(34px, 4vw, 64px);
  bottom: auto;
  left: clamp(34px, 4vw, 64px);
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, var(--lrp-honey), var(--lrp-berry));
  border-radius: 0;
}

.wellness-feature__detail-group {
  position: relative;
  padding: 3px 0 3px clamp(18px, 1.7vw, 26px);
  background: transparent;
  border: 0;
  border-left: 3px solid #e7b657;
  border-radius: 0;
}

.wellness-feature__detail-group + .wellness-feature__detail-group {
  margin-top: clamp(28px, 2.5vw, 38px);
}

.wellness-feature .wellness-feature__detail-group h3 {
  margin: 0;
  padding-right: 0;
  color: #173f34;
  font-size: clamp(1.4rem, 1.45vw, 1.8rem);
  line-height: 1.16;
  letter-spacing: -.03em;
}

.wellness-feature__detail-group h3::after {
  content: none;
}

.wellness-feature .wellness-feature__detail-group .apartment-list {
  margin-top: 18px;
  margin-bottom: 0;
}

.wellness-feature .wellness-feature__detail-group li {
  color: #39584f;
  font-size: clamp(.94rem, .2vw + .9rem, 1.02rem);
  line-height: 1.56;
}

.wellness-feature .wellness-feature__detail-group .list-marked li::before,
.wellness-feature .wellness-feature__detail-group .apartment-list li::before {
  top: .15em;
  display: block;
  width: auto;
  height: auto;
  content: "✓";
  background: transparent;
  border-radius: 0;
  color: #9b3f55;
  font-size: 16px;
  font-weight: 900;
}

.wellness-feature .wellness-feature__note {
  margin: clamp(28px, 2.5vw, 38px) 0 0;
  padding: clamp(20px, 2vw, 28px);
  background: #173f34;
  border: 0;
  border-radius: 14px;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(.92rem, .18vw + .88rem, 1rem);
  line-height: 1.58;
  box-shadow: 0 14px 30px rgba(13, 41, 34, .14);
}

@media (hover: hover) and (pointer: fine) {
  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro:hover,
  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details:hover {
    transform: none;
  }

  .wellness-feature .wellness-feature__intro .button.button-primary:hover {
    background: #fff;
    border-color: #fff;
    color: #0d2922 !important;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .24);
    transform: translateY(-3px);
  }

  .wellness-feature__detail-group {
    transition: border-color .25s ease;
  }

  .wellness-feature__detail-group:hover {
    border-left-color: var(--lrp-berry);
  }
}

@media (max-width: 991.98px) {
  .wellness-feature .wellness-feature__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 860px;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro {
    min-height: 0;
  }
}

@media (max-width: 767.98px) {
  .wellness-feature {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .wellness-feature .wellness-feature__grid {
    gap: 16px;
  }

  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro,
  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details {
    padding: 30px 22px !important;
    border-radius: 20px;
  }

  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro {
    background:
      linear-gradient(100deg, rgba(8, 35, 29, .995) 0%, rgba(12, 48, 39, .96) 72%, rgba(15, 53, 43, .78) 100%),
      url("../images/portfolio/centro-benessere9.jpg") 72% center / cover no-repeat !important;
  }

  .wellness-feature__intro h6 {
    margin-bottom: 22px;
    padding: 0 0 8px;
    font-size: 11px;
    letter-spacing: .1em;
  }

  .wellness-feature .wellness-feature__intro h2 {
    font-size: clamp(2rem, 8.6vw, 2.65rem);
    line-height: 1.07;
    letter-spacing: -.045em;
    text-wrap: wrap;
  }

  .wellness-feature .wellness-feature__intro p,
  .wellness-feature .wellness-feature__intro .text-width-2 {
    font-size: 1rem;
    line-height: 1.65;
  }

  .wellness-feature .wellness-feature__intro h2 + p {
    margin-top: 26px;
  }

  .wellness-feature .wellness-feature__intro .button.button-primary {
    width: 100%;
    min-height: 54px;
    justify-content: center;
    margin-top: 28px;
    padding: 15px 18px;
    border-radius: 10px;
    font-size: 12px;
    white-space: normal;
  }

  .wellness-feature__detail-group {
    padding: 2px 0 2px 16px;
    border-radius: 0;
  }

  .wellness-feature .wellness-feature__note {
    padding: 20px 18px;
    border-radius: 10px;
  }

  .wellness-feature .wellness-feature__detail-group h3 {
    padding-right: 0;
    font-size: clamp(1.38rem, 6.2vw, 1.7rem);
  }

  .wellness-feature .wellness-feature__detail-group li,
  .wellness-feature .wellness-feature__note {
    font-size: .96rem;
  }
}

@media (max-width: 359.98px) {
  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro,
  .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .wellness-feature .wellness-feature__intro h2 {
    font-size: 1.95rem;
  }

  .wellness-feature .wellness-feature__intro .button.button-primary {
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wellness-feature__detail-group,
  .wellness-feature .wellness-feature__intro .button.button-primary {
    transition: none;
  }
}

/* Home Summer Camp: a cheerful event card inspired by the official flyer. */
.summer-camp-feature {
  overflow: hidden;
  padding-top: clamp(82px, 8vw, 132px);
  padding-bottom: clamp(82px, 8vw, 132px);
  background:
    radial-gradient(circle at 8% 18%, rgba(239, 196, 77, .2), transparent 24rem),
    radial-gradient(circle at 94% 78%, rgba(98, 151, 82, .17), transparent 28rem),
    linear-gradient(145deg, #fffaf0 0%, #f7f3e8 48%, #edf5e7 100%) !important;
  text-align: left;
}

.summer-camp-feature > .container {
  position: relative;
  z-index: 1;
}

.summer-camp-feature__shell {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, .72fr);
  gap: clamp(34px, 4.5vw, 78px);
  align-items: center;
  padding: clamp(38px, 5vw, 82px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(250, 248, 238, .9));
  border: 1px solid rgba(23, 63, 52, .12);
  border-radius: clamp(32px, 3.4vw, 54px);
  box-shadow: 0 36px 100px rgba(52, 70, 47, .14);
  isolation: isolate;
}

.summer-camp-feature__shell::before {
  position: absolute;
  z-index: -1;
  top: -180px;
  left: -150px;
  width: 430px;
  height: 430px;
  content: "";
  background:
    radial-gradient(circle, rgba(23, 63, 52, .16) 0 2px, transparent 2.5px) 0 0 / 21px 21px,
    radial-gradient(circle, rgba(239, 196, 77, .2), transparent 66%);
  border-radius: 50%;
  opacity: .6;
  pointer-events: none;
}

.summer-camp-feature__shell::after {
  position: absolute;
  z-index: 0;
  right: clamp(28px, 3vw, 54px);
  bottom: clamp(28px, 3vw, 54px);
  width: 38px;
  height: 38px;
  content: "";
  background:
    radial-gradient(circle at 31% 31%, #102e27 0 3px, transparent 3.5px),
    radial-gradient(circle at 69% 31%, #102e27 0 3px, transparent 3.5px),
    radial-gradient(circle at 31% 69%, #102e27 0 3px, transparent 3.5px),
    radial-gradient(circle at 69% 69%, #102e27 0 3px, transparent 3.5px),
    #c82f35;
  border: 3px solid #102e27;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(94, 31, 31, .2);
  transform: rotate(12deg);
  pointer-events: none;
}

.summer-camp-feature__content,
.summer-camp-feature__poster {
  position: relative;
  z-index: 1;
}

.summer-camp-feature__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(22px, 2.6vw, 34px);
  padding: 8px 16px;
  background: #f7edc5;
  border: 1px solid rgba(186, 128, 40, .24);
  border-radius: 999px;
  color: #7b4814;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.summer-camp-feature__eyebrow::before {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  content: "";
  background: #c82f35;
  border: 2px solid #173f34;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(200, 47, 53, .08);
}

.summer-camp-feature .summer-camp-feature__content h2 {
  max-width: 920px;
  margin: 0;
  color: #10362d !important;
  font-size: clamp(3.15rem, 4.25vw, 5.15rem);
  font-weight: 690;
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.summer-camp-feature__title-year {
  display: block;
  margin-top: .08em;
  color: #95101a;
}

.summer-camp-feature__copy {
  max-width: 850px;
  margin-top: clamp(30px, 3.2vw, 46px);
}

.summer-camp-feature .summer-camp-feature__copy p {
  margin: 0;
  color: #466159;
  font-size: clamp(1.01rem, 1.08vw, 1.16rem);
  line-height: 1.72;
}

.summer-camp-feature .summer-camp-feature__copy p:first-child {
  padding-left: 22px;
  border-left: 4px solid #e4ac43;
  color: #244a40;
  font-size: clamp(1.08rem, 1.22vw, 1.28rem);
  font-weight: 560;
  line-height: 1.62;
}

.summer-camp-feature .summer-camp-feature__copy p + p {
  margin-top: 20px;
}

.summer-camp-feature .summer-camp-feature__copy p:last-child {
  color: #173f34;
  font-weight: 680;
}

.summer-camp-feature__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.summer-camp-feature__tags span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 8px 14px;
  background: #e8f1de;
  border: 1px solid rgba(57, 101, 55, .18);
  border-radius: 999px;
  color: #28543d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.summer-camp-feature__tags span:nth-child(2) {
  background: #f7edc5;
  border-color: rgba(186, 128, 40, .2);
  color: #7b4814;
}

.summer-camp-feature__tags span:nth-child(3) {
  background: #f8e4de;
  border-color: rgba(145, 16, 25, .16);
  color: #77141b;
}

.summer-camp-feature .summer-camp-feature__content .button.button-primary {
  width: fit-content;
  min-height: 60px;
  margin-top: clamp(30px, 3vw, 42px);
  padding: 17px 30px;
  background: #95101a;
  border-color: #95101a;
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(117, 18, 25, .2);
}

.summer-camp-feature__poster {
  width: 100%;
  max-width: 580px;
  justify-self: center;
  padding: clamp(20px, 2.4vw, 34px);
  background:
    radial-gradient(circle at 85% 12%, rgba(255, 255, 255, .75), transparent 10rem),
    linear-gradient(145deg, #f7e99b, #dcecb1 52%, #c7e1ca);
  border: 1px solid rgba(42, 91, 57, .18);
  border-radius: clamp(28px, 3vw, 42px);
  box-shadow: 0 28px 70px rgba(66, 92, 58, .2);
  transform: rotate(1.15deg);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s ease;
}

.summer-camp-feature .summer-camp-feature__poster .img-thumbnail-variant-1 {
  position: relative;
  display: block;
  overflow: hidden;
  width: min(100%, 520px);
  margin: 0 auto;
  background: #fff;
  border: 8px solid rgba(255, 255, 255, .92);
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(49, 72, 43, .22);
}

.summer-camp-feature .summer-camp-feature__poster figure {
  margin: 0;
}

.summer-camp-feature .summer-camp-feature__poster img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 565 / 800;
  object-fit: contain;
}

.summer-camp-feature .summer-camp-feature__poster .img-thumbnail-variant-1::after {
  inset: 9px;
  border-color: rgba(255, 255, 255, .62);
  border-radius: 18px;
}

.summer-camp-feature .summer-camp-feature__poster .caption {
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
  display: inline-flex;
  width: auto;
  height: auto;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  background: rgba(13, 41, 34, .92);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  color: #fff;
  opacity: 1;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transform: none;
}

.summer-camp-feature .summer-camp-feature__poster .caption .icon {
  color: #f1cf8b;
  font-size: 20px;
}

.summer-camp-feature__zoom-label {
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.summer-camp-feature .summer-camp-feature__poster .img-thumbnail-variant-1:focus-visible {
  outline: 4px solid #95101a;
  outline-offset: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .summer-camp-feature__poster:hover {
    box-shadow: 0 34px 82px rgba(66, 92, 58, .26);
    transform: rotate(0) translateY(-6px);
  }

  .summer-camp-feature .summer-camp-feature__content .button.button-primary:hover {
    background: #173f34;
    border-color: #173f34;
    color: #fff !important;
    box-shadow: 0 22px 46px rgba(23, 63, 52, .22);
    transform: translateY(-3px);
  }

  .summer-camp-feature .summer-camp-feature__poster .img-thumbnail-variant-1:hover img {
    filter: saturate(1.06) contrast(1.02);
    transform: scale(1.018);
  }
}

@media (max-width: 1199.98px) {
  .summer-camp-feature__shell {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .68fr);
    gap: 34px;
    padding: 42px;
  }

  .summer-camp-feature .summer-camp-feature__content h2 {
    font-size: clamp(2.75rem, 5.4vw, 4.2rem);
  }
}

@media (max-width: 991.98px) {
  .summer-camp-feature__shell {
    grid-template-columns: minmax(0, 1fr);
    max-width: 900px;
    margin: 0 auto;
  }

  .summer-camp-feature__poster {
    max-width: 620px;
  }
}

@media (max-width: 767.98px) {
  .summer-camp-feature {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .summer-camp-feature__shell {
    gap: 32px;
    padding: 29px 22px;
    border-radius: 27px;
  }

  .summer-camp-feature__shell::before {
    top: -180px;
    left: -190px;
    opacity: .42;
  }

  .summer-camp-feature__shell::after {
    right: 18px;
    bottom: 18px;
    width: 30px;
    height: 30px;
    border-width: 2px;
  }

  .summer-camp-feature__eyebrow {
    min-height: 34px;
    margin-bottom: 22px;
    padding: 7px 12px;
    font-size: 9.5px;
    letter-spacing: .09em;
  }

  .summer-camp-feature .summer-camp-feature__content h2 {
    font-size: clamp(2.05rem, 10.4vw, 3rem);
    line-height: 1.02;
    letter-spacing: -.045em;
    text-wrap: wrap;
  }

  .summer-camp-feature__copy {
    margin-top: 28px;
  }

  .summer-camp-feature .summer-camp-feature__copy p,
  .summer-camp-feature .summer-camp-feature__copy p:first-child {
    font-size: 1rem;
    line-height: 1.66;
  }

  .summer-camp-feature .summer-camp-feature__copy p:first-child {
    padding-left: 16px;
    border-left-width: 3px;
  }

  .summer-camp-feature__tags {
    gap: 7px;
    margin-top: 24px;
  }

  .summer-camp-feature__tags span {
    min-height: 33px;
    padding: 7px 10px;
    font-size: 9px;
  }

  .summer-camp-feature .summer-camp-feature__content .button.button-primary {
    width: 100%;
    min-height: 56px;
    justify-content: center;
    margin-top: 28px;
    padding: 15px 17px;
    font-size: 12px;
    white-space: normal;
  }

  .summer-camp-feature__poster {
    padding: 14px;
    border-radius: 22px;
    transform: none;
  }

  .summer-camp-feature .summer-camp-feature__poster .img-thumbnail-variant-1 {
    border-width: 5px;
    border-radius: 19px;
  }

  .summer-camp-feature .summer-camp-feature__poster .caption {
    top: 10px;
    right: 10px;
    min-height: 38px;
    gap: 6px;
    padding: 8px 10px;
  }

  .summer-camp-feature .summer-camp-feature__poster .caption .icon {
    font-size: 17px;
  }

  .summer-camp-feature__zoom-label {
    font-size: 8.5px;
  }
}

@media (max-width: 359.98px) {
  .summer-camp-feature__shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  .summer-camp-feature .summer-camp-feature__content h2 {
    font-size: 1.92rem;
  }

  .summer-camp-feature__tags span {
    font-size: 8.5px;
  }

  .summer-camp-feature__zoom-label {
    display: none;
  }
}

@media (max-width: 575.98px) {
  html[lang="de"] .summer-camp-feature .summer-camp-feature__content h2 {
    font-size: clamp(1.72rem, 7.2vw, 2.05rem);
  }
}

@media (max-width: 359.98px) {
  html[lang="de"] .summer-camp-feature .summer-camp-feature__content h2 {
    font-size: 1.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .summer-camp-feature__poster,
  .summer-camp-feature .summer-camp-feature__poster img,
  .summer-camp-feature .summer-camp-feature__content .button.button-primary {
    transition: none;
  }
}

/* Home Agriasilo: a calm, nature-led companion to the Summer Camp feature. */
.agriasilo-feature {
  overflow: hidden;
  padding-top: clamp(82px, 8vw, 132px);
  padding-bottom: clamp(82px, 8vw, 132px);
  background:
    radial-gradient(circle at 8% 82%, rgba(68, 148, 122, .16), transparent 28rem),
    radial-gradient(circle at 92% 16%, rgba(97, 193, 199, .2), transparent 26rem),
    linear-gradient(145deg, #f1f9f5 0%, #fffdf7 48%, #edf8f7 100%) !important;
  text-align: left;
}

.agriasilo-feature > .container {
  position: relative;
  z-index: 1;
}

.agriasilo-feature__shell {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(390px, .72fr) minmax(0, 1.06fr);
  gap: clamp(34px, 4.5vw, 78px);
  align-items: center;
  padding: clamp(38px, 5vw, 82px);
  background: linear-gradient(135deg, rgba(250, 255, 253, .97), rgba(255, 252, 242, .92));
  border: 1px solid rgba(29, 101, 82, .14);
  border-radius: clamp(32px, 3.4vw, 54px);
  box-shadow: 0 36px 100px rgba(32, 83, 70, .14);
  isolation: isolate;
}

.agriasilo-feature__shell::before {
  position: absolute;
  z-index: -1;
  top: -170px;
  right: -135px;
  width: 430px;
  height: 430px;
  content: "";
  background:
    radial-gradient(circle, rgba(32, 111, 92, .17) 0 2px, transparent 2.5px) 0 0 / 22px 22px,
    radial-gradient(circle, rgba(123, 208, 210, .24), transparent 66%);
  border-radius: 50%;
  opacity: .58;
  pointer-events: none;
}

.agriasilo-feature__shell::after {
  position: absolute;
  z-index: 0;
  bottom: clamp(30px, 3vw, 54px);
  left: clamp(28px, 3vw, 54px);
  width: 46px;
  height: 28px;
  content: "";
  background: repeating-linear-gradient(90deg, #f0b33d 0 9px, #173f34 9px 14px);
  border: 3px solid #173f34;
  border-radius: 55% 48% 48% 55%;
  box-shadow: 0 10px 24px rgba(31, 79, 66, .19);
  transform: rotate(-11deg);
  pointer-events: none;
}

.agriasilo-feature__content,
.agriasilo-feature__poster {
  position: relative;
  z-index: 1;
}

.agriasilo-feature__content {
  grid-column: 2;
  grid-row: 1;
}

.agriasilo-feature__poster {
  grid-column: 1;
  grid-row: 1;
}

.agriasilo-feature__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(22px, 2.6vw, 34px);
  padding: 8px 16px;
  background: #e2f4f2;
  border: 1px solid rgba(38, 130, 113, .2);
  border-radius: 999px;
  color: #205f50;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.agriasilo-feature__eyebrow::before {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  content: "";
  background: #ed9c36;
  border: 2px solid #245d50;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(237, 156, 54, .1);
}

.agriasilo-feature .agriasilo-feature__content h2 {
  max-width: 900px;
  margin: 0;
  line-height: 1;
  text-wrap: balance;
}

.agriasilo-feature__title-kicker {
  display: block;
  margin-bottom: .22em;
  color: #bd6824;
  font-size: clamp(1.95rem, 2.45vw, 2.85rem);
  font-weight: 760;
  line-height: 1;
  letter-spacing: -.035em;
}

.agriasilo-feature__title-main {
  display: block;
  color: #103d33;
  font-size: clamp(3.15rem, 4.1vw, 5rem);
  font-weight: 690;
  line-height: .98;
  letter-spacing: -.052em;
}

.agriasilo-feature__copy {
  max-width: 850px;
  margin-top: clamp(30px, 3.2vw, 46px);
}

.agriasilo-feature .agriasilo-feature__copy p {
  margin: 0;
  color: #466159;
  font-size: clamp(1.01rem, 1.08vw, 1.16rem);
  line-height: 1.72;
}

.agriasilo-feature .agriasilo-feature__copy p:first-child {
  padding-left: 22px;
  border-left: 4px solid #64bfbe;
  color: #244a40;
  font-size: clamp(1.08rem, 1.2vw, 1.26rem);
  font-weight: 560;
  line-height: 1.62;
}

.agriasilo-feature .agriasilo-feature__copy p + p {
  margin-top: 20px;
}

.agriasilo-feature .agriasilo-feature__copy p:last-child {
  color: #173f34;
  font-weight: 680;
}

.agriasilo-feature__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.agriasilo-feature__tags span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 8px 14px;
  background: #dcf1ef;
  border: 1px solid rgba(38, 130, 113, .17);
  border-radius: 999px;
  color: #205f50;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.agriasilo-feature__tags span:nth-child(2) {
  background: #e8f3d9;
  border-color: rgba(75, 120, 47, .17);
  color: #3d692c;
}

.agriasilo-feature__tags span:nth-child(3) {
  background: #f9ead6;
  border-color: rgba(189, 104, 36, .17);
  color: #8a4a1c;
}

.agriasilo-feature .agriasilo-feature__content .button.button-primary {
  width: fit-content;
  min-height: 60px;
  margin-top: clamp(30px, 3vw, 42px);
  padding: 17px 30px;
  background: #173f34;
  border-color: #173f34;
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(23, 63, 52, .2);
}

.agriasilo-feature__poster {
  width: 100%;
  max-width: 580px;
  justify-self: center;
  padding: clamp(20px, 2.4vw, 34px);
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 255, 255, .72), transparent 10rem),
    linear-gradient(145deg, #bfe9ea, #d8f1e7 54%, #f6d8ae);
  border: 1px solid rgba(31, 112, 100, .18);
  border-radius: clamp(28px, 3vw, 42px);
  box-shadow: 0 28px 70px rgba(40, 101, 85, .2);
  transform: rotate(-1.15deg);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s ease;
}

.agriasilo-feature .agriasilo-feature__poster .img-thumbnail-variant-1 {
  position: relative;
  display: block;
  overflow: hidden;
  width: min(100%, 520px);
  margin: 0 auto;
  background: #fff;
  border: 8px solid rgba(255, 255, 255, .94);
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(36, 88, 75, .22);
}

.agriasilo-feature .agriasilo-feature__poster figure {
  margin: 0;
}

.agriasilo-feature .agriasilo-feature__poster img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 565 / 800;
  object-fit: contain;
}

.agriasilo-feature .agriasilo-feature__poster .img-thumbnail-variant-1::after {
  inset: 9px;
  border-color: rgba(255, 255, 255, .64);
  border-radius: 18px;
}

.agriasilo-feature .agriasilo-feature__poster .caption {
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
  display: inline-flex;
  width: auto;
  height: auto;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  background: rgba(13, 65, 55, .93);
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 999px;
  color: #fff;
  opacity: 1;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transform: none;
}

.agriasilo-feature .agriasilo-feature__poster .caption .icon {
  color: #f4c06a;
  font-size: 20px;
}

.agriasilo-feature__zoom-label {
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.agriasilo-feature .agriasilo-feature__poster .img-thumbnail-variant-1:focus-visible {
  outline: 4px solid #bd6824;
  outline-offset: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .agriasilo-feature__poster:hover {
    box-shadow: 0 34px 82px rgba(40, 101, 85, .26);
    transform: rotate(0) translateY(-6px);
  }

  .agriasilo-feature .agriasilo-feature__content .button.button-primary:hover {
    background: #bd6824;
    border-color: #bd6824;
    color: #fff !important;
    box-shadow: 0 22px 46px rgba(189, 104, 36, .22);
    transform: translateY(-3px);
  }

  .agriasilo-feature .agriasilo-feature__poster .img-thumbnail-variant-1:hover img {
    filter: saturate(1.06) contrast(1.02);
    transform: scale(1.018);
  }
}

@media (max-width: 1199.98px) {
  .agriasilo-feature__shell {
    grid-template-columns: minmax(320px, .68fr) minmax(0, 1fr);
    gap: 34px;
    padding: 42px;
  }

  .agriasilo-feature__title-kicker {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
  }

  .agriasilo-feature__title-main {
    font-size: clamp(2.7rem, 5vw, 4.1rem);
  }
}

@media (max-width: 991.98px) {
  .agriasilo-feature__shell {
    grid-template-columns: minmax(0, 1fr);
    max-width: 900px;
    margin: 0 auto;
  }

  .agriasilo-feature__content {
    grid-column: 1;
    grid-row: 1;
  }

  .agriasilo-feature__poster {
    max-width: 620px;
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 767.98px) {
  .agriasilo-feature {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .agriasilo-feature__shell {
    gap: 32px;
    padding: 29px 22px;
    border-radius: 27px;
  }

  .agriasilo-feature__shell::before {
    top: -180px;
    right: -190px;
    opacity: .42;
  }

  .agriasilo-feature__shell::after {
    bottom: 18px;
    left: 18px;
    width: 37px;
    height: 23px;
    border-width: 2px;
  }

  .agriasilo-feature__eyebrow {
    min-height: 34px;
    margin-bottom: 22px;
    padding: 7px 12px;
    font-size: 9.5px;
    letter-spacing: .085em;
  }

  .agriasilo-feature__title-kicker {
    font-size: clamp(1.52rem, 7vw, 1.9rem);
  }

  .agriasilo-feature__title-main {
    font-size: clamp(2.02rem, 10.2vw, 2.95rem);
    line-height: 1.02;
    letter-spacing: -.045em;
  }

  .agriasilo-feature__copy {
    margin-top: 28px;
  }

  .agriasilo-feature .agriasilo-feature__copy p,
  .agriasilo-feature .agriasilo-feature__copy p:first-child {
    font-size: 1rem;
    line-height: 1.66;
  }

  .agriasilo-feature .agriasilo-feature__copy p:first-child {
    padding-left: 16px;
    border-left-width: 3px;
  }

  .agriasilo-feature__tags {
    gap: 7px;
    margin-top: 24px;
  }

  .agriasilo-feature__tags span {
    min-height: 33px;
    padding: 7px 10px;
    font-size: 9px;
  }

  .agriasilo-feature .agriasilo-feature__content .button.button-primary {
    width: 100%;
    min-height: 56px;
    justify-content: center;
    margin-top: 28px;
    padding: 15px 17px;
    font-size: 12px;
    white-space: normal;
  }

  .agriasilo-feature__poster {
    padding: 14px;
    border-radius: 22px;
    transform: none;
  }

  .agriasilo-feature .agriasilo-feature__poster .img-thumbnail-variant-1 {
    border-width: 5px;
    border-radius: 19px;
  }

  .agriasilo-feature .agriasilo-feature__poster .caption {
    top: 10px;
    right: 10px;
    min-height: 38px;
    gap: 6px;
    padding: 8px 10px;
  }

  .agriasilo-feature .agriasilo-feature__poster .caption .icon {
    font-size: 17px;
  }

  .agriasilo-feature__zoom-label {
    font-size: 8.5px;
  }
}

@media (max-width: 359.98px) {
  .agriasilo-feature__shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  .agriasilo-feature__title-kicker {
    font-size: 1.42rem;
  }

  .agriasilo-feature__title-main {
    font-size: 1.9rem;
  }

  .agriasilo-feature__tags span {
    font-size: 8.5px;
  }

  .agriasilo-feature__zoom-label {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .agriasilo-feature__poster,
  .agriasilo-feature .agriasilo-feature__poster img,
  .agriasilo-feature .agriasilo-feature__content .button.button-primary {
    transition: none;
  }
}

/* Home babysitting service: compact, reassuring and highly legible. */
.babysitting-feature {
  overflow: hidden;
  padding-top: clamp(72px, 7vw, 112px);
  padding-bottom: clamp(72px, 7vw, 112px);
  background:
    radial-gradient(circle at 8% 10%, rgba(215, 156, 61, .14), transparent 22rem),
    radial-gradient(circle at 94% 88%, rgba(83, 167, 145, .15), transparent 26rem),
    linear-gradient(140deg, #f8f1e6 0%, #f7f8f1 48%, #edf5f1 100%) !important;
  text-align: left;
}

.babysitting-feature__shell {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr);
  gap: clamp(38px, 5vw, 84px);
  align-items: center;
  min-height: 440px;
  padding: clamp(42px, 5.2vw, 82px);
  background:
    radial-gradient(circle at 8% 18%, rgba(100, 191, 190, .18), transparent 22rem),
    radial-gradient(circle at 92% 84%, rgba(241, 207, 139, .11), transparent 26rem),
    linear-gradient(135deg, #0a2b24 0%, #123e33 58%, #1b5143 100%);
  border: 1px solid rgba(241, 207, 139, .18);
  border-radius: clamp(30px, 3.2vw, 50px);
  box-shadow: 0 34px 90px rgba(13, 41, 34, .24);
  isolation: isolate;
}

.babysitting-feature__shell::before {
  position: absolute;
  z-index: -1;
  top: -190px;
  right: -130px;
  width: 480px;
  height: 480px;
  content: "";
  background: radial-gradient(circle, transparent 0 38%, rgba(241, 207, 139, .08) 38.4% 38.8%, transparent 39.2% 55%, rgba(241, 207, 139, .07) 55.4% 55.8%, transparent 56.2% 72%, rgba(241, 207, 139, .06) 72.4% 72.8%, transparent 73.2%);
  border: 1px solid rgba(241, 207, 139, .06);
  border-radius: 50%;
  pointer-events: none;
}

.babysitting-feature__shell::after {
  position: absolute;
  top: 0;
  right: clamp(42px, 5vw, 82px);
  left: clamp(42px, 5vw, 82px);
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #65c2bd, #f1cf8b 56%, #c96d52);
  border-radius: 0 0 999px 999px;
  pointer-events: none;
}

.babysitting-feature__watermark {
  position: absolute;
  z-index: 0;
  top: 22px;
  right: 0;
  width: 220px;
  aspect-ratio: 1983 / 793;
  background: url("../images/logo-watermark.png") center / contain no-repeat;
  filter: saturate(.8);
  opacity: .11;
  pointer-events: none;
}

.babysitting-feature__visual,
.babysitting-feature__content {
  position: relative;
  z-index: 1;
}

.babysitting-feature__visual {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
}

.babysitting-feature__symbol {
  display: block;
  width: clamp(154px, 12vw, 210px);
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 20px 32px rgba(0, 0, 0, .18));
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

.babysitting-feature__symbol circle {
  fill: rgba(226, 244, 242, .12);
  stroke: rgba(226, 244, 242, .34);
  stroke-width: 2;
}

.babysitting-feature__heart {
  fill: #f1cf8b;
  stroke: rgba(255, 255, 255, .5);
  stroke-width: 2;
}

.babysitting-feature__spark {
  fill: #e98568;
}

.babysitting-feature__availability {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(241, 207, 139, .3);
  border-radius: 999px;
  color: #f5dba6;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.babysitting-feature__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 36px;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(20px, 2.3vw, 30px);
  padding: 8px 14px;
  background: rgba(100, 191, 190, .13);
  border: 1px solid rgba(100, 191, 190, .26);
  border-radius: 999px;
  color: #aee1dc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.babysitting-feature__eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  background: #f1cf8b;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(241, 207, 139, .08);
}

.babysitting-feature .babysitting-feature__content h2 {
  max-width: 1040px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.95rem, 4vw, 4.75rem);
  font-weight: 690;
  line-height: .99;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.babysitting-feature .babysitting-feature__content p:not(.babysitting-feature__eyebrow) {
  max-width: 1050px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(1.02rem, 1.12vw, 1.18rem);
  line-height: 1.7;
}

.babysitting-feature .babysitting-feature__content .babysitting-feature__lead {
  margin-top: clamp(28px, 3vw, 42px);
  padding-left: 22px;
  border-left: 4px solid #65c2bd;
  color: #f5dca9;
  font-size: clamp(1.08rem, 1.22vw, 1.3rem);
  font-weight: 620;
  line-height: 1.58;
}

@media (hover: hover) and (pointer: fine) {
  .babysitting-feature__shell:hover .babysitting-feature__symbol {
    transform: translateY(-5px) scale(1.025);
  }
}

@media (max-width: 1199.98px) {
  .babysitting-feature__shell {
    grid-template-columns: minmax(190px, .32fr) minmax(0, 1fr);
    gap: 38px;
    min-height: 390px;
    padding: 46px 42px;
  }

  .babysitting-feature .babysitting-feature__content h2 {
    font-size: clamp(2.75rem, 5.4vw, 4.2rem);
  }

  .babysitting-feature__watermark {
    top: 23px;
    right: 5px;
    width: 210px;
  }
}

@media (max-width: 767.98px) {
  .babysitting-feature {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .babysitting-feature__shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    min-height: 0;
    padding: 34px 22px;
    border-radius: 26px;
  }

  .babysitting-feature__shell::after {
    right: 22px;
    left: 22px;
  }

  .babysitting-feature__watermark {
    top: 24px;
    right: 5px;
    width: 210px;
    opacity: .1;
  }

  .babysitting-feature__visual {
    align-items: center;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
  }

  .babysitting-feature__symbol {
    width: 94px;
    flex: 0 0 94px;
  }

  .babysitting-feature__availability {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 9px;
    letter-spacing: .06em;
  }

  .babysitting-feature__eyebrow {
    min-height: 34px;
    margin-bottom: 20px;
    padding: 7px 12px;
    font-size: 10px;
    letter-spacing: .06em;
    white-space: normal;
  }

  .babysitting-feature .babysitting-feature__content h2 {
    font-size: clamp(2.05rem, 10.3vw, 3rem);
    line-height: 1.03;
    letter-spacing: -.045em;
    text-wrap: wrap;
  }

  .babysitting-feature .babysitting-feature__content p:not(.babysitting-feature__eyebrow),
  .babysitting-feature .babysitting-feature__content .babysitting-feature__lead {
    font-size: 1rem;
    line-height: 1.66;
  }

  .babysitting-feature .babysitting-feature__content .babysitting-feature__lead {
    margin-top: 26px;
    padding-left: 16px;
    border-left-width: 3px;
  }
}

@media (max-width: 359.98px) {
  .babysitting-feature__shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  .babysitting-feature__visual {
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
  }

  .babysitting-feature__symbol {
    width: 82px;
    flex-basis: 82px;
  }

  .babysitting-feature__watermark {
    top: 28px;
    right: 15px;
    width: 190px;
  }

  .babysitting-feature .babysitting-feature__content h2 {
    font-size: 1.9rem;
  }
}

@media (max-width: 575.98px) {
  html[lang="de"] .babysitting-feature .babysitting-feature__content h2 {
    font-size: clamp(1.72rem, 7.2vw, 2.05rem);
  }
}

@media (max-width: 359.98px) {
  html[lang="de"] .babysitting-feature .babysitting-feature__content h2 {
    font-size: 1.48rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .babysitting-feature__symbol {
    transition: none;
  }
}

/* Home introduction: an editorial story with clear facts and immersive imagery. */
.home-story {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7vw, 126px) 0;
  background:
    radial-gradient(circle at 8% 12%, rgba(226, 165, 62, 0.16), transparent 28%),
    radial-gradient(circle at 94% 84%, rgba(42, 96, 72, 0.13), transparent 30%),
    #f4f0e7;
}

.home-story::before,
.home-story::after {
  display: none;
  content: none;
}

.home-story::before {
  top: -220px;
  left: -190px;
  width: 520px;
  height: 520px;
  box-shadow: 0 0 0 42px rgba(27, 78, 61, 0.025), 0 0 0 86px rgba(27, 78, 61, 0.018);
}

.home-story::after {
  right: -120px;
  bottom: -190px;
  width: 410px;
  height: 410px;
  box-shadow: 0 0 0 38px rgba(148, 15, 27, 0.025);
}

.home-story > .container {
  position: relative;
  z-index: 1;
  width: min(100%, 1680px);
  max-width: 1680px;
  padding-right: clamp(18px, 3vw, 52px);
  padding-left: clamp(18px, 3vw, 52px);
}

.home-story__shell {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 5vw, 82px);
  border: 1px solid rgba(25, 68, 54, 0.11);
  border-radius: clamp(32px, 4vw, 58px);
  background: rgba(255, 253, 248, 0.94);
  box-shadow: 0 32px 90px rgba(24, 57, 46, 0.12);
}

.home-story__shell::before {
  position: absolute;
  top: 0;
  right: 8%;
  left: 8%;
  height: 5px;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(90deg, #e3a53a 0 33%, #8e111d 33% 66%, #285f49 66%);
  content: "";
}

.home-story__header {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.72fr);
  gap: clamp(42px, 6vw, 100px);
  align-items: end;
  padding-bottom: clamp(42px, 5vw, 76px);
  border-bottom: 1px solid rgba(25, 68, 54, 0.13);
}

.home-story__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  max-width: 100%;
  margin: 0 0 24px;
  padding: 10px 17px;
  border: 1px solid rgba(182, 121, 30, 0.24);
  border-radius: 999px;
  color: #8a5515;
  background: #fbf3e3;
  font-size: clamp(0.73rem, 0.85vw, 0.9rem);
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.35;
  text-transform: uppercase;
}

.home-story__eyebrow::before {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #dfa33c;
  box-shadow: 0 0 0 5px rgba(223, 163, 60, 0.14);
  content: "";
}

.home-story .home-story__heading h2 {
  max-width: 940px;
  margin: 0;
  color: #103f32;
  font-size: clamp(3.55rem, 5.6vw, 6.15rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 0.96;
  text-wrap: balance;
}

.home-story__welcome > p {
  margin: 0;
  color: #355c4f;
  font-size: clamp(1.12rem, 1.35vw, 1.42rem);
  line-height: 1.66;
}

.home-story__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: clamp(26px, 3vw, 40px);
}

.home-story__facts > div {
  min-width: 0;
  padding: 17px 12px 15px;
  border: 1px solid rgba(25, 68, 54, 0.1);
  border-radius: 18px;
  background: #f2f7f3;
  text-align: center;
}

.home-story__facts strong,
.home-story__facts span {
  display: block;
}

.home-story__facts strong {
  color: #8e111d;
  font-size: clamp(1.1rem, 1.45vw, 1.55rem);
  font-weight: 850;
  line-height: 1.05;
  white-space: nowrap;
}

.home-story__facts span {
  margin-top: 7px;
  color: #49675d;
  font-size: clamp(0.61rem, 0.75vw, 0.76rem);
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.home-story__body {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
  gap: clamp(36px, 4vw, 68px);
  align-items: stretch;
  margin-top: clamp(46px, 5vw, 78px);
}

.home-story__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.home-story__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-content: start;
  min-width: 0;
  padding: clamp(25px, 2.2vw, 34px);
  border: 1px solid rgba(25, 68, 54, 0.1);
  border-radius: 28px;
  background: linear-gradient(145deg, #f8f5ed, #f0f4ef);
  box-shadow: 0 12px 34px rgba(25, 68, 54, 0.07);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.home-story__card:nth-child(2),
.home-story__card:nth-child(3) {
  background: linear-gradient(145deg, #f8f1e5, #f7f5ef);
}

.home-story__number {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  min-height: 38px;
  padding: 9px 15px 9px 34px;
  border: 1px solid rgba(255, 250, 240, 0.2);
  border-radius: 999px;
  color: #fffaf0;
  background: linear-gradient(135deg, #8e111d, #a61623);
  font-size: clamp(0.68rem, 0.68vw, 0.76rem);
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 1.25;
  overflow-wrap: break-word;
  box-shadow: 0 8px 18px rgba(142, 17, 29, 0.18);
}

.home-story__number::before {
  content: "";
  position: absolute;
  left: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f0c565;
  box-shadow: 0 0 0 4px rgba(240, 197, 101, 0.16);
}

.home-story .home-story__card h3 {
  margin: 2px 0 15px;
  color: #123f33;
  font-size: clamp(1.4rem, 1.7vw, 1.8rem);
  font-weight: 760;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.home-story .home-story__card p {
  margin: 0;
  color: #49655c;
  font-size: clamp(0.98rem, 1.02vw, 1.08rem);
  line-height: 1.72;
}

.home-story__gallery {
  position: relative;
  min-width: 0;
  min-height: 830px;
  border-radius: 34px;
  background:
    linear-gradient(rgba(16, 63, 50, 0.03), rgba(16, 63, 50, 0.03)),
    repeating-linear-gradient(135deg, rgba(16, 63, 50, 0.045) 0 1px, transparent 1px 18px);
}

.home-story__photo {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border: 8px solid #fffdf8;
  border-radius: 30px;
  background: #dce7df;
  box-shadow: 0 24px 55px rgba(19, 55, 43, 0.2);
}

.home-story__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.home-story__photo--main {
  top: 0;
  left: 0;
  z-index: 1;
  width: 88%;
  height: 58%;
}

.home-story__photo--secondary {
  right: 0;
  bottom: 5%;
  z-index: 2;
  width: 76%;
  height: 48%;
}

.home-story__location {
  position: absolute;
  bottom: 0;
  left: 3%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 14px 19px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #fff;
  background: #103f32;
  box-shadow: 0 14px 28px rgba(16, 63, 50, 0.2);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.home-story__location span {
  color: #f0bd62;
  font-size: 1.18rem;
}

.home-story,
.home-story h2,
.home-story h3,
.home-story p,
.home-story span {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

@media (hover: hover) and (pointer: fine) {
  .home-story__card:hover {
    z-index: 1;
    border-color: rgba(142, 17, 29, 0.22);
    box-shadow: 0 20px 44px rgba(25, 68, 54, 0.12);
    transform: translateY(-6px);
  }

  .home-story__photo:hover img {
    transform: scale(1.045);
  }
}

@media (max-width: 1199.98px) {
  .home-story__header {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .home-story__welcome {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.75fr);
    gap: 34px;
    align-items: end;
  }

  .home-story__facts {
    margin-top: 0;
  }

  .home-story__body {
    grid-template-columns: minmax(0, 1.16fr) minmax(330px, 0.84fr);
  }

  .home-story__details {
    grid-template-columns: 1fr;
  }

  .home-story__gallery {
    min-height: 980px;
  }
}

@media (max-width: 991.98px) {
  .home-story__welcome {
    display: block;
  }

  .home-story__facts {
    margin-top: 30px;
  }

  .home-story__body {
    grid-template-columns: 1fr;
  }

  .home-story__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-story__gallery {
    min-height: 670px;
  }
}

@media (max-width: 767.98px) {
  .home-story__shell {
    padding: 34px 28px 38px;
    border-radius: 34px;
  }

  .home-story .home-story__heading h2 {
    font-size: clamp(2.75rem, 9vw, 3.55rem);
  }

  .home-story__details {
    grid-template-columns: 1fr;
  }

  .home-story__gallery {
    min-height: 540px;
  }
}

@media (max-width: 575.98px) {
  .home-story {
    padding: 52px 0;
  }

  .home-story > .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .home-story__shell {
    padding: 28px 20px 30px;
    border-radius: 28px;
  }

  .home-story__header {
    gap: 25px;
    padding-bottom: 34px;
  }

  .home-story__eyebrow {
    margin-bottom: 18px;
    padding: 9px 13px;
    font-size: 0.66rem;
    letter-spacing: 0.09em;
  }

  .home-story .home-story__heading h2 {
    font-size: clamp(2.35rem, 12vw, 3.35rem);
    line-height: 0.98;
  }

  .home-story__welcome > p {
    font-size: 1.02rem;
    line-height: 1.63;
  }

  .home-story__facts {
    gap: 5px;
    margin-top: 24px;
  }

  .home-story__facts > div {
    padding: 13px 6px 12px;
    border-radius: 14px;
  }

  .home-story__facts strong {
    font-size: 1rem;
  }

  .home-story__facts span {
    font-size: 0.54rem;
    letter-spacing: 0.04em;
  }

  .home-story__body {
    gap: 32px;
    margin-top: 34px;
  }

  .home-story__details {
    gap: 12px;
  }

  .home-story__card {
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
    padding: 22px 18px;
    border-radius: 22px;
  }

  .home-story__number {
    width: fit-content;
    max-width: 100%;
    min-height: 34px;
    height: auto;
    padding: 8px 12px 8px 30px;
    font-size: 0.65rem;
  }

  .home-story__number::before {
    left: 12px;
    width: 7px;
    height: 7px;
  }

  .home-story .home-story__card h3 {
    margin-bottom: 11px;
    font-size: 1.42rem;
  }

  .home-story .home-story__card p {
    font-size: 0.96rem;
    line-height: 1.67;
  }

  .home-story__gallery {
    min-height: 410px;
    border-radius: 24px;
  }

  .home-story__photo {
    border-width: 5px;
    border-radius: 21px;
  }

  .home-story__photo--main {
    width: 92%;
    height: 59%;
  }

  .home-story__photo--secondary {
    width: 79%;
    height: 47%;
  }

  .home-story__location {
    left: 0;
    padding: 11px 14px;
    font-size: 0.62rem;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 359.98px) {
  .home-story__shell {
    padding-right: 16px;
    padding-left: 16px;
  }

  .home-story .home-story__heading h2 {
    font-size: 2.1rem;
  }

  .home-story__facts strong {
    font-size: 0.9rem;
  }

  .home-story__facts > div:last-child strong {
    font-size: 0.78rem;
  }

  .home-story__facts span {
    font-size: 0.49rem;
  }

  .home-story__card {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    padding: 20px 15px;
  }

  .home-story__number {
    width: fit-content;
    max-width: 100%;
    min-height: 32px;
    height: auto;
    padding-right: 11px;
    padding-left: 28px;
  }

  .home-story__number::before {
    left: 11px;
  }

  .home-story .home-story__card h3 {
    font-size: 1.28rem;
  }

  .home-story .home-story__card p {
    font-size: 0.91rem;
  }

  .home-story__gallery {
    min-height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-story__card,
  .home-story__photo img {
    transition: none;
  }
}

/* Home family project: a warm, immersive story built around place and people. */
.home-project {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7vw, 126px) 0;
  background:
    radial-gradient(circle at 93% 14%, rgba(142, 17, 29, 0.08), transparent 25%),
    #f4f0e7;
}

.home-project > .container {
  position: relative;
  z-index: 1;
  width: min(100%, 1680px);
  max-width: 1680px;
  padding-right: clamp(18px, 3vw, 52px);
  padding-left: clamp(18px, 3vw, 52px);
}

.home-project__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(440px, 0.92fr) minmax(0, 1.08fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: clamp(34px, 4vw, 58px);
  color: #f7f1e5;
  background:
    radial-gradient(circle at 94% 8%, rgba(239, 188, 96, 0.1), transparent 27%),
    linear-gradient(145deg, #123f34 0%, #0d342b 64%, #092b24 100%);
  box-shadow: 0 34px 90px rgba(17, 54, 43, 0.22);
}

.home-project__shell::before,
.home-project__shell::after {
  position: absolute;
  z-index: 0;
  border: 1px solid rgba(239, 188, 96, 0.11);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.home-project__shell::before {
  top: -190px;
  right: -130px;
  width: 450px;
  height: 450px;
  box-shadow: 0 0 0 42px rgba(239, 188, 96, 0.025), 0 0 0 84px rgba(239, 188, 96, 0.018);
}

.home-project__shell::after {
  display: none;
  content: none;
}

.home-project__watermark {
  position: absolute;
  z-index: 0;
  top: 8px;
  right: 10px;
  width: 250px;
  aspect-ratio: 1983 / 793;
  background: url("../images/logo-watermark.png") center / contain no-repeat;
  opacity: 0.13;
  filter: grayscale(0.2) saturate(0.8);
  pointer-events: none;
}

.home-project__visual,
.home-project__content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.home-project__visual {
  min-height: 900px;
  margin: 24px 0 24px 24px;
  overflow: hidden;
  border-radius: 38px;
  background: #b7c3b8;
  box-shadow: 0 24px 58px rgba(3, 24, 19, 0.3);
}

.home-project__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 31, 25, 0.02) 38%, rgba(7, 31, 25, 0.74) 100%);
  content: "";
  pointer-events: none;
}

.home-project__photo {
  position: absolute;
  inset: 0;
  margin: 0;
}

.home-project__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 53% center;
  transition: transform 800ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.home-project__family {
  position: absolute;
  right: clamp(20px, 3vw, 38px);
  bottom: clamp(24px, 3vw, 42px);
  left: clamp(20px, 3vw, 38px);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 18px 21px;
  border: 1px solid rgba(255, 255, 255, 0.23);
  border-radius: 22px;
  color: #fffdf7;
  background: rgba(114, 10, 23, 0.89);
  box-shadow: 0 16px 35px rgba(44, 4, 10, 0.28);
  font-size: clamp(0.92rem, 1.08vw, 1.12rem);
  font-weight: 720;
  line-height: 1.4;
  backdrop-filter: blur(8px);
}

.home-project__family span {
  color: #f3c36f;
  font-size: 1.2em;
}

.home-project__place {
  position: absolute;
  top: clamp(22px, 3vw, 38px);
  left: clamp(20px, 3vw, 38px);
  z-index: 2;
  display: inline-block;
  max-width: calc(100% - 40px);
  padding: 11px 15px;
  border: 1px solid rgba(16, 63, 50, 0.12);
  border-radius: 999px;
  color: #19473a;
  background: rgba(255, 251, 242, 0.92);
  box-shadow: 0 12px 30px rgba(12, 42, 33, 0.16);
  font-size: 0.68rem;
  font-weight: 820;
  letter-spacing: 0.09em;
  line-height: 1.3;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.home-project__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px, 6vw, 94px);
}

.home-project__eyebrow {
  align-self: flex-start;
  margin: 0 0 22px;
  padding: 10px 16px;
  border: 1px solid rgba(239, 188, 96, 0.24);
  border-radius: 999px;
  color: #f0bd62;
  background: rgba(239, 188, 96, 0.08);
  font-size: clamp(0.7rem, 0.8vw, 0.84rem);
  font-weight: 820;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.home-project .home-project__content h2 {
  margin: 0;
  color: #fffaf0;
  font-size: clamp(3.6rem, 5.5vw, 6.1rem);
  font-weight: 760;
  letter-spacing: -0.055em;
  line-height: 0.96;
  text-wrap: balance;
}

.home-project__lead {
  position: relative;
  margin: clamp(30px, 4vw, 48px) 0 0;
  padding: 0 0 0 25px;
  border-left: 4px solid #e4aa44;
  color: #f2c976;
  font-size: clamp(1.18rem, 1.55vw, 1.58rem);
  font-weight: 620;
  line-height: 1.52;
}

.home-project__chapters {
  margin-top: clamp(36px, 4vw, 52px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.home-project__chapter {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 20px;
  min-width: 0;
  padding: 25px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.home-project__index {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(239, 188, 96, 0.3);
  border-radius: 50%;
  color: #f0bd62;
  background: rgba(239, 188, 96, 0.07);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.06em;
}

.home-project .home-project__chapter h3 {
  margin: 0 0 8px;
  color: #fffdf8;
  font-size: clamp(1.32rem, 1.55vw, 1.65rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.home-project .home-project__chapter p {
  margin: 0;
  color: #c9d8d1;
  font-size: clamp(0.96rem, 1vw, 1.06rem);
  line-height: 1.7;
}

.home-project__values {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 29px;
}

.home-project__values span {
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  color: #f7eee0;
  background: rgba(255, 255, 255, 0.055);
  font-size: 0.68rem;
  font-weight: 790;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.home-project,
.home-project h2,
.home-project h3,
.home-project p,
.home-project span {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

@media (hover: hover) and (pointer: fine) {
  .home-project__visual:hover .home-project__photo img {
    transform: scale(1.045);
  }

  .home-project__chapter {
    transition: padding-left 220ms ease, background-color 220ms ease;
  }

  .home-project__chapter:hover {
    padding-left: 12px;
    background: linear-gradient(90deg, rgba(239, 188, 96, 0.045), transparent 75%);
  }
}

@media (max-width: 1199.98px) {
  .home-project__shell {
    grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.18fr);
  }

  .home-project__visual {
    min-height: 760px;
    margin: 18px 0 18px 18px;
  }

  .home-project__content {
    padding: 50px 44px;
  }

  .home-project .home-project__content h2 {
    font-size: clamp(3.3rem, 6vw, 4.7rem);
  }

  .home-project__chapter {
    padding: 20px 0;
  }
}

@media (max-width: 991.98px) {
  .home-project__shell {
    grid-template-columns: 1fr;
  }

  .home-project__shell::after {
    bottom: 0;
  }

  .home-project__content {
    order: 1;
    padding: clamp(44px, 7vw, 66px);
  }

  .home-project__visual {
    order: 2;
    min-height: 620px;
    margin: 0 22px 22px;
  }
}

@media (max-width: 575.98px) {
  .home-project {
    padding: 52px 0;
  }

  .home-project > .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .home-project__shell {
    border-radius: 28px;
  }

  .home-project__watermark {
    right: 10px;
    width: 210px;
    opacity: 0.11;
  }

  .home-project__content {
    padding: 31px 21px 34px;
  }

  .home-project__eyebrow {
    margin-bottom: 18px;
    padding: 9px 13px;
    font-size: 0.64rem;
    letter-spacing: 0.1em;
  }

  .home-project .home-project__content h2 {
    font-size: clamp(2.5rem, 12vw, 3.45rem);
  }

  .home-project__lead {
    margin-top: 25px;
    padding-left: 17px;
    border-left-width: 3px;
    font-size: 1.08rem;
  }

  .home-project__chapters {
    margin-top: 31px;
  }

  .home-project__chapter {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 13px;
    padding: 20px 0;
  }

  .home-project__index {
    width: 34px;
    height: 34px;
    font-size: 0.62rem;
  }

  .home-project .home-project__chapter h3 {
    font-size: 1.3rem;
  }

  .home-project .home-project__chapter p {
    font-size: 0.94rem;
    line-height: 1.66;
  }

  .home-project__values {
    gap: 6px;
    margin-top: 23px;
  }

  .home-project__values span {
    padding: 8px 10px;
    font-size: 0.58rem;
    letter-spacing: 0.06em;
  }

  .home-project__visual {
    min-height: 430px;
    margin: 0 12px 12px;
    border-radius: 22px;
  }

  .home-project__family {
    right: 14px;
    bottom: 15px;
    left: 14px;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 17px;
    font-size: 0.76rem;
  }

  .home-project__place {
    top: 14px;
    left: 14px;
    max-width: calc(100% - 28px);
    padding: 9px 11px;
    font-size: 0.55rem;
    letter-spacing: 0.055em;
  }
}

@media (max-width: 359.98px) {
  .home-project__watermark {
    right: 8px;
    width: 180px;
  }

  .home-project__content {
    padding-right: 17px;
    padding-left: 17px;
  }

  .home-project .home-project__content h2 {
    font-size: 2.25rem;
  }

  .home-project__chapter {
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 11px;
  }

  .home-project__index {
    width: 31px;
    height: 31px;
  }

  .home-project__visual {
    min-height: 390px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-project__photo img,
  .home-project__chapter {
    transition: none;
  }
}

/* Shared location and map panel: spacious, immersive and consistent site-wide. */
.modern-section--map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: min(1760px, calc(100% - clamp(28px, 5vw, 92px)));
  max-width: 1760px;
  min-height: clamp(650px, 43vw, 790px);
  margin: clamp(64px, 7vw, 120px) auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(24, 69, 54, 0.12);
  border-radius: clamp(36px, 4vw, 58px);
  background: #fbf8f1;
  box-shadow: 0 34px 92px rgba(25, 62, 49, 0.15);
  isolation: isolate;
}

.modern-section--map::before {
  position: absolute;
  top: 0;
  right: 50%;
  left: 0;
  z-index: 2;
  height: 5px;
  background: linear-gradient(90deg, #e3a53a, #8e111d 52%, #285f49);
  content: "";
  pointer-events: none;
}

.modern-section--map > .section-lg {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  padding: clamp(52px, 6vw, 96px);
  align-items: center;
  background:
    radial-gradient(circle at 8% 7%, rgba(225, 163, 58, 0.16), transparent 29%),
    radial-gradient(circle at 94% 92%, rgba(37, 91, 68, 0.08), transparent 28%),
    linear-gradient(145deg, #fffdf8, #f5f0e5);
}

.modern-section--map > .section-lg::before,
.modern-section--map > .section-lg::after {
  position: absolute;
  border: 1px solid rgba(28, 76, 59, 0.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.modern-section--map > .section-lg::before {
  right: -115px;
  bottom: -150px;
  width: 330px;
  height: 330px;
}

.modern-section--map > .section-lg::after {
  right: -70px;
  bottom: -105px;
  width: 240px;
  height: 240px;
}

.home-location-feature > .section-lg::before,
.home-location-feature > .section-lg::after {
  display: none;
  content: none;
}

.modern-section--map > .section-lg > .container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  padding: 0;
}

.modern-section--map > .section-lg > .container > .row {
  width: 100%;
  margin: 0;
  transform: none;
}

.modern-section--map > .section-lg > .container > .row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  padding: 0;
  flex: 0 0 100%;
}

.modern-section--map h6 {
  display: inline-flex;
  max-width: 100%;
  margin: 0 0 27px;
  padding: 10px 16px;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(183, 121, 28, 0.22);
  border-radius: 999px;
  color: #8b5918;
  background: rgba(251, 242, 224, 0.9);
  font-size: clamp(0.68rem, 0.78vw, 0.82rem);
  font-weight: 820;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.modern-section--map h6::before {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #e2a33a;
  box-shadow: 0 0 0 5px rgba(226, 163, 58, 0.14);
  content: "";
}

.modern-section--map > .section-lg h3 {
  max-width: 760px;
  margin: 0;
  color: #103f32;
  font-size: clamp(2.8rem, 4.15vw, 4.8rem);
  font-weight: 760;
  letter-spacing: -0.05em;
  line-height: 1.02;
  text-wrap: balance;
}

.modern-section--map > .section-lg p {
  position: relative;
  max-width: 690px;
  margin: clamp(30px, 4vw, 48px) 0 0;
  padding-left: 24px;
  border-left: 3px solid #dca13b;
  color: #45645a;
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.78;
}

.modern-section--map > .object-wrap__body {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-width: 0;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0;
  overflow: hidden;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  background: #0d392f;
}

.modern-section--map .external-media-consent--map {
  position: absolute;
  inset: 0;
  min-height: 100%;
  padding: clamp(38px, 5vw, 78px);
  color: #fff;
  background:
    radial-gradient(circle at 15% 13%, rgba(239, 190, 100, 0.16), transparent 30%),
    radial-gradient(circle at 88% 84%, rgba(54, 120, 91, 0.25), transparent 35%),
    linear-gradient(145deg, #123f34 0%, #0b332a 66%, #082a23 100%);
}

.modern-section--map .external-media-consent--map::before {
  width: min(430px, 64%);
  height: auto;
  aspect-ratio: 1;
  border-color: rgba(255, 255, 255, 0.13);
  box-shadow: 0 0 0 42px rgba(255, 255, 255, 0.032), 0 0 0 84px rgba(255, 255, 255, 0.021);
}

.modern-section--map .external-media-consent--map::after {
  position: absolute;
  z-index: 1;
  width: min(300px, 42%);
  height: min(180px, 25%);
  background: url("../images/logo.png") center / contain no-repeat;
  content: "";
  opacity: 0.055;
  filter: grayscale(1) brightness(2.2);
  pointer-events: none;
}

.modern-section--map .external-media-consent--map > * {
  z-index: 2;
}

.modern-section--map .external-media-consent--map h3 {
  display: flex;
  max-width: 680px;
  margin: 0;
  align-items: center;
  justify-content: center;
  gap: 17px;
  color: #fffdf7 !important;
  font-size: clamp(2.35rem, 4vw, 4rem);
  font-weight: 760;
  letter-spacing: -0.045em;
  line-height: 1.04;
  text-shadow: none;
}

.modern-section--map .external-media-consent--map h3::before {
  display: inline-grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border: 1px solid rgba(239, 190, 100, 0.32);
  border-radius: 50%;
  color: #efbe64;
  background: rgba(239, 190, 100, 0.09);
  content: "⌖";
  font-size: 1.5rem;
  line-height: 1;
}

.modern-section--map .external-media-consent--map p {
  max-width: 610px;
  margin-top: 24px;
  color: #d4e0db;
  font-size: clamp(0.98rem, 1.15vw, 1.12rem);
  line-height: 1.7;
}

.modern-section--map .external-media-consent__button {
  min-width: min(100%, 280px);
  margin-top: 30px;
  padding: 18px 27px;
  border: 1px solid #efc879 !important;
  border-radius: 999px;
  color: #103b30 !important;
  background: #efc879 !important;
  box-shadow: 0 16px 35px rgba(2, 25, 19, 0.25);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.3;
  transition: transform 220ms ease, color 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.modern-section--map .external-media-consent__button:hover,
.modern-section--map .external-media-consent__button:focus-visible {
  border-color: #fff3da !important;
  color: #7e111d !important;
  background: #fff3da !important;
  box-shadow: 0 20px 42px rgba(2, 25, 19, 0.32);
  transform: translateY(-4px);
}

.modern-section--map .external-media-consent--map[hidden],
.modern-section--map iframe[hidden] {
  display: none !important;
}

.modern-section--map iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100%;
  border: 0;
}

.modern-section--map,
.modern-section--map h3,
.modern-section--map h6,
.modern-section--map p,
.modern-section--map button {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 1199.98px) {
  .modern-section--map {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    min-height: 640px;
  }

  .modern-section--map > .section-lg {
    padding: 52px 42px;
  }

  .modern-section--map > .section-lg h3 {
    font-size: clamp(2.6rem, 4.7vw, 3.7rem);
  }

  .modern-section--map > .section-lg p {
    font-size: 1rem;
  }
}

@media (max-width: 991.98px) {
  .modern-section--map {
    display: grid;
    grid-template-columns: 1fr;
    width: min(100% - 26px, 820px);
    min-height: 0;
    margin: 58px auto;
    border-radius: 36px;
  }

  .modern-section--map::before {
    right: 0;
  }

  .modern-section--map > .section-lg {
    min-height: 0;
    padding: clamp(40px, 7vw, 62px);
  }

  .modern-section--map > .object-wrap__body {
    width: 100% !important;
    height: clamp(430px, 68vw, 570px) !important;
    min-height: clamp(430px, 68vw, 570px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 0;
  }

  .modern-section--map > .section-lg h3 {
    max-width: 700px;
  }

  .modern-section--map > .section-lg p {
    max-width: 700px;
  }
}

@media (max-width: 575.98px) {
  .modern-section--map {
    width: calc(100% - 20px);
    margin: 48px auto;
    border-radius: 28px;
  }

  .modern-section--map > .section-lg {
    padding: 35px 22px 39px;
  }

  .modern-section--map h6 {
    margin-bottom: 21px;
    padding: 9px 12px;
    gap: 9px;
    font-size: 0.61rem;
    letter-spacing: 0.08em;
  }

  .modern-section--map > .section-lg h3 {
    font-size: clamp(2.15rem, 10.5vw, 3rem);
    line-height: 1.04;
  }

  .modern-section--map > .section-lg p {
    margin-top: 27px;
    padding-left: 16px;
    border-left-width: 3px;
    font-size: 0.97rem;
    line-height: 1.7;
  }

  .modern-section--map > .object-wrap__body {
    height: 410px !important;
    min-height: 410px !important;
  }

  .modern-section--map .external-media-consent--map {
    padding: 30px 19px;
  }

  .modern-section--map .external-media-consent--map h3 {
    flex-direction: column;
    gap: 13px;
    font-size: clamp(1.95rem, 9vw, 2.55rem);
  }

  .modern-section--map .external-media-consent--map h3::before {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    font-size: 1.25rem;
  }

  .modern-section--map .external-media-consent--map p {
    margin-top: 18px;
    font-size: 0.9rem;
    line-height: 1.62;
  }

  .modern-section--map .external-media-consent__button {
    min-width: 0;
    max-width: 100%;
    margin-top: 23px;
    padding: 15px 20px;
    font-size: 0.68rem;
  }
}

@media (max-width: 359.98px) {
  .modern-section--map > .section-lg {
    padding-right: 18px;
    padding-left: 18px;
  }

  .modern-section--map > .section-lg h3 {
    font-size: 2rem;
  }

  .modern-section--map > .object-wrap__body {
    height: 390px !important;
    min-height: 390px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .modern-section--map .external-media-consent__button {
    transition: none;
  }
}

/* Homepage location: compact editorial copy paired with an inset map card. */
.home-location-feature {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  width: min(1580px, calc(100% - clamp(32px, 5vw, 80px)));
  max-width: 1580px;
  min-height: clamp(590px, 40vw, 680px);
  margin: clamp(64px, 6vw, 96px) auto;
  border-radius: clamp(28px, 3vw, 44px);
  background: #f8f3e9;
  box-shadow: 0 28px 72px rgba(25, 62, 49, .13);
}

.home-location-feature::before {
  right: 48%;
  height: 4px;
}

.home-location-feature > .section-lg {
  padding: clamp(44px, 4.5vw, 70px);
}

.home-location-feature h6 {
  margin-bottom: 22px;
  padding: 9px 14px;
  font-size: clamp(.66rem, .72vw, .76rem);
  letter-spacing: .105em;
}

.home-location-feature > .section-lg h3 {
  max-width: 650px;
  font-size: clamp(2.35rem, 3vw, 3.55rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}

.home-location-feature > .section-lg p {
  max-width: 630px;
  margin-top: clamp(24px, 2.3vw, 32px);
  padding: clamp(20px, 2vw, 26px);
  border: 1px solid rgba(28, 76, 59, .11);
  border-left: 1px solid rgba(28, 76, 59, .11);
  border-radius: 20px;
  color: #3f6055;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 15px 36px rgba(28, 76, 59, .07);
  font-size: clamp(.98rem, 1.05vw, 1.1rem);
  line-height: 1.66;
}

.home-location-feature > .object-wrap__body {
  align-self: stretch;
  width: auto !important;
  min-height: 0 !important;
  margin: clamp(14px, 1.4vw, 22px) clamp(14px, 1.4vw, 22px) clamp(14px, 1.4vw, 22px) 0;
  border: 0;
  border-radius: clamp(24px, 2.4vw, 34px);
  box-shadow: 0 20px 48px rgba(5, 34, 26, .22);
}

.home-location-feature .external-media-consent--map {
  padding: clamp(30px, 4vw, 58px);
}

.home-location-feature .external-media-consent--map::before {
  width: min(280px, 52%);
  box-shadow: 0 0 0 30px rgba(255, 255, 255, .026), 0 0 0 60px rgba(255, 255, 255, .016);
}

.home-location-feature .external-media-consent--map::after {
  width: min(235px, 38%);
  opacity: .07;
}

.home-location-feature .external-media-consent--map h3 {
  gap: 14px;
  font-size: clamp(2rem, 3.15vw, 3.2rem);
}

.home-location-feature .external-media-consent--map h3::before {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  font-size: 1.3rem;
}

.home-location-feature .external-media-consent--map p {
  max-width: 520px;
  margin-top: 18px;
  font-size: clamp(.94rem, 1vw, 1.04rem);
  line-height: 1.55;
}

.home-location-feature .external-media-consent__button {
  margin-top: 24px;
  padding: 16px 25px;
}

@media (max-width: 1199.98px) {
  .home-location-feature {
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
    min-height: 570px;
  }

  .home-location-feature > .section-lg {
    padding: 42px 38px;
  }
}

@media (max-width: 991.98px) {
  .home-location-feature {
    grid-template-columns: minmax(0, 1fr);
    width: min(calc(100% - 26px), 820px);
    min-height: 0;
    margin: 52px auto;
  }

  .home-location-feature > .section-lg {
    padding: clamp(38px, 6vw, 54px);
  }

  .home-location-feature > .object-wrap__body {
    width: auto !important;
    height: clamp(370px, 58vw, 470px) !important;
    min-height: clamp(370px, 58vw, 470px) !important;
    margin: 0 18px 18px;
  }
}

@media (max-width: 575.98px) {
  .home-location-feature {
    width: calc(100% - 16px);
    margin: 40px auto;
    border-radius: 24px;
  }

  .home-location-feature > .section-lg {
    padding: 30px 18px 26px;
  }

  .home-location-feature h6 {
    margin-bottom: 18px;
    padding: 8px 10px;
    font-size: .6rem;
    letter-spacing: .075em;
  }

  .home-location-feature > .section-lg h3 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.04;
  }

  html[lang="de"] .home-location-feature > .section-lg h3,
  html[lang="pl"] .home-location-feature > .section-lg h3 {
    font-size: clamp(1.78rem, 7.6vw, 2.1rem);
  }

  .home-location-feature > .section-lg p {
    margin-top: 22px;
    padding: 18px 16px;
    border-radius: 16px;
  }

  .home-location-feature > .object-wrap__body {
    height: 350px !important;
    min-height: 350px !important;
    margin: 0 10px 10px;
    border-radius: 20px;
  }

  .home-location-feature .external-media-consent--map {
    padding: 24px 17px;
  }

  .home-location-feature .external-media-consent--map h3 {
    gap: 10px;
    font-size: clamp(1.7rem, 8vw, 2rem);
  }

  .home-location-feature .external-media-consent--map h3::before {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 1.08rem;
  }

  .home-location-feature .external-media-consent--map p {
    margin-top: 15px;
  }

  .home-location-feature .external-media-consent__button {
    margin-top: 19px;
    padding: 14px 17px;
  }
}

/* Shared multilingual footer: clearer hierarchy, compact rhythm and touch-safe links. */
.pre-footer-corporate {
  position: relative;
  isolation: isolate;
  padding: clamp(58px, 5.6vw, 88px) 0 !important;
  overflow: hidden;
  color: #eef6f2 !important;
  background:
    radial-gradient(circle at 4% 4%, rgba(224, 168, 72, .18), transparent 27rem),
    radial-gradient(circle at 96% 92%, rgba(144, 178, 154, .20), transparent 31rem),
    linear-gradient(132deg, #071f1a 0%, #0b3027 54%, #15483b 100%) !important;
}

.pre-footer-corporate::after {
  position: absolute;
  z-index: -1;
  right: clamp(-170px, -8vw, -80px);
  bottom: clamp(-190px, -10vw, -105px);
  width: clamp(300px, 28vw, 540px);
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(241, 207, 139, .13);
  border-radius: 50%;
  box-shadow:
    0 0 0 48px rgba(255, 255, 255, .018),
    0 0 0 96px rgba(255, 255, 255, .012);
}

.pre-footer-corporate > .container,
.footer-corporate > .container {
  width: min(calc(100% - clamp(32px, 6vw, 96px)), 1700px);
  max-width: 1700px;
}

.pre-footer-corporate .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .9fr) minmax(0, 1.03fr);
  gap: clamp(16px, 1.45vw, 26px);
  margin: 0 !important;
  transform: none !important;
}

.pre-footer-corporate .row > [class*="col-"] {
  position: relative;
  display: flex;
  width: auto !important;
  min-width: 0;
  max-width: none !important;
  min-height: 340px;
  margin: 0 !important;
  padding: clamp(28px, 2.4vw, 42px) !important;
  flex: none !important;
  flex-direction: column;
  overflow: hidden;
  color: #edf6f1;
  border: 1px solid rgba(232, 245, 238, .14);
  border-radius: clamp(22px, 1.7vw, 30px);
  background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .09),
    0 24px 60px rgba(1, 16, 12, .13);
  transform: none;
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.pre-footer-corporate .row > [class*="col-"]::before {
  right: 34px;
  left: 34px;
  height: 2px;
  background: linear-gradient(90deg, #dfa338, rgba(241, 207, 139, .42), transparent);
}

.pre-footer-corporate .row > [class*="col-"]:first-child {
  color: #26473e;
  border-color: rgba(255, 255, 255, .70);
  background:
    radial-gradient(circle at 100% 0, rgba(222, 164, 63, .15), transparent 15rem),
    linear-gradient(145deg, #fffdf8, #f4eee2);
  box-shadow: 0 28px 70px rgba(1, 16, 12, .22);
}

.pre-footer-corporate .row > [class*="col-"]:first-child::after {
  position: absolute;
  right: -36px;
  bottom: -54px;
  width: 180px;
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(183, 126, 35, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(183, 126, 35, .045);
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(3) {
  border-color: rgba(241, 207, 139, .22);
  background: linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .055));
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
  display: grid;
  grid-template-columns: 60px 60px minmax(0, 1fr);
  grid-template-rows: auto 60px minmax(18px, 1fr) auto;
  align-content: stretch;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) h6,
.pre-footer-corporate .row > [class*="col-"]:nth-child(2) .facebook-link-panel {
  grid-column: 1 / -1;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:nth-of-type(1) {
  grid-column: 1;
  grid-row: 2;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:nth-of-type(2) {
  grid-column: 2;
  grid-row: 2;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) .facebook-link-panel {
  grid-row: 4;
}

.pre-footer-corporate p,
.pre-footer-corporate li,
.pre-footer-corporate .unit-body {
  color: inherit;
  font-size: clamp(15px, .94vw, 16.5px);
  line-height: 1.72;
  letter-spacing: -.012em;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

.pre-footer-corporate .row > [class*="col-"]:first-child > p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #315249 !important;
}

.pre-footer-corporate .row > [class*="col-"] > br {
  display: none;
}

.pre-footer-corporate h6 {
  position: relative;
  margin: 0 0 28px;
  padding: 0 0 15px;
  color: #fff !important;
  font-size: clamp(13px, .83vw, 14.5px);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .145em;
  text-transform: uppercase;
}

.pre-footer-corporate h6::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 46px;
  height: 3px;
  content: "";
  border-radius: 99px;
  background: #e0aa4d;
}

.pre-footer-corporate .row > [class*="col-"]:first-child > a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: fit-content;
  min-height: 0;
  margin-top: auto;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.pre-footer-corporate .row > [class*="col-"]:first-child > a img {
  width: 140px;
  height: 39px;
  max-width: 100%;
  max-height: none;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
  filter: none;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:not(.facebook-link-panel) {
  display: inline-flex;
  width: 60px;
  height: 60px;
  margin: 0 10px 0 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 18px;
  background: rgba(255, 255, 255, .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  vertical-align: top;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.pre-footer-corporate .facebook-link-panel {
  display: flex;
  width: 100%;
  max-width: 390px;
  min-height: 58px;
  margin-top: auto;
  align-items: center;
}

.pre-footer-corporate .facebook-link-panel blockquote {
  width: 100%;
  margin: 24px 0 0;
}

.pre-footer-corporate .facebook-link-panel a {
  position: relative;
  display: flex;
  min-height: 58px;
  padding: 14px 54px 14px 20px;
  align-items: center;
  color: #fff !important;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.4;
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 17px;
  background: rgba(255, 255, 255, .075);
}

.pre-footer-corporate .facebook-link-panel a::after {
  position: absolute;
  top: 50%;
  right: 13px;
  display: grid;
  width: 32px;
  height: 32px;
  content: "\2197";
  place-items: center;
  color: #102e26;
  border-radius: 50%;
  background: #f1cf8b;
  transform: translateY(-50%);
}

.pre-footer-corporate .list-xs {
  display: grid;
  gap: 10px;
  margin: 0;
}

.pre-footer-corporate .list-xs > li,
.pre-footer-corporate .list-xs > li + li {
  margin: 0;
}

.pre-footer-corporate .list-xs .unit {
  min-height: 58px;
  padding: 11px 13px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 16px;
  background: rgba(4, 29, 23, .18);
}

.pre-footer-corporate .list-xs .unit-left {
  display: grid;
  width: 38px;
  height: 38px;
  margin-right: 12px;
  flex: 0 0 38px;
  place-items: center;
  color: #0b2d25;
  border-radius: 12px;
  background: #f1cf8b;
}

.pre-footer-corporate .list-xs .unit-left .icon {
  top: 0;
  color: #0b2d25 !important;
  font-size: 18px;
}

.pre-footer-corporate .list-xs .unit-left img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.pre-footer-corporate .list-xs .unit-body {
  min-width: 0;
  color: #f1f7f4 !important;
}

.pre-footer-corporate .list-xs p {
  margin: 0;
}

.pre-footer-corporate .list-xs a {
  color: #f4d594 !important;
  font-weight: 700;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: color .2s ease, text-decoration-color .2s ease;
}

.pre-footer-corporate .list-xs a[href^="mailto:"] {
  overflow-wrap: anywhere;
}

.footer-corporate {
  position: relative;
  padding: clamp(24px, 2.8vw, 40px) 0 30px !important;
  color: #dbe9e3 !important;
  background: #061d18 !important;
  text-align: left;
}

.footer-corporate::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(241, 207, 139, .58), transparent);
}

.footer-corporate__inner {
  display: grid !important;
  gap: 12px;
  margin: 0 !important;
}

.footer-corporate__inner > * {
  padding: 0;
}

.footer-corporate .rights,
.footer-corporate .cookie-technical-notice {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  color: #d7e5df !important;
  font-size: clamp(12.5px, .79vw, 14px);
  line-height: 1.72;
  letter-spacing: -.008em;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

.footer-corporate .rights {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr) minmax(235px, max-content);
  gap: 10px;
  padding: 12px;
  align-items: stretch;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .022));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.footer-corporate .footer-legal,
.footer-corporate .footer-privacy,
.footer-corporate .footer-credit {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 64px;
  padding: 13px 15px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
}

.footer-corporate .footer-privacy {
  background: rgba(241, 207, 139, .055);
}

.footer-corporate .footer-legal {
  flex-direction: column;
  gap: 9px;
  align-items: flex-start;
}

.footer-corporate .footer-legal__name {
  color: #f4f7f5;
  font-weight: 700;
  line-height: 1.35;
}

.footer-corporate .footer-legal__meta {
  display: flex;
  width: 100%;
  min-width: 0;
  gap: 7px;
  flex-wrap: wrap;
  align-items: stretch;
}

.footer-corporate .footer-legal__meta > span {
  display: flex;
  min-width: 0;
  padding: 5px 8px;
  gap: 4px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 8px;
  background: rgba(0, 0, 0, .12);
  line-height: 1.4;
}

.footer-corporate .footer-legal__meta > span:nth-child(2),
.footer-corporate .footer-legal__meta > span:last-child {
  flex: 1 1 210px;
}

.footer-corporate .footer-legal__meta > span:last-child {
  flex-basis: 230px;
  padding-inline: 5px;
  gap: 3px;
}

.footer-corporate .footer-legal__meta > span:last-child a {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (max-width: 359.98px) {
  .footer-corporate .footer-legal__meta > span:last-child {
    flex-direction: column;
    gap: 1px;
    align-items: flex-start;
  }

  .footer-corporate .footer-legal__meta > span:last-child a {
    width: auto;
    flex: 0 1 auto;
  }
}

.footer-corporate .footer-legal__meta > span:first-child,
.footer-corporate .footer-legal__meta > span:nth-child(3) {
  flex: 0 1 auto;
}

.footer-corporate .footer-credit {
  gap: 5px;
  justify-content: center;
  white-space: nowrap;
}

.footer-corporate .footer-legal::before,
.footer-corporate .footer-privacy::before,
.footer-corporate .footer-credit::before {
  content: none;
}

.footer-corporate .footer-legal a,
.footer-corporate .footer-privacy a {
  overflow-wrap: anywhere;
}

.footer-corporate .rights a,
.footer-corporate .rights .link-primary {
  color: #f1cf8b !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(241, 207, 139, .38);
  text-underline-offset: 4px;
}

.footer-corporate .rights img {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0;
  object-fit: contain;
  vertical-align: -2px;
}

.footer-corporate .footer-credit img {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}

@media (max-width: 1199.98px) {
  .footer-corporate .rights {
    grid-template-columns: minmax(0, 1fr) max-content;
  }

  .footer-corporate .footer-legal {
    grid-column: 1 / -1;
  }
}

@media (min-width: 768px) and (max-width: 899.98px) {
  .footer-corporate .rights {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-corporate .footer-legal,
  .footer-corporate .footer-privacy,
  .footer-corporate .footer-credit {
    grid-column: auto;
    justify-content: flex-start;
    white-space: normal;
  }
}

.footer-corporate .cookie-technical-notice {
  position: relative;
  min-height: 62px;
  margin-bottom: 0 !important;
  padding: 17px 98px 17px 64px;
  border: 1px solid rgba(241, 207, 139, .12);
  border-radius: 18px;
  background: rgba(1, 13, 10, .25);
}

.footer-corporate .cookie-technical-notice::before {
  position: absolute;
  top: 14px;
  left: 17px;
  display: grid;
  width: 34px;
  height: 34px;
  content: "i";
  place-items: center;
  color: #0b2d25;
  font-size: 15px;
  font-weight: 850;
  font-style: normal;
  border-radius: 11px;
  background: #f1cf8b;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
}

@media (hover: hover) and (pointer: fine) {
  .pre-footer-corporate .row > [class*="col-"]:hover {
    border-color: rgba(241, 207, 139, .32);
    background-color: rgba(255, 255, 255, .085);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .10),
      0 30px 70px rgba(1, 16, 12, .20);
    transform: translateY(-4px);
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child:hover {
    border-color: rgba(224, 170, 77, .58);
    background-color: #fffdf8;
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:hover,
  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:focus {
    border-color: rgba(241, 207, 139, .58);
    background: rgba(241, 207, 139, .14);
    transform: translateY(-2px);
  }

  .pre-footer-corporate .facebook-link-panel a:hover,
  .pre-footer-corporate .facebook-link-panel a:focus,
  .pre-footer-corporate .list-xs a:hover,
  .pre-footer-corporate .list-xs a:focus {
    color: #fff !important;
    text-decoration-color: currentColor;
  }

  .footer-corporate .rights a:hover,
  .footer-corporate .rights a:focus {
    color: #fff !important;
    text-decoration-color: currentColor;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .pre-footer-corporate .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child {
    grid-column: 1 / -1;
    min-height: 0;
  }

  .pre-footer-corporate .row > [class*="col-"] {
    min-height: 330px;
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child > a {
    margin-top: 26px;
  }
}

@media (max-width: 767.98px) {
  .pre-footer-corporate {
    padding: 50px 0 !important;
  }

  .pre-footer-corporate::after {
    opacity: .56;
  }

  .pre-footer-corporate > .container,
  .footer-corporate > .container {
    width: calc(100% - 28px);
  }

  .pre-footer-corporate .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .pre-footer-corporate .row > [class*="col-"] {
    min-height: 0;
    padding: 27px 23px !important;
    border-radius: 22px;
  }

  .pre-footer-corporate h6 {
    margin-bottom: 23px;
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child > a,
  .pre-footer-corporate .facebook-link-panel {
    margin-top: 25px;
  }

  .pre-footer-corporate .facebook-link-panel blockquote {
    margin-top: 0;
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
    grid-template-rows: auto 60px 6px auto;
  }

  .footer-corporate {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .footer-corporate .rights,
  .footer-corporate .cookie-technical-notice {
    font-size: 12.75px;
    line-height: 1.68;
  }

  .footer-corporate .rights {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    text-align: left;
  }

  .footer-corporate .footer-legal,
  .footer-corporate .footer-privacy,
  .footer-corporate .footer-credit {
    grid-column: auto;
    min-height: 0;
    padding: 14px 13px;
    justify-content: flex-start;
    white-space: normal;
  }

  .footer-corporate .cookie-technical-notice {
    min-height: 0;
    margin-bottom: 0 !important;
    padding: 57px 18px 18px;
  }

  .footer-corporate .cookie-technical-notice::before {
    top: 14px;
    left: 18px;
  }
}

@media (max-width: 359.98px) {
  .pre-footer-corporate > .container,
  .footer-corporate > .container {
    width: calc(100% - 20px);
  }

  .pre-footer-corporate .row > [class*="col-"] {
    padding: 24px 18px !important;
  }

  .pre-footer-corporate .list-xs .unit {
    padding: 10px;
  }

  .pre-footer-corporate .list-xs .unit-left {
    margin-right: 9px;
  }

  .pre-footer-corporate .facebook-link-panel a {
    padding-left: 16px;
    font-size: 12.75px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pre-footer-corporate .row > [class*="col-"],
  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a {
    transition: none;
  }
}

/* The Polish farm name is longer than its compact mobile card. */
@media (max-width: 374.98px) {
  html[lang="pl"] .page.page-fattoria-didattica .farm-experience .farm-experience__intro h1 {
    font-size: clamp(1.75rem, 9.5vw, 2.3rem) !important;
  }
}

/* Bridge the narrow gap between the ultra-compact and regular price headings. */
@media (min-width: 300px) and (max-width: 319.98px) {
  html body.page-prezzi .page .pricing-feature__header h1 {
    font-size: clamp(2.25rem, 12vw, 2.4rem) !important;
  }
}

/* Keep exceptionally long translated headings whole on ultra-narrow screens. */
@media (max-width: 299.98px) {
  html .page.page.page h1,
  html .page.page.page h2,
  html .page.page.page .agriasilo-feature__title-main {
    font-size: clamp(1.25rem, 8.8vw, 1.5rem) !important;
    letter-spacing: -.04em !important;
  }

  html .page.page.page h3 {
    font-size: clamp(1rem, 7vw, 1.15rem) !important;
    letter-spacing: -.025em !important;
  }

  html .page.page.page h4 {
    font-size: clamp(.95rem, 6.5vw, 1.05rem) !important;
  }

  html .page.page.page .agriasilo-feature__title-kicker {
    font-size: clamp(1.1rem, 8vw, 1.3rem) !important;
  }

  html[lang="pl"] .page.page-fattoria-didattica .farm-experience .farm-experience__intro h1 {
    font-size: clamp(1.25rem, 8.8vw, 1.5rem) !important;
  }
}

/* Paired editorial cards: the shorter side follows the reading flow and
   remains bounded by the end of its own section. */
@media (min-width: 992px) {
  .lrp-sticky-pair-section {
    overflow: clip !important;
  }

  .lrp-sticky-pair {
    overflow: visible !important;
  }

  .lrp-sticky-pair.row-50,
  .lrp-sticky-pair-frame.row-50 {
    margin-bottom: 0 !important;
    transform: none !important;
  }

  .lrp-sticky-pair.row-50 > *,
  .lrp-sticky-pair-frame.row-50 > * {
    margin-top: 0 !important;
  }

  .lrp-sticky-pair.lrp-sticky-pair--active > .lrp-sticky-pair__shorter {
    position: sticky !important;
    z-index: 3;
    top: var(--lrp-sticky-pair-offset, 116px);
    align-self: start !important;
  }
}

@media (max-width: 991.98px) {
  .lrp-sticky-pair > .lrp-sticky-pair__shorter {
    position: static !important;
    top: auto !important;
  }
}

/* Apartment location: a compact, balanced editorial split. */
.page-appartamento .apartment-location {
  position: relative;
  overflow: hidden;
  padding: clamp(76px, 7vw, 112px) 0 !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(220, 158, 48, .1), transparent 27%),
    linear-gradient(132deg, #fbf6ec 0%, #f8f7f1 52%, #edf4ef 100%) !important;
}

.page-appartamento .apartment-location > .container {
  width: min(1320px, calc(100% - 44px));
  max-width: none;
}

.page-appartamento .apartment-location > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(20px, 2.4vw, 34px);
  align-items: stretch;
  margin: 0;
  margin-bottom: 0 !important;
  transform: none !important;
}

.page-appartamento .apartment-location > .container > .row > * {
  min-width: 0;
  margin-top: 0 !important;
}

.page-appartamento .apartment-location > .container > .row > .modern-copy-card {
  position: relative;
  display: flex;
  flex: none;
  flex-direction: column;
  justify-content: center;
  width: auto;
  max-width: none;
  min-height: 100%;
  margin: 0;
  padding: clamp(38px, 4.4vw, 62px) !important;
  overflow: hidden;
  color: #fffdf8;
  background:
    radial-gradient(circle at 10% 7%, rgba(255, 255, 255, .09), transparent 31%),
    linear-gradient(145deg, #174c3c 0%, #0b362d 100%) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: clamp(30px, 3vw, 40px) !important;
  box-shadow: 0 28px 60px rgba(9, 48, 39, .16) !important;
}

.page-appartamento .apartment-location > .container > .row > .modern-copy-card::before {
  position: absolute;
  top: 0;
  right: clamp(34px, 4vw, 56px);
  bottom: auto;
  left: clamp(34px, 4vw, 56px);
  width: auto;
  height: 5px;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(90deg, #d99a2d, #f3d487) !important;
  content: "";
}

.page-appartamento .apartment-location .modern-copy-card h2 {
  max-width: 8.8em;
  margin: 0;
  color: #fffdf8;
  font-size: clamp(2.65rem, 4.15vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.page-appartamento .apartment-location .modern-copy-card h2::after {
  display: block;
  width: 66px;
  height: 4px;
  margin-top: 25px;
  border-radius: 999px;
  background: #efc56e;
  content: "";
}

.page-appartamento .apartment-location .modern-copy-card p {
  max-width: 37em;
  margin-top: 24px;
  color: rgba(255, 253, 248, .82);
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.65;
}

.page-appartamento .apartment-location .modern-copy-card > .button {
  align-self: flex-start;
  width: auto;
  min-width: 250px;
  max-width: 100%;
  margin-top: 31px;
  padding: 18px 28px;
  color: #0b3c31 !important;
  background: linear-gradient(135deg, #f3cf81, #eab85b) !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  box-shadow: 0 14px 28px rgba(2, 25, 20, .24);
}

.page-appartamento .apartment-location > .container > .row > .modern-media-card {
  position: relative;
  display: block;
  flex: none;
  width: auto;
  max-width: none;
  min-height: 100%;
  margin: 0;
  padding: 8px !important;
  overflow: hidden;
  background: #fffdf8 !important;
  border: 1px solid rgba(11, 60, 49, .13) !important;
  border-radius: clamp(30px, 3vw, 40px) !important;
  box-shadow: 0 28px 60px rgba(9, 48, 39, .14) !important;
}

.page-appartamento .apartment-location .modern-media-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: clamp(24px, 2.5vw, 33px) !important;
  transition: transform .45s ease, filter .45s ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-appartamento .apartment-location .modern-copy-card > .button:hover,
  .page-appartamento .apartment-location .modern-copy-card > .button:focus-visible {
    color: #0b3c31 !important;
    background: #fffdf8 !important;
    border-color: #fffdf8 !important;
    transform: translateY(-2px);
  }

  .page-appartamento .apartment-location .modern-media-card:hover img {
    transform: scale(1.018);
    filter: saturate(1.04) contrast(1.02);
  }
}

@media (max-width: 991.98px) {
  .page-appartamento .apartment-location > .container > .row {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card,
  .page-appartamento .apartment-location > .container > .row > .modern-media-card {
    width: auto;
    max-width: none;
    min-height: 0;
  }

  .page-appartamento .apartment-location .modern-copy-card h2 {
    max-width: 10.5em;
  }

  .page-appartamento .apartment-location .modern-copy-card p {
    max-width: 48em;
  }

  .page-appartamento .apartment-location .modern-media-card img {
    height: auto;
  }
}

@media (max-width: 767.98px) {
  .page-appartamento .apartment-location {
    padding: 58px 0 !important;
  }

  .page-appartamento .apartment-location > .container {
    width: calc(100% - 18px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page-appartamento .apartment-location > .container > .row {
    gap: 16px;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    padding: 32px 23px 29px !important;
    border-radius: 25px !important;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card::before {
    right: 24px;
    left: 24px;
    height: 4px;
  }

  .page-appartamento .apartment-location .modern-copy-card h2 {
    font-size: clamp(2.15rem, 10.5vw, 3rem);
    line-height: 1;
  }

  .page-appartamento .apartment-location .modern-copy-card h2::after {
    width: 52px;
    height: 3px;
    margin-top: 20px;
  }

  .page-appartamento .apartment-location .modern-copy-card p {
    margin-top: 20px;
    font-size: 15.5px !important;
    line-height: 1.58;
  }

  .page-appartamento .apartment-location .modern-copy-card > .button {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    margin-top: 25px;
    padding: 16px 18px;
    white-space: normal;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-media-card {
    padding: 5px !important;
    border-radius: 24px !important;
  }

  .page-appartamento .apartment-location .modern-media-card img {
    border-radius: 19px !important;
  }
}

@media (max-width: 359.98px) {
  .page-appartamento .apartment-location > .container {
    width: calc(100% - 12px) !important;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento .apartment-location .modern-media-card img,
  .page-appartamento .apartment-location .modern-copy-card > .button {
    transition: none;
  }
}

/* Apartment location: immersive editorial card with an authentic exterior photo. */
.page-appartamento .apartment-location {
  padding: clamp(66px, 6vw, 104px) 0 !important;
  background:
    radial-gradient(circle at 6% 10%, rgba(220, 158, 48, .11), transparent 26%),
    linear-gradient(145deg, #f7f1e6 0%, #fffdf8 52%, #edf3ef 100%) !important;
}

.page-appartamento .apartment-location > .container {
  width: min(1580px, calc(100% - clamp(28px, 4vw, 72px)));
  max-width: none;
}

.page-appartamento .apartment-location > .container > .row {
  position: relative;
  display: grid;
  min-height: clamp(540px, 42vw, 680px);
  margin: 0 !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  isolation: isolate;
  background: #0b382f;
  border: 1px solid rgba(11, 60, 49, .14);
  border-radius: clamp(28px, 2.6vw, 42px);
  box-shadow: 0 32px 82px rgba(9, 48, 39, .2);
}

.page-appartamento .apartment-location > .container > .row::before {
  position: absolute;
  z-index: 4;
  top: 0;
  right: clamp(32px, 4vw, 68px);
  left: clamp(32px, 4vw, 68px);
  height: 5px;
  background: linear-gradient(90deg, #d99a2d, #f3d487 52%, rgba(243, 212, 135, .16));
  border-radius: 0 0 8px 8px;
  content: "";
  pointer-events: none;
}

.page-appartamento .apartment-location__visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #173e34;
}

.page-appartamento .apartment-location__visual::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, transparent 56%, rgba(8, 45, 38, .22) 80%, rgba(8, 45, 38, .7) 100%),
    linear-gradient(0deg, rgba(5, 35, 29, .48), transparent 38%);
  content: "";
  pointer-events: none;
}

.page-appartamento .apartment-location__visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 45% center;
  transition: transform .7s cubic-bezier(.2, .65, .3, 1), filter .7s ease;
}

.page-appartamento .apartment-location__visual figcaption {
  position: absolute;
  z-index: 2;
  right: clamp(24px, 3vw, 42px);
  bottom: clamp(24px, 3vw, 42px);
  left: clamp(24px, 3vw, 42px);
  display: flex;
  width: fit-content;
  max-width: calc(100% - clamp(48px, 6vw, 84px));
  padding: 13px 16px 12px;
  flex-direction: column;
  gap: 3px;
  color: #fffdf8;
  background: rgba(7, 45, 37, .78);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(3, 27, 22, .24);
  backdrop-filter: blur(8px);
}

.page-appartamento .apartment-location__visual figcaption strong,
.page-appartamento .apartment-location__visual figcaption span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-appartamento .apartment-location__visual figcaption strong {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(12px, .35vw + 8px, 14px);
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.35;
}

.page-appartamento .apartment-location__visual figcaption span {
  color: rgba(255, 253, 248, .76);
  font-size: clamp(10px, .28vw + 7px, 12px);
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-appartamento .apartment-location > .container > .row > .modern-copy-card {
  position: relative;
  z-index: 2;
  display: flex;
  width: auto;
  max-width: none;
  min-height: 100%;
  margin: 0;
  padding: clamp(46px, 5vw, 78px) clamp(40px, 4.8vw, 72px) !important;
  flex: none;
  flex-direction: column;
  justify-content: center;
  color: #fffdf8;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .07), transparent 34%),
    linear-gradient(145deg, #145141 0%, #0b382f 66%, #082d26 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: -32px 0 70px rgba(5, 35, 29, .18) !important;
}

.page-appartamento .apartment-location > .container > .row > .modern-copy-card::before {
  display: none;
  content: none;
}

.page-appartamento .apartment-location__eyebrow {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  align-items: center;
  color: #f3ce7f;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(10.5px, .25vw + 8px, 12.5px);
  font-weight: 800;
  letter-spacing: .105em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-appartamento .apartment-location__eyebrow::before {
  width: 28px;
  height: 1px;
  margin-right: 11px;
  flex: 0 0 auto;
  background: currentColor;
  content: "";
}

.page-appartamento .apartment-location .modern-copy-card h2 {
  max-width: 9.5em;
  margin: 0;
  color: #fffdf8;
  font-size: clamp(2.75rem, 3.45vw, 4.45rem);
  line-height: 1.01;
  letter-spacing: -.043em;
  text-wrap: balance;
}

.page-appartamento .apartment-location .modern-copy-card h2::after {
  display: block;
  width: clamp(56px, 4vw, 74px);
  height: 3px;
  margin-top: clamp(22px, 2.2vw, 30px);
  background: linear-gradient(90deg, #efc56e, rgba(239, 197, 110, .3));
  border-radius: 999px;
  content: "";
}

.page-appartamento .apartment-location .modern-copy-card p {
  max-width: 37em;
  margin: clamp(22px, 2vw, 29px) 0 0;
  color: rgba(255, 253, 248, .84);
  font-size: clamp(16px, .35vw + 13px, 19px) !important;
  line-height: 1.66;
}

.page-appartamento .apartment-location .modern-copy-card > .button {
  align-self: flex-start;
  width: fit-content;
  min-width: 250px;
  max-width: 100%;
  min-height: 56px;
  margin-top: clamp(27px, 2.5vw, 36px);
  padding: 16px 25px;
  border-radius: 12px;
  color: #0b3c31 !important;
  background: linear-gradient(135deg, #f3cf81, #eab85b) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  box-shadow: 0 14px 30px rgba(2, 25, 20, .24);
}

@media (hover: hover) and (pointer: fine) {
  .page-appartamento .apartment-location > .container > .row:hover .apartment-location__visual img {
    transform: scale(1.025);
    filter: saturate(1.04) contrast(1.02);
  }

  .page-appartamento .apartment-location .modern-copy-card > .button:hover,
  .page-appartamento .apartment-location .modern-copy-card > .button:focus-visible {
    color: #0b3c31 !important;
    background: #fffdf8 !important;
    border-color: #fffdf8 !important;
    transform: translateY(-2px);
  }
}

@media (max-width: 1199.98px) {
  .page-appartamento .apartment-location > .container > .row {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    padding-right: clamp(36px, 4vw, 54px) !important;
    padding-left: clamp(36px, 4vw, 54px) !important;
  }

  .page-appartamento .apartment-location .modern-copy-card h2 {
    font-size: clamp(2.55rem, 4.1vw, 3.65rem);
  }
}

@media (max-width: 991.98px) {
  .page-appartamento .apartment-location > .container {
    width: min(860px, calc(100% - 36px));
  }

  .page-appartamento .apartment-location > .container > .row {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  .page-appartamento .apartment-location__visual {
    height: clamp(360px, 60vw, 510px);
    min-height: 0;
  }

  .page-appartamento .apartment-location__visual::after {
    background: linear-gradient(0deg, rgba(5, 35, 29, .55), transparent 48%);
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    min-height: 0;
    padding: clamp(42px, 7vw, 62px) !important;
    box-shadow: 0 -28px 62px rgba(5, 35, 29, .18) !important;
  }

  .page-appartamento .apartment-location .modern-copy-card h2 {
    max-width: 11em;
    font-size: clamp(2.7rem, 7.5vw, 4.15rem);
  }

  .page-appartamento .apartment-location .modern-copy-card p {
    max-width: 46em;
  }
}

@media (max-width: 767.98px) {
  .page-appartamento .apartment-location {
    padding: 48px 0 !important;
  }

  .page-appartamento .apartment-location > .container {
    width: calc(100% - 16px) !important;
    padding: 0 !important;
  }

  .page-appartamento .apartment-location > .container > .row {
    border-radius: 24px;
  }

  .page-appartamento .apartment-location > .container > .row::before {
    right: 22px;
    left: 22px;
    height: 4px;
  }

  .page-appartamento .apartment-location__visual {
    height: clamp(270px, 70vw, 420px);
  }

  .page-appartamento .apartment-location__visual img {
    object-position: 42% center;
  }

  .page-appartamento .apartment-location__visual figcaption {
    right: 16px;
    bottom: 16px;
    left: 16px;
    max-width: calc(100% - 32px);
    padding: 10px 12px;
    border-radius: 11px;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    padding: 30px 22px 28px !important;
  }

  .page-appartamento .apartment-location__eyebrow {
    margin-bottom: 14px;
    font-size: 10.25px;
    letter-spacing: .085em;
  }

  .page-appartamento .apartment-location__eyebrow::before {
    width: 20px;
    margin-right: 8px;
  }

  .page-appartamento .apartment-location .modern-copy-card h2 {
    max-width: none;
    font-size: clamp(1.85rem, 8.8vw, 3rem);
    line-height: 1.04;
  }

  .page-appartamento .apartment-location .modern-copy-card h2::after {
    width: 52px;
    height: 3px;
    margin-top: 20px;
  }

  .page-appartamento .apartment-location .modern-copy-card p {
    margin-top: 21px;
    font-size: clamp(15.25px, 4vw, 16.5px) !important;
    line-height: 1.6;
  }

  .page-appartamento .apartment-location .modern-copy-card > .button {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    margin-top: 25px;
    padding: 15px 17px;
    border-radius: 11px;
    white-space: normal;
  }
}

@media (max-width: 359.98px) {
  .page-appartamento .apartment-location > .container {
    width: calc(100% - 12px) !important;
  }

  .page-appartamento .apartment-location__visual {
    height: 245px;
  }

  .page-appartamento .apartment-location > .container > .row > .modern-copy-card {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .page-appartamento .apartment-location__visual figcaption strong {
    font-size: 11.5px;
  }

  .page-appartamento .apartment-location__visual figcaption span {
    font-size: 9.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento .apartment-location__visual img,
  .page-appartamento .apartment-location .modern-copy-card > .button {
    transition: none;
  }
}

/* Preserve the editorial spacing of the wellness introduction on small screens. */
@media (max-width: 767.98px) {
  .page-centro-benessere .wellness-page-intro > .wellness-page-intro__copy-panel {
    width: calc(100% - 20px) !important;
    padding: 32px 20px 30px !important;
  }
}

@media (max-width: 359.98px) {
  .page-centro-benessere .wellness-page-intro > .wellness-page-intro__copy-panel {
    width: calc(100% - 14px) !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Apartment introduction: refined, responsive photo carousel. */
.page-appartamento [data-modern-section="2"] .modern-media-card {
  align-self: center;
  padding: 8px !important;
  overflow: hidden;
  border: 1px solid rgba(13, 59, 49, .16);
  border-radius: clamp(26px, 2.35vw, 36px);
  background: #0d3b31;
  box-shadow: 0 28px 70px rgba(17, 50, 41, .16);
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(19px, 1.85vw, 28px);
  outline: 0;
  background: #fffdf8;
  box-shadow: none;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-stage-outer {
  overflow: hidden;
  border-radius: clamp(19px, 1.85vw, 28px) clamp(19px, 1.85vw, 28px) 0 0;
  background: #ded8cd;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .item,
.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1,
.page-appartamento [data-modern-section="2"] .carousel-post-gallery figure {
  display: block;
  width: 100%;
  margin: 0;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1 {
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  outline: 0;
  cursor: zoom-in;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1::after {
  inset: 10px;
  border-color: rgba(255, 255, 255, .5);
  border-radius: clamp(13px, 1.25vw, 19px);
  transition: border-color .25s ease, box-shadow .25s ease;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery figure {
  aspect-ratio: 4 / 3;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: scale(1.001);
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .3s ease;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .caption {
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 50%;
  background: rgba(10, 55, 46, .78);
  box-shadow: 0 10px 24px rgba(6, 38, 31, .2);
  opacity: 0;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transform: translateY(-5px) scale(.92);
  transition: opacity .22s ease, transform .28s ease, background-color .22s ease;
  pointer-events: none;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .caption .icon {
  color: #f4cf84;
  font-size: 20px;
  line-height: 1;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-dots {
  display: flex;
  min-height: 58px;
  margin: 0;
  padding: 17px 12px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 0 0 clamp(19px, 1.85vw, 28px) clamp(19px, 1.85vw, 28px);
  background: #fffdf8;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-dot {
  width: 9px;
  height: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d4d2cc;
  transition: width .24s ease, background-color .24s ease;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-dot.active {
  width: 30px;
  background: #d59a3c;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:focus-visible {
  outline: 3px solid #f0c975;
  outline-offset: -5px;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:focus-visible .caption {
  opacity: 1;
  transform: none;
}

.page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:focus-visible img {
  filter: saturate(1.025) contrast(1.01);
  transform: scale(1.012);
}

@media (hover: hover) and (pointer: fine) {
  .page-appartamento [data-modern-section="2"] .modern-media-card:hover {
    border-color: rgba(13, 59, 49, .25);
    box-shadow: 0 30px 74px rgba(17, 50, 41, .19);
    transform: none;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:hover img {
    filter: saturate(1.025) contrast(1.01);
    transform: scale(1.012);
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:hover .caption {
    opacity: 1;
    background: rgba(10, 55, 46, .88);
    transform: none;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1:hover::after {
    border-color: rgba(244, 207, 132, .72);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
  }
}

@media (max-width: 575.98px) {
  .page-appartamento [data-modern-section="2"] .modern-media-card {
    padding: 6px !important;
    border-radius: 22px;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery {
    border-radius: 16px;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-stage-outer {
    border-radius: 16px 16px 0 0;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1::after {
    inset: 7px;
    border-radius: 11px;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .caption {
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .caption .icon {
    font-size: 18px;
  }

  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-dots {
    min-height: 50px;
    padding: 14px 9px;
    border-radius: 0 0 16px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento [data-modern-section="2"] .modern-media-card,
  .page-appartamento [data-modern-section="2"] .carousel-post-gallery figure img,
  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .caption,
  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .img-thumbnail-variant-1::after,
  .page-appartamento [data-modern-section="2"] .carousel-post-gallery .owl-dot {
    transition: none;
  }
}

/* Apartment sleeping area and amenities: coordinated editorial cards. */
.page-appartamento .apartment-details {
  position: relative;
  padding: clamp(70px, 7vw, 108px) 0 !important;
  background: linear-gradient(125deg, #fbf6ec 0%, #f7f8f3 58%, #eef4ef 100%) !important;
}

.page-appartamento .apartment-details > .container {
  width: min(1320px, calc(100% - 44px));
  max-width: none;
}

.page-appartamento .apartment-details > .container > .row {
  display: grid;
  margin: 0;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(20px, 2.4vw, 34px);
  align-items: stretch;
}

.page-appartamento .apartment-details .modern-copy-card {
  position: relative;
  display: flex;
  overflow: hidden;
  width: auto;
  max-width: none;
  min-height: 100%;
  margin: 0;
  padding: clamp(34px, 3.4vw, 48px) !important;
  flex: none;
  flex-direction: column;
  background: linear-gradient(145deg, rgba(255, 253, 248, .98), rgba(255, 255, 255, .94));
  border: 1px solid rgba(20, 73, 59, .12);
  border-radius: clamp(25px, 2.4vw, 34px);
  box-shadow: 0 24px 56px rgba(31, 65, 54, .11);
}

.page-appartamento .apartment-details .modern-copy-card:nth-child(2) {
  background: linear-gradient(145deg, rgba(248, 252, 248, .99), rgba(255, 255, 255, .95));
}

.page-appartamento .apartment-details > .container > .row > .modern-copy-card::before {
  top: 0;
  right: clamp(28px, 3.4vw, 48px);
  bottom: auto;
  left: clamp(28px, 3.4vw, 48px);
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, #dca142, #efcc86 62%, rgba(239, 204, 134, 0));
  border-radius: 0 0 999px 999px;
}

.page-appartamento .apartment-details h3 {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: calc(100% - 74px);
  margin: 0;
  align-items: center;
  gap: 15px;
  color: #123f33;
  font-size: clamp(2rem, 2.6vw, 2.75rem);
  font-weight: 690;
  letter-spacing: -.04em;
  line-height: 1.08;
  text-wrap: balance;
}

.page-appartamento .apartment-details h3::before {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  content: "";
  background: #e2a846;
  border: 3px solid #f8e4b7;
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgba(19, 63, 51, .12);
  transform: rotate(45deg);
}

.page-appartamento .apartment-details .apartment-list {
  display: grid;
  margin: clamp(26px, 2.8vw, 36px) 0 0;
  padding: 0;
  flex: 1;
  gap: 11px;
  list-style: none;
}

.page-appartamento .apartment-details .modern-copy-card:first-child .apartment-list {
  grid-template-rows: repeat(3, minmax(62px, 1fr));
}

.page-appartamento .apartment-details .modern-copy-card:nth-child(2) .apartment-list {
  grid-template-rows: repeat(4, minmax(62px, 1fr));
}

.page-appartamento .apartment-details .apartment-list li {
  position: relative;
  display: flex;
  min-height: 62px;
  margin: 0 !important;
  padding: 14px 16px 14px 50px !important;
  align-items: center;
  color: #38584f;
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(20, 73, 59, .1);
  border-radius: 15px;
  font-size: clamp(.93rem, .3vw + .88rem, 1.04rem);
  line-height: 1.48;
}

.page-appartamento .apartment-details .apartment-list li::before {
  position: absolute;
  top: 50%;
  left: 16px;
  display: grid;
  width: 23px;
  height: 23px;
  margin: 0;
  place-items: center;
  color: #123f33;
  content: "✓";
  background: #f0ce87;
  border: 0;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
}

@media (hover: hover) and (pointer: fine) {
  .page-appartamento .apartment-details .modern-copy-card,
  .page-appartamento .apartment-details .apartment-list li {
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
  }

  .page-appartamento .apartment-details .modern-copy-card:hover {
    border-color: rgba(218, 157, 61, .26);
    box-shadow: 0 29px 64px rgba(31, 65, 54, .14);
    transform: translateY(-3px);
  }

  .page-appartamento .apartment-details .apartment-list li:hover {
    background: #fff;
    border-color: rgba(218, 157, 61, .25);
    transform: translateX(3px);
  }
}

@media (max-width: 991.98px) {
  .page-appartamento .apartment-details > .container > .row {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-appartamento .apartment-details .modern-copy-card {
    min-height: 0;
  }

  .page-appartamento .apartment-details .modern-copy-card:first-child .apartment-list,
  .page-appartamento .apartment-details .modern-copy-card:nth-child(2) .apartment-list {
    grid-template-rows: none;
  }
}

@media (max-width: 767.98px) {
  .page-appartamento .apartment-details {
    padding: 58px 0 !important;
  }

  .page-appartamento .apartment-details > .container {
    width: calc(100% - 18px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page-appartamento .apartment-details > .container > .row {
    gap: 16px;
  }

  .page-appartamento .apartment-details .modern-copy-card {
    padding: 28px 20px !important;
    border-radius: 24px;
  }

  .page-appartamento .apartment-details .modern-copy-card::before {
    right: 22px;
    left: 22px;
  }

  .page-appartamento .apartment-details .modern-copy-card::after {
    top: 26px;
    right: 22px;
    font-size: 2.1rem;
  }

  .page-appartamento .apartment-details h3 {
    max-width: calc(100% - 58px);
    gap: 12px;
    font-size: clamp(1.7rem, 8vw, 2.15rem);
  }

  .page-appartamento .apartment-details h3::before {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
  }

  .page-appartamento .apartment-details .apartment-list {
    margin-top: 24px;
    gap: 9px;
  }

  .page-appartamento .apartment-details .apartment-list li {
    min-height: 58px;
    padding: 13px 13px 13px 47px !important;
    border-radius: 13px;
    font-size: 15.25px;
  }

  .page-appartamento .apartment-details .apartment-list li::before {
    left: 14px;
    width: 22px;
    height: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento .apartment-details .modern-copy-card,
  .page-appartamento .apartment-details .apartment-list li {
    transition: none;
  }
}

/* Apartment seasonal rates: one coherent header and two aligned plan cards. */
.page-appartamento .apartment-pricing {
  position: relative;
  padding: clamp(76px, 7.5vw, 116px) 0 !important;
  background: linear-gradient(132deg, #fbf7ef 0%, #f8f7f1 52%, #edf4ef 100%) !important;
}

.page-appartamento .apartment-pricing > .container {
  width: min(1320px, calc(100% - 44px));
  max-width: none;
}

.page-appartamento .apartment-pricing > .container > .row {
  margin-right: 0;
  margin-left: 0;
}

.page-appartamento .apartment-pricing > .container > .row:first-child {
  display: block;
}

.page-appartamento .apartment-pricing > .container > .row:first-child > .modern-copy-card {
  display: grid;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(34px, 4vw, 54px) clamp(30px, 5vw, 68px) !important;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(24px, 3.4vw, 46px);
  align-items: center;
  color: #fff;
  background: linear-gradient(128deg, #164d40 0%, #0e3b31 58%, #082e27 100%) !important;
  border: 1px solid rgba(239, 201, 118, .24);
  border-radius: clamp(27px, 2.7vw, 38px);
  box-shadow: 0 30px 72px rgba(10, 48, 40, .22);
  text-align: left !important;
}

.page-appartamento .apartment-pricing > .container > .row:first-child > .modern-copy-card::before {
  top: 0;
  right: clamp(32px, 5vw, 68px);
  bottom: auto;
  left: clamp(32px, 5vw, 68px);
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, #e0a746, #f3d797 62%, rgba(243, 215, 151, 0));
  border-radius: 0 0 999px 999px;
}

.page-appartamento .apartment-pricing h6 {
  display: inline-flex;
  min-width: 94px;
  min-height: 94px;
  margin: 0;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: center;
  color: #173f34;
  background: #efca7b;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 16px 34px rgba(0, 0, 0, .16);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
}

.page-appartamento .apartment-pricing h6::before {
  display: none;
  content: none;
}

.page-appartamento .apartment-pricing > .container > .row:first-child h2 {
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.75rem, 4.7vw, 5.1rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}

.page-appartamento .apartment-pricing > .container > .row:first-child p {
  margin: clamp(15px, 1.7vw, 22px) 0 0;
  color: rgba(255, 255, 255, .78) !important;
  font-size: clamp(1rem, .55vw + .9rem, 1.18rem) !important;
  line-height: 1.58 !important;
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) {
  display: grid;
  margin-top: clamp(24px, 2.7vw, 36px);
  margin-bottom: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 32px);
  align-items: stretch;
  transform: none;
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card {
  position: relative;
  display: flex;
  overflow: hidden;
  width: auto;
  max-width: none;
  min-height: 100%;
  margin: 0;
  padding: clamp(30px, 3vw, 42px) !important;
  flex: none;
  flex-direction: column;
  background: rgba(255, 255, 255, .93);
  border: 1px solid rgba(18, 63, 51, .11);
  border-radius: clamp(25px, 2.5vw, 34px);
  box-shadow: 0 24px 58px rgba(24, 62, 51, .11);
  text-align: left;
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card:nth-child(2) {
  background: linear-gradient(145deg, rgba(248, 252, 248, .98), rgba(255, 255, 255, .95));
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card::before {
  top: 0;
  right: clamp(28px, 3vw, 42px);
  bottom: auto;
  left: clamp(28px, 3vw, 42px);
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, #dda241, #f0cf8d 62%, rgba(240, 207, 141, 0));
  border-radius: 0 0 999px 999px;
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card:nth-child(2)::before {
  background: linear-gradient(90deg, #2f7865, #91b8aa 62%, rgba(145, 184, 170, 0));
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card::after {
  display: none;
  content: none;
}

.page-appartamento .apartment-pricing__season-keyword {
  position: relative;
  z-index: 2;
  display: inline-flex;
  width: fit-content;
  max-width: min(100%, 360px);
  min-height: 50px;
  margin: 0 0 16px auto;
  padding: 8px 12px;
  align-items: center;
  justify-content: flex-end;
  color: #76571f;
  background: rgba(239, 202, 123, .28);
  border: 1px solid rgba(178, 126, 39, .16);
  border-radius: 13px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(.68rem, .28vw + .62rem, .78rem);
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.3;
  text-align: right;
  text-transform: uppercase;
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card:nth-child(2) .apartment-pricing__season-keyword {
  color: #285d4f;
  background: rgba(77, 139, 120, .12);
  border-color: rgba(45, 112, 92, .14);
}

.page-appartamento .apartment-pricing > .container > .row:nth-child(2) h3 {
  position: relative;
  z-index: 1;
  max-width: 100%;
  margin: 0;
  color: #123f33;
  font-size: clamp(1.9rem, 2.7vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.05;
  text-wrap: balance;
}

.page-appartamento .apartment-pricing .table-custom-responsive {
  overflow: hidden;
  width: 100%;
  margin: clamp(24px, 2.7vw, 34px) 0 0;
  border: 1px solid rgba(18, 63, 51, .11);
  border-radius: 19px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.page-appartamento .apartment-pricing .table-custom {
  display: table !important;
  width: 100%;
  min-width: 0;
  margin: 0;
  table-layout: fixed;
  border: 0;
}

.page-appartamento .apartment-pricing .table-custom th,
.page-appartamento .apartment-pricing .table-custom td {
  height: auto;
  padding: 16px 18px !important;
  border-right: 0;
  border-bottom: 1px solid rgba(18, 63, 51, .09);
  font-size: clamp(.85rem, .28vw + .8rem, .98rem);
  line-height: 1.42;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

.page-appartamento .apartment-pricing .table-custom th {
  color: #fff;
  background: #123f33;
  font-size: .76rem;
  font-weight: 820;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.page-appartamento .apartment-pricing .table-custom th:first-child,
.page-appartamento .apartment-pricing .table-custom td:first-child {
  width: 63%;
}

.page-appartamento .apartment-pricing .table-custom th:last-child,
.page-appartamento .apartment-pricing .table-custom td:last-child {
  width: 37%;
}

/* The generic table theme also targets the first body row: explicitly restore
   readable sentence case and normal tracking for every pricing value. */
.page-appartamento .apartment-pricing .table-custom tbody td {
  font-family: inherit;
  font-weight: 520;
  letter-spacing: -.012em;
  text-transform: none;
  text-wrap: pretty;
}

.page-appartamento .apartment-pricing .table-custom tbody tr:nth-child(odd) td {
  background: rgba(240, 244, 241, .7);
}

.page-appartamento .apartment-pricing .table-custom tbody tr:nth-child(even) td {
  background: rgba(250, 247, 240, .78);
}

.page-appartamento .apartment-pricing .table-custom tbody tr:last-child td {
  border-bottom: 0;
}

.page-appartamento .apartment-pricing .table-custom td:last-child {
  color: #123f33;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
}

.page-appartamento .apartment-pricing .apartment-price-note {
  position: relative;
  display: flex;
  min-height: 142px;
  margin: 22px 0 0;
  padding: clamp(22px, 2.2vw, 28px) clamp(20px, 2.2vw, 28px) clamp(22px, 2.2vw, 28px) clamp(68px, 5.5vw, 78px);
  flex: 1;
  align-items: center;
  color: #244f43 !important;
  background: linear-gradient(135deg, #fbf6e9, #eef5ef);
  border: 1px solid rgba(35, 106, 87, .11);
  border-left: 4px solid #dca142;
  border-radius: 17px;
  font-size: clamp(.94rem, .35vw + .87rem, 1.06rem) !important;
  font-style: normal;
  font-weight: 520;
  line-height: 1.62 !important;
}

.page-appartamento .apartment-pricing .apartment-price-note::before {
  position: absolute;
  top: 50%;
  left: clamp(18px, 2vw, 25px);
  display: grid;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  content: "i";
  color: #fff;
  background: #c98f32;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(143, 94, 24, .20);
  font-family: Georgia, serif;
  font-size: 1.08rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}

@media (hover: hover) and (pointer: fine) {
  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card,
  .page-appartamento .apartment-pricing .table-custom tbody td {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .24s ease;
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card:hover {
    border-color: rgba(220, 161, 66, .24);
    box-shadow: 0 29px 66px rgba(24, 62, 51, .14);
    transform: translateY(-3px);
  }

  .page-appartamento .apartment-pricing .table-custom tbody tr:hover td {
    background: #fff;
  }
}

@media (max-width: 991.98px) {
  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card {
    min-height: 0;
  }

  .page-appartamento .apartment-pricing .apartment-price-note {
    min-height: 0;
  }
}

@media (max-width: 767.98px) {
  .page-appartamento .apartment-pricing {
    padding: 60px 0 !important;
  }

  .page-appartamento .apartment-pricing > .container {
    width: calc(100% - 18px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page-appartamento .apartment-pricing > .container > .row:first-child > .modern-copy-card {
    padding: 27px 20px 25px !important;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
    border-radius: 25px;
  }

  .page-appartamento .apartment-pricing h6 {
    min-width: 72px;
    min-height: 42px;
    width: fit-content;
    padding: 8px 13px;
    grid-row: auto;
    border-radius: 13px;
    font-size: .8rem;
  }

  .page-appartamento .apartment-pricing > .container > .row:first-child h2 {
    font-size: clamp(2.2rem, 10vw, 3rem);
    line-height: 1;
  }

  .page-appartamento .apartment-pricing > .container > .row:first-child p {
    margin-top: 0;
    font-size: 15.5px !important;
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) {
    margin-top: 17px;
    gap: 16px;
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card {
    padding: 27px 16px 17px !important;
    border-radius: 24px;
  }

  .page-appartamento .apartment-pricing__season-keyword {
    max-width: 100%;
    min-height: 0;
    margin: 0 0 13px;
    padding: 7px 10px;
    align-self: flex-start;
    justify-content: flex-start;
    font-size: 10.75px;
    text-align: left;
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) h3 {
    max-width: 100%;
    font-size: clamp(1.7rem, 8vw, 2.1rem);
  }

  .page-appartamento .apartment-pricing .table-custom-responsive {
    margin-top: 22px;
    border-radius: 15px;
  }

  .page-appartamento .apartment-pricing .table-custom th,
  .page-appartamento .apartment-pricing .table-custom td {
    padding: 14px 12px !important;
    font-size: 14px !important;
    line-height: 1.46;
  }

  .page-appartamento .apartment-pricing .table-custom th {
    font-size: 10.5px !important;
    letter-spacing: .065em;
  }

  .page-appartamento .apartment-pricing .table-custom th:first-child,
  .page-appartamento .apartment-pricing .table-custom td:first-child {
    width: 63%;
  }

  .page-appartamento .apartment-pricing .table-custom th:last-child,
  .page-appartamento .apartment-pricing .table-custom td:last-child {
    width: 37%;
  }

  .page-appartamento .apartment-pricing .apartment-price-note {
    margin-top: 16px;
    padding: 20px 18px 20px 60px;
    border-radius: 14px;
    font-size: 14.5px !important;
    line-height: 1.58 !important;
  }

  .page-appartamento .apartment-pricing .apartment-price-note::before {
    left: 17px;
    width: 30px;
    height: 30px;
    font-size: 1rem;
  }
}

@media (max-width: 359.98px) {
  .page-appartamento .apartment-pricing > .container {
    width: calc(100% - 12px) !important;
  }

  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .page-appartamento .apartment-pricing .table-custom th,
  .page-appartamento .apartment-pricing .table-custom td {
    padding: 13px 7px !important;
    font-size: 12.5px !important;
  }

  .page-appartamento .apartment-pricing .table-custom th:first-child,
  .page-appartamento .apartment-pricing .table-custom td:first-child {
    width: 58%;
  }

  .page-appartamento .apartment-pricing .table-custom th:last-child,
  .page-appartamento .apartment-pricing .table-custom td:last-child {
    width: 42%;
  }

  .page-appartamento .apartment-pricing .apartment-price-note {
    padding: 18px 15px 18px 53px;
    font-size: 13.5px !important;
  }

  .page-appartamento .apartment-pricing .apartment-price-note::before {
    left: 14px;
    width: 27px;
    height: 27px;
    font-size: .92rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento .apartment-pricing > .container > .row:nth-child(2) > .modern-copy-card,
  .page-appartamento .apartment-pricing .table-custom tbody td {
    transition: none;
  }
}

/* Contact card: keep only the official logo watermark, without circle ornaments. */
.page-contatti .contact-primary-card::before,
.page-contatti .contact-primary-card::after {
  display: none;
  content: none;
}

.page-contatti .contact-primary-card__watermark {
  position: absolute;
  z-index: 0;
  top: clamp(34px, 4vw, 54px);
  right: clamp(20px, 3.2vw, 42px);
  display: block;
  width: min(238px, 43%);
  height: auto;
  margin: 0;
  opacity: .12;
  filter: saturate(.72);
  pointer-events: none;
  user-select: none;
}

@media (max-width: 767.98px) {
  .page-contatti .contact-primary-card__watermark {
    top: 26px;
    right: 18px;
    width: min(174px, 46%);
    opacity: .1;
  }
}

/* Contact details: accessible, consistently readable supporting typography. */
.page-contatti .contact-detail-card__eyebrow {
  color: var(--lrp-ink-soft);
  font-size: clamp(12px, .95vw, 13px);
  line-height: 1.45;
  letter-spacing: .11em;
}

.page-contatti .contact-detail-card address,
.page-contatti .contact-detail-card p {
  font-size: clamp(16px, 1.28vw, 17px);
  line-height: 1.68;
}

.page-contatti .contact-detail-card__link {
  font-size: clamp(12.5px, 1vw, 13.5px);
  line-height: 1.4;
  letter-spacing: .065em;
}

.page-contatti .contact-property-data > div {
  gap: 16px;
  padding: 13px 0;
}

.page-contatti .contact-property-data dt {
  color: var(--lrp-ink-soft);
  font-size: clamp(11.5px, .9vw, 12.5px);
  line-height: 1.45;
  letter-spacing: .09em;
}

.page-contatti .contact-property-data dd {
  font-size: clamp(13px, 1.05vw, 14px);
  font-weight: 700;
  line-height: 1.45;
}

.page-contatti .contact-detail-card--pets p {
  max-width: 900px;
  margin-top: 15px;
}

@media (max-width: 419.98px) {
  .page-contatti .contact-detail-card__eyebrow {
    font-size: 12px;
    letter-spacing: .09em;
  }

  .page-contatti .contact-detail-card address,
  .page-contatti .contact-detail-card p {
    font-size: 16px;
  }

  .page-contatti .contact-property-data > div {
    gap: 5px;
    padding: 12px 0;
  }

  .page-contatti .contact-property-data dd {
    font-size: 13.5px;
  }
}

/* Site-wide mobile readability audit: keep supporting copy legible everywhere. */
@media (max-width: 767.98px) {
  .page .modern-hero h6,
  .page .modern-section h6,
  .page .modern-section [class*="__eyebrow"],
  .page .modern-section [class*="__kicker"],
  .page .modern-section [class*="__availability"],
  .page .modern-section [class*="__gallery-count"],
  .page .modern-section [class*="__poster-action"],
  .page .modern-section [class*="__map-cta"],
  .page .modern-section [class*="__coordinates"],
  .page .modern-section [class*="__place"],
  .page .modern-section [class*="__badge"],
  .page .contact-hero__eyebrow,
  .page .contact-section-kicker,
  .page .contact-primary-card__eyebrow,
  .page .home-story__location,
  .page .home-project__place {
    font-size: clamp(12px, 3.25vw, 13px) !important;
    line-height: 1.45 !important;
    letter-spacing: .09em !important;
  }

  .page .modern-hero p:not([class*="__eyebrow"]),
  .page .apartment-hero p {
    font-size: clamp(16px, 4.25vw, 17px) !important;
    line-height: 1.65 !important;
  }

  .page .button,
  .page button.external-media-consent__button,
  .page .dance-event__button {
    min-height: 48px;
    font-size: clamp(13px, 3.55vw, 14px) !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  .page .modern-section small,
  .page .modern-section .cite,
  .page .modern-section .quote-review .cite {
    font-size: clamp(12.5px, 3.35vw, 13.25px) !important;
    line-height: 1.5 !important;
  }

  .page .pricing-period__range span {
    font-size: clamp(13px, 3.55vw, 14px) !important;
    line-height: 1.4;
  }

  .page .pricing-booking__iban span {
    font-size: 12px !important;
  }

  .page .pricing-booking__iban strong {
    font-size: clamp(12.5px, 3.3vw, 13.25px) !important;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .page .table-custom th,
  .page .table-custom td {
    font-size: clamp(13.5px, 3.65vw, 14.5px) !important;
    line-height: 1.5;
  }

  .page .dance-event__time {
    font-size: 14px !important;
  }

  .page .pre-footer-corporate h6 {
    font-size: clamp(13px, 3.5vw, 14px) !important;
    line-height: 1.45;
  }

  .page .footer-corporate .footer-legal,
  .page .footer-corporate .footer-legal a,
  .page .footer-corporate .footer-credit,
  .page .footer-corporate .footer-credit a,
  .page .cookie-technical-notice {
    font-size: clamp(13px, 3.45vw, 13.75px) !important;
    line-height: 1.6 !important;
  }
}

/* Dintorni: panorama and interactive sports map. */
.page-dintorni .surroundings-media {
  position: relative;
  padding: clamp(64px, 6.8vw, 108px) 0 !important;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(145deg, #f8f4eb 0%, #fffdf8 56%, #f4eee2 100%) !important;
}

.page-dintorni .surroundings-media::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: min(calc(100% - 48px), 1500px);
  height: 1px;
  content: "";
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(218, 156, 54, .62), transparent);
}

.page-dintorni .surroundings-media > .container {
  width: min(calc(100% - 48px), 1500px);
  max-width: none;
}

.page-dintorni .surroundings-media__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .82fr);
  gap: clamp(20px, 2vw, 32px);
  align-items: stretch;
}

.page-dintorni .surroundings-media__panorama,
.page-dintorni .surroundings-media__map {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(15, 60, 49, .13);
  border-radius: clamp(24px, 2vw, 34px);
  background: #fff;
  box-shadow: 0 28px 70px rgba(19, 50, 41, .12);
}

.page-dintorni .surroundings-media__figure {
  position: relative;
  height: 100%;
  min-height: clamp(470px, 42vw, 620px);
  margin: 0;
  overflow: hidden;
  background: #163e34;
}

.page-dintorni .surroundings-media__figure::after {
  position: absolute;
  inset: 34% 0 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(3, 28, 22, .80));
}

.page-dintorni .surroundings-media__figure > img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: 50% 52%;
  border: 0;
  border-radius: 0;
  transform: scale(1.01);
  transition: transform .55s cubic-bezier(.2, .7, .2, 1);
}

.page-dintorni .surroundings-media__caption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 9px;
  padding: clamp(27px, 3.3vw, 48px);
  color: #fff;
  text-align: left;
}

.page-dintorni .surroundings-media__eyebrow {
  display: block;
  color: #efc773;
  font-size: clamp(10px, .68vw, 12px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.page-dintorni .surroundings-media__caption strong {
  max-width: 720px;
  color: #fff;
  font-size: clamp(24px, 2.15vw, 36px);
  font-weight: 750;
  line-height: 1.14;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.page-dintorni .surroundings-media__map {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  color: #fff !important;
  text-decoration: none !important;
  background: #0d3c32;
  transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.page-dintorni .surroundings-media__map > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: contain;
  object-position: 50% 50%;
  background: #f4a13e;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.page-dintorni .surroundings-media__map-copy {
  display: grid;
  gap: 9px;
  padding: clamp(24px, 2.25vw, 34px);
  color: #fff;
  text-align: left;
  background: linear-gradient(145deg, #123f35, #082f27);
}

.page-dintorni .surroundings-media__map-copy strong {
  color: #fff;
  font-size: clamp(20px, 1.45vw, 25px);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.page-dintorni .surroundings-media__map-cta {
  display: inline-flex;
  width: fit-content;
  margin-top: 11px;
  padding: 10px 13px;
  align-items: center;
  gap: 9px;
  color: #102f28;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .07em;
  text-transform: uppercase;
  border-radius: 10px;
  background: #efc773;
}

@media (hover: hover) and (pointer: fine) {
  .page-dintorni .surroundings-media__panorama:hover .surroundings-media__figure > img {
    transform: scale(1.045);
  }

  .page-dintorni .surroundings-media__map:hover,
  .page-dintorni .surroundings-media__map:focus-visible {
    color: #fff !important;
    border-color: rgba(217, 160, 64, .65);
    box-shadow: 0 34px 82px rgba(19, 50, 41, .18);
    transform: translateY(-5px);
  }

  .page-dintorni .surroundings-media__map:hover > img,
  .page-dintorni .surroundings-media__map:focus-visible > img {
    filter: saturate(1.07) contrast(1.03);
    transform: scale(1.035);
  }
}

@media (max-width: 991.98px) {
  .page-dintorni .surroundings-media__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 820px;
    margin: 0 auto;
  }

  .page-dintorni .surroundings-media__figure {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .page-dintorni .surroundings-media__map {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    grid-template-rows: minmax(0, 1fr);
  }

  .page-dintorni .surroundings-media__map > img {
    min-height: 320px;
  }
}

@media (max-width: 575.98px) {
  .page-dintorni .surroundings-media {
    padding: 54px 0 62px !important;
  }

  .page-dintorni .surroundings-media > .container,
  .page-dintorni .surroundings-media::before {
    width: calc(100% - 28px);
  }

  .page-dintorni .surroundings-media__grid {
    gap: 18px;
  }

  .page-dintorni .surroundings-media__panorama,
  .page-dintorni .surroundings-media__map {
    border-radius: 22px;
  }

  .page-dintorni .surroundings-media__figure {
    aspect-ratio: 4 / 3;
  }

  .page-dintorni .surroundings-media__caption {
    padding: 23px 21px;
  }

  .page-dintorni .surroundings-media__caption strong {
    font-size: clamp(21px, 7.2vw, 27px);
  }

  .page-dintorni .surroundings-media__map {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  .page-dintorni .surroundings-media__map > img {
    height: auto;
    min-height: 0;
    aspect-ratio: 400 / 321;
  }

  .page-dintorni .surroundings-media__map-copy {
    padding: 23px 21px 25px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-dintorni .surroundings-media__figure > img,
  .page-dintorni .surroundings-media__map,
  .page-dintorni .surroundings-media__map > img {
    transition: none;
  }
}

/* Restaurant: editorial food story and refined dish gallery. */
.page-ristorante .restaurant-intro {
  position: relative;
  padding: clamp(68px, 7vw, 112px) 0 !important;
  overflow: hidden;
  background: linear-gradient(145deg, #fffdf8 0%, #f7f1e6 100%) !important;
}

.page-ristorante .restaurant-intro::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100% - 48px), 1500px);
  height: 1px;
  content: "";
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(212, 149, 47, .64), transparent);
}

.page-ristorante .restaurant-intro > .container {
  width: min(calc(100% - 48px), 1500px);
  max-width: none;
}

.page-ristorante .restaurant-intro > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(22px, 2.5vw, 38px);
  margin: 0;
  align-items: center;
}

.page-ristorante .restaurant-intro > .container > .row > [class*="col-"] {
  width: 100%;
  max-width: none;
  margin: 0;
  flex: none;
}

.page-ristorante .restaurant-intro .modern-copy-card {
  display: flex;
  padding: clamp(38px, 4.3vw, 64px) !important;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(19, 60, 49, .11);
  border-radius: clamp(25px, 2vw, 34px);
  background: linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(250, 246, 237, .94));
  box-shadow: 0 26px 72px rgba(22, 55, 45, .10);
}

.page-ristorante .restaurant-intro .modern-copy-card::before {
  display: none;
}

.page-ristorante .restaurant-intro h6 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 27px;
  padding: 9px 13px;
  align-items: center;
  gap: 9px;
  color: #925c0b;
  font-size: clamp(10px, .7vw, 12px);
  font-weight: 820;
  line-height: 1.42;
  letter-spacing: .105em;
  text-transform: uppercase;
  border: 1px solid rgba(187, 126, 28, .20);
  border-radius: 11px;
  background: rgba(249, 237, 214, .72);
}

.page-ristorante .restaurant-intro h6::before {
  width: 20px;
  height: 2px;
  flex: 0 0 20px;
  content: "";
  border-radius: 99px;
  background: #dca13b;
}

.page-ristorante .restaurant-intro h1 {
  max-width: 720px;
  margin: 0;
  color: #0c3d32;
  font-size: clamp(3.25rem, 4.45vw, 5rem);
  font-weight: 760;
  line-height: .98;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.page-ristorante .restaurant-intro h1::after {
  display: block;
  width: clamp(72px, 6.5vw, 104px);
  height: 4px;
  margin-top: 23px;
  content: "";
  border-radius: 99px;
  background: linear-gradient(90deg, #dca13b, #8d111b);
}

.page-ristorante .restaurant-intro__body {
  display: grid;
  gap: 15px;
  max-width: 690px;
  margin-top: clamp(29px, 3.2vw, 42px);
  color: #45645a;
}

.page-ristorante .restaurant-intro__body p {
  margin: 0;
  color: inherit;
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.68;
  text-wrap: pretty;
}

.page-ristorante .restaurant-intro__body .restaurant-intro__lead {
  color: #173f35;
  font-size: clamp(17px, 1.16vw, 19.5px);
  font-weight: 600;
  line-height: 1.58;
}

.page-ristorante .restaurant-intro__values {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
}

.page-ristorante .restaurant-intro__values li {
  position: relative;
  margin: 0;
  padding: 11px 13px 11px 42px;
  color: #264d42;
  font-size: clamp(13.5px, .9vw, 15px);
  line-height: 1.5;
  border: 1px solid rgba(24, 70, 57, .09);
  border-radius: 12px;
  background: rgba(238, 243, 238, .66);
}

.page-ristorante .restaurant-intro__values li::before {
  position: absolute;
  top: 50%;
  left: 13px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  content: "✓";
  transform: translateY(-50%);
  color: #0c3d32;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  border-radius: 6px;
  background: #efc773;
}

.page-ristorante .restaurant-intro .modern-copy-card > .button {
  width: fit-content;
  min-width: 0;
  margin-top: 29px;
  padding: 16px 22px;
  border-color: #8d111b !important;
  border-radius: 13px;
  color: #fff !important;
  background: #8d111b !important;
  box-shadow: 0 14px 30px rgba(114, 15, 24, .19);
  font-size: 11px;
  letter-spacing: .07em;
  transition: transform .24s ease, box-shadow .24s ease, background-color .24s ease, border-color .24s ease;
}

.page-ristorante .restaurant-intro .modern-copy-card > .button:hover,
.page-ristorante .restaurant-intro .modern-copy-card > .button:focus-visible {
  border-color: #123f34 !important;
  color: #fff !important;
  background: #123f34 !important;
  box-shadow: 0 18px 36px rgba(12, 61, 50, .22);
  transform: translateY(-3px);
}

.page-ristorante .restaurant-intro .modern-media-card {
  position: relative;
  align-self: center;
  padding: 9px !important;
  overflow: hidden;
  border: 1px solid rgba(16, 57, 47, .16);
  border-radius: clamp(25px, 2vw, 34px);
  background: #0d3b31;
  box-shadow: 0 30px 76px rgba(17, 50, 41, .17);
}

.page-ristorante .restaurant-intro .carousel-post-gallery {
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(19px, 1.6vw, 26px);
  outline: 0;
  background: #fffdf8;
  box-shadow: none;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-stage-outer {
  position: relative;
  overflow: hidden;
  border-radius: clamp(18px, 1.5vw, 24px) clamp(18px, 1.5vw, 24px) 0 0;
  background: #d6cbbb;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-stage-outer::after {
  position: absolute;
  inset: 10px;
  z-index: 2;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: clamp(13px, 1.1vw, 18px);
}

.page-ristorante .restaurant-intro .carousel-post-gallery .item,
.page-ristorante .restaurant-intro .carousel-post-gallery figure {
  display: block;
  width: 100%;
  margin: 0;
}

.page-ristorante .restaurant-intro .carousel-post-gallery figure {
  height: clamp(500px, 49vw, 680px);
  overflow: hidden;
}

.page-ristorante .restaurant-intro .carousel-post-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: 50% 50%;
  border: 0;
  border-radius: 0;
  transition: transform .65s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev,
.page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next {
  position: absolute;
  top: calc(50% - 31px);
  z-index: 4;
  display: grid;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  place-items: center;
  color: #0c3d32;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 14px;
  background: rgba(255, 253, 248, .92);
  box-shadow: 0 10px 25px rgba(5, 35, 28, .16);
  transition: transform .24s ease, background-color .24s ease, box-shadow .24s ease;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev {
  left: 20px;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next {
  right: 20px;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-dots {
  display: flex;
  min-height: 58px;
  margin: 0;
  padding: 18px 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 0 0 clamp(19px, 1.6vw, 26px) clamp(19px, 1.6vw, 26px);
  background: #fffdf8;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-dots .owl-dot {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: #d3d2ce;
  transition: width .25s ease, background-color .25s ease;
}

.page-ristorante .restaurant-intro .carousel-post-gallery .owl-dots .owl-dot.active {
  width: 27px;
  background: #d59a3c;
}

@media (hover: hover) and (pointer: fine) {
  .page-ristorante .restaurant-intro .modern-media-card:hover img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.025);
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev:hover,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next:hover,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev:focus-visible,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next:focus-visible {
    background: #efc773 !important;
    border-color: rgba(11, 59, 50, .18) !important;
    box-shadow: 0 13px 29px rgba(5, 35, 28, .22) !important;
    transform: translateY(-50%) scale(1.03);
  }
}

@media (max-width: 1199.98px) {
  .page-ristorante .restaurant-intro > .container > .row {
    grid-template-columns: minmax(0, 1fr);
    max-width: 820px;
    margin: 0 auto;
  }

  .page-ristorante .restaurant-intro .modern-copy-card,
  .page-ristorante .restaurant-intro .modern-media-card {
    align-self: auto;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery figure {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 575.98px) {
  .page-ristorante .restaurant-intro {
    padding: 54px 0 62px !important;
  }

  .page-ristorante .restaurant-intro::before,
  .page-ristorante .restaurant-intro > .container {
    width: calc(100% - 28px);
  }

  .page-ristorante .restaurant-intro > .container > .row {
    gap: 18px;
  }

  .page-ristorante .restaurant-intro .modern-copy-card {
    padding: 27px 21px 29px !important;
    border-radius: 22px;
  }

  .page-ristorante .restaurant-intro h6 {
    margin-bottom: 23px;
    padding: 8px 10px;
    font-size: 9.5px;
    letter-spacing: .075em;
  }

  .page-ristorante .restaurant-intro h1 {
    font-size: clamp(2.75rem, 13.1vw, 4rem);
    line-height: .99;
  }

  .page-ristorante .restaurant-intro h1::after {
    height: 3px;
    margin-top: 19px;
  }

  .page-ristorante .restaurant-intro__body {
    gap: 13px;
    margin-top: 26px;
  }

  .page-ristorante .restaurant-intro__body p {
    font-size: 15px;
    line-height: 1.65;
  }

  .page-ristorante .restaurant-intro__body .restaurant-intro__lead {
    font-size: 16.5px;
  }

  .page-ristorante .restaurant-intro__values li {
    padding: 10px 11px 10px 39px;
    font-size: 13px;
  }

  .page-ristorante .restaurant-intro__values li::before {
    left: 11px;
  }

  .page-ristorante .restaurant-intro .modern-copy-card > .button {
    width: 100%;
    margin-top: 25px;
    justify-content: center;
    padding: 15px 16px;
    font-size: 10px;
    text-align: center;
  }

  .page-ristorante .restaurant-intro .modern-media-card {
    padding: 7px !important;
    border-radius: 22px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery {
    border-radius: 17px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-stage-outer {
    border-radius: 17px 17px 0 0;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-stage-outer::after {
    inset: 7px;
    border-radius: 12px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next {
    top: calc(50% - 27px);
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev {
    left: 11px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next {
    right: 11px;
  }

  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-dots {
    min-height: 50px;
    padding: 15px 10px;
    border-radius: 0 0 17px 17px;
  }
}

@media (max-width: 359.98px) {
  .page-ristorante .restaurant-intro::before,
  .page-ristorante .restaurant-intro > .container {
    width: calc(100% - 20px);
  }

  .page-ristorante .restaurant-intro .modern-copy-card {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .page-ristorante .restaurant-intro h1 {
    font-size: 2.68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-ristorante .restaurant-intro .modern-copy-card > .button,
  .page-ristorante .restaurant-intro .carousel-post-gallery img,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-prev,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-nav .owl-next,
  .page-ristorante .restaurant-intro .carousel-post-gallery .owl-dots .owl-dot {
    transition: none;
  }
}

/* Cavalese and surroundings: calm editorial introduction. */
.page-dintorni .intro-section {
  position: relative;
  padding: clamp(72px, 7vw, 118px) 0 !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(224, 169, 75, .13), transparent 24rem),
    linear-gradient(150deg, #fffdf8 0%, #faf6ed 100%) !important;
  text-align: left !important;
}

.page-dintorni .intro-section > .container {
  width: min(calc(100% - 48px), 1500px);
  max-width: none;
}

.page-dintorni .intro-section .row > [class*="col-"] {
  width: 100%;
  max-width: none;
  flex: 0 0 100%;
}

.page-dintorni .intro-section h6 {
  display: inline-flex;
  width: fit-content;
  max-width: min(100%, 1120px);
  margin: 0 0 30px;
  padding: 10px 15px;
  align-items: center;
  color: #9a5c05;
  font-size: clamp(10px, .72vw, 12.5px);
  line-height: 1.45;
  letter-spacing: .13em;
  text-align: left;
  white-space: normal;
  border: 1px solid rgba(214, 151, 49, .28);
  border-radius: 999px;
  background: rgba(247, 225, 183, .32);
}

.page-dintorni .intro-section h1 {
  max-width: 1080px;
  margin: 0;
  color: #0b3b32;
  font-size: clamp(3.6rem, 6vw, 6rem);
  line-height: .96;
  letter-spacing: -.06em;
  text-align: left;
  text-wrap: balance;
}

.page-dintorni .intro-section h1::after {
  display: block;
  width: clamp(76px, 8vw, 118px);
  height: 4px;
  margin-top: 26px;
  content: "";
  border-radius: 99px;
  background: linear-gradient(90deg, #d99a32, #8d1019);
}

.page-dintorni .intro-section h1 + p {
  margin: clamp(38px, 4.2vw, 62px) 0 0 !important;
  padding: clamp(30px, 3.7vw, 56px);
  color: #34584f;
  font-size: clamp(16px, 1.12vw, 19px);
  line-height: 1.78;
  letter-spacing: -.015em;
  text-align: left;
  text-wrap: pretty;
  columns: 2 430px;
  column-gap: clamp(34px, 4vw, 64px);
  column-rule: 1px solid rgba(23, 63, 52, .11);
  border: 1px solid rgba(23, 63, 52, .10);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(250, 246, 237, .94));
  box-shadow: 0 26px 70px rgba(20, 48, 40, .09);
}

.page-dintorni .intro-section h1 + p u,
.page-dintorni .intro-section h1 + p strong {
  display: inline-block;
  margin: 13px 0 7px;
  padding: 6px 10px;
  color: #0b3b32;
  font-size: .72em;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid rgba(215, 156, 61, .24);
  border-radius: 8px;
  background: rgba(241, 207, 139, .16);
  break-after: avoid;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .page-dintorni .intro-section h1 + p {
    columns: 1;
  }
}

@media (max-width: 767.98px) {
  .page-dintorni .intro-section {
    padding: 54px 0 62px !important;
  }

  .page-dintorni .intro-section > .container {
    width: calc(100% - 28px);
  }

  .page-dintorni .intro-section h6 {
    margin-bottom: 24px;
    padding: 9px 12px;
    font-size: 9.5px;
    letter-spacing: .10em;
    border-radius: 14px;
  }

  .page-dintorni .intro-section h1 {
    font-size: clamp(3rem, 14vw, 4.35rem);
    line-height: .98;
  }

  .page-dintorni .intro-section h1::after {
    height: 3px;
    margin-top: 20px;
  }

  .page-dintorni .intro-section h1 + p {
    margin-top: 30px !important;
    padding: 25px 21px;
    font-size: 15px;
    line-height: 1.72;
    columns: 1;
    border-radius: 22px;
    box-shadow: 0 18px 46px rgba(20, 48, 40, .075);
  }
}

@media (max-width: 359.98px) {
  .page-dintorni .intro-section > .container {
    width: calc(100% - 20px);
  }

  .page-dintorni .intro-section h1 {
    font-size: 2.82rem;
  }

  .page-dintorni .intro-section h1 + p {
    padding-right: 18px;
    padding-left: 18px;
  }
}

/* Mobile navbar: extend the header surface continuously to both viewport edges. */
@media (max-width: 1199.98px) {
  .page-header,
  .rd-navbar-wrap,
  .rd-navbar,
  .rd-navbar.rd-navbar-static,
  .rd-navbar.rd-navbar-fixed {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    background-color: #fffdf8 !important;
    background-image: none !important;
  }

  .rd-navbar.rd-navbar-static,
  .rd-navbar.rd-navbar-fixed {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-inner,
  .rd-navbar.rd-navbar-fixed .rd-navbar-inner {
    max-width: none !important;
    background-color: #fffdf8;
  }
}

@media (min-width: 992px) and (max-width: 1599.98px) {
  .property-video-feature__player .external-media-consent.external-media-consent--video {
    padding: 18px 21px;
  }

  .property-video-feature__player .external-media-consent--video h3::before {
    width: 54px;
    height: 54px;
    margin-bottom: 10px;
  }

  .property-video-feature__player .external-media-consent--video h3::after {
    top: 20px;
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 11px;
  }

  .property-video-feature__player .external-media-consent--video p {
    margin-top: 6px;
    font-size: clamp(.76rem, .82vw, .88rem);
    line-height: 1.4;
  }

  .property-video-feature__player .external-media-consent--video .external-media-consent__button {
    min-height: 42px;
    margin-top: 11px;
    padding: 10px 17px;
  }
}

/* Rooms introduction and photographic gallery */
.page-camere .rooms-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 7vw, 112px) 0 !important;
  background:
    linear-gradient(135deg, rgba(215, 156, 61, .055) 0 1px, transparent 1px 23px),
    #f7f4ed !important;
}

.page-camere .rooms-showcase__container {
  width: min(calc(100% - 48px), 1540px);
  max-width: none;
  padding: 0;
}

.page-camere .rooms-showcase__layout {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(12px, 1.15vw, 18px);
  margin: 0;
  padding: clamp(10px, 1vw, 15px);
  color: #fffaf0;
  background: linear-gradient(145deg, #0b3b32 0%, #164f41 100%);
  border: 1px solid rgba(215, 156, 61, .28);
  border-radius: clamp(30px, 3vw, 48px);
  box-shadow: 0 34px 80px rgba(7, 39, 32, .17);
}

.page-camere .rooms-showcase__copy,
.page-camere .rooms-showcase__gallery {
  min-width: 0;
}

.page-camere .rooms-showcase__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 4vw, 68px) clamp(28px, 3.4vw, 58px);
  text-align: left;
}

.page-camere .rooms-showcase__eyebrow {
  align-self: flex-start;
  margin: 0 0 24px;
  padding: 10px 16px;
  font-size: clamp(11px, .74vw, 13px);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #f3d18c;
  background: rgba(255, 255, 255, .075);
  border: 1px solid rgba(243, 209, 140, .25);
  border-radius: 999px;
}

.page-camere .rooms-showcase h2 {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(44px, 4.3vw, 76px);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.045em;
  color: #fffaf0;
}

.page-camere .rooms-showcase__lead {
  max-width: 58ch;
  margin: 28px 0 0;
  font-size: clamp(17px, 1.12vw, 20px);
  line-height: 1.62;
  color: rgba(255, 250, 240, .82);
}

.page-camere .rooms-showcase__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: clamp(28px, 2.4vw, 38px) 0 0;
  padding: 0;
  list-style: none;
}

.page-camere .rooms-showcase__features li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 104px;
  margin: 0;
  padding: 17px 16px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .105);
  border-radius: 17px;
}

.page-camere .rooms-showcase__feature-mark {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  color: #0b3b32;
  background: #f0c975;
  border-radius: 50%;
}

.page-camere .rooms-showcase__features strong,
.page-camere .rooms-showcase__features small {
  display: block;
}

.page-camere .rooms-showcase__features strong {
  margin: 1px 0 5px;
  font-size: clamp(14px, .9vw, 16px);
  font-weight: 700;
  line-height: 1.25;
  color: #fffaf0;
}

.page-camere .rooms-showcase__features small {
  font-size: clamp(12.5px, .76vw, 14px);
  line-height: 1.48;
  color: rgba(255, 250, 240, .69);
}

.page-camere .rooms-showcase__note {
  position: relative;
  margin: 24px 0 0;
  padding-left: 20px;
  font-size: clamp(13.5px, .88vw, 15px);
  line-height: 1.58;
  color: rgba(255, 250, 240, .72);
}

.page-camere .rooms-showcase__note::before {
  position: absolute;
  top: .18em;
  bottom: .18em;
  left: 0;
  width: 3px;
  content: "";
  background: #d79c3d;
  border-radius: 999px;
}

.page-camere .rooms-showcase__cta.button {
  align-self: flex-start;
  margin-top: 28px;
  padding: 19px 28px;
  color: #0b3b32 !important;
  background: #f0c975 !important;
  border-color: #f0c975 !important;
  box-shadow: 0 13px 28px rgba(3, 28, 23, .24);
}

.page-camere .rooms-showcase__cta.button:hover,
.page-camere .rooms-showcase__cta.button:focus-visible {
  color: #0b3b32 !important;
  background: #f7d993 !important;
  border-color: #f7d993 !important;
  transform: translateY(-2px);
}

.page-camere .rooms-showcase__gallery {
  align-self: center;
  padding: clamp(9px, .85vw, 13px);
  color: #17352d;
  background: #fffdf8;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: clamp(24px, 2.3vw, 36px);
  box-shadow: 0 26px 55px rgba(3, 28, 23, .22);
}

.page-camere .rooms-showcase__gallery-head {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: clamp(12px, 1.25vw, 19px) clamp(10px, 1.2vw, 18px) clamp(17px, 1.35vw, 21px);
}

.page-camere .rooms-showcase__gallery-head > span:first-child {
  min-width: 0;
}

.page-camere .rooms-showcase__gallery-head small,
.page-camere .rooms-showcase__gallery-head strong {
  display: block;
  text-align: left;
}

.page-camere .rooms-showcase__gallery-head small {
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #b47b25;
}

.page-camere .rooms-showcase__gallery-head strong {
  overflow: hidden;
  font-size: clamp(19px, 1.3vw, 24px);
  font-weight: 650;
  line-height: 1.2;
  color: #17352d;
  text-overflow: ellipsis;
}

.page-camere .rooms-showcase__gallery-count {
  flex: 0 0 auto;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #47675e;
  background: #f2eee5;
  border-radius: 999px;
}

.page-camere .rooms-showcase__carousel {
  position: relative;
  width: 100%;
  margin: 0;
}

.page-camere .rooms-showcase__carousel .owl-stage-outer {
  overflow: hidden;
  background: #e6e0d5;
  border-radius: clamp(18px, 1.85vw, 28px);
}

.page-camere .rooms-showcase__carousel .item,
.page-camere .rooms-showcase__carousel .img-thumbnail-variant-1,
.page-camere .rooms-showcase__carousel figure {
  display: block;
  width: 100%;
  margin: 0;
}

.page-camere .rooms-showcase__carousel .img-thumbnail-variant-1 {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
  border-radius: inherit;
}

.page-camere .rooms-showcase__carousel figure {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.page-camere .rooms-showcase__carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .4s ease;
}

.page-camere .rooms-showcase__carousel .caption {
  display: none !important;
}

.page-camere .rooms-showcase__carousel .owl-nav .owl-prev,
.page-camere .rooms-showcase__carousel .owl-nav .owl-next {
  position: absolute;
  top: calc(50% - 52px);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0;
  color: #0b3b32;
  background: rgba(255, 253, 248, .93);
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(6, 38, 31, .16);
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.page-camere .rooms-showcase__carousel .owl-nav .owl-prev {
  left: 20px;
}

.page-camere .rooms-showcase__carousel .owl-nav .owl-next {
  right: 20px;
}

.page-camere .rooms-showcase__carousel .owl-nav .owl-prev:hover,
.page-camere .rooms-showcase__carousel .owl-nav .owl-next:hover,
.page-camere .rooms-showcase__carousel .owl-nav .owl-prev:focus-visible,
.page-camere .rooms-showcase__carousel .owl-nav .owl-next:focus-visible {
  color: #0b3b32;
  background: #f0c975 !important;
  border-color: rgba(11, 59, 50, .18) !important;
  box-shadow: 0 13px 28px rgba(6, 38, 31, .22) !important;
  transform: translateY(-50%) scale(1.03);
}

.page-camere .rooms-showcase__carousel .owl-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  margin: 0;
  padding: 18px 10px 3px;
}

.page-camere .rooms-showcase__carousel .owl-dots .owl-dot {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  background: #d6d4ce;
  border: 0;
  border-radius: 999px;
  transition: width .25s ease, background-color .25s ease;
}

.page-camere .rooms-showcase__carousel .owl-dots .owl-dot.active {
  width: 28px;
  background: #d79c3d;
}

@media (hover: hover) {
  .page-camere .rooms-showcase__carousel .img-thumbnail-variant-1:hover img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.025);
  }
}

@media (max-width: 1199.98px) {
  .page-camere .rooms-showcase__container {
    width: min(calc(100% - 36px), 980px);
  }

  .page-camere .rooms-showcase__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-camere .rooms-showcase__copy {
    padding-bottom: 34px;
  }

  .page-camere .rooms-showcase h2 {
    max-width: 13ch;
  }

  .page-camere .rooms-showcase__gallery {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .page-camere .rooms-showcase {
    padding: 50px 0 !important;
  }

  .page-camere .rooms-showcase__container {
    width: calc(100% - 20px);
  }

  .page-camere .rooms-showcase__layout {
    gap: 8px;
    padding: 7px;
    border-radius: 29px;
  }

  .page-camere .rooms-showcase__copy {
    padding: 30px 17px 28px;
  }

  .page-camere .rooms-showcase__eyebrow {
    margin-bottom: 19px;
    padding: 9px 12px;
    letter-spacing: .095em;
  }

  .page-camere .rooms-showcase h2 {
    max-width: 12ch;
    font-size: clamp(35px, 11vw, 47px);
  }

  .page-camere .rooms-showcase__lead {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.57;
  }

  .page-camere .rooms-showcase__features {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 24px;
  }

  .page-camere .rooms-showcase__features li {
    min-height: 0;
    padding: 15px 14px;
  }

  .page-camere .rooms-showcase__note {
    margin-top: 21px;
  }

  .page-camere .rooms-showcase__cta.button {
    width: 100%;
    margin-top: 24px;
    padding: 17px 15px;
    font-size: 12.5px;
  }

  .page-camere .rooms-showcase__gallery {
    padding: 7px;
    border-radius: 24px;
  }

  .page-camere .rooms-showcase__gallery-head {
    gap: 10px;
    padding: 13px 9px 16px;
  }

  .page-camere .rooms-showcase__gallery-head strong {
    font-size: 17px;
  }

  .page-camere .rooms-showcase__gallery-count {
    padding: 7px 9px;
    font-size: 9.5px;
  }

  .page-camere .rooms-showcase__carousel .owl-stage-outer {
    border-radius: 18px;
  }

  .page-camere .rooms-showcase__carousel .owl-nav .owl-prev,
  .page-camere .rooms-showcase__carousel .owl-nav .owl-next {
    top: calc(50% - 42px);
    width: 44px;
    height: 44px;
  }

  .page-camere .rooms-showcase__carousel .owl-nav .owl-prev {
    left: 10px;
  }

  .page-camere .rooms-showcase__carousel .owl-nav .owl-next {
    right: 10px;
  }

  .page-camere .rooms-showcase__carousel .owl-dots {
    gap: 6px;
    padding: 14px 8px 2px;
  }
}

@media (max-width: 359.98px) {
  .page-camere .rooms-showcase__copy {
    padding-inline: 14px;
  }

  .page-camere .rooms-showcase h2 {
    font-size: 33px;
  }

  .page-camere .rooms-showcase__gallery-head strong {
    font-size: 15.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-camere .rooms-showcase__carousel img,
  .page-camere .rooms-showcase__carousel .owl-nav .owl-prev,
  .page-camere .rooms-showcase__carousel .owl-nav .owl-next,
  .page-camere .rooms-showcase__carousel .owl-dots .owl-dot,
  .page-camere .rooms-showcase__cta.button {
    transition: none;
  }
}

/* Individual room galleries */
.page-camere .room-gallery-collection {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 124px) 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(247, 244, 237, .92)),
    repeating-linear-gradient(90deg, transparent 0 119px, rgba(11, 59, 50, .025) 119px 120px),
    #f7f4ed !important;
}

.page-camere .room-gallery-collection__container {
  width: min(calc(100% - 48px), 1540px);
  max-width: none;
  padding: 0;
}

.page-camere .room-gallery-collection__intro {
  max-width: 900px;
  margin: 0 auto clamp(45px, 5vw, 76px);
  text-align: center;
}

.page-camere .room-gallery-collection__eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 19px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9e681d;
  background: rgba(215, 156, 61, .09);
  border: 1px solid rgba(215, 156, 61, .24);
  border-radius: 999px;
}

.page-camere .room-gallery-collection__eyebrow::before {
  width: 7px;
  height: 7px;
  margin-right: 10px;
  content: "";
  background: #d79c3d;
  border-radius: 2px;
  transform: rotate(45deg);
}

.page-camere .room-gallery-collection__intro h2 {
  max-width: 14ch;
  margin: 0 auto;
  font-size: clamp(48px, 5.2vw, 78px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.045em;
  color: #0b3b32;
}

.page-camere .room-gallery-collection__intro > p:last-child {
  max-width: 720px;
  margin: 25px auto 0;
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.65;
  color: #47675e;
}

.page-camere .room-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 2.4vw, 38px);
  align-items: start;
  margin: 0;
}

.page-camere .room-gallery-grid > .modern-media-card {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fffdf8;
  border: 1px solid rgba(11, 59, 50, .11);
  border-radius: clamp(24px, 2.2vw, 34px);
  box-shadow: 0 22px 55px rgba(16, 55, 46, .11);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), border-color .35s ease, box-shadow .35s ease;
}

.page-camere .room-gallery-card__head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 96px;
  padding: 18px 22px;
  color: #fffaf0;
  background: linear-gradient(135deg, #0b3b32 0%, #174d40 100%);
  border-bottom: 1px solid rgba(215, 156, 61, .3);
}

.page-camere .room-gallery-card__number {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .08em;
  color: #0b3b32;
  background: #f0c975;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.page-camere .room-gallery-card__title {
  min-width: 0;
}

.page-camere .room-gallery-card__title small,
.page-camere .room-gallery-card__title h3 {
  display: block;
  margin: 0;
  text-align: left;
}

.page-camere .room-gallery-card__title small {
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #f0c975;
}

.page-camere .room-gallery-card__title h3 {
  overflow-wrap: anywhere;
  font-size: clamp(21px, 1.65vw, 29px);
  font-weight: 650;
  line-height: 1.06;
  letter-spacing: -.025em;
  color: #fffaf0;
}

.page-camere .room-gallery-card__count {
  align-self: center;
  padding: 8px 11px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(255, 250, 240, .78);
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
}

.page-camere .room-gallery-grid .carousel-post-gallery {
  position: relative;
  width: auto;
  margin: 10px 10px 0;
  padding: 0;
  overflow: hidden;
  background: #fffdf8;
  border: 0;
  border-radius: clamp(18px, 1.6vw, 25px);
  box-shadow: none;
  outline: 0;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-stage-outer {
  overflow: hidden;
  background: #ded8cd;
  border-radius: clamp(18px, 1.6vw, 25px);
}

.page-camere .room-gallery-grid .carousel-post-gallery .item,
.page-camere .room-gallery-grid .carousel-post-gallery .img-thumbnail-variant-1,
.page-camere .room-gallery-grid .carousel-post-gallery figure {
  display: block;
  width: 100%;
  margin: 0;
}

.page-camere .room-gallery-grid .carousel-post-gallery .img-thumbnail-variant-1 {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}

.page-camere .room-gallery-grid .carousel-post-gallery .img-thumbnail-variant-1::after {
  position: absolute;
  inset: 9px;
  z-index: 2;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: clamp(13px, 1.2vw, 19px);
}

.page-camere .room-gallery-grid .carousel-post-gallery figure {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.page-camere .room-gallery-grid .carousel-post-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .4s ease;
}

.page-camere .room-gallery-grid .carousel-post-gallery .caption {
  display: none !important;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev,
.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next {
  position: absolute;
  top: calc(50% - 52px);
  z-index: 4;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0;
  color: #0b3b32;
  background: rgba(255, 253, 248, .93);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(6, 38, 31, .17);
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev {
  left: 18px;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next {
  right: 18px;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev:hover,
.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next:hover,
.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev:focus-visible,
.page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next:focus-visible {
  color: #0b3b32;
  background: #f0c975 !important;
  border-color: rgba(11, 59, 50, .18) !important;
  box-shadow: 0 13px 28px rgba(6, 38, 31, .23) !important;
  transform: translateY(-50%) scale(1.03);
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 15px 8px 9px;
  border-radius: 0 0 clamp(18px, 1.6vw, 25px) clamp(18px, 1.6vw, 25px);
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-dots .owl-dot {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  background: #d4d2cc;
  border: 0;
  border-radius: 999px;
  transition: width .25s ease, background-color .25s ease;
}

.page-camere .room-gallery-grid .carousel-post-gallery .owl-dots .owl-dot.active {
  width: 26px;
  background: #d79c3d;
}

@media (hover: hover) {
  .page-camere .room-gallery-grid > .modern-media-card:hover {
    border-color: rgba(215, 156, 61, .32);
    box-shadow: 0 30px 70px rgba(16, 55, 46, .16);
    transform: translateY(-5px);
  }

  .page-camere .room-gallery-grid .img-thumbnail-variant-1:hover img {
    filter: saturate(1.04) contrast(1.015);
    transform: scale(1.025);
  }
}

@media (max-width: 991.98px) {
  .page-camere .room-gallery-collection__container {
    width: min(calc(100% - 32px), 760px);
  }

  .page-camere .room-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-camere .room-gallery-card__title h3 {
    font-size: clamp(23px, 4vw, 30px);
  }
}

@media (max-width: 575.98px) {
  .page-camere .room-gallery-collection {
    padding: 58px 0 !important;
  }

  .page-camere .room-gallery-collection__container {
    width: calc(100% - 20px);
  }

  .page-camere .room-gallery-collection__intro {
    margin-bottom: 36px;
    padding: 0 9px;
  }

  .page-camere .room-gallery-collection__eyebrow {
    margin-bottom: 16px;
    padding: 9px 12px;
    font-size: 10.5px;
    letter-spacing: .1em;
  }

  .page-camere .room-gallery-collection__intro h2 {
    max-width: 13ch;
    font-size: clamp(36px, 11.3vw, 48px);
  }

  .page-camere .room-gallery-collection__intro > p:last-child {
    margin-top: 19px;
    font-size: 16px;
    line-height: 1.6;
  }

  .page-camere .room-gallery-grid {
    gap: 20px;
  }

  .page-camere .room-gallery-grid > .modern-media-card {
    border-radius: 24px;
  }

  .page-camere .room-gallery-card__head {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 84px;
    padding: 14px 13px;
  }

  .page-camere .room-gallery-card__number {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .page-camere .room-gallery-card__title h3 {
    font-size: clamp(19px, 6.2vw, 24px);
  }

  .page-camere .room-gallery-card__count {
    padding: 7px 8px;
    font-size: 9px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery {
    margin: 7px 7px 0;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .owl-stage-outer {
    border-radius: 18px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .img-thumbnail-variant-1::after {
    inset: 7px;
    border-radius: 13px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev,
  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next {
    top: calc(50% - 42px);
    width: 44px;
    height: 44px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev {
    left: 10px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next {
    right: 10px;
  }

  .page-camere .room-gallery-grid .carousel-post-gallery .owl-dots {
    min-height: 42px;
    gap: 6px;
    padding: 13px 6px 7px;
  }
}

@media (max-width: 359.98px) {
  .page-camere .room-gallery-card__head {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .page-camere .room-gallery-card__number {
    width: 36px;
    height: 36px;
  }

  .page-camere .room-gallery-card__count {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-camere .room-gallery-grid > .modern-media-card,
  .page-camere .room-gallery-grid .carousel-post-gallery img,
  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-prev,
  .page-camere .room-gallery-grid .carousel-post-gallery .owl-nav .owl-next,
  .page-camere .room-gallery-grid .carousel-post-gallery .owl-dots .owl-dot {
    transition: none;
  }
}

/* Photographic, privacy-first video poster used throughout the site */
.page-index .home-video-feature .videoWrapper {
  width: min(92%, 1680px);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: clamp(22px, 2.2vw, 42px);
}

@media (max-width: 575.98px) {
  .page-index .home-video-feature .videoWrapper {
    height: clamp(272px, 74vw, 300px);
    aspect-ratio: auto;
  }

  .page-index .home-video-feature .videoWrapper:has(iframe:not([hidden])) {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .page-index .home-video-feature .external-media-consent--video {
    padding: 16px;
  }

  .page-index .home-video-feature .external-media-consent--video h3 {
    font-size: 1.45rem;
    line-height: 1.08;
  }

  .page-index .home-video-feature .external-media-consent--video h3::before {
    width: 46px;
    height: 46px;
    margin-bottom: 10px;
  }

  .page-index .home-video-feature .external-media-consent--video h3::after {
    top: 16px;
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 11px;
  }

  .page-index .home-video-feature .external-media-consent--video p {
    margin-top: 10px;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  .page-index .home-video-feature .external-media-consent--video .external-media-consent__button {
    margin-top: 10px;
  }
}

.external-media-consent.external-media-consent--video {
  isolation: isolate;
  padding: clamp(28px, 3.6vw, 52px);
  background:
    linear-gradient(90deg, rgba(4, 31, 24, .62) 0%, rgba(4, 31, 24, .28) 55%, rgba(4, 31, 24, .46) 100%),
    linear-gradient(180deg, rgba(4, 31, 24, .1), rgba(4, 31, 24, .44)),
    url("../images/parallax-2.jpg?v=20260825") center 48% / cover no-repeat !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15);
}

.external-media-consent.external-media-consent--video::before {
  display: none;
}

.external-media-consent.external-media-consent--video > * {
  z-index: 2;
}

.external-media-consent--video h3 {
  position: relative;
  text-shadow: 0 5px 26px rgba(0, 0, 0, .55);
}

.external-media-consent--video h3::before {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  content: "";
  background: #f0c975;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 50%;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .28), 0 0 0 7px rgba(255, 255, 255, .08);
}

.external-media-consent--video h3::after {
  position: absolute;
  top: 27px;
  left: 50%;
  width: 0;
  height: 0;
  content: "";
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #0b3b32;
  transform: translateX(-39%);
}

.external-media-consent--video p {
  text-shadow: 0 3px 18px rgba(0, 0, 0, .62);
}

.external-media-consent--video .external-media-consent__button {
  color: #0b3b32 !important;
  background: #f0c975 !important;
  border-color: #f0c975 !important;
  box-shadow: 0 13px 30px rgba(0, 0, 0, .25);
  transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.external-media-consent--video .external-media-consent__button:hover,
.external-media-consent--video .external-media-consent__button:focus-visible {
  color: #0b3b32 !important;
  background: #f7d993 !important;
  border-color: #f7d993 !important;
  box-shadow: 0 17px 36px rgba(0, 0, 0, .3);
  transform: translateY(-2px);
}

.property-video-feature__player .property-video-feature__play {
  display: none;
}

.page-camere .property-video-poster {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7.5vw, 118px) 0 !important;
  background:
    linear-gradient(135deg, rgba(215, 156, 61, .065) 0 1px, transparent 1px 26px),
    #f7f4ed !important;
}

.page-camere .property-video-poster__container {
  width: min(calc(100% - 48px), 1420px);
  max-width: none;
  padding: 0;
}

.page-camere .property-video-poster__row,
.page-camere .property-video-poster__column,
.page-camere .property-video-poster__item {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.page-camere .property-video-poster__player {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  background: #061f19;
  border: 1px solid rgba(11, 59, 50, .16);
  border-radius: clamp(28px, 3vw, 44px);
  box-shadow: 0 34px 80px rgba(9, 48, 39, .2);
}

.page-camere .property-video-poster__player .external-media-consent {
  border-radius: inherit;
}

.page-camere .property-video-poster__player .external-media-consent h3 {
  max-width: 760px;
  font-size: clamp(38px, 4.5vw, 66px);
  font-weight: 680;
  line-height: 1;
  letter-spacing: -.045em;
}

.page-camere .property-video-poster__player .external-media-consent p {
  max-width: 660px;
  margin-top: 18px;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.6;
}

.page-camere .property-video-poster__player .external-media-consent__button {
  min-height: 58px;
  margin-top: 28px;
  padding: 16px 27px;
  font-size: 12px;
  letter-spacing: .09em;
}

.page-camere .property-video-poster__player iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767.98px) {
  .page-camere .property-video-poster__container {
    width: calc(100% - 24px);
  }

  .page-camere .property-video-poster__player {
    min-height: 460px;
    aspect-ratio: auto;
  }
}

@media (max-width: 575.98px) {
  .external-media-consent.external-media-consent--video {
    padding: 28px 18px;
    background-position: 43% center;
  }

  .external-media-consent--video h3::before {
    width: 60px;
    height: 60px;
    margin-bottom: 19px;
  }

  .external-media-consent--video h3::after {
    top: 22px;
    border-top-width: 8px;
    border-bottom-width: 8px;
    border-left-width: 12px;
  }

  .page-camere .property-video-poster {
    padding: 54px 0 !important;
  }

  .page-camere .property-video-poster__container {
    width: calc(100% - 20px);
  }

  .page-camere .property-video-poster__player {
    min-height: 440px;
    border-radius: 27px;
  }

  .page-camere .property-video-poster__player .external-media-consent h3 {
    max-width: 280px;
    font-size: clamp(29px, 9.5vw, 38px);
  }

  .page-camere .property-video-poster__player .external-media-consent p {
    max-width: 285px;
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.55;
  }

  .page-camere .property-video-poster__player .external-media-consent__button {
    width: min(100%, 270px);
    min-height: 54px;
    margin-top: 24px;
    padding: 14px 16px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .external-media-consent--video .external-media-consent__button {
    transition: none;
  }
}

/* Educational farm: structured information and an editorial animal gallery. */
.page-fattoria-didattica .farm-experience {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 7vw, 112px) 0 clamp(84px, 8vw, 128px);
  background:
    linear-gradient(118deg, rgba(224, 167, 70, .11), transparent 32%),
    linear-gradient(180deg, #fbf8f1, #f5efe4);
}

.page-fattoria-didattica .farm-experience::before {
  position: absolute;
  top: 0;
  right: -8%;
  width: 48%;
  height: 44%;
  content: "";
  background: repeating-linear-gradient(135deg, rgba(198, 142, 50, .08) 0 1px, transparent 1px 18px);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 58%);
  pointer-events: none;
}

.page-fattoria-didattica .farm-experience__shell {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 44px)) !important;
  max-width: 1280px !important;
  padding: 0;
}

.page-fattoria-didattica .farm-experience__intro {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 5.6vw, 78px);
  color: #fdfbf5;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, .06), transparent 42%),
    linear-gradient(135deg, #174d3e, #0b352b);
  border: 1px solid rgba(226, 171, 75, .25);
  border-radius: clamp(32px, 3vw, 46px);
  box-shadow: 0 30px 76px rgba(17, 59, 48, .2);
  text-align: left;
}

.page-fattoria-didattica .farm-experience__intro::before {
  position: absolute;
  top: -22%;
  right: -8%;
  width: 48%;
  height: 64%;
  content: "";
  background: linear-gradient(145deg, rgba(236, 187, 92, .12), transparent 62%);
  clip-path: polygon(35% 0, 100% 0, 100% 100%, 0 56%);
  pointer-events: none;
}

.page-fattoria-didattica .farm-experience__intro::after {
  position: absolute;
  top: 0;
  right: clamp(34px, 5vw, 72px);
  left: clamp(34px, 5vw, 72px);
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #e2a742 0 34%, rgba(255, 255, 255, .08) 34% 100%);
  border-radius: 0 0 8px 8px;
}

.page-fattoria-didattica .farm-experience__intro > * {
  position: relative;
  z-index: 1;
}

.page-fattoria-didattica .farm-experience__eyebrow,
.page-fattoria-didattica .farm-story__eyebrow {
  display: inline-flex;
  min-height: 36px;
  margin: 0 0 24px;
  padding: 8px 14px;
  align-items: center;
  color: #f2c46e !important;
  background: rgba(255, 255, 255, .065);
  border: 1px solid rgba(232, 184, 94, .26);
  border-radius: 999px;
  font-size: 10.5px !important;
  font-weight: 760;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-fattoria-didattica .farm-experience__eyebrow::before,
.page-fattoria-didattica .farm-story__eyebrow::before {
  width: 7px;
  height: 7px;
  margin-right: 9px;
  content: "";
  background: #e2a742;
  border-radius: 2px;
  box-shadow: 0 0 0 6px rgba(226, 167, 66, .11);
  transform: rotate(45deg);
}

.page-fattoria-didattica .farm-experience h1 {
  max-width: 1040px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(3.4rem, 6vw, 6rem);
  font-weight: 680;
  letter-spacing: -.055em;
  line-height: .95;
  text-wrap: balance;
}

.page-fattoria-didattica .farm-experience__intro h2 {
  max-width: 900px;
  margin: 28px 0 0;
  color: #f7d89b !important;
  font-size: clamp(1.35rem, 1.7vw, 1.85rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.25;
  text-wrap: balance;
}

.page-fattoria-didattica .farm-experience__lead {
  max-width: 900px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .83) !important;
  font-size: clamp(1rem, .4vw + .91rem, 1.18rem) !important;
  line-height: 1.7;
}

.page-fattoria-didattica .farm-experience__promise {
  max-width: 820px;
  margin: 24px 0 0;
  padding-left: 18px;
  color: #f4c66f !important;
  border-left: 3px solid #e2a742;
  font-size: clamp(.98rem, .3vw + .92rem, 1.12rem) !important;
  font-weight: 650;
  line-height: 1.5;
}

.page-fattoria-didattica .farm-experience__details {
  display: grid;
  margin-top: clamp(34px, 4vw, 52px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.page-fattoria-didattica .farm-detail {
  display: flex;
  min-width: 0;
  min-height: 106px;
  padding: 18px;
  gap: 14px;
  align-items: center;
  background: rgba(255, 255, 255, .065);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 18px;
}

.page-fattoria-didattica .farm-detail__index {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  color: #123f33;
  background: #edc778;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.page-fattoria-didattica .farm-detail div {
  min-width: 0;
}

.page-fattoria-didattica .farm-detail small,
.page-fattoria-didattica .farm-detail strong {
  display: block;
}

.page-fattoria-didattica .farm-detail small {
  margin-bottom: 5px;
  color: #f1bd58;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-fattoria-didattica .farm-detail strong {
  color: #fff;
  font-size: clamp(.88rem, .2vw + .84rem, .98rem);
  font-weight: 610;
  line-height: 1.45;
}

.page-fattoria-didattica .farm-experience__cta {
  display: flex;
  margin-top: 16px;
  padding: 14px 14px 14px 22px;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  background: rgba(232, 184, 94, .1);
  border: 1px solid rgba(232, 184, 94, .2);
  border-radius: 20px;
}

.page-fattoria-didattica .farm-experience__cta p {
  margin: 0;
  color: #f9eed8 !important;
  font-size: clamp(.93rem, .2vw + .89rem, 1.02rem) !important;
  font-weight: 570;
  line-height: 1.45;
}

.page-fattoria-didattica .farm-experience__cta .button.button-primary {
  min-height: 52px;
  margin: 0;
  padding: 14px 24px;
  flex: 0 0 auto;
  color: #123f33 !important;
  background: #f0cb80 !important;
  border-color: #f0cb80 !important;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .15);
  font-size: 12px;
}

.page-fattoria-didattica .farm-experience__cta .button.button-primary:hover,
.page-fattoria-didattica .farm-experience__cta .button.button-primary:focus-visible {
  color: #fff !important;
  background: #9b1521 !important;
  border-color: #9b1521 !important;
}

.page-fattoria-didattica .farm-story {
  display: grid;
  margin-top: clamp(36px, 4vw, 58px);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 3vw, 38px);
  align-items: start;
}

.page-fattoria-didattica .farm-story__copy {
  padding: clamp(36px, 4.5vw, 58px);
  background:
    linear-gradient(135deg, rgba(226, 167, 66, .08), transparent 48%),
    #fffdf8;
  border: 1px solid rgba(17, 59, 48, .12);
  border-radius: clamp(28px, 3vw, 40px);
  box-shadow: 0 24px 58px rgba(17, 59, 48, .1);
  text-align: left;
}

.page-fattoria-didattica .farm-story__eyebrow {
  margin-bottom: 20px;
  color: #80520b !important;
  background: #fbf1dc;
  border-color: rgba(187, 126, 29, .18);
}

.page-fattoria-didattica .farm-story h2 {
  margin: 0;
  color: #123f33 !important;
  font-size: clamp(2.4rem, 3.7vw, 4rem);
  font-weight: 680;
  letter-spacing: -.055em;
  line-height: 1;
  text-wrap: balance;
}

.page-fattoria-didattica .farm-story__copy > p:not(.farm-story__eyebrow) {
  margin: 26px 0 0;
  color: #405e55 !important;
  font-size: clamp(.98rem, .3vw + .92rem, 1.1rem) !important;
  line-height: 1.7;
}

.page-fattoria-didattica .farm-story blockquote {
  position: relative;
  margin: 28px 0 0;
  padding: 22px 24px 22px 46px;
  color: #173f34;
  background: #f7efdf;
  border: 0;
  border-radius: 20px;
  font-size: clamp(.98rem, .25vw + .93rem, 1.08rem);
  font-style: italic;
  line-height: 1.62;
}

.page-fattoria-didattica .farm-story blockquote::before {
  position: absolute;
  top: 17px;
  left: 17px;
  content: "“";
  color: #d89a32;
  font-family: Georgia, serif;
  font-size: 38px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.page-fattoria-didattica .farm-story__facts {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.page-fattoria-didattica .farm-story__facts li {
  display: grid;
  padding: 16px 0;
  grid-template-columns: minmax(92px, .34fr) minmax(0, 1fr);
  gap: 16px;
  border-top: 1px solid rgba(17, 59, 48, .11);
}

.page-fattoria-didattica .farm-story__facts strong {
  color: #8c5d10;
  font-size: 11px;
  font-weight: 780;
  letter-spacing: .075em;
  line-height: 1.45;
  text-transform: uppercase;
}

.page-fattoria-didattica .farm-story__facts span {
  color: #405e55;
  font-size: clamp(.9rem, .2vw + .86rem, .98rem);
  line-height: 1.55;
}

.page-fattoria-didattica .farm-story__gallery {
  overflow: hidden;
  padding: 12px 12px 18px;
  background: linear-gradient(145deg, #174d3e, #0b352b);
  border: 1px solid rgba(226, 171, 75, .25);
  border-radius: clamp(28px, 3vw, 40px);
  box-shadow: 0 26px 64px rgba(17, 59, 48, .18);
}

.page-fattoria-didattica .farm-story__carousel,
.page-fattoria-didattica .farm-story__carousel .owl-stage-outer,
.page-fattoria-didattica .farm-story__carousel .owl-stage,
.page-fattoria-didattica .farm-story__carousel .owl-item {
  border-radius: clamp(21px, 2.1vw, 29px);
}

.page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1,
.page-fattoria-didattica .farm-story__carousel figure,
.page-fattoria-didattica .farm-story__carousel img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: clamp(21px, 2.1vw, 29px);
}

.page-fattoria-didattica .farm-story__carousel img {
  height: 100%;
  object-fit: cover;
}

.page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1::after {
  inset: 9px;
  border-radius: clamp(16px, 1.7vw, 23px);
}

.page-fattoria-didattica .farm-story__carousel .owl-dots {
  padding-top: 14px;
}

@media (max-width: 991.98px) {
  .page-fattoria-didattica .farm-experience__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-fattoria-didattica .farm-detail:last-child {
    grid-column: 1 / -1;
  }

  .page-fattoria-didattica .farm-story {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .page-fattoria-didattica .farm-experience {
    padding: 54px 0 72px;
  }

  .page-fattoria-didattica .farm-experience__shell {
    width: calc(100% - 12px) !important;
  }

  .page-fattoria-didattica .farm-experience__intro {
    padding: 32px 20px 24px;
    border-radius: 28px;
  }

  .page-fattoria-didattica .farm-experience__intro::after {
    right: 22px;
    left: 22px;
  }

  .page-fattoria-didattica .farm-experience__eyebrow,
  .page-fattoria-didattica .farm-story__eyebrow {
    min-height: 33px;
    margin-bottom: 20px;
    padding: 7px 11px;
    font-size: 8.8px !important;
    letter-spacing: .075em;
  }

  .page-fattoria-didattica .farm-experience h1 {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
    line-height: .98;
  }

  .page-fattoria-didattica .farm-experience__intro h2 {
    margin-top: 22px;
    font-size: clamp(1.18rem, 5.4vw, 1.45rem);
  }

  .page-fattoria-didattica .farm-experience__lead {
    margin-top: 20px;
    font-size: 15.5px !important;
    line-height: 1.62;
  }

  .page-fattoria-didattica .farm-experience__promise {
    margin-top: 20px;
    font-size: 14.5px !important;
  }

  .page-fattoria-didattica .farm-experience__details {
    margin-top: 28px;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .page-fattoria-didattica .farm-detail:last-child {
    grid-column: auto;
  }

  .page-fattoria-didattica .farm-detail {
    min-height: 82px;
    padding: 14px;
    border-radius: 15px;
  }

  .page-fattoria-didattica .farm-experience__cta {
    margin-top: 12px;
    padding: 18px;
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
    border-radius: 17px;
  }

  .page-fattoria-didattica .farm-experience__cta .button.button-primary {
    width: 100%;
    min-height: 54px;
    padding: 14px 17px;
    white-space: normal;
  }

  .page-fattoria-didattica .farm-story {
    margin-top: 20px;
    gap: 14px;
  }

  .page-fattoria-didattica .farm-story__copy {
    padding: 30px 20px 24px;
    border-radius: 28px;
  }

  .page-fattoria-didattica .farm-story h2 {
    font-size: clamp(2.15rem, 10vw, 3rem);
  }

  .page-fattoria-didattica .farm-story__copy > p:not(.farm-story__eyebrow) {
    margin-top: 22px;
    font-size: 15.5px !important;
  }

  .page-fattoria-didattica .farm-story blockquote {
    margin-top: 22px;
    padding: 20px 18px 20px 42px;
    border-radius: 17px;
    font-size: 15px;
  }

  .page-fattoria-didattica .farm-story__facts li {
    padding: 14px 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .page-fattoria-didattica .farm-story__gallery {
    padding: 6px 6px 13px;
    border-radius: 28px;
  }

  .page-fattoria-didattica .farm-story__carousel,
  .page-fattoria-didattica .farm-story__carousel .owl-stage-outer,
  .page-fattoria-didattica .farm-story__carousel .owl-stage,
  .page-fattoria-didattica .farm-story__carousel .owl-item,
  .page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1,
  .page-fattoria-didattica .farm-story__carousel figure,
  .page-fattoria-didattica .farm-story__carousel img {
    border-radius: 22px;
  }
}

@media (max-width: 359.98px) {
  .page-fattoria-didattica .farm-experience h1 {
    font-size: 2.15rem;
  }

  html[lang="pl"] .page-fattoria-didattica .farm-experience h1 {
    font-size: 1.95rem;
    letter-spacing: -.06em;
  }

  .page-fattoria-didattica .farm-detail strong,
  .page-fattoria-didattica .farm-experience__cta p {
    font-size: 13.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-fattoria-didattica .farm-experience__cta .button.button-primary {
    transition: none;
  }
}

/* Arrival guide: destination overview and scannable travel routes. */
.page-dove-siamo .arrival-guide {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 7vw, 112px) 0 clamp(84px, 8vw, 128px);
  background:
    linear-gradient(120deg, rgba(226, 167, 66, .11), transparent 34%),
    linear-gradient(180deg, #fbf8f1, #f4eee3);
}

.page-dove-siamo .arrival-guide::before {
  position: absolute;
  top: 0;
  right: -8%;
  width: 46%;
  height: 46%;
  content: "";
  background: repeating-linear-gradient(135deg, rgba(198, 142, 50, .075) 0 1px, transparent 1px 19px);
  clip-path: polygon(38% 0, 100% 0, 100% 100%, 0 58%);
  pointer-events: none;
}

.page-dove-siamo .arrival-guide__shell {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 44px)) !important;
  max-width: 1280px !important;
  padding: 0;
}

.page-dove-siamo .arrival-guide__header {
  position: relative;
  display: grid;
  overflow: hidden;
  padding: clamp(48px, 5.6vw, 78px);
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: end;
  color: #fff;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, .06), transparent 42%),
    linear-gradient(135deg, #174d3e, #0b352b);
  border: 1px solid rgba(226, 171, 75, .25);
  border-radius: clamp(32px, 3vw, 46px);
  box-shadow: 0 30px 76px rgba(17, 59, 48, .2);
  text-align: left;
}

.page-dove-siamo .arrival-guide__header::before {
  position: absolute;
  top: -18%;
  right: -7%;
  width: 50%;
  height: 76%;
  content: "";
  background: linear-gradient(145deg, rgba(236, 187, 92, .13), transparent 62%);
  clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 55%);
  pointer-events: none;
}

.page-dove-siamo .arrival-guide__header::after {
  position: absolute;
  top: 0;
  right: clamp(34px, 5vw, 72px);
  left: clamp(34px, 5vw, 72px);
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #e2a742 0 34%, rgba(255, 255, 255, .08) 34% 100%);
  border-radius: 0 0 8px 8px;
}

.page-dove-siamo .arrival-guide__header > * {
  position: relative;
  z-index: 1;
}

.page-dove-siamo .arrival-guide__eyebrow {
  display: inline-flex;
  min-height: 36px;
  margin: 0 0 24px;
  padding: 8px 14px;
  align-items: center;
  color: #f2c46e !important;
  background: rgba(255, 255, 255, .065);
  border: 1px solid rgba(232, 184, 94, .26);
  border-radius: 999px;
  font-size: 10.5px !important;
  font-weight: 760;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-dove-siamo .arrival-guide__eyebrow::before {
  width: 7px;
  height: 7px;
  margin-right: 9px;
  content: "";
  background: #e2a742;
  border-radius: 2px;
  box-shadow: 0 0 0 6px rgba(226, 167, 66, .11);
  transform: rotate(45deg);
}

.page-dove-siamo .arrival-guide h1 {
  max-width: 820px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(3.2rem, 5.25vw, 5.45rem);
  font-weight: 680;
  letter-spacing: -.055em;
  line-height: .96;
  text-wrap: balance;
}

.page-dove-siamo .arrival-guide__lead {
  max-width: 760px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .82) !important;
  font-size: clamp(1rem, .4vw + .91rem, 1.18rem) !important;
  line-height: 1.7;
}

.page-dove-siamo .arrival-guide__destination {
  display: block;
  padding: clamp(24px, 3vw, 34px);
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 24px;
  box-shadow: inset 3px 0 0 #e2a742;
}

.page-dove-siamo .arrival-guide__destination small,
.page-dove-siamo .arrival-guide__destination strong,
.page-dove-siamo .arrival-guide__destination span {
  display: block;
}

.page-dove-siamo .arrival-guide__destination small {
  margin-bottom: 9px;
  color: #f1bd58;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-dove-siamo .arrival-guide__destination strong {
  color: #fff;
  font-size: clamp(1.1rem, .8vw + .92rem, 1.4rem);
  font-weight: 650;
  line-height: 1.3;
}

.page-dove-siamo .arrival-guide__destination span {
  margin-top: 14px;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(.9rem, .2vw + .86rem, .98rem);
  line-height: 1.6;
}

.page-dove-siamo .arrival-guide__routes {
  display: grid;
  margin-top: clamp(24px, 3vw, 36px);
  grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr);
  gap: clamp(18px, 2vw, 26px);
  align-items: stretch;
}

.page-dove-siamo .arrival-route {
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 4.4vw, 58px);
  border-radius: clamp(28px, 3vw, 40px);
  text-align: left;
}

.page-dove-siamo .arrival-route--car {
  color: #123f33;
  background:
    linear-gradient(135deg, rgba(226, 167, 66, .09), transparent 48%),
    #fffdf8;
  border: 1px solid rgba(17, 59, 48, .12);
  box-shadow: 0 24px 58px rgba(17, 59, 48, .1);
}

.page-dove-siamo .arrival-route__topline {
  display: flex;
  gap: 11px;
  align-items: center;
}

.page-dove-siamo .arrival-route__topline > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  color: #123f33;
  background: #edc778;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.page-dove-siamo .arrival-route__topline small {
  color: #8c5d10;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-dove-siamo .arrival-route h2 {
  margin: 25px 0 0;
  color: #123f33 !important;
  font-size: clamp(2.45rem, 3.7vw, 4rem);
  font-weight: 680;
  letter-spacing: -.055em;
  line-height: 1;
}

.page-dove-siamo .arrival-route__steps {
  margin: 30px 0 0;
  padding: 0;
  counter-reset: route-step;
  list-style: none;
}

.page-dove-siamo .arrival-route__steps li {
  position: relative;
  display: grid;
  min-height: 82px;
  padding: 18px 0 18px 55px;
  gap: 6px;
  border-top: 1px solid rgba(17, 59, 48, .11);
  counter-increment: route-step;
}

.page-dove-siamo .arrival-route__steps li::before {
  position: absolute;
  top: 19px;
  left: 0;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  content: counter(route-step);
  color: #f7d998;
  background: #16493b;
  border-radius: 11px;
  font-size: 11px;
  font-weight: 800;
}

.page-dove-siamo .arrival-route__steps strong,
.page-dove-siamo .arrival-route__steps span {
  display: block;
}

.page-dove-siamo .arrival-route__steps strong {
  color: #173f34;
  font-size: clamp(.95rem, .2vw + .91rem, 1.03rem);
  font-weight: 690;
  line-height: 1.4;
}

.page-dove-siamo .arrival-route__steps span {
  color: #49645c;
  font-size: clamp(.9rem, .2vw + .86rem, .98rem);
  line-height: 1.58;
}

.page-dove-siamo .arrival-route__local {
  margin-top: clamp(24px, 2.6vw, 34px);
  padding: clamp(22px, 2.6vw, 30px);
  background: rgba(18, 63, 51, .055);
  border: 1px solid rgba(18, 63, 51, .12);
  border-radius: 24px;
}

.page-dove-siamo .arrival-route__local-eyebrow {
  margin: 0 0 9px;
  color: #9a6410 !important;
  font-size: 10px !important;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-dove-siamo .arrival-route__local h3 {
  margin: 0;
  color: #123f33 !important;
  font-size: clamp(1.2rem, 1.2vw, 1.48rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.3;
}

.page-dove-siamo .arrival-route__local > p:not(.arrival-route__local-eyebrow) {
  margin: 13px 0 0;
  color: #49645c !important;
  font-size: clamp(.89rem, .18vw + .86rem, .97rem) !important;
  line-height: 1.62;
}

.page-dove-siamo .arrival-route__local-links {
  display: flex;
  margin-top: 18px;
  gap: 9px;
  flex-wrap: wrap;
}

.page-dove-siamo .arrival-route__local-links a {
  display: inline-flex;
  min-height: 36px;
  padding: 8px 13px;
  align-items: center;
  color: #16493b;
  background: #fffdf8;
  border: 1px solid rgba(18, 63, 51, .16);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.page-dove-siamo .arrival-route__local-links a:hover,
.page-dove-siamo .arrival-route__local-links a:focus {
  color: #fff;
  background: #16493b;
  border-color: #16493b;
}

.page-dove-siamo .arrival-guide__alternatives {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
}

.page-dove-siamo .arrival-route--compact {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .065), transparent 50%),
    linear-gradient(145deg, #174d3e, #0b352b);
  border: 1px solid rgba(226, 171, 75, .22);
  box-shadow: 0 22px 52px rgba(17, 59, 48, .15);
}

.page-dove-siamo .arrival-route--compact::after {
  position: absolute;
  right: -12%;
  bottom: -28%;
  width: 58%;
  height: 74%;
  content: "";
  background: linear-gradient(145deg, rgba(232, 184, 94, .1), transparent 68%);
  clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 62%);
  pointer-events: none;
}

.page-dove-siamo .arrival-route--compact > * {
  position: relative;
  z-index: 1;
}

.page-dove-siamo .arrival-route--compact .arrival-route__topline small {
  color: #f1bd58;
}

.page-dove-siamo .arrival-route--compact h2 {
  color: #fff !important;
  font-size: clamp(2.15rem, 3.1vw, 3.25rem);
}

.page-dove-siamo .arrival-route--compact p {
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .77) !important;
  font-size: clamp(.93rem, .25vw + .88rem, 1.02rem) !important;
  line-height: 1.65;
}

@media (max-width: 991.98px) {
  .page-dove-siamo .arrival-guide__header {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-dove-siamo .arrival-guide__destination {
    max-width: 620px;
  }

  .page-dove-siamo .arrival-guide__routes {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-dove-siamo .arrival-guide__alternatives {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
}

@media (max-width: 767.98px) {
  .page-dove-siamo .arrival-guide {
    padding: 54px 0 72px;
  }

  .page-dove-siamo .arrival-guide__shell {
    width: calc(100% - 12px) !important;
  }

  .page-dove-siamo .arrival-guide__header {
    padding: 32px 20px 24px;
    gap: 26px;
    border-radius: 28px;
  }

  .page-dove-siamo .arrival-guide__header::after {
    right: 22px;
    left: 22px;
  }

  .page-dove-siamo .arrival-guide__eyebrow {
    min-height: 33px;
    margin-bottom: 20px;
    padding: 7px 11px;
    font-size: 8.8px !important;
    letter-spacing: .075em;
  }

  .page-dove-siamo .arrival-guide h1 {
    font-size: clamp(2.25rem, 10.6vw, 3.2rem);
    line-height: .98;
  }

  .page-dove-siamo .arrival-guide__lead {
    margin-top: 22px;
    font-size: 15.5px !important;
    line-height: 1.62;
  }

  .page-dove-siamo .arrival-guide__destination {
    padding: 21px;
    border-radius: 18px;
  }

  .page-dove-siamo .arrival-guide__routes {
    margin-top: 14px;
    gap: 14px;
  }

  .page-dove-siamo .arrival-route {
    padding: 28px 20px 22px;
    border-radius: 28px;
  }

  .page-dove-siamo .arrival-route h2 {
    font-size: clamp(2.15rem, 10vw, 3rem);
  }

  .page-dove-siamo .arrival-route__steps {
    margin-top: 24px;
  }

  .page-dove-siamo .arrival-route__steps li {
    min-height: 0;
    padding: 17px 0 17px 49px;
  }

  .page-dove-siamo .arrival-route__steps li::before {
    width: 32px;
    height: 32px;
  }

  .page-dove-siamo .arrival-route__local {
    padding: 20px 18px;
    border-radius: 20px;
  }

  .page-dove-siamo .arrival-route__local-links {
    gap: 7px;
  }

  .page-dove-siamo .arrival-route__local-links a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .page-dove-siamo .arrival-guide__alternatives {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .page-dove-siamo .arrival-route--compact p {
    margin-top: 18px;
    font-size: 15px !important;
  }
}

@media (max-width: 359.98px) {
  .page-dove-siamo .arrival-guide h1 {
    font-size: 2.05rem;
  }

  html[lang="de"] .page-dove-siamo .arrival-guide h1,
  html[lang="pl"] .page-dove-siamo .arrival-guide h1 {
    font-size: 1.9rem;
  }

  .page-dove-siamo .arrival-guide__destination strong {
    font-size: 1rem;
  }
}

/* Wellness page: immersive SPA introduction and an editorial fitness panel. */
.page-centro-benessere .wellness-page-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 7vw, 112px) 0 clamp(88px, 8vw, 130px);
  background:
    linear-gradient(180deg, #f9f5ec 0 61%, #123f33 61% 100%);
  isolation: isolate;
}

.page-centro-benessere .wellness-page-intro::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: min(42vw, 620px);
  height: 42%;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 0 48%, rgba(213, 157, 63, .16) 48% 49%, transparent 49% 100%);
  background-size: 36px 36px;
  opacity: .65;
}

.page-centro-benessere .wellness-page-intro__copy-panel {
  position: relative;
  z-index: 2;
  width: min(1280px, calc(100% - 44px));
  max-width: none;
  padding: clamp(44px, 4.8vw, 68px) clamp(36px, 5.2vw, 72px);
  color: #fff;
  background:
    linear-gradient(122deg, rgba(24, 78, 63, .99) 0%, rgba(11, 52, 42, .99) 58%, rgba(7, 41, 33, 1) 100%);
  border: 1px solid rgba(240, 198, 111, .24);
  border-radius: clamp(30px, 3vw, 46px);
  box-shadow: 0 30px 74px rgba(7, 35, 28, .2);
  text-align: left;
}

.page-centro-benessere .wellness-page-intro__copy-panel::after {
  position: absolute;
  top: 0;
  right: clamp(40px, 6vw, 88px);
  left: clamp(40px, 6vw, 88px);
  height: 4px;
  content: "";
  background: linear-gradient(90deg, #e0a746, #f1d293 55%, rgba(241, 210, 147, 0));
  border-radius: 0 0 999px 999px;
}

.page-centro-benessere .wellness-page-intro__copy-panel > .row {
  margin: 0;
}

.page-centro-benessere .wellness-page-intro__copy {
  width: 100%;
  max-width: none;
  padding: 0;
  flex: 0 0 100%;
}

.page-centro-benessere .wellness-page-intro__headline-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  align-items: start;
  gap: clamp(36px, 5vw, 72px);
}

.page-centro-benessere .wellness-page-intro__headline-main {
  min-width: 0;
}

.page-centro-benessere .wellness-page-intro__summary {
  position: relative;
  margin-top: 4px;
  padding: clamp(24px, 2.4vw, 32px);
  background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .045));
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 18px 38px rgba(0, 0, 0, .12);
}

.page-centro-benessere .wellness-page-intro__eyebrow,
.page-centro-benessere .fitness-showcase__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 36px;
  margin: 0 0 clamp(20px, 2vw, 28px);
  padding: 8px 14px;
  align-items: center;
  gap: 10px;
  color: #f5d99f !important;
  background: rgba(240, 198, 111, .1);
  border: 1px solid rgba(240, 198, 111, .25);
  border-radius: 999px;
  font-size: clamp(10px, .62vw, 12px) !important;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

.page-centro-benessere .wellness-page-intro__eyebrow::before,
.page-centro-benessere .fitness-showcase__eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  background: #e4aa46;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(228, 170, 70, .11);
}

.page-centro-benessere .wellness-page-intro h1 {
  max-width: 760px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(3rem, 4.45vw, 4.8rem);
  font-weight: 690;
  letter-spacing: -.05em;
  line-height: 1.01;
  text-wrap: balance;
}

.page-centro-benessere .wellness-page-intro__title-accent {
  color: #efc976;
  text-shadow: 0 10px 28px rgba(224, 167, 70, .16);
}

.page-centro-benessere .wellness-page-intro__lead {
  max-width: none;
  margin: 0;
  color: rgba(255, 255, 255, .88) !important;
  font-size: clamp(1.04rem, .48vw + .93rem, 1.25rem) !important;
  line-height: 1.58 !important;
}

.page-centro-benessere .wellness-page-intro__amenities {
  display: grid;
  max-width: none;
  margin: clamp(34px, 3.4vw, 46px) 0 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
}

.page-centro-benessere .wellness-page-intro__amenities li {
  position: relative;
  min-height: 54px;
  padding: 15px 16px 15px 44px;
  color: #f8f3e9;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .105);
  border-radius: 16px;
  font-size: clamp(.89rem, .25vw + .84rem, 1rem);
  font-weight: 620;
  line-height: 1.45;
}

.page-centro-benessere .wellness-page-intro__amenities li::before {
  position: absolute;
  top: 50%;
  left: 17px;
  width: 18px;
  height: 18px;
  content: "✓";
  color: #143e33;
  background: #efc976;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
  transform: translateY(-50%);
}

.page-centro-benessere .wellness-page-intro__note {
  max-width: none;
  margin: clamp(20px, 2vw, 26px) 0 0;
  padding-left: 17px;
  color: #f4d28f !important;
  border-left: 3px solid #dca142;
  font-size: clamp(1rem, .35vw + .92rem, 1.15rem) !important;
  font-weight: 590;
  line-height: 1.6 !important;
}

.page-centro-benessere .wellness-page-intro__cta.button.button-primary {
  width: fit-content;
  min-height: 58px;
  margin-top: clamp(24px, 2.4vw, 30px);
  padding: 17px 28px;
  color: #10382e !important;
  background: #efc976 !important;
  border-color: #efc976 !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .2);
}

.page-centro-benessere .wellness-page-intro__cta.button.button-primary:hover,
.page-centro-benessere .wellness-page-intro__cta.button.button-primary:focus {
  color: #10382e !important;
  background: #fff !important;
  border-color: #fff !important;
}

.page-centro-benessere .wellness-page-intro__gallery-panel {
  position: relative;
  z-index: 3;
  width: min(980px, calc(100% - 70px));
  max-width: none;
  margin-top: -58px;
  padding: 0;
}

.page-centro-benessere .wellness-page-intro__gallery-panel > .row {
  margin: 0;
}

.page-centro-benessere .wellness-page-intro__gallery {
  width: 100%;
  max-width: none;
  padding: 0;
  flex: 0 0 100%;
}

/* Row-50 restores wide gutters at 1600px; keep this single gallery continuous. */
@media (min-width: 1600px) {
  body.page-centro-benessere .page .wellness-page-intro__gallery-panel > .row.row-50 > .wellness-page-intro__gallery {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

.page-centro-benessere .wellness-page-intro__carousel {
  padding: 11px;
  background: #fffdf8;
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: clamp(28px, 2.6vw, 38px);
  box-shadow: 0 30px 76px rgba(7, 32, 26, .28);
}

.page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1,
.page-centro-benessere .wellness-page-intro__carousel figure,
.page-centro-benessere .wellness-page-intro__carousel img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: clamp(21px, 2vw, 29px);
}

.page-centro-benessere .wellness-page-intro__carousel img {
  height: 100%;
  object-fit: cover;
}

.page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1::after {
  inset: 9px;
  border-radius: clamp(16px, 1.6vw, 23px);
}

.page-centro-benessere .fitness-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 8vw, 128px) 0;
  background:
    linear-gradient(115deg, rgba(224, 167, 70, .1), transparent 34%),
    #f7f2e8;
}

.page-centro-benessere .fitness-showcase__shell {
  width: min(1280px, calc(100% - 44px));
  max-width: none;
  padding: 0;
}

.page-centro-benessere .fitness-showcase__shell > .row {
  margin: 0;
}

.page-centro-benessere .fitness-showcase__layout {
  display: grid;
  overflow: hidden;
  width: 100%;
  max-width: none;
  padding: 14px;
  flex: 0 0 100%;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  grid-template-areas: "gallery copy";
  gap: clamp(28px, 4vw, 62px);
  align-items: center;
  color: #fff;
  background: linear-gradient(135deg, #174d3e, #0b352b);
  border: 1px solid rgba(226, 171, 75, .25);
  border-radius: clamp(30px, 3vw, 44px);
  box-shadow: 0 32px 78px rgba(13, 47, 38, .2);
  text-align: left;
}

.page-centro-benessere .fitness-showcase__copy {
  grid-area: copy;
  padding: clamp(34px, 4.4vw, 64px) clamp(28px, 4vw, 58px) clamp(34px, 4.4vw, 64px) 0;
}

.page-centro-benessere .fitness-showcase__copy h2 {
  max-width: 620px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.55rem, 4vw, 4.4rem);
  font-weight: 680;
  letter-spacing: -.05em;
  line-height: 1;
  text-wrap: balance;
}

.page-centro-benessere .fitness-showcase__lead {
  max-width: 560px;
  margin: clamp(24px, 2.5vw, 34px) 0 0;
  color: rgba(255, 255, 255, .78) !important;
  font-size: clamp(.98rem, .35vw + .9rem, 1.12rem) !important;
  line-height: 1.7 !important;
}

.page-centro-benessere .fitness-showcase__highlights {
  display: grid;
  gap: 11px;
  margin: clamp(26px, 2.8vw, 38px) 0 0;
  padding: 0;
  list-style: none;
}

.page-centro-benessere .fitness-showcase__highlights li {
  position: relative;
  min-height: 52px;
  padding: 14px 15px 14px 46px;
  color: #f7f4ed;
  background: rgba(255, 255, 255, .065);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 15px;
  font-size: clamp(.9rem, .25vw + .84rem, 1rem);
  font-weight: 570;
  line-height: 1.5;
}

.page-centro-benessere .fitness-showcase__highlights li::before {
  position: absolute;
  top: 50%;
  left: 16px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  content: "\2713";
  color: #113b30;
  background: #e8b85e;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
}

.page-centro-benessere .fitness-showcase__carousel {
  grid-area: gallery;
  overflow: hidden;
  width: 100%;
  background: #fdfaf3;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: clamp(23px, 2.3vw, 32px);
  box-shadow: 0 22px 54px rgba(0, 0, 0, .22);
}

.page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1,
.page-centro-benessere .fitness-showcase__carousel figure,
.page-centro-benessere .fitness-showcase__carousel img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: inherit;
}

.page-centro-benessere .fitness-showcase__carousel img {
  height: 100%;
  object-fit: cover;
}

.page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1::after {
  inset: 9px;
  border-radius: clamp(16px, 1.7vw, 24px);
}

.page-centro-benessere .wellness-page-intro__carousel .owl-prev,
.page-centro-benessere .wellness-page-intro__carousel .owl-next,
.page-centro-benessere .fitness-showcase__carousel .owl-prev,
.page-centro-benessere .fitness-showcase__carousel .owl-next {
  color: #123f33;
  background: rgba(255, 253, 248, .94);
  border: 1px solid rgba(18, 63, 51, .12);
  box-shadow: 0 10px 26px rgba(9, 45, 36, .18);
}

@media (hover: hover) and (pointer: fine) {
  .page-centro-benessere .wellness-page-intro__amenities li,
  .page-centro-benessere .fitness-showcase__highlights li {
    transition: border-color .25s ease, background-color .25s ease, transform .25s ease;
  }

  .page-centro-benessere .wellness-page-intro__amenities li:hover,
  .page-centro-benessere .fitness-showcase__highlights li:hover {
    background: rgba(255, 255, 255, .105);
    border-color: rgba(239, 201, 118, .32);
    transform: translateY(-2px);
  }
}

@media (max-width: 991.98px) {
  .page-centro-benessere .wellness-page-intro__headline-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .page-centro-benessere .wellness-page-intro__summary {
    max-width: 760px;
  }

  .page-centro-benessere .wellness-page-intro__amenities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-centro-benessere .fitness-showcase__layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "copy"
      "gallery";
    gap: 4px;
  }

  .page-centro-benessere .fitness-showcase__copy {
    padding: clamp(34px, 7vw, 58px) clamp(28px, 6vw, 50px);
  }

  .page-centro-benessere .fitness-showcase__carousel {
    margin-top: 4px;
  }
}

@media (max-width: 767.98px) {
  .page-centro-benessere .wellness-page-intro {
    padding: 56px 0 76px;
    background: linear-gradient(180deg, #f9f5ec 0 72%, #123f33 72% 100%);
  }

  .page-centro-benessere .wellness-page-intro::before {
    width: 82vw;
    height: 24%;
    opacity: .45;
  }

  .page-centro-benessere .wellness-page-intro__copy-panel,
  .page-centro-benessere .fitness-showcase__shell {
    width: calc(100% - 12px);
  }

  .page-centro-benessere .wellness-page-intro__copy-panel {
    padding: 32px 20px 30px;
    border-radius: 28px;
  }

  .page-centro-benessere .wellness-page-intro__copy-panel::after {
    right: 22px;
    left: 22px;
  }

  .page-centro-benessere .wellness-page-intro__eyebrow,
  .page-centro-benessere .fitness-showcase__eyebrow {
    min-height: 33px;
    margin-bottom: 20px;
    padding: 7px 11px;
    font-size: 8.8px !important;
    letter-spacing: .075em;
  }

  .page-centro-benessere .wellness-page-intro h1 {
    font-size: clamp(2.25rem, 10.6vw, 3.35rem);
    line-height: 1;
  }

  .page-centro-benessere .wellness-page-intro__headline-layout {
    gap: 24px;
  }

  .page-centro-benessere .wellness-page-intro__summary {
    margin-top: 0;
    padding: 20px;
    border-radius: 18px;
  }

  .page-centro-benessere .wellness-page-intro__lead {
    margin-top: 0;
    font-size: clamp(15.5px, 4.2vw, 16.5px) !important;
  }

  .page-centro-benessere .wellness-page-intro__amenities {
    margin-top: 24px;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }

  .page-centro-benessere .wellness-page-intro__amenities li {
    min-height: 49px;
    padding: 13px 14px 13px 42px;
    border-radius: 14px;
    font-size: 14px;
  }

  .page-centro-benessere .wellness-page-intro__note {
    margin-top: 20px;
    padding-left: 16px;
    font-size: 15px !important;
  }

  .page-centro-benessere .wellness-page-intro__cta.button.button-primary {
    width: 100%;
    min-height: 54px;
    margin-top: 22px;
    padding: 14px 17px;
    white-space: normal;
  }

  .page-centro-benessere .wellness-page-intro__gallery-panel {
    width: calc(100% - 28px);
    margin-top: -26px;
  }

  .page-centro-benessere .wellness-page-intro__carousel {
    padding: 6px;
    border-radius: 24px;
  }

  .page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1,
  .page-centro-benessere .wellness-page-intro__carousel figure,
  .page-centro-benessere .wellness-page-intro__carousel img {
    aspect-ratio: 4 / 3;
    border-radius: 19px;
  }

  .page-centro-benessere .fitness-showcase {
    padding: 72px 0;
  }

  .page-centro-benessere .fitness-showcase__layout {
    padding: 6px;
    border-radius: 28px;
  }

  .page-centro-benessere .fitness-showcase__copy {
    padding: 30px 16px 28px;
  }

  .page-centro-benessere .fitness-showcase__copy h2 {
    font-size: clamp(2.15rem, 10vw, 3.05rem);
  }

  .page-centro-benessere .fitness-showcase__lead {
    margin-top: 22px;
    font-size: 15.5px !important;
  }

  .page-centro-benessere .fitness-showcase__highlights {
    margin-top: 24px;
    gap: 9px;
  }

  .page-centro-benessere .fitness-showcase__highlights li {
    min-height: 48px;
    padding: 13px 13px 13px 42px;
    border-radius: 13px;
    font-size: 14px;
  }

  .page-centro-benessere .fitness-showcase__carousel {
    border-radius: 22px;
  }
}

@media (max-width: 359.98px) {
  .page-centro-benessere .wellness-page-intro__copy-panel {
    padding-right: 17px;
    padding-left: 17px;
  }

  .page-centro-benessere .wellness-page-intro h1,
  .page-centro-benessere .fitness-showcase__copy h2 {
    font-size: 2.05rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-centro-benessere .wellness-page-intro__amenities li,
  .page-centro-benessere .fitness-showcase__highlights li {
    transition: none;
  }
}

/* Shared editorial carousels: compact frame, stable controls and uncropped photos. */
.page-fattoria-didattica .farm-story__gallery {
  padding: 8px;
  background: #fffdf8;
  border: 1px solid rgba(18, 63, 51, .14);
  border-radius: clamp(24px, 2.4vw, 34px);
  box-shadow: 0 24px 58px rgba(17, 59, 48, .16);
}

.page-fattoria-didattica .farm-story__carousel,
.page-centro-benessere .wellness-page-intro__carousel,
.page-centro-benessere .fitness-showcase__carousel {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  margin: 0;
  background: #fffdf8;
  border-radius: clamp(20px, 2vw, 28px);
  outline: 0;
}

.page-fattoria-didattica .farm-story__carousel {
  padding: 0 !important;
  border: 0;
  box-shadow: none;
}

.page-centro-benessere .wellness-page-intro__carousel,
.page-centro-benessere .fitness-showcase__carousel {
  padding: 8px 8px 0 !important;
  border: 1px solid rgba(18, 63, 51, .12);
  box-shadow: 0 24px 58px rgba(7, 32, 26, .2);
}

.page-fattoria-didattica .farm-story__carousel .owl-stage-outer,
.page-centro-benessere .wellness-page-intro__carousel .owl-stage-outer,
.page-centro-benessere .fitness-showcase__carousel .owl-stage-outer {
  overflow: hidden;
  background: #dfd9cf;
  border-radius: clamp(18px, 1.8vw, 25px) clamp(18px, 1.8vw, 25px) 0 0 !important;
}

.page-fattoria-didattica .farm-story__carousel .owl-stage,
.page-fattoria-didattica .farm-story__carousel .owl-item,
.page-centro-benessere .wellness-page-intro__carousel .owl-stage,
.page-centro-benessere .wellness-page-intro__carousel .owl-item,
.page-centro-benessere .fitness-showcase__carousel .owl-stage,
.page-centro-benessere .fitness-showcase__carousel .owl-item {
  border-radius: 0 !important;
}

.page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1,
.page-fattoria-didattica .farm-story__carousel figure,
.page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1,
.page-centro-benessere .wellness-page-intro__carousel figure,
.page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1,
.page-centro-benessere .fitness-showcase__carousel figure {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  background: #dfd9cf;
  border: 0;
  border-radius: 0 !important;
  outline: 0;
}

.page-fattoria-didattica .farm-story__carousel img,
.page-centro-benessere .wellness-page-intro__carousel img,
.page-centro-benessere .fitness-showcase__carousel img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  background: #dfd9cf;
  border: 0;
  border-radius: 0 !important;
  transform: scale(1.001);
  transition: transform .55s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
}

.page-fattoria-didattica .farm-story__carousel .caption,
.page-centro-benessere .wellness-page-intro__carousel .caption,
.page-centro-benessere .fitness-showcase__carousel .caption {
  display: none !important;
}

.page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1::after,
.page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1::after,
.page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1::after {
  inset: 10px;
  z-index: 2;
  border-color: rgba(255, 255, 255, .48);
  border-radius: clamp(14px, 1.45vw, 20px);
  transition: border-color .25s ease, box-shadow .25s ease;
}

.page-fattoria-didattica .farm-story__carousel .owl-dots,
.page-centro-benessere .wellness-page-intro__carousel .owl-dots,
.page-centro-benessere .fitness-showcase__carousel .owl-dots {
  display: flex !important;
  min-height: 56px;
  margin: 0 !important;
  padding: 16px 12px !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #fffdf8;
  border-radius: 0 0 clamp(18px, 1.8vw, 25px) clamp(18px, 1.8vw, 25px);
}

.page-fattoria-didattica .farm-story__carousel .owl-dot,
.page-centro-benessere .wellness-page-intro__carousel .owl-dot,
.page-centro-benessere .fitness-showcase__carousel .owl-dot {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
  background: #d2d1cd;
  border: 0;
  border-radius: 999px;
  transition: width .24s ease, background-color .24s ease;
}

.page-fattoria-didattica .farm-story__carousel .owl-dot span,
.page-centro-benessere .wellness-page-intro__carousel .owl-dot span,
.page-centro-benessere .fitness-showcase__carousel .owl-dot span {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: inherit;
}

.page-fattoria-didattica .farm-story__carousel .owl-dot.active,
.page-centro-benessere .wellness-page-intro__carousel .owl-dot.active,
.page-centro-benessere .fitness-showcase__carousel .owl-dot.active {
  width: 28px;
  background: #d49a3d;
}

.page-fattoria-didattica .farm-story__carousel .owl-prev,
.page-fattoria-didattica .farm-story__carousel .owl-next,
.page-centro-benessere .wellness-page-intro__carousel .owl-prev,
.page-centro-benessere .wellness-page-intro__carousel .owl-next,
.page-centro-benessere .fitness-showcase__carousel .owl-prev,
.page-centro-benessere .fitness-showcase__carousel .owl-next {
  top: calc(50% - 28px);
  display: grid;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
  place-items: center;
  color: #123f33;
  background: rgba(255, 253, 248, .94);
  border: 1px solid rgba(18, 63, 51, .14);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(9, 45, 36, .18);
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.page-fattoria-didattica .farm-story__carousel .owl-prev,
.page-centro-benessere .wellness-page-intro__carousel .owl-prev,
.page-centro-benessere .fitness-showcase__carousel .owl-prev {
  left: 18px;
}

.page-fattoria-didattica .farm-story__carousel .owl-next,
.page-centro-benessere .wellness-page-intro__carousel .owl-next,
.page-centro-benessere .fitness-showcase__carousel .owl-next {
  right: 18px;
}

.page-fattoria-didattica .farm-story__carousel .owl-prev::before,
.page-fattoria-didattica .farm-story__carousel .owl-next::before,
.page-centro-benessere .wellness-page-intro__carousel .owl-prev::before,
.page-centro-benessere .wellness-page-intro__carousel .owl-next::before,
.page-centro-benessere .fitness-showcase__carousel .owl-prev::before,
.page-centro-benessere .fitness-showcase__carousel .owl-next::before {
  position: static;
  display: block;
  line-height: 1;
}

@media (hover: hover) and (pointer: fine) {
  .page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1:hover img,
  .page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1:hover img,
  .page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1:hover img {
    filter: saturate(1.035) contrast(1.015);
    transform: scale(1.018);
  }

  .page-fattoria-didattica .farm-story__carousel .owl-prev:hover,
  .page-fattoria-didattica .farm-story__carousel .owl-next:hover,
  .page-fattoria-didattica .farm-story__carousel .owl-prev:focus-visible,
  .page-fattoria-didattica .farm-story__carousel .owl-next:focus-visible,
  .page-centro-benessere .wellness-page-intro__carousel .owl-prev:hover,
  .page-centro-benessere .wellness-page-intro__carousel .owl-next:hover,
  .page-centro-benessere .wellness-page-intro__carousel .owl-prev:focus-visible,
  .page-centro-benessere .wellness-page-intro__carousel .owl-next:focus-visible,
  .page-centro-benessere .fitness-showcase__carousel .owl-prev:hover,
  .page-centro-benessere .fitness-showcase__carousel .owl-next:hover,
  .page-centro-benessere .fitness-showcase__carousel .owl-prev:focus-visible,
  .page-centro-benessere .fitness-showcase__carousel .owl-next:focus-visible {
    color: #10382e;
    background: #efc773 !important;
    box-shadow: 0 13px 28px rgba(9, 45, 36, .22);
    transform: translateY(-50%) scale(1.035);
  }
}

@media (max-width: 767.98px) {
  .page-fattoria-didattica .farm-story__gallery {
    padding: 5px;
    border-radius: 22px;
  }

  .page-fattoria-didattica .farm-story__carousel,
  .page-centro-benessere .wellness-page-intro__carousel,
  .page-centro-benessere .fitness-showcase__carousel {
    border-radius: 18px;
  }

  .page-centro-benessere .wellness-page-intro__carousel,
  .page-centro-benessere .fitness-showcase__carousel {
    padding: 5px 5px 0 !important;
  }

  .page-fattoria-didattica .farm-story__carousel .owl-stage-outer,
  .page-centro-benessere .wellness-page-intro__carousel .owl-stage-outer,
  .page-centro-benessere .fitness-showcase__carousel .owl-stage-outer {
    border-radius: 15px 15px 0 0 !important;
  }

  .page-fattoria-didattica .farm-story__carousel .img-thumbnail-variant-1::after,
  .page-centro-benessere .wellness-page-intro__carousel .img-thumbnail-variant-1::after,
  .page-centro-benessere .fitness-showcase__carousel .img-thumbnail-variant-1::after {
    inset: 7px;
    border-radius: 11px;
  }

  .page-fattoria-didattica .farm-story__carousel .owl-dots,
  .page-centro-benessere .wellness-page-intro__carousel .owl-dots,
  .page-centro-benessere .fitness-showcase__carousel .owl-dots {
    min-height: 48px;
    padding: 14px 9px !important;
    gap: 6px;
    border-radius: 0 0 15px 15px;
  }

  .page-fattoria-didattica .farm-story__carousel .owl-prev,
  .page-fattoria-didattica .farm-story__carousel .owl-next,
  .page-centro-benessere .wellness-page-intro__carousel .owl-prev,
  .page-centro-benessere .wellness-page-intro__carousel .owl-next,
  .page-centro-benessere .fitness-showcase__carousel .owl-prev,
  .page-centro-benessere .fitness-showcase__carousel .owl-next {
    top: calc(50% - 24px);
    width: 43px;
    height: 43px;
    border-radius: 12px;
    font-size: 23px;
  }

  .page-fattoria-didattica .farm-story__carousel .owl-prev,
  .page-centro-benessere .wellness-page-intro__carousel .owl-prev,
  .page-centro-benessere .fitness-showcase__carousel .owl-prev {
    left: 10px;
  }

  .page-fattoria-didattica .farm-story__carousel .owl-next,
  .page-centro-benessere .wellness-page-intro__carousel .owl-next,
  .page-centro-benessere .fitness-showcase__carousel .owl-next {
    right: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-fattoria-didattica .farm-story__carousel img,
  .page-centro-benessere .wellness-page-intro__carousel img,
  .page-centro-benessere .fitness-showcase__carousel img,
  .page-fattoria-didattica .farm-story__carousel .owl-dot,
  .page-centro-benessere .wellness-page-intro__carousel .owl-dot,
  .page-centro-benessere .fitness-showcase__carousel .owl-dot,
  .page-fattoria-didattica .farm-story__carousel .owl-prev,
  .page-fattoria-didattica .farm-story__carousel .owl-next,
  .page-centro-benessere .wellness-page-intro__carousel .owl-prev,
  .page-centro-benessere .wellness-page-intro__carousel .owl-next,
  .page-centro-benessere .fitness-showcase__carousel .owl-prev,
  .page-centro-benessere .fitness-showcase__carousel .owl-next {
    transition: none;
  }
}

/* Embedded photo galleries: keep circular arrows centered on the image area, not on the dots below. */
.carousel-post-gallery .owl-nav .owl-prev,
.carousel-post-gallery .owl-nav .owl-next {
  top: var(--lrp-gallery-nav-center, 50%) !important;
  margin-top: 0 !important;
  border-radius: 50% !important;
}

/* Dance course contacts: two clear, responsive phone actions instead of a wrapping text line. */
body.restyle-ready .dance-event__contact {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 12px 18px;
  max-width: 100%;
  margin-top: 28px;
  padding: 14px;
  align-items: center;
  color: rgba(255, 255, 255, .82);
  text-align: left;
  border: 1px solid rgba(241, 207, 139, .22);
  border-radius: 18px;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

body.restyle-ready .dance-event__contact-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--lrp-honey-light);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.restyle-ready .dance-event__contact-label::before {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  content: "";
  color: var(--lrp-forest-deep);
  background-color: var(--lrp-honey-light);
  border-radius: 9px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6.6%202.8h3.1l1.55%204.45-2.1%201.45a14.2%2014.2%200%200%200%206.15%206.15l1.45-2.1%204.45%201.55v3.1a2.1%202.1%200%200%201-2.1%202.1C10.95%2019.5%204.5%2013.05%204.5%204.9a2.1%202.1%200%200%201%202.1-2.1Z%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center / 18px 18px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6.6%202.8h3.1l1.55%204.45-2.1%201.45a14.2%2014.2%200%200%200%206.15%206.15l1.45-2.1%204.45%201.55v3.1a2.1%202.1%200%200%201-2.1%202.1C10.95%2019.5%204.5%2013.05%204.5%204.9a2.1%202.1%200%200%201%202.1-2.1Z%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

body.restyle-ready .dance-event__contact-links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}

body.restyle-ready .dance-event__contact-links a,
body.restyle-ready .dance-event__contact-links a:focus {
  display: inline-flex;
  min-height: 46px;
  padding: 10px 14px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff !important;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body.restyle-ready .dance-event__contact-name {
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
  font-weight: 700;
}

body.restyle-ready .dance-event__contact-number {
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body.restyle-ready .dance-event__contact-links a:hover,
body.restyle-ready .dance-event__contact-links a:focus-visible {
  color: var(--lrp-forest-deep) !important;
  border-color: var(--lrp-honey-light);
  background: var(--lrp-honey-light);
  transform: translateY(-2px);
}

body.restyle-ready .dance-event__contact-links a:hover .dance-event__contact-name,
body.restyle-ready .dance-event__contact-links a:focus-visible .dance-event__contact-name {
  color: rgba(13, 41, 34, .72);
}

@media (max-width: 767.98px) {
  body.restyle-ready .dance-event__contact {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 13px;
    padding: 15px;
  }

  body.restyle-ready .dance-event__contact-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    justify-content: stretch;
  }
}

@media (max-width: 575.98px) {
  body.restyle-ready .dance-event__contact {
    width: 100%;
    margin-top: 24px;
    padding: 14px;
    border-radius: 16px;
  }

  body.restyle-ready .dance-event__contact-links {
    grid-template-columns: minmax(0, 1fr);
  }

  body.restyle-ready .dance-event__contact-links a,
  body.restyle-ready .dance-event__contact-links a:focus {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 319.98px) {
  body.restyle-ready .dance-event__contact-label {
    white-space: normal;
    text-align: left;
  }

  body.restyle-ready .dance-event__contact-links a:first-child {
    flex-direction: column;
    gap: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.restyle-ready .dance-event__contact-links a {
    transition: none;
  }
}

/* Photo lightbox: clean navigation without the thumbnail strip. */
.lg-outer .lg-img-wrap {
  box-sizing: border-box;
}

.lg-outer .lg-image {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

.lg-outer.lg-has-thumb .lg-item,
.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0 !important;
}

.lg-outer.lg-has-thumb.lg-thumb-open .lg-image {
  max-height: 100% !important;
}

.lg-outer .lg-progress-bar,
.lg-outer .lg-toolbar .lg-icon:not(.lg-close) {
  display: none !important;
}

.lg-outer .lg-thumb-outer,
.lg-outer .lg-toogle-thumb {
  display: none !important;
}

.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html {
  bottom: 0 !important;
}

@media (min-width: 768px) {
  .lg-outer .lg-actions,
  .lg-outer.lg-hide-items .lg-actions {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  .lg-outer .lg-actions .lg-prev,
  .lg-outer .lg-actions .lg-next,
  .lg-outer.lg-hide-items .lg-actions .lg-prev,
  .lg-outer.lg-hide-items .lg-actions .lg-next {
    position: fixed;
    z-index: 1190;
    top: 50%;
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0;
    padding: 0;
    place-items: center;
    border-radius: 50%;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
  }

  .lg-outer .lg-actions .lg-prev,
  .lg-outer.lg-hide-items .lg-actions .lg-prev {
    left: 24px;
  }

  .lg-outer .lg-actions .lg-next,
  .lg-outer.lg-hide-items .lg-actions .lg-next {
    right: 24px;
  }
}

@media (max-width: 767.98px) {
  .lg-outer {
    --lg-mobile-close-dock-height: calc(env(safe-area-inset-top, 0px) + 72px);
    --lg-mobile-nav-dock-height: calc(env(safe-area-inset-bottom, 0px) + 76px);
    --lg-mobile-thumb-height: 0px;
    --lg-mobile-nav-top: auto;
    --lg-mobile-nav-bottom: calc(var(--lg-mobile-thumb-height) + env(safe-area-inset-bottom, 0px) + 10px);
  }

  .lg-outer .lg-item,
  .lg-outer.lg-has-thumb .lg-item,
  .lg-outer.lg-can-toggle .lg-item {
    padding-bottom: 0 !important;
  }

  .lg-outer .lg-img-wrap {
    top: var(--lg-mobile-close-dock-height) !important;
    bottom: calc(var(--lg-mobile-nav-dock-height) + var(--lg-mobile-thumb-height)) !important;
    width: auto !important;
    height: auto !important;
    padding: 0 10px !important;
  }

  .lg-outer.lg-has-thumb.lg-thumb-open .lg-image {
    max-height: 100% !important;
  }

  .lg-outer.lg-mobile-no-actions .lg-img-wrap {
    bottom: calc(var(--lg-mobile-thumb-height) + env(safe-area-inset-bottom, 0px) + 16px) !important;
  }

  .lg-outer .lg-actions,
  .lg-outer.lg-hide-items .lg-actions {
    position: fixed !important;
    top: auto !important;
    right: auto !important;
    bottom: var(--lg-mobile-nav-bottom) !important;
    left: 50% !important;
    display: flex !important;
    height: 46px;
    flex-direction: row !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate3d(-50%, 0, 0) !important;
    transition: opacity .16s ease !important;
    visibility: visible !important;
  }

  .lg-outer .lg-actions .lg-prev,
  .lg-outer .lg-actions .lg-next,
  .lg-outer.lg-hide-items .lg-actions .lg-prev,
  .lg-outer.lg-hide-items .lg-actions .lg-next {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    visibility: visible !important;
  }
}

.lg-outer .lg-toolbar,
.lg-outer.lg-hide-items .lg-toolbar {
  height: 0;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: none;
  transform: none !important;
}

.lg-outer .lg-toolbar .lg-close,
.lg-outer.lg-hide-items .lg-toolbar .lg-close {
  position: fixed !important;
  z-index: 1205;
  top: calc(env(safe-area-inset-top, 0px) + 18px) !important;
  right: calc(env(safe-area-inset-right, 0px) + 18px) !important;
  display: grid !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  place-items: center;
  color: #fff !important;
  background: rgba(9, 49, 39, .94) !important;
  border: 2px solid rgba(255, 255, 255, .86) !important;
  border-radius: 50% !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .34) !important;
  font-size: 23px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  pointer-events: auto;
  transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
  visibility: visible !important;
}

.lg-outer .lg-toolbar .lg-close:hover,
.lg-outer .lg-toolbar .lg-close:focus {
  background: #8f1721 !important;
  border-color: #fff !important;
  transform: scale(1.04) !important;
}

.lg-outer #lg-counter,
.lg-outer.lg-hide-items #lg-counter {
  position: fixed !important;
  z-index: 1205;
  top: calc(env(safe-area-inset-top, 0px) + 18px) !important;
  left: calc(env(safe-area-inset-left, 0px) + 18px) !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 76px;
  min-height: 52px;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: rgba(9, 49, 39, .94) !important;
  border: 2px solid rgba(255, 255, 255, .86);
  border-radius: 999px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
  font-family: var(--lrp-font-body);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1;
  opacity: 1 !important;
  pointer-events: none;
  transform: none !important;
  visibility: visible !important;
}

.lg-outer #lg-counter-current,
.lg-outer #lg-counter-all {
  font-variant-numeric: tabular-nums;
}

.lg-outer .lrp-lightbox-counter-separator {
  margin-right: .34em;
  margin-left: .34em;
  color: rgba(255, 255, 255, .8);
  font-weight: 650;
}

@media (max-width: 767.98px) {
  .lg-outer #lg-counter,
  .lg-outer.lg-hide-items #lg-counter {
    top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
    left: calc(env(safe-area-inset-left, 0px) + 12px) !important;
    min-width: 70px;
    min-height: 48px;
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 13px;
  }

  .lg-outer .lg-toolbar .lg-close,
  .lg-outer.lg-hide-items .lg-toolbar .lg-close {
    top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
    right: calc(env(safe-area-inset-right, 0px) + 12px) !important;
    width: 48px !important;
    height: 48px !important;
    font-size: 21px !important;
  }
}

@media (max-width: 767.98px) and (max-height: 480px) {
  .lg-outer {
    --lg-mobile-close-dock-height: calc(env(safe-area-inset-top, 0px) + 54px);
    --lg-mobile-nav-dock-height: calc(env(safe-area-inset-bottom, 0px) + 58px);
    --lg-mobile-thumb-height: 0px !important;
    --lg-mobile-nav-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px);
  }

  .lg-outer .lg-actions,
  .lg-outer.lg-hide-items .lg-actions {
    height: 40px;
    gap: 10px;
  }

  .lg-outer .lg-actions .lg-prev,
  .lg-outer .lg-actions .lg-next,
  .lg-outer.lg-hide-items .lg-actions .lg-prev,
  .lg-outer.lg-hide-items .lg-actions .lg-next {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .lg-outer .lg-toolbar .lg-close,
  .lg-outer.lg-hide-items .lg-toolbar .lg-close {
    top: calc(env(safe-area-inset-top, 0px) + 7px) !important;
    right: calc(env(safe-area-inset-right, 0px) + 9px) !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 19px !important;
  }

  .lg-outer #lg-counter,
  .lg-outer.lg-hide-items #lg-counter {
    top: calc(env(safe-area-inset-top, 0px) + 7px) !important;
    left: calc(env(safe-area-inset-left, 0px) + 9px) !important;
    min-width: 64px;
    min-height: 40px;
    padding-right: 12px !important;
    padding-left: 12px !important;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lg-outer .lg-toolbar .lg-close {
    transition: none !important;
  }
}

/* Apiary introduction: warm editorial storytelling and layered product imagery. */
.page-apicoltura .apiary-story {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 7vw, 118px) 0;
  background:
    radial-gradient(circle at 7% 10%, rgba(222, 160, 54, .18), transparent 25rem),
    radial-gradient(circle at 96% 92%, rgba(37, 93, 72, .14), transparent 28rem),
    linear-gradient(138deg, #fffaf0 0%, #f8f4ea 48%, #eef5ef 100%) !important;
}

.page-apicoltura .apiary-story::before,
.page-apicoltura .apiary-story::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.page-apicoltura .apiary-story::before {
  top: -180px;
  right: -130px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, transparent 0 39%, rgba(207, 145, 45, .12) 39.4% 39.8%, transparent 40.2% 58%, rgba(207, 145, 45, .09) 58.4% 58.8%, transparent 59.2% 76%, rgba(207, 145, 45, .07) 76.4% 76.8%, transparent 77.2%);
  border: 1px solid rgba(207, 145, 45, .08);
  border-radius: 50%;
}

.page-apicoltura .apiary-story::after {
  top: 18px;
  right: -10px;
  bottom: auto;
  left: auto;
  width: 280px;
  height: 116px;
  background: #174d40;
  -webkit-mask: url("../images/logo-watermark.png") center / contain no-repeat;
  mask: url("../images/logo-watermark.png") center / contain no-repeat;
  opacity: .085;
}

@media (max-width: 991.98px) {
  .page-apicoltura .apiary-story::after {
    top: -1px;
    right: 60px;
    width: 140px;
    height: 57px;
    opacity: .13;
  }
}

.page-apicoltura .apiary-story > .container {
  position: relative;
  z-index: 1;
}

.page-apicoltura .apiary-story > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: clamp(28px, 3.5vw, 58px);
  align-items: stretch;
  margin: 0;
}

.page-apicoltura .apiary-story > .container > .row > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}

.page-apicoltura .apiary-story > .container > .row > .modern-copy-card {
  align-self: stretch;
  padding: clamp(36px, 4vw, 58px);
  background:
    radial-gradient(circle at 94% 7%, rgba(218, 158, 62, .12), transparent 12rem),
    linear-gradient(150deg, rgba(255, 255, 255, .97), rgba(251, 247, 238, .94));
  border: 1px solid rgba(28, 70, 56, .12);
  border-radius: clamp(28px, 3vw, 42px);
  box-shadow: 0 28px 72px rgba(22, 58, 47, .12);
}

.page-apicoltura .apiary-story > .container > .row > .modern-copy-card::before {
  top: 0;
  right: clamp(34px, 4vw, 58px);
  bottom: auto;
  left: clamp(34px, 4vw, 58px);
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, #dba23f, #8f1721 68%, #123f33);
  border-radius: 0 0 999px 999px;
}

.page-apicoltura .apiary-story .apiary-story__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(22px, 2.4vw, 32px);
  padding: 8px 14px;
  color: #82531d;
  background: #fbf1de;
  border: 1px solid rgba(205, 143, 43, .24);
  border-radius: 999px;
  font-size: clamp(10px, .72vw, 12px);
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.page-apicoltura .apiary-story .apiary-story__eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  background: #dda13b;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(221, 161, 59, .12);
}

.page-apicoltura .apiary-story .modern-copy-card h1 {
  max-width: 800px;
  margin: 0;
  color: #103c31 !important;
  font-size: clamp(2.75rem, 4.25vw, 4.85rem);
  font-weight: 690;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}

.page-apicoltura .apiary-story__copy {
  display: grid;
  gap: clamp(20px, 2vw, 28px);
  margin-top: clamp(30px, 3.3vw, 46px);
}

.page-apicoltura .apiary-story__copy p {
  max-width: 66ch;
  margin: 0;
  color: #476159;
  font-size: clamp(.98rem, .33vw + .91rem, 1.08rem);
  line-height: 1.72;
}

.page-apicoltura .apiary-story__copy .apiary-story__lead {
  position: relative;
  padding: 19px 20px 19px 23px;
  color: #224d40;
  background: linear-gradient(110deg, rgba(226, 169, 74, .13), rgba(226, 169, 74, .035));
  border-left: 4px solid #dda23f;
  border-radius: 0 18px 18px 0;
  font-size: clamp(1.06rem, .45vw + .96rem, 1.2rem);
  font-weight: 590;
  line-height: 1.62;
}

.page-apicoltura .apiary-story .modern-copy-card .button {
  width: fit-content;
  max-width: 100%;
  margin-top: clamp(30px, 3vw, 44px);
}

.page-apicoltura .apiary-story > .container > .row > .modern-media-card {
  align-self: stretch;
  overflow: visible;
  min-height: 720px;
  padding: 0;
  border-radius: 0;
}

.page-apicoltura .apiary-story__gallery {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 720px;
}

.page-apicoltura .apiary-story__photo {
  position: absolute;
  overflow: hidden;
  margin: 0;
  background: #eadfca;
  border: 8px solid rgba(255, 253, 248, .98);
  border-radius: clamp(25px, 2.5vw, 36px);
  box-shadow: 0 26px 64px rgba(22, 57, 47, .2);
}

.page-apicoltura .apiary-story__photo img {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}

.page-apicoltura .apiary-story__photo--main {
  top: 0;
  left: 0;
  width: 92%;
  height: 61%;
  transform: rotate(-1.4deg);
}

.page-apicoltura .apiary-story__photo--detail {
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 72%;
  height: 46%;
  transform: rotate(2deg);
}

@media (hover: hover) and (pointer: fine) {
  .page-apicoltura .apiary-story__photo:hover img {
    filter: saturate(1.06) contrast(1.02);
    transform: scale(1.035);
  }
}

@media (max-width: 991.98px) {
  .page-apicoltura .apiary-story > .container > .row {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-apicoltura .apiary-story > .container > .row > [class*="col-"] {
    justify-self: stretch;
  }

  .page-apicoltura .apiary-story .modern-copy-card h1 {
    font-size: clamp(2.65rem, 7.5vw, 4.5rem);
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-media-card,
  .page-apicoltura .apiary-story__gallery {
    min-height: 640px;
  }
}

@media (max-width: 767.98px) {
  .page-apicoltura .apiary-story {
    padding: 58px 0 66px;
  }

  .page-apicoltura .apiary-story > .container {
    width: calc(100% - 12px) !important;
    padding: 0 !important;
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-copy-card {
    padding: 30px 20px 28px !important;
    border-radius: 27px;
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-copy-card::before {
    right: 20px;
    left: 20px;
  }

  .page-apicoltura .apiary-story .apiary-story__eyebrow {
    min-height: 34px;
    margin-bottom: 21px;
    padding: 7px 12px;
    font-size: 9px;
    letter-spacing: .075em;
  }

  .page-apicoltura .apiary-story .modern-copy-card h1 {
    font-size: clamp(2.25rem, 10.5vw, 3.45rem);
    line-height: 1;
  }

  .page-apicoltura .apiary-story__copy {
    gap: 20px;
    margin-top: 28px;
  }

  .page-apicoltura .apiary-story__copy .apiary-story__lead {
    padding: 17px 16px 17px 18px;
    font-size: clamp(16px, 4.4vw, 17.5px) !important;
    line-height: 1.62;
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-media-card {
    padding: 0 !important;
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-media-card,
  .page-apicoltura .apiary-story__gallery {
    min-height: 470px;
  }

  .page-apicoltura .apiary-story__photo {
    border-width: 5px;
    border-radius: 24px;
  }

  .page-apicoltura .apiary-story__photo--main {
    width: 94%;
    height: 60%;
  }

  .page-apicoltura .apiary-story__photo--detail {
    width: 74%;
    height: 45%;
  }

}

@media (max-width: 359.98px) {
  .page-apicoltura .apiary-story .modern-copy-card h1 {
    font-size: 2.05rem;
  }

  .page-apicoltura .apiary-story > .container > .row > .modern-media-card,
  .page-apicoltura .apiary-story__gallery {
    min-height: 410px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-apicoltura .apiary-story__photo img {
    transition: none;
  }
}

/* ========================================================================== */
/* Mobile reading width                                                        */
/* Give copy and nested cards more of the viewport without creating overflow. */
/* ========================================================================== */

@media (min-width: 768px) {
  html[lang="de"] .page .home-story .home-story__card h3 {
    font-size: clamp(1.2rem, 1.4vw, 1.45rem);
    line-height: 1.18;
  }
}

@media (max-width: 767.98px) {
  .page .container,
  .page section > .container,
  .page .pre-footer-corporate > .container,
  .page .footer-corporate > .container {
    width: calc(100% - 12px) !important;
    max-width: none !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  .page .wellness-feature > .container,
  .page .summer-camp-feature > .container,
  .page .agriasilo-feature > .container,
  .page .babysitting-feature > .container,
  .page .home-story > .container,
  .page .home-project > .container,
  .page .pricing-feature > .container,
  .page .property-video-feature > .container,
  .page .location-feature > .container,
  .page .modern-section--reviews > .container {
    width: calc(100% - 8px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page .modern-section--centered.section-md:not(.modern-section--reviews) > .container {
    width: calc(100% - 8px) !important;
    padding: 26px 16px !important;
  }

  .page .modern-section--split:not(.modern-section--media):not(.modern-section--map):not(.modern-section--reviews):not(.wellness-feature) > .container > .row > [class*="col-"],
  .page .modern-section--split:not(.modern-section--media):not(.modern-section--map):not(.modern-section--reviews):not(.wellness-feature) > .container > .row > .modern-copy-card {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  .page .modern-section p:not(.cite):not([class*="__eyebrow"]):not(.home-story__location):not(.dance-event__kicker),
  .page .modern-section li,
  .page .home-story p:not([class*="__eyebrow"]):not(.home-story__location),
  .page .home-project p:not([class*="__eyebrow"]) {
    font-size: clamp(15.5px, 4.15vw, 16.25px) !important;
    line-height: 1.68;
  }

  .page .modern-section .button,
  .page .home-story .button,
  .page .home-project .button {
    max-width: 520px;
  }

  .page .modern-section--reviews > .container > .row {
    width: 100%;
  }

  .page .modern-section--reviews .quote-review,
  html[lang="de"] .page .modern-section--reviews .quote-review {
    padding-right: 18px;
    padding-left: 18px;
  }

  .page .modern-section--reviews .quote-review__body {
    font-size: clamp(15.5px, 4.15vw, 16.25px);
    line-height: 1.68;
  }

  .page .wellness-feature .wellness-feature__grid {
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .page .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__intro {
    padding: 30px 22px !important;
  }

  .page .wellness-feature.modern-section--split > .container > .wellness-feature__grid > .wellness-feature__details {
    padding: 28px 22px !important;
  }

  .page .wellness-feature__detail-group {
    padding: 2px 0 2px 16px;
  }

  .page .wellness-feature .wellness-feature__note {
    padding: 20px 18px;
  }

  .page .wellness-feature .wellness-feature__detail-group li {
    padding-left: 27px;
    font-size: clamp(15.5px, 4.15vw, 16.25px);
  }

  .page .summer-camp-feature__shell,
  .page .agriasilo-feature__shell,
  .page .babysitting-feature__shell {
    padding-right: 17px;
    padding-left: 17px;
  }

  .page .home-story__shell {
    padding-right: 14px;
    padding-left: 14px;
  }

  .page .home-story__card {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 21px 16px;
  }

  .page .home-story__number {
    width: fit-content;
    max-width: 100%;
    min-height: 34px;
    height: auto;
  }

  .page .home-project__content {
    padding-right: 17px;
    padding-left: 17px;
  }

  .page .modern-section--map {
    width: calc(100% - 12px);
  }

  .page .modern-section--map > .section-lg {
    padding-right: 17px;
    padding-left: 17px;
  }

  .page .modern-section--map .external-media-consent--map,
  .page .property-video-feature__player .external-media-consent {
    padding-right: 16px;
    padding-left: 16px;
  }

  .page .pricing-plan {
    padding-right: 15px;
    padding-left: 15px;
  }

  .page .pricing-period {
    padding-right: 12px;
    padding-left: 12px;
  }

  .page .pricing-feature__children,
  .page .pricing-feature__stay {
    padding-right: 17px;
    padding-left: 17px;
  }

  .page .location-feature__copy {
    padding-right: 18px;
    padding-left: 18px;
  }

  .page .location-feature__map .external-media-consent {
    padding-right: 18px;
    padding-left: 18px;
  }

  .page .pre-footer-corporate .row > [class*="col-"] {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .page .pre-footer-corporate p,
  .page .pre-footer-corporate li,
  .page .pre-footer-corporate .unit-body {
    font-size: clamp(15px, 4vw, 16px);
  }
}

@media (max-width: 479.98px) {
  .page .home-story__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .page .home-story__facts > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding: 11px 14px;
    align-items: center;
    text-align: left;
  }

  .page .home-story__facts span {
    margin-top: 0;
    font-size: 11px;
    letter-spacing: .055em;
  }
}

@media (max-width: 359.98px) {
  .page .modern-section--reviews .quote-review,
  html[lang="de"] .page .modern-section--reviews .quote-review {
    padding-right: 16px;
    padding-left: 16px;
  }

  .page .home-story__shell,
  .page .home-project__content {
    padding-right: 12px;
    padding-left: 12px;
  }

  .page .home-story__card {
    padding-right: 14px;
    padding-left: 14px;
  }

  html[lang="de"] .page .pricing-feature__header h1 {
    font-size: 2.45rem;
  }

  html[lang="de"] .page .pricing-plan__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  html[lang="de"] .page .pricing-plan__header > div {
    width: 100%;
  }
}

/* Guest reviews: single-layer editorial cards with a clearer reading rhythm. */
.modern-section--reviews {
  background:
    linear-gradient(135deg, rgba(224, 168, 72, .06) 0%, transparent 28%),
    #fbfaf6 !important;
}

.modern-section--reviews > .container {
  width: min(calc(100% - clamp(32px, 5vw, 76px)), 1680px);
  max-width: 1680px;
}

.modern-section--reviews > .container > .row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 1.7vw, 28px);
  margin: clamp(50px, 5vw, 72px) 0 0 !important;
  align-items: stretch;
  transform: none !important;
}

.modern-section--reviews.modern-section--split > .container > .row > .modern-copy-card,
html[lang="de"] .modern-section--reviews .modern-copy-card {
  display: flex;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  align-self: stretch !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.modern-section--reviews.modern-section--split > .container > .row > .modern-copy-card::before {
  display: none;
  content: none;
}

.modern-section--reviews .quote-review,
html[lang="de"] .modern-section--reviews .quote-review {
  position: relative;
  display: flex;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: clamp(29px, 2.25vw, 38px);
  flex-direction: column;
  overflow: hidden;
  color: #21483d;
  text-align: left;
  border: 1px solid rgba(16, 63, 52, .12);
  border-top: 1px solid rgba(16, 63, 52, .12);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(240, 198, 111, .055), transparent 40%),
    #fff;
  box-shadow: 0 18px 46px rgba(17, 54, 45, .085);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.modern-section--reviews .quote-review::before {
  display: flex;
  width: 48px;
  height: 48px;
  margin: 0 0 25px;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  content: "";
  border-radius: 12px;
  background:
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSIjZjBjNjZmIiBkPSJNMCAyMTZDMCAxNDkuNyA1My43IDk2IDEyMCA5Nmg4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyaC04Yy0zMC45IDAtNTYgMjUuMS01NiA1NnY4aDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0djY0YzAgMzUuMy0yOC43IDY0LTY0IDY0SDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NFYyMTZ6bTI1NiAwYzAtNjYuMyA1My43LTEyMCAxMjAtMTIwaDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJoLThjLTMwLjkgMC01NiAyNS4xLTU2IDU2djhoNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjR2NjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRIMzIwYy0zNS4zIDAtNjQtMjguNy02NC02NFYyMTZ6Ii8+PC9zdmc+") center / 24px 28px no-repeat,
    #0c3b31;
  box-shadow: 0 9px 22px rgba(12, 59, 49, .16);
}

.modern-section--reviews .quote-review h4 {
  max-width: 390px;
  margin: 0;
  color: #103f35;
  font-size: clamp(1.08rem, 1.25vw, 1.34rem);
  font-weight: 750;
  line-height: 1.28;
  letter-spacing: -.025em;
  text-align: left;
  text-wrap: balance;
}

.modern-section--reviews .quote-review__body {
  display: flex;
  margin-top: 23px;
  flex: 1;
  flex-direction: column;
  color: #48685f;
  font-size: clamp(15.75px, 1.1vw, 16.5px);
  font-style: normal;
  line-height: 1.72;
  text-align: left;
}

.modern-section--reviews .quote-review__body > p:not(.cite) {
  margin: 0;
  padding-bottom: clamp(26px, 2vw, 32px);
  color: #48685f;
  font-size: inherit;
  font-style: normal;
  line-height: inherit;
}

.modern-section--reviews .quote-review .cite,
.modern-section--reviews .quote-review * + .cite {
  display: flex;
  margin: auto 0 0;
  padding-top: 22px;
  align-items: center;
  color: #8a5a17;
  font-family: var(--lrp-font-body);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-top: 1px solid rgba(16, 63, 52, .11);
}

.modern-section--reviews .quote-review .cite::before {
  width: 20px;
  height: 2px;
  margin-right: 9px;
  border: 0;
  background: #dca13d;
}

.modern-section--reviews > .container > .button {
  margin-top: clamp(42px, 5vw, 66px);
}

/* Reviews CTA: predictable contrast in every link and interaction state. */
.page .modern-section--reviews > .container > .button.button-primary-outline,
.page .modern-section--reviews > .container > .button.button-primary-outline:link,
.page .modern-section--reviews > .container > .button.button-primary-outline:visited {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  background: #174b3f;
  border-color: #174b3f;
  box-shadow: 0 14px 30px rgba(15, 57, 47, .14);
  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.page .modern-section--reviews > .container > .button.button-primary-outline:hover,
.page .modern-section--reviews > .container > .button.button-primary-outline:focus,
.page .modern-section--reviews > .container > .button.button-primary-outline:focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  background: #0d332a;
  border-color: #0d332a;
  box-shadow: 0 18px 38px rgba(15, 57, 47, .2);
  transform: translateY(-2px);
}

.page .modern-section--reviews > .container > .button.button-primary-outline:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  background: #0b2b24;
  border-color: #0b2b24;
  box-shadow: 0 8px 18px rgba(15, 57, 47, .17);
  transform: translateY(0);
}

.page .modern-section--reviews > .container > .button.button-primary-outline:focus-visible {
  outline: 3px solid #e1a848 !important;
  outline-offset: 4px !important;
  box-shadow:
    0 0 0 7px rgba(225, 168, 72, .2),
    0 18px 38px rgba(15, 57, 47, .2) !important;
}

.page .modern-section--reviews > .container > .button.button-primary-outline::after,
.page .modern-section--reviews > .container > .button.button-primary-outline:hover::after,
.page .modern-section--reviews > .container > .button.button-primary-outline:focus::after,
.page .modern-section--reviews > .container > .button.button-primary-outline:active::after {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

@media (max-width: 479.98px) {
  .page .modern-section--reviews > .container > .button.button-primary-outline {
    width: 100%;
    padding-right: 18px;
    padding-left: 18px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .modern-section--reviews .quote-review:hover {
    border-color: rgba(211, 148, 46, .36);
    box-shadow: 0 25px 60px rgba(17, 54, 45, .13);
    transform: translateY(-5px);
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .modern-section--reviews > .container > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .modern-section--reviews > .container {
    width: calc(100% - 28px);
  }

  .modern-section--reviews > .container > .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin-top: 40px !important;
  }

  .modern-section--reviews .quote-review,
  html[lang="de"] .modern-section--reviews .quote-review {
    padding: 27px 23px;
    border-radius: 20px;
  }

  .modern-section--reviews .quote-review::before {
    width: 44px;
    height: 44px;
    margin-bottom: 21px;
    flex-basis: 44px;
    font-size: 44px;
    border-radius: 11px;
  }

  .modern-section--reviews .quote-review h4 {
    font-size: 1.08rem;
  }

  .modern-section--reviews .quote-review__body {
    margin-top: 19px;
    font-size: clamp(15.5px, 4.2vw, 16px);
    line-height: 1.7;
  }

  .modern-section--reviews .quote-review__body > p:not(.cite) {
    padding-bottom: 24px;
  }

  .modern-section--reviews .quote-review .cite,
  .modern-section--reviews .quote-review * + .cite {
    padding-top: 19px;
    font-size: 9.5px;
  }
}

@media (max-width: 359.98px) {
  .modern-section--reviews > .container {
    width: calc(100% - 20px);
  }

  .modern-section--reviews .quote-review,
  html[lang="de"] .modern-section--reviews .quote-review {
    padding: 24px 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .modern-section--reviews .quote-review {
    transition: none;
  }

  .page .modern-section--reviews > .container > .button.button-primary-outline,
  .page .modern-section--reviews > .container > .button.button-primary-outline::after {
    transition: none;
  }
}

/* ========================================================================== */
/* Viewport-fit opening screens                                                */
/* Keep every photographic hero inside the first screen, below the real header. */
/* ========================================================================== */

:root {
  --lrp-initial-header-height: 82px;
  --lrp-opening-height: calc(100vh - var(--lrp-initial-header-height));
}

@supports (height: 100svh) {
  :root {
    --lrp-opening-height: calc(100svh - var(--lrp-initial-header-height));
  }
}

@media (min-width: 1200px) {
  :root {
    --lrp-initial-header-height: 172px;
  }
}

.page .modern-hero {
  box-sizing: border-box;
  height: var(--lrp-opening-height) !important;
  min-height: 0 !important;
  max-height: var(--lrp-opening-height) !important;
}

.page .swiper-form-wrap.modern-hero .swiper-slider_fullheight,
.page .swiper-form-wrap.modern-hero .swiper-wrapper,
.page .swiper-form-wrap.modern-hero .swiper-slide,
.page .swiper-form-wrap.modern-hero .swiper-slide-caption {
  box-sizing: border-box;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

.page .modern-hero > .parallax-container.parallax-header,
.page .modern-hero > .parallax-container.parallax-header .parallax-content,
.page .modern-hero > .parallax-container.parallax-header .parallax-header__inner,
.page .modern-hero > .parallax-container.parallax-header .parallax-header__content {
  box-sizing: border-box;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

.page .swiper-form-wrap.modern-hero .swiper-slide-caption {
  padding: clamp(14px, 4svh, 44px) 0 clamp(78px, 13svh, 118px) !important;
  align-items: center !important;
}

.page .modern-hero > .parallax-container.parallax-header .parallax-header__content {
  padding: clamp(18px, 4svh, 48px) 0 clamp(30px, 5.5svh, 62px) !important;
  align-items: center !important;
}

.page .apartment-hero.modern-hero {
  padding: clamp(18px, 4svh, 48px) 0 !important;
  align-items: center !important;
}

.page .swiper-slide-caption h1,
.page .swiper-slide-caption h2,
.page .parallax-header__content h1,
.page .parallax-header__content h2,
.page .apartment-hero h1,
.page .apartment-hero h2,
.page .contact-hero h1 {
  font-size: clamp(2rem, min(6.2vw, 9.2svh), 6rem) !important;
  line-height: .96 !important;
}

.page .swiper-slide-caption p,
.page .parallax-header__content p,
.page .apartment-hero p,
.page .contact-hero p {
  margin-top: clamp(10px, 1.8svh, 18px) !important;
  padding-left: clamp(11px, 1.4vw, 20px) !important;
  font-size: clamp(.9rem, min(1.25vw, 2.25svh), 1.22rem) !important;
  line-height: 1.45 !important;
}

.page .swiper-slide-caption h6,
.page .parallax-header__content h6,
.page .apartment-hero h6,
.page .contact-hero__eyebrow {
  font-size: clamp(10px, min(.75vw, 1.6svh), 13px) !important;
  line-height: 1.3 !important;
}

.page .modern-hero h6 + h1,
.page .modern-hero h6 + h2,
.page .contact-hero__eyebrow + h1 {
  margin-top: clamp(8px, 1.5svh, 17px) !important;
}

.page .modern-hero h1::after,
.page .modern-hero h2::after {
  height: clamp(3px, .48svh, 5px);
  margin-top: clamp(9px, 1.55svh, 18px);
}

.page .apartment-hero p + .button {
  min-height: clamp(46px, 6.2svh, 54px);
  margin-top: clamp(12px, 2svh, 22px) !important;
  padding-top: 11px;
  padding-bottom: 11px;
}

.page .swiper-form-wrap::after {
  height: clamp(22px, 4svh, 44px);
}

.page .swiper-form-wrap .swiper-pagination {
  bottom: clamp(18px, 3.5svh, 42px) !important;
  min-height: clamp(48px, 7svh, 58px);
}

.page .swiper-form-wrap .swiper-pagination-bullet {
  width: clamp(36px, 5.2svh, 44px);
  height: clamp(36px, 5.2svh, 44px);
  flex-basis: clamp(36px, 5.2svh, 44px);
}

.page .swiper-form-wrap .swiper-pagination-bullet-active {
  width: clamp(36px, 5.2svh, 44px);
  flex-basis: clamp(36px, 5.2svh, 44px);
}

@media (max-width: 767.98px) {
  .page .swiper-slide-caption h1,
  .page .swiper-slide-caption h2,
  .page .parallax-header__content h1,
  .page .parallax-header__content h2,
  .page .apartment-hero h1,
  .page .apartment-hero h2,
  .page .contact-hero h1 {
    font-size: clamp(2rem, min(10vw, 8.2svh), 3.15rem) !important;
  }

  .page .swiper-slide-caption p,
  .page .parallax-header__content p,
  .page .apartment-hero p,
  .page .contact-hero p {
    font-size: clamp(.88rem, min(4vw, 2.35svh), 1.05rem) !important;
  }

  .page .apartment-hero p + .button {
    min-height: 48px;
    padding: 11px 16px;
  }
}

@media (max-width: 359.98px) {
  .page .swiper-slide-caption h1,
  .page .swiper-slide-caption h2,
  .page .parallax-header__content h1,
  .page .parallax-header__content h2,
  .page .apartment-hero h1,
  .page .apartment-hero h2,
  .page .contact-hero h1 {
    font-size: clamp(2rem, min(10.8vw, 7.7svh), 2.45rem) !important;
  }

  .page .swiper-slide-caption p,
  .page .parallax-header__content p,
  .page .apartment-hero p,
  .page .contact-hero p {
    font-size: .84rem !important;
    line-height: 1.4 !important;
  }

  .page .apartment-hero p + .button {
    min-height: 46px;
    padding: 10px 13px;
    font-size: 11.5px;
  }
}

@media (max-height: 620px) and (orientation: landscape) {
  .page .modern-hero,
  .page .swiper-form-wrap.modern-hero,
  .page .swiper-form-wrap.modern-hero .swiper-slider_fullheight,
  .page .swiper-form-wrap.modern-hero .swiper-slide-caption,
  .page .modern-hero > .parallax-container.parallax-header,
  .page .modern-hero > .parallax-container.parallax-header .parallax-header__inner,
  .page .modern-hero > .parallax-container.parallax-header .parallax-header__content,
  .page .apartment-hero.modern-hero {
    min-height: 0 !important;
  }

  .page .swiper-form-wrap.modern-hero .swiper-slide-caption {
    padding-top: 10px !important;
    padding-bottom: 66px !important;
  }

  .page .modern-hero > .parallax-container.parallax-header .parallax-header__content,
  .page .apartment-hero.modern-hero {
    padding-top: 11px !important;
    padding-bottom: 17px !important;
  }

  .page .swiper-slide-caption h1,
  .page .swiper-slide-caption h2,
  .page .parallax-header__content h1,
  .page .parallax-header__content h2,
  .page .apartment-hero h1,
  .page .apartment-hero h2,
  .page .contact-hero h1 {
    font-size: clamp(1.75rem, min(5.4vw, 8.5svh), 3.5rem) !important;
    line-height: .94 !important;
  }

  .page .swiper-slide-caption p,
  .page .parallax-header__content p,
  .page .apartment-hero p,
  .page .contact-hero p {
    margin-top: 7px !important;
    padding-left: 9px !important;
    font-size: .82rem !important;
    line-height: 1.32 !important;
  }

  .page .modern-hero h6 + h1,
  .page .modern-hero h6 + h2,
  .page .contact-hero__eyebrow + h1 {
    margin-top: 6px !important;
  }

  .page .modern-hero h1::after,
  .page .modern-hero h2::after {
    width: 52px;
    height: 3px;
    margin-top: 7px;
  }

  .page .apartment-hero p + .button {
    width: auto;
    min-height: 42px;
    margin-top: 9px !important;
    padding: 9px 15px;
    font-size: 10.5px;
  }

  .page .swiper-form-wrap .swiper-pagination {
    bottom: 10px !important;
    min-height: 44px;
    padding: 4px 7px;
  }

  .page .swiper-form-wrap .swiper-pagination-bullet {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .page .swiper-form-wrap .swiper-pagination-bullet-active {
    width: 34px;
    flex-basis: 34px;
  }
}

/* Keep the closing availability callout clearly legible over the forest gradient. */
.page .modern-section--accent h1,
.page .modern-section--accent h2,
.page .modern-section--accent h3,
.page .modern-section.bg-accent h1,
.page .modern-section.bg-accent h2,
.page .modern-section.bg-accent h3 {
  position: relative;
  color: #fffaf0 !important;
  line-height: 1.04;
  letter-spacing: -.035em;
  text-shadow: 0 2px 2px rgba(4, 22, 18, .22), 0 12px 34px rgba(4, 22, 18, .30);
}

@media (max-width: 575.98px) {
  .page .modern-section--accent h2,
  .page .modern-section.bg-accent h2 {
    font-size: clamp(2.15rem, 8vw, 3.15rem);
    line-height: 1.07;
  }
}

/* Apartment availability: a concise editorial callout with a dedicated action area. */
.page-appartamento .apartment-availability-cta {
  overflow: hidden;
  padding: clamp(54px, 7vw, 112px) 0 !important;
  background: linear-gradient(145deg, #f7f1e6 0%, #fffdf8 52%, #edf3ef 100%) !important;
}

.page-appartamento .apartment-availability-cta::before,
.page-appartamento .apartment-availability-cta::after {
  display: none !important;
  content: none !important;
}

.page-appartamento .apartment-availability-cta > .container {
  width: min(1760px, calc(100% - clamp(28px, 4vw, 72px)));
  max-width: none;
}

.page-appartamento .apartment-availability-cta__panel {
  position: relative;
  isolation: isolate;
  display: grid;
  overflow: hidden;
  min-height: clamp(430px, 31vw, 540px);
  padding: clamp(48px, 6vw, 92px);
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: clamp(48px, 7vw, 118px);
  align-items: end;
  color: #fffdf8;
  text-align: left;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, .065) 0%, transparent 41%),
    linear-gradient(135deg, #175545 0%, #0b382f 61%, #082d26 100%);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: clamp(24px, 2.5vw, 38px);
  box-shadow: 0 30px 78px rgba(9, 48, 39, .18);
}

.page-appartamento .apartment-availability-cta__panel::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: clamp(42px, 6vw, 92px);
  width: clamp(90px, 11vw, 176px);
  height: 6px;
  content: "";
  background: linear-gradient(90deg, #d99a2d, #f3d487);
  border-radius: 0 0 6px 6px;
}

.page-appartamento .apartment-availability-cta__panel::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: clamp(180px, 23vw, 390px);
  height: 100%;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(145deg, transparent 0 36%, rgba(242, 201, 117, .10) 36.2% 36.8%, transparent 37% 54%, rgba(255, 255, 255, .055) 54.2% 54.8%, transparent 55%),
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .025));
}

.page-appartamento .apartment-availability-cta__copy,
.page-appartamento .apartment-availability-cta__action {
  position: relative;
  z-index: 1;
}

.page-appartamento .apartment-availability-cta__eyebrow {
  display: flex;
  margin: 0 0 clamp(20px, 2.5vw, 30px);
  gap: 13px;
  align-items: center;
  color: #f3cf81;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.page-appartamento .apartment-availability-cta__eyebrow::before {
  width: 38px;
  height: 2px;
  flex: 0 0 auto;
  content: "";
  background: currentColor;
}

.page-appartamento .apartment-availability-cta h2 {
  max-width: 11.5em;
  margin: 0;
  color: #fffdf8 !important;
  font-size: clamp(3rem, 4.7vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.048em;
  text-shadow: none;
  text-wrap: balance;
}

.page-appartamento .apartment-availability-cta__description {
  max-width: 48em;
  margin: clamp(25px, 3vw, 36px) 0 0;
  color: rgba(255, 253, 248, .83);
  font-size: clamp(17px, .45vw + 14px, 20px);
  line-height: 1.65;
}

.page-appartamento .apartment-availability-cta__action {
  display: flex;
  min-height: 100%;
  padding-left: clamp(34px, 4vw, 64px);
  flex-direction: column;
  justify-content: flex-end;
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.page-appartamento .apartment-availability-cta__action p {
  max-width: 18em;
  margin: 0 0 20px;
  color: rgba(255, 253, 248, .92);
  font-size: clamp(16px, .4vw + 14px, 19px);
  font-weight: 600;
  line-height: 1.45;
}

.page-appartamento .apartment-availability-cta__action .button {
  width: 100%;
  max-width: 330px;
  min-height: 60px;
  margin: 0;
  padding: 17px 23px;
  justify-content: center;
  white-space: normal;
  border-radius: 12px;
  background: linear-gradient(135deg, #f3cf81, #eab85b) !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  box-shadow: 0 14px 30px rgba(2, 25, 20, .22);
}

@media (min-width: 992px) and (hover: hover) {
  .page-appartamento .apartment-availability-cta__action .button:hover {
    color: #0b3c31 !important;
    background: #fffdf8 !important;
    border-color: #fffdf8 !important;
    box-shadow: 0 20px 40px rgba(2, 25, 20, .28);
    transform: translateY(-3px);
  }
}

@media (max-width: 991.98px) {
  .page-appartamento .apartment-availability-cta > .container {
    width: min(860px, calc(100% - 36px));
  }

  .page-appartamento .apartment-availability-cta__panel {
    min-height: 0;
    padding: clamp(44px, 7vw, 68px);
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(34px, 5vw, 48px);
  }

  .page-appartamento .apartment-availability-cta h2 {
    max-width: 12em;
    font-size: clamp(2.8rem, 8vw, 4.6rem);
  }

  .page-appartamento .apartment-availability-cta__action {
    min-height: 0;
    padding: clamp(28px, 4vw, 38px) 0 0;
    flex-direction: row;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-left: 0;
  }

  .page-appartamento .apartment-availability-cta__action p {
    margin: 0;
  }

  .page-appartamento .apartment-availability-cta__action .button {
    width: auto;
    min-width: 260px;
  }
}

@media (max-width: 639.98px) {
  .page-appartamento .apartment-availability-cta {
    padding: 42px 0 !important;
  }

  .page-appartamento .apartment-availability-cta > .container {
    width: calc(100% - 16px) !important;
    padding: 0 !important;
  }

  .page-appartamento .apartment-availability-cta__panel {
    padding: 36px 22px 24px;
    gap: 30px;
    border-radius: 22px;
  }

  .page-appartamento .apartment-availability-cta__panel::before {
    left: 22px;
    width: 88px;
    height: 5px;
  }

  .page-appartamento .apartment-availability-cta__eyebrow {
    margin-bottom: 20px;
    font-size: 10px;
    letter-spacing: .12em;
  }

  .page-appartamento .apartment-availability-cta h2 {
    max-width: none;
    font-size: clamp(2.2rem, 11.2vw, 3.25rem);
    line-height: 1.02;
  }

  .page-appartamento .apartment-availability-cta__description {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.6;
  }

  .page-appartamento .apartment-availability-cta__action {
    padding-top: 25px;
    flex-direction: column;
    gap: 17px;
    align-items: stretch;
  }

  .page-appartamento .apartment-availability-cta__action p {
    font-size: 15px;
  }

  .page-appartamento .apartment-availability-cta__action .button {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 56px;
    padding: 15px 17px;
  }
}

@media (max-width: 359.98px) {
  .page-appartamento .apartment-availability-cta h2 {
    font-size: 2.05rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-appartamento .apartment-availability-cta__action .button {
    transition: none;
  }
}

/* Apartment details: replace decorative numbering with useful, indexable facts. */
.page-appartamento .apartment-details .modern-copy-card::after {
  display: none !important;
  content: none !important;
}

.page-appartamento .apartment-details__header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 2vw, 30px);
  align-items: start;
}

.page-appartamento .apartment-details__header h3 {
  max-width: none;
}

.page-appartamento .apartment-details__stats {
  display: grid;
  min-width: 190px;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(86px, 1fr));
  gap: 8px;
  list-style: none;
}

.page-appartamento .page .modern-section .apartment-details__stats li {
  display: flex;
  min-width: 0;
  min-height: 67px;
  margin: 0 !important;
  padding: 10px 11px !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: #547168;
  background: linear-gradient(145deg, #fbf3e2, #fffaf1);
  border: 1px solid rgba(217, 154, 45, .2);
  border-radius: 13px;
  box-shadow: 0 8px 20px rgba(31, 65, 54, .06);
  font-size: 10px !important;
  font-weight: 800;
  line-height: 1.22 !important;
  letter-spacing: .045em;
  text-align: left;
  text-transform: uppercase;
}

.page-appartamento .page .modern-section .apartment-details__stats li::before,
.page-appartamento .page .modern-section .apartment-details__stats li::after {
  display: none !important;
  content: none !important;
}

.page-appartamento .apartment-details__stats strong {
  display: block;
  margin-bottom: 5px;
  color: #123f33;
  font-size: clamp(1.3rem, 1.5vw, 1.65rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.045em;
}

.page-appartamento .apartment-details__stats span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.page-appartamento .page .modern-section .modern-copy-card:nth-child(2) .apartment-details__stats li {
  background: linear-gradient(145deg, #eef6f1, #f8fbf8);
  border-color: rgba(20, 73, 59, .13);
}

@media (max-width: 1199.98px) {
  .page-appartamento .apartment-details__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .page-appartamento .apartment-details__stats {
    width: min(100%, 290px);
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .page-appartamento .apartment-details__header {
    gap: 18px;
  }

  .page-appartamento .apartment-details__stats {
    width: 100%;
  }

  .page-appartamento .page .modern-section .apartment-details__stats li {
    min-height: 62px;
    padding: 9px 10px !important;
    font-size: 9.5px !important;
  }

  .page-appartamento .apartment-details__stats strong {
    font-size: 1.35rem;
  }
}

/* Prices: premium comparison cards with clear stay details. */
.pricing-feature {
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 8vw, 132px) 0;
  background:
    radial-gradient(circle at 7% 7%, rgba(215, 156, 61, .13), transparent 25rem),
    radial-gradient(circle at 96% 38%, rgba(83, 167, 145, .14), transparent 30rem),
    linear-gradient(145deg, #fbf7ef 0%, #f7f8f2 52%, #edf5f1 100%) !important;
  text-align: left;
}

.pricing-feature::before {
  position: absolute;
  top: 48px;
  right: -42px;
  width: 330px;
  height: 220px;
  content: "";
  background-image: radial-gradient(circle, rgba(215, 156, 61, .24) 2px, transparent 2.5px);
  background-size: 25px 25px;
  opacity: .55;
  pointer-events: none;
  transform: rotate(-6deg);
}

.pricing-feature > .container {
  position: relative;
  z-index: 1;
}

.pricing-feature__header {
  max-width: 980px;
  margin: 0 auto clamp(48px, 5.5vw, 76px);
  text-align: center;
}

.pricing-feature .pricing-feature__eyebrow {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  padding: 8px 15px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(17, 65, 54, .12);
  border-radius: 999px;
  box-shadow: 0 9px 24px rgba(20, 56, 47, .07);
  color: #7e1821;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.pricing-feature__eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  background: #d79c3d;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(215, 156, 61, .12);
}

.pricing-feature .pricing-feature__header h1 {
  max-width: none;
  margin: 0;
  color: #0c352d !important;
  font-size: clamp(3.3rem, 6.4vw, 7rem);
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.pricing-feature .pricing-feature__intro {
  margin: 24px 0 0;
  color: #4c665f;
  font-size: clamp(1.08rem, 1.5vw, 1.34rem);
  line-height: 1.55;
}

.pricing-feature__plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.3vw, 32px);
  align-items: stretch;
}

.pricing-plan {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 3.1vw, 48px);
  background: rgba(255, 255, 255, .84);
  border: 1px solid rgba(16, 59, 49, .11);
  border-radius: clamp(28px, 2.6vw, 40px);
  box-shadow: 0 26px 70px rgba(21, 58, 48, .13);
  isolation: isolate;
}

.pricing-plan__header {
  display: flex;
  min-height: 94px;
  align-items: flex-start;
  gap: clamp(16px, 2vw, 25px);
  margin-bottom: 30px;
}

.pricing-plan__header > div {
  min-width: 0;
}

.pricing-plan__badge {
  display: inline-flex;
  min-width: 76px;
  min-height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: #e9f3ef;
  border: 1px solid rgba(65, 144, 124, .19);
  border-radius: 999px;
  color: #164d40;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.pricing-plan .pricing-plan__header p {
  margin: 1px 0 7px;
  color: #84918d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.pricing-feature .pricing-plan__header h2 {
  margin: 0;
  color: #103c32 !important;
  font-size: clamp(1.65rem, 2.2vw, 2.35rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pricing-plan__periods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.pricing-period {
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  background: #f7f4ed;
  border: 1px solid rgba(17, 59, 49, .08);
  border-radius: 21px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
  transition: transform .28s cubic-bezier(.22, 1, .36, 1), border-color .28s ease, box-shadow .28s ease;
}

.pricing-period__range {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-bottom: 21px;
  color: #41645a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.2;
}

.pricing-period__range i {
  color: #d79c3d;
  font-size: 14px;
  font-style: normal;
}

.pricing-period > strong {
  display: block;
  color: #0e3b31;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 760;
  line-height: .95;
  letter-spacing: -.055em;
}

.pricing-period > small {
  display: block;
  margin-top: 10px;
  color: #74837e;
  font-size: 9.5px;
  font-weight: 750;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.pricing-plan--featured {
  background:
    radial-gradient(circle at 92% 8%, rgba(241, 207, 139, .13), transparent 18rem),
    linear-gradient(138deg, #092c25 0%, #12483b 62%, #1a5a49 100%);
  border-color: rgba(241, 207, 139, .18);
  box-shadow: 0 30px 78px rgba(10, 45, 37, .25);
}

.pricing-plan--featured::after {
  position: absolute;
  z-index: -1;
  top: -180px;
  right: -170px;
  width: 420px;
  height: 420px;
  content: "";
  border: 1px solid rgba(241, 207, 139, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 50px rgba(241, 207, 139, .035), 0 0 0 110px rgba(241, 207, 139, .025);
  pointer-events: none;
}

.pricing-plan--featured .pricing-plan__badge {
  background: rgba(241, 207, 139, .13);
  border-color: rgba(241, 207, 139, .3);
  color: #f5dca9;
}

.pricing-plan--featured .pricing-plan__header p {
  color: rgba(255, 255, 255, .54);
}

.pricing-feature .pricing-plan--featured .pricing-plan__header h2 {
  color: #fff !important;
}

.pricing-plan--featured .pricing-period {
  background: rgba(255, 255, 255, .075);
  border-color: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.pricing-plan--featured .pricing-period__range {
  color: #d1e3dd;
}

.pricing-plan--featured .pricing-period > strong {
  color: #fff;
}

.pricing-plan--featured .pricing-period > small {
  color: rgba(255, 255, 255, .58);
}

.pricing-feature__details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(38px, 4.5vw, 64px);
}

.pricing-info {
  min-width: 0;
  padding: clamp(25px, 2.8vw, 38px);
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(17, 59, 49, .1);
  border-radius: 28px;
  box-shadow: 0 20px 54px rgba(21, 58, 48, .1);
}

.pricing-info--family {
  background: linear-gradient(145deg, #fbf0db, #f8e5c3);
  border-color: rgba(215, 156, 61, .22);
}

.pricing-info__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  background: #e9f3ef;
  border: 1px solid rgba(65, 144, 124, .18);
  border-radius: 50%;
  color: #145042;
  font-size: 20px;
  font-weight: 800;
}

.pricing-info--family .pricing-info__icon {
  background: rgba(255, 255, 255, .58);
  border-color: rgba(215, 156, 61, .25);
  color: #9d6718;
}

.pricing-feature .pricing-info h2 {
  margin: 0 0 24px;
  color: #103c32 !important;
  font-size: clamp(1.38rem, 1.75vw, 1.85rem);
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: -.035em;
}

.pricing-info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pricing-info li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 0;
  border-top: 1px solid rgba(16, 60, 50, .1);
  color: #506b64;
  font-size: .95rem;
  line-height: 1.4;
}

.pricing-info li strong {
  flex: 0 0 auto;
  color: #123f35;
  font-size: .94rem;
  font-weight: 780;
  text-align: right;
}

.pricing-booking {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  margin-top: 20px;
  padding: clamp(32px, 4vw, 58px);
  background:
    radial-gradient(circle at 4% 10%, rgba(255, 255, 255, .52), transparent 17rem),
    linear-gradient(135deg, #f5dfb8, #f8ead1 58%, #f4e5cc);
  border: 1px solid rgba(199, 139, 45, .22);
  border-radius: clamp(28px, 2.7vw, 40px);
  box-shadow: 0 25px 66px rgba(80, 60, 28, .12);
}

.pricing-booking__heading {
  padding-right: clamp(28px, 4vw, 60px);
  border-right: 1px solid rgba(122, 84, 27, .18);
}

.pricing-booking__heading p {
  margin: 0 0 10px;
  color: #8b5c18;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.pricing-feature .pricing-booking__heading h2 {
  margin: 0;
  color: #173e34 !important;
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pricing-booking__content > p {
  margin: 0;
  color: #4f5f58;
  font-size: .99rem;
  line-height: 1.65;
}

.pricing-booking__content > p + p {
  margin-top: 18px;
}

.pricing-booking__content a {
  color: #7e1821;
  font-weight: 760;
  text-decoration: underline;
  text-decoration-color: rgba(126, 24, 33, .32);
  text-underline-offset: 3px;
}

.pricing-booking__iban {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 18px;
  margin: 22px 0 18px;
  padding: 16px 19px;
  background: rgba(255, 255, 255, .66);
  border: 1px solid rgba(122, 84, 27, .16);
  border-radius: 16px;
}

.pricing-booking__iban span {
  flex: 0 0 auto;
  color: #8b5c18;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
}

.pricing-booking__iban strong {
  min-width: 0;
  color: #173e34;
  font-size: clamp(.88rem, 1.25vw, 1.08rem);
  font-weight: 750;
  letter-spacing: .035em;
  overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
  .pricing-period:hover {
    border-color: rgba(215, 156, 61, .32);
    box-shadow: 0 15px 32px rgba(21, 58, 48, .11);
    transform: translateY(-3px);
  }

  .pricing-plan--featured .pricing-period:hover {
    border-color: rgba(241, 207, 139, .3);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .14);
  }
}

@media (max-width: 991.98px) {
  .pricing-feature__plans {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-feature__details {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-info {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 18px;
  }

  .pricing-info__icon {
    grid-row: 1 / span 2;
    margin-bottom: 0;
  }

  .pricing-info h2,
  .pricing-info ul {
    grid-column: 2;
  }

  .pricing-booking {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-booking__heading {
    padding-right: 0;
    padding-bottom: 25px;
    border-right: 0;
    border-bottom: 1px solid rgba(122, 84, 27, .18);
  }
}

@media (max-width: 575.98px) {
  .pricing-feature {
    padding: 66px 0;
  }

  .pricing-feature::before {
    top: 24px;
    right: -125px;
  }

  .pricing-feature__header {
    margin-bottom: 38px;
  }

  .pricing-feature .pricing-feature__eyebrow {
    min-height: 34px;
    margin-bottom: 18px;
    padding: 7px 12px;
    font-size: 8.5px;
    letter-spacing: .095em;
  }

  .pricing-feature .pricing-feature__header h1 {
    font-size: clamp(2.6rem, 10vw, 3.35rem);
    line-height: .96;
  }

  .pricing-feature .pricing-feature__intro {
    margin-top: 18px;
    font-size: 1rem;
  }

  .pricing-plan {
    padding: 24px 18px 19px;
    border-radius: 27px;
  }

  .pricing-plan__header {
    min-height: 78px;
    gap: 13px;
    margin-bottom: 22px;
  }

  .pricing-plan__badge {
    min-width: 64px;
    min-height: 42px;
    padding: 8px 11px;
    font-size: 9px;
  }

  .pricing-feature .pricing-plan__header h2 {
    font-size: clamp(1.42rem, 7vw, 1.8rem);
  }

  .pricing-plan__periods {
    gap: 9px;
  }

  .pricing-period {
    padding: 18px 13px;
    border-radius: 17px;
  }

  .pricing-period__range {
    gap: 4px;
    margin-bottom: 17px;
    font-size: 10px;
  }

  .pricing-period > strong {
    font-size: clamp(1.75rem, 8.2vw, 2.15rem);
  }

  .pricing-period > small {
    font-size: 8px;
    letter-spacing: .055em;
  }

  .pricing-feature__details {
    gap: 12px;
    margin-top: 34px;
  }

  .pricing-info {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 14px;
    padding: 24px 19px;
    border-radius: 23px;
  }

  .pricing-info__icon {
    width: 40px;
    height: 40px;
  }

  .pricing-feature .pricing-info h2 {
    margin-bottom: 17px;
    font-size: 1.35rem;
  }

  .pricing-info li {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
    padding: 11px 0;
  }

  .pricing-info li strong {
    text-align: left;
  }

  .pricing-booking {
    gap: 24px;
    margin-top: 12px;
    padding: 28px 21px;
    border-radius: 25px;
  }

  .pricing-booking__iban {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    padding: 14px 15px;
  }

  .pricing-booking__iban strong {
    font-size: clamp(.67rem, 3vw, .82rem);
    letter-spacing: .015em;
    white-space: nowrap;
  }
}

@media (max-width: 359.98px) {
  .pricing-plan__periods {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-period {
    transition: none;
  }
}

/* Property video: real imagery paired with a privacy-friendly player. */
.property-video-feature {
  position: relative;
  overflow: hidden;
  padding: clamp(82px, 8vw, 132px) 0;
  background:
    radial-gradient(circle at 6% 14%, rgba(215, 156, 61, .13), transparent 29rem),
    radial-gradient(circle at 96% 86%, rgba(101, 194, 189, .16), transparent 32rem),
    linear-gradient(135deg, #072a23 0%, #0e3c31 53%, #174f40 100%) !important;
  color: #fff;
}

.property-video-feature::before {
  position: absolute;
  top: -270px;
  right: -190px;
  width: 610px;
  height: 610px;
  content: "";
  border: 1px solid rgba(241, 207, 139, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 75px rgba(241, 207, 139, .026), 0 0 0 150px rgba(241, 207, 139, .018);
  pointer-events: none;
}

.property-video-feature::after {
  position: absolute;
  bottom: 42px;
  left: 3vw;
  width: 210px;
  height: 150px;
  content: "";
  background-image: radial-gradient(circle, rgba(241, 207, 139, .2) 2px, transparent 2.5px);
  background-size: 24px 24px;
  opacity: .4;
  pointer-events: none;
}

/* Keep the transparent logo, but remove the oversized decorative ring. */
.property-video-feature.bg-accent::after {
  display: none;
  content: none;
}

.property-video-feature > .container {
  position: relative;
  z-index: 1;
}

.property-video-feature__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(44px, 5.8vw, 92px);
  align-items: center;
}

.property-video-feature__media {
  position: relative;
  overflow: hidden;
  min-height: clamp(540px, 51vw, 700px);
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: clamp(28px, 3.3vw, 50px);
  box-shadow: 0 36px 88px rgba(0, 0, 0, .32);
  isolation: isolate;
}

.property-video-feature__media::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 42%, rgba(3, 25, 20, .16) 62%, rgba(3, 25, 20, .84) 100%);
  pointer-events: none;
}

.property-video-feature__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% center;
  filter: saturate(1.03) contrast(1.02);
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .45s ease;
}

.property-video-feature__media figcaption {
  position: absolute;
  z-index: 2;
  right: clamp(24px, 3vw, 44px);
  bottom: clamp(24px, 3vw, 42px);
  left: clamp(24px, 3vw, 44px);
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 8px;
  color: #fff;
  text-align: right;
}

.property-video-feature__media figcaption span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 7px 12px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.property-video-feature__media figcaption strong {
  max-width: 470px;
  font-size: clamp(1.75rem, 2.8vw, 3rem);
  font-weight: 680;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-shadow: 0 7px 24px rgba(0, 0, 0, .38);
  text-wrap: balance;
}

.property-video-feature__content {
  min-width: 0;
}

.property-video-feature .property-video-feature__eyebrow {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 10px;
  margin: 0 0 23px;
  padding: 8px 14px;
  background: rgba(100, 191, 190, .13);
  border: 1px solid rgba(100, 191, 190, .26);
  border-radius: 999px;
  color: #b4e5df;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}

.property-video-feature__eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  content: "";
  background: #f1cf8b;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(241, 207, 139, .08);
}

.property-video-feature .property-video-feature__content h2 {
  max-width: 720px;
  margin: 0;
  color: #fffaf1 !important;
  font-size: clamp(2.8rem, 4.4vw, 5rem);
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.057em;
  text-shadow: 0 13px 34px rgba(0, 0, 0, .18);
  text-wrap: balance;
}

.property-video-feature .property-video-feature__lead {
  max-width: 680px;
  margin: 24px 0 31px;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.7;
}

.property-video-feature .property-video-feature__player {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  background: #061f19;
  border: 1px solid rgba(241, 207, 139, .2);
  border-radius: 25px;
  box-shadow: 0 24px 55px rgba(0, 0, 0, .24);
}

.property-video-feature__player .external-media-consent {
  min-height: 0;
  padding: clamp(20px, 2.4vw, 34px);
  background:
    radial-gradient(circle at 18% 12%, rgba(241, 207, 139, .13), transparent 34%),
    linear-gradient(145deg, #08271f, #123f33);
}

.property-video-feature__player .external-media-consent::before {
  width: min(250px, 58%);
  height: min(250px, 58%);
  border-color: rgba(255, 255, 255, .1);
  box-shadow: 0 0 0 26px rgba(255, 255, 255, .025), 0 0 0 52px rgba(255, 255, 255, .018);
}

.property-video-feature__play {
  position: relative;
  display: inline-flex;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  align-items: center;
  justify-content: center;
  margin-bottom: 13px;
  background: #f1cf8b;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
  box-shadow: 0 13px 28px rgba(0, 0, 0, .2);
}

.property-video-feature__play::before {
  width: 0;
  height: 0;
  margin-left: 4px;
  content: "";
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #0b342a;
}

.property-video-feature__player .external-media-consent h3 {
  margin: 0;
  color: #fff !important;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 680;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.property-video-feature__player .external-media-consent p {
  max-width: 460px;
  margin: 9px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(.82rem, 1vw, .95rem);
  line-height: 1.48;
}

.property-video-feature__player .external-media-consent__button {
  min-height: 48px;
  margin-top: 17px;
  padding: 12px 20px;
  font-size: 10px;
  letter-spacing: .08em;
}

.property-video-feature__player iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (hover: hover) and (pointer: fine) {
  .property-video-feature__media:hover img {
    filter: saturate(1.08) contrast(1.03);
    transform: scale(1.035);
  }
}

@media (max-width: 1199.98px) {
  .property-video-feature__shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    gap: 42px;
  }

  .property-video-feature__media {
    min-height: 570px;
  }

  .property-video-feature .property-video-feature__content h2 {
    font-size: clamp(2.55rem, 5vw, 4rem);
  }
}

@media (max-width: 991.98px) {
  .property-video-feature__shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 50px;
  }

  .property-video-feature__media {
    min-height: clamp(420px, 65vw, 590px);
  }

  .property-video-feature__media img {
    object-position: center 48%;
  }

  .property-video-feature__content {
    max-width: 760px;
    margin: 0 auto;
  }
}

@media (max-width: 575.98px) {
  .property-video-feature {
    padding: 66px 0;
  }

  .property-video-feature::before {
    top: -260px;
    right: -310px;
  }

  .property-video-feature::after {
    display: none;
  }

  .property-video-feature__shell {
    gap: 38px;
  }

  .property-video-feature__media {
    min-height: 340px;
    border-radius: 27px;
  }

  .property-video-feature__media figcaption {
    right: 22px;
    bottom: 22px;
    left: 22px;
  }

  .property-video-feature__media figcaption span {
    min-height: 29px;
    padding: 6px 10px;
    font-size: 8px;
    letter-spacing: .07em;
  }

  .property-video-feature__media figcaption strong {
    max-width: 285px;
    font-size: 1.72rem;
  }

  .property-video-feature .property-video-feature__eyebrow {
    min-height: 34px;
    margin-bottom: 19px;
    padding: 7px 12px;
    font-size: 8.5px;
    letter-spacing: .085em;
  }

  .property-video-feature .property-video-feature__content h2 {
    font-size: clamp(2.55rem, 12.5vw, 3.6rem);
    line-height: .98;
  }

  .property-video-feature .property-video-feature__lead {
    margin: 20px 0 27px;
    font-size: .98rem;
    line-height: 1.64;
  }

  .property-video-feature .property-video-feature__player {
    height: 342px;
    aspect-ratio: auto;
    border-radius: 22px;
  }

  .property-video-feature__player .external-media-consent {
    padding: 24px 19px;
  }

  .property-video-feature__play {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    margin-bottom: 12px;
  }

  .property-video-feature__player .external-media-consent h3 {
    font-size: 1.4rem;
  }

  .property-video-feature__player .external-media-consent p {
    max-width: 280px;
    font-size: .86rem;
  }
}

@media (max-width: 359.98px) {
  .property-video-feature__media {
    min-height: 305px;
  }

  .property-video-feature .property-video-feature__content h2 {
    font-size: 2.3rem;
  }

  .property-video-feature .property-video-feature__player {
    height: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .property-video-feature__media img {
    transition: none;
  }
}

/* A more compact, consistent video stage across every page and language. */
.page .videoWrapper {
  width: min(88%, 1640px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 1199.98px) {
  .page .videoWrapper {
    width: 90% !important;
  }
}

@media (max-width: 767.98px) {
  .page .videoWrapper {
    width: calc(100% - 8px) !important;
  }
}

/* Keep longer translated consent messages fully inside the video poster. */
@media (min-width: 768px) {
  .page .videoWrapper:has(> .external-media-consent--video) {
    height: auto !important;
    min-height: 380px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    aspect-ratio: 16 / 9;
  }

  .page .videoWrapper:has(> iframe:not([hidden])) {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    aspect-ratio: 16 / 9;
  }
}

/* Keep every video-consent action readable, including compact desktop cards. */
.page .external-media-consent--video .external-media-consent__button {
  font-size: clamp(12.5px, .9vw, 14px) !important;
  line-height: 1.35 !important;
}

@media (min-width: 768px) {
  .page .external-media-consent--video .external-media-consent__button {
    min-height: 44px !important;
  }
}

/* Never add automatic hyphens to words anywhere on the site. */
html,
body,
.page,
.page * {
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
}

/* Safe multiline rhythm: title rows must never visually touch. */
.page h1,
.page h2,
.page .agriasilo-feature__title-kicker,
.page .agriasilo-feature__title-main {
  line-height: 1.1 !important;
}

.page h3 {
  line-height: 1.15 !important;
}

.page h1,
.page h2,
.page h3,
.page h4,
.page .agriasilo-feature__title-kicker,
.page .agriasilo-feature__title-main {
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

/* These hero rules already use !important, so they need equal specificity. */
.page .swiper-slide-caption h1,
.page .swiper-slide-caption h2,
.page .parallax-header__content h1,
.page .parallax-header__content h2,
.page .apartment-hero h1,
.page .apartment-hero h2,
.page .contact-hero h1 {
  line-height: 1.1 !important;
}

/* Keep the business name intact when the homepage slide title wraps. */
.page .swiper-slide-caption .hero-brand__tail {
  display: inline-block;
  white-space: nowrap;
  overflow-wrap: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

@media (max-width: 319.98px) {
  .page .swiper-slide-caption .hero-brand {
    font-size: clamp(1.55rem, 10vw, 2rem) !important;
  }
}

@media (max-width: 767.98px) {
  .page h1,
  .page h2,
  .page .agriasilo-feature__title-kicker,
  .page .agriasilo-feature__title-main,
  .page .swiper-slide-caption h1,
  .page .swiper-slide-caption h2,
  .page .parallax-header__content h1,
  .page .parallax-header__content h2,
  .page .apartment-hero h1,
  .page .apartment-hero h2,
  .page .contact-hero h1 {
    line-height: 1.12 !important;
  }

  .page h3 {
    line-height: 1.16 !important;
  }
}

/* Very short landscape screens may scroll instead of clipping hero copy. */
@media (max-height: 480px) and (orientation: landscape) {
  :root {
    --lrp-opening-height: max(calc(100vh - var(--lrp-initial-header-height)), 320px);
  }

  @supports (height: 100svh) {
    :root {
      --lrp-opening-height: max(calc(100svh - var(--lrp-initial-header-height)), 320px);
    }
  }
}

/* Prices location feature: editorial information and a clean, privacy-first map. */
.section-lg.location-feature {
  position: relative;
  padding: clamp(72px, 8vw, 124px) 0;
  overflow: hidden;
  background:
    linear-gradient(132deg, rgba(239, 190, 100, .08) 0%, transparent 34%),
    #f6f2e9 !important;
}

.location-feature .container {
  position: relative;
  z-index: 1;
}

.location-feature__shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(440px, 1.04fr);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(12, 66, 54, .11);
  border-radius: 36px;
  background: #fffdf8;
  box-shadow: 0 28px 76px rgba(20, 57, 47, .12);
}

.location-feature__copy {
  display: flex;
  padding: clamp(52px, 6vw, 88px);
  flex-direction: column;
  justify-content: center;
}

.location-feature .location-feature__eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  margin: 0 0 25px;
  padding: 8px 13px;
  align-items: center;
  color: #8a5410;
  font-size: clamp(13px, .88vw, 14px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
  border: 1px solid rgba(218, 155, 51, .3);
  border-radius: 9px;
  background: #fff6e4;
}

.location-feature .location-feature__eyebrow::before {
  width: 22px;
  height: 2px;
  margin-right: 9px;
  content: "";
  background: #d99b35;
}

.location-feature .location-feature__copy h2 {
  max-width: 620px;
  margin: 0;
  color: #073c32;
  font-size: clamp(3rem, 4.25vw, 5rem);
  font-weight: 700;
  line-height: .99;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.location-feature__intro {
  max-width: 650px;
  margin-top: clamp(28px, 3vw, 42px);
  padding-left: 22px;
  border-left: 3px solid #dda43f;
}

.location-feature .location-feature__intro p {
  margin: 0;
  color: #3b5f56;
  font-size: 16px;
  line-height: 1.72;
}

.location-feature .location-feature__intro p + p {
  margin-top: 18px;
}

.location-feature__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(32px, 4vw, 50px);
  padding-top: 28px;
  border-top: 1px solid rgba(7, 60, 50, .12);
}

.location-feature__fact {
  min-width: 0;
  padding: 2px 0 2px 15px;
  border-left: 2px solid rgba(221, 164, 63, .68);
}

.location-feature__fact span,
.location-feature__fact strong,
.location-feature__fact small {
  display: block;
}

.location-feature__fact span {
  margin-bottom: 7px;
  color: #9a671e;
  font-size: clamp(13px, .88vw, 14px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.location-feature__fact strong {
  color: #103f35;
  font-size: clamp(18px, 1.35vw, 21px);
  font-weight: 750;
  line-height: 1.3;
}

.location-feature__fact small {
  margin-top: 6px;
  color: #6b817b;
  font-size: clamp(15px, 1vw, 16px);
  line-height: 1.5;
}

.location-feature__map {
  position: relative;
  min-width: 0;
  min-height: 650px;
  overflow: hidden;
  background: #083b31;
}

.location-feature__map .external-media-consent {
  position: absolute;
  inset: 0;
  min-height: 100%;
  padding: clamp(42px, 6vw, 84px);
  background:
    linear-gradient(132deg, transparent 0 31%, rgba(255, 255, 255, .055) 31.1%, transparent 31.3%),
    linear-gradient(42deg, transparent 0 70%, rgba(239, 190, 100, .1) 70.1%, transparent 70.35%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 44px),
    linear-gradient(145deg, #174d40 0%, #0b3c32 52%, #062e27 100%);
}

/* Deliberately remove the former concentric-circle and faded-logo decorations. */
.location-feature__map .external-media-consent::before,
.location-feature__map .external-media-consent::after {
  display: none;
  content: none;
}

.location-feature__coordinates {
  position: absolute !important;
  top: 28px;
  right: 30px;
  padding: 10px 14px;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(13px, .9vw, 14px);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: .08em;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(5, 37, 31, .28);
}

.location-feature .external-media-consent .location-feature__map-eyebrow {
  margin: 0 0 16px;
  color: #f1c66f;
  font-size: clamp(13px, .88vw, 14px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.location-feature .external-media-consent h3 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(2.85rem, 4.2vw, 4.7rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.05em;
  text-wrap: balance;
  text-shadow: none;
}

.location-feature .external-media-consent h3 + p {
  max-width: 460px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .79);
  font-size: 15px;
  line-height: 1.68;
}

.location-feature .external-media-consent__button {
  display: inline-flex;
  min-width: 230px;
  min-height: 58px;
  margin-top: 30px;
  padding: 15px 25px;
  align-items: center;
  justify-content: center;
  column-gap: 13px;
  color: #07392f !important;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 0 !important;
  border-radius: 14px;
  background: #f1c66f !important;
  box-shadow: 0 15px 30px rgba(0, 0, 0, .16);
}

.location-feature .external-media-consent__button::after {
  content: "↗";
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  transition: transform .2s ease;
}

.location-feature .external-media-consent__button:hover,
.location-feature .external-media-consent__button:focus-visible {
  color: #fff !important;
  background: #8d1420 !important;
  transform: translateY(-2px);
}

.location-feature .external-media-consent__button:hover::after,
.location-feature .external-media-consent__button:focus-visible::after {
  transform: translate(2px, -2px);
}

.location-feature__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 1199.98px) {
  .location-feature__shell {
    grid-template-columns: minmax(0, 1fr) minmax(400px, .92fr);
    min-height: 610px;
  }

  .location-feature__copy {
    padding: 54px 48px;
  }

  .location-feature .location-feature__copy h2 {
    font-size: clamp(3rem, 5vw, 4rem);
  }

  .location-feature__map {
    min-height: 610px;
  }
}

@media (max-width: 991.98px) {
  .section-lg.location-feature {
    padding: 72px 0;
  }

  .location-feature__shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .location-feature__copy {
    padding: clamp(48px, 8vw, 72px);
  }

  .location-feature .location-feature__copy h2,
  .location-feature__intro {
    max-width: 720px;
  }

  .location-feature__facts {
    max-width: 650px;
  }

  .location-feature__map {
    min-height: 520px;
  }

  .location-feature .external-media-consent h3 {
    font-size: clamp(3rem, 7vw, 4.25rem);
  }
}

@media (max-width: 575.98px) {
  .section-lg.location-feature {
    padding: 54px 0;
  }

  .location-feature .container {
    padding-right: 14px;
    padding-left: 14px;
  }

  .location-feature__shell {
    border-radius: 24px;
    box-shadow: 0 20px 48px rgba(20, 57, 47, .11);
  }

  .location-feature__copy {
    padding: 38px 25px 42px;
  }

  .location-feature .location-feature__eyebrow {
    min-height: 32px;
    margin-bottom: 21px;
    padding: 7px 11px;
    font-size: 8.5px;
    letter-spacing: .1em;
  }

  .location-feature .location-feature__eyebrow::before {
    width: 17px;
  }

  .location-feature .location-feature__copy h2 {
    font-size: clamp(2.5rem, 11.3vw, 3.25rem);
    line-height: 1;
  }

  .location-feature__intro {
    margin-top: 27px;
    padding-left: 16px;
  }

  .location-feature .location-feature__intro p {
    font-size: 14.5px;
    line-height: 1.68;
  }

  .location-feature .location-feature__intro p + p {
    margin-top: 15px;
  }

  .location-feature__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px;
    margin-top: 31px;
    padding-top: 23px;
  }

  .location-feature__map {
    min-height: 430px;
  }

  .location-feature__map .external-media-consent {
    padding: 68px 24px 34px;
  }

  .location-feature__coordinates {
    top: 19px;
    right: 20px;
    padding: 8px 10px;
    font-size: 8px;
  }

  .location-feature .external-media-consent .location-feature__map-eyebrow {
    margin-bottom: 13px;
    font-size: 8.5px;
  }

  .location-feature .external-media-consent h3 {
    font-size: clamp(2.45rem, 11vw, 3.1rem);
  }

  .location-feature .external-media-consent h3 + p {
    margin-top: 19px;
    font-size: 13.5px;
    line-height: 1.6;
  }

  .location-feature .external-media-consent__button {
    width: min(100%, 260px);
    min-width: 0;
    min-height: 54px;
    margin-top: 24px;
    padding: 13px 17px;
    font-size: 9.5px;
    border-radius: 12px;
  }
}

@media (max-width: 359.98px) {
  .location-feature__copy {
    padding-right: 21px;
    padding-left: 21px;
  }

  .location-feature .location-feature__copy h2 {
    font-size: 2.3rem;
  }

  .location-feature__map {
    min-height: 445px;
  }

  .location-feature__map .external-media-consent {
    padding-right: 19px;
    padding-left: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .location-feature .external-media-consent__button,
  .location-feature .external-media-consent__button::after {
    transition: none;
  }
}

/* Shared footer refresh: one ordered panel, no circular ornamentation. */
.pre-footer-corporate {
  padding: clamp(62px, 6vw, 96px) 0 !important;
  background:
    linear-gradient(118deg, rgba(224, 168, 72, .075) 0%, transparent 34%),
    linear-gradient(152deg, #061f19 0%, #0a3027 56%, #124438 100%) !important;
}

.pre-footer-corporate::after {
  display: none;
  content: none;
}

.pre-footer-corporate .row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(190px, .6fr) minmax(0, 1.18fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(239, 247, 243, .14);
  border-radius: 30px;
  background: rgba(255, 255, 255, .045);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .075),
    0 30px 78px rgba(1, 15, 12, .22);
}

.pre-footer-corporate .row > [class*="col-"] {
  min-height: 365px;
  padding: clamp(34px, 3vw, 50px) !important;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none !important;
}

.pre-footer-corporate .row > [class*="col-"]::before {
  display: none;
  content: none;
}

.pre-footer-corporate .row > [class*="col-"]:first-child {
  color: #f1f7f4;
  border: 0;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .025));
  box-shadow: none;
}

.pre-footer-corporate .row > [class*="col-"]:first-child::before {
  position: static;
  display: inline-flex;
  width: fit-content;
  height: auto;
  margin: 0 0 27px;
  padding: 8px 11px;
  content: "La Regina dei Prati";
  color: #f0c66f;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .135em;
  text-transform: uppercase;
  border: 1px solid rgba(240, 198, 111, .26);
  border-radius: 8px;
  background: rgba(240, 198, 111, .055);
}

.pre-footer-corporate .row > [class*="col-"]:first-child::after {
  display: none;
  content: none;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2),
.pre-footer-corporate .row > [class*="col-"]:nth-child(3) {
  border-left: 1px solid rgba(239, 247, 243, .11);
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, .008));
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(3) {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .018), rgba(240, 198, 111, .025));
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
  display: grid;
  grid-template-columns: repeat(2, 56px);
  grid-template-rows: auto 56px;
  gap: 0 12px;
  align-content: center;
  justify-content: center;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) h6 {
  grid-column: 1 / -1;
  grid-row: 1;
  text-align: center;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) h6::after {
  left: 50%;
  transform: translateX(-50%);
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:nth-of-type(1) {
  grid-column: 1;
  grid-row: 2;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:nth-of-type(2) {
  grid-column: 2;
  grid-row: 2;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) .facebook-link-panel {
  grid-column: 1 / -1;
  grid-row: 3;
  align-self: start;
}

.pre-footer-corporate h6 {
  margin: 0 0 27px;
  padding: 0 0 15px;
  font-size: clamp(12px, .76vw, 14px);
  letter-spacing: .16em;
}

.pre-footer-corporate h6::after {
  width: 34px;
  height: 2px;
  border-radius: 0;
  background: #e0a94b;
}

.pre-footer-corporate p,
.pre-footer-corporate li,
.pre-footer-corporate .unit-body {
  font-size: clamp(14.5px, .88vw, 16px);
  line-height: 1.68;
}

.pre-footer-corporate .row > [class*="col-"]:first-child > p {
  max-width: 640px;
  padding-left: 18px;
  color: rgba(240, 247, 243, .83) !important;
  font-size: clamp(15px, .94vw, 17px);
  line-height: 1.72;
  border-left: 2px solid rgba(240, 198, 111, .58);
}

.pre-footer-corporate .row > [class*="col-"]:first-child > a {
  margin-top: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:not(.facebook-link-panel) {
  width: 56px;
  height: 56px;
  margin: 0;
  border-color: rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a img {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 !important;
  padding: 5px;
  flex: 0 0 40px;
  object-fit: contain;
  object-position: 50% 50%;
  transform: none !important;
}

.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:hover img,
.pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:focus img {
  transform: none !important;
}

.pre-footer-corporate .facebook-link-panel {
  max-width: none;
  min-height: 0;
  margin-top: 24px;
}

.pre-footer-corporate .facebook-link-panel blockquote {
  margin: 0;
}

.pre-footer-corporate .facebook-link-panel a {
  min-height: 62px;
  padding: 14px 54px 14px 17px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .055);
}

.pre-footer-corporate .facebook-link-panel a::after {
  width: 32px;
  height: 32px;
  color: #0b3027;
  border-radius: 8px;
  background: #f0c66f;
}

.pre-footer-corporate .list-xs {
  display: grid;
  gap: 8px;
  border-top: 0;
}

.pre-footer-corporate .list-xs .unit {
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 14px;
  background: rgba(255, 255, 255, .028);
}

.pre-footer-corporate .list-xs .unit-left {
  width: 40px;
  height: 40px;
  margin-right: 13px;
  flex-basis: 40px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .11);
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.pre-footer-corporate .list-xs .unit-left .icon {
  color: #e5c87f !important;
}

.pre-footer-corporate .list-xs a {
  color: #f2d28e !important;
}

@media (hover: hover) and (pointer: fine) {
  .pre-footer-corporate .row > [class*="col-"]:hover,
  .pre-footer-corporate .row > [class*="col-"]:first-child:hover {
    border-color: transparent;
    background-color: transparent;
    box-shadow: none;
    transform: none !important;
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:hover,
  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a:focus {
    border-color: rgba(240, 198, 111, .55);
    background: rgba(240, 198, 111, .13);
  }

  .pre-footer-corporate .list-xs .unit:hover {
    border-color: rgba(240, 198, 111, .24);
    background: rgba(255, 255, 255, .045);
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .pre-footer-corporate .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pre-footer-corporate .row > [class*="col-"] {
    min-height: 0;
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child {
    grid-column: 1 / -1;
    border-bottom: 1px solid rgba(239, 247, 243, .11);
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
    border-left: 0;
  }
}

@media (max-width: 767.98px) {
  .pre-footer-corporate {
    padding: 50px 0 !important;
  }

  .pre-footer-corporate .row {
    grid-template-columns: minmax(0, 1fr);
    border-radius: 24px;
  }

  .pre-footer-corporate .row > [class*="col-"] {
    min-height: 0;
    padding: 32px 24px !important;
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2),
  .pre-footer-corporate .row > [class*="col-"]:nth-child(3) {
    border-top: 1px solid rgba(239, 247, 243, .11);
    border-left: 0;
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child::before {
    margin-bottom: 23px;
  }

  .pre-footer-corporate .row > [class*="col-"]:first-child > a,
  .pre-footer-corporate .facebook-link-panel {
    margin-top: 25px;
  }

  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) {
    grid-template-rows: auto 56px;
  }

  .pre-footer-corporate .facebook-link-panel blockquote {
    margin: 0;
  }
}

@media (max-width: 359.98px) {
  .pre-footer-corporate .row > [class*="col-"] {
    padding: 28px 19px !important;
  }

  .pre-footer-corporate .facebook-link-panel a {
    padding-left: 14px;
    font-size: 12.25px;
  }

  .pre-footer-corporate .list-xs .unit-left {
    margin-right: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pre-footer-corporate .row > [class*="col-"],
  .pre-footer-corporate .row > [class*="col-"]:nth-child(2) > a {
    transition: none;
  }
}

/* Gallery arrows: transient press feedback without sticky hover/focus colours. */
.page .owl-carousel .owl-nav .owl-prev,
.page .owl-carousel .owl-nav .owl-next,
.lg-outer .lg-actions .lg-prev,
.lg-outer .lg-actions .lg-next {
  -webkit-tap-highlight-color: transparent;
}

.page .owl-carousel .owl-nav .owl-prev:focus:not(:active),
.page .owl-carousel .owl-nav .owl-next:focus:not(:active) {
  color: #123f33 !important;
  background: rgba(255, 253, 248, .94) !important;
  border-color: rgba(18, 63, 51, .14) !important;
  box-shadow: 0 10px 26px rgba(9, 45, 36, .18) !important;
  transform: translateY(-50%) !important;
}

.lg-outer .lg-actions .lg-prev:focus:not(:active),
.lg-outer .lg-actions .lg-next:focus:not(:active) {
  color: #fff !important;
  background: var(--lrp-forest-deep) !important;
  border-color: rgba(255, 255, 255, .78) !important;
}

@media (hover: hover) and (pointer: fine) {
  .page .owl-carousel .owl-nav .owl-prev:hover:not(:active),
  .page .owl-carousel .owl-nav .owl-next:hover:not(:active) {
    color: #123f33 !important;
    background: rgba(255, 253, 248, .98) !important;
    border-color: rgba(213, 154, 60, .42) !important;
    box-shadow: 0 14px 30px rgba(9, 45, 36, .22) !important;
    transform: translateY(-50%) scale(1.025) !important;
  }

  .lg-outer .lg-actions .lg-prev:hover:not(:active),
  .lg-outer .lg-actions .lg-next:hover:not(:active) {
    color: #fff !important;
    background: #174a3d !important;
    border-color: #fff !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .page .owl-carousel .owl-nav .owl-prev:hover:not(:active),
  .page .owl-carousel .owl-nav .owl-next:hover:not(:active) {
    color: #123f33 !important;
    background: rgba(255, 253, 248, .94) !important;
    border-color: rgba(18, 63, 51, .14) !important;
    box-shadow: 0 10px 26px rgba(9, 45, 36, .18) !important;
    transform: translateY(-50%) !important;
  }

  .lg-outer .lg-actions .lg-prev:hover:not(:active),
  .lg-outer .lg-actions .lg-next:hover:not(:active) {
    color: #fff !important;
    background: var(--lrp-forest-deep) !important;
    border-color: rgba(255, 255, 255, .78) !important;
  }
}

.page .owl-carousel .owl-nav .owl-prev:active,
.page .owl-carousel .owl-nav .owl-next:active {
  color: #10382e !important;
  background: #efc773 !important;
  border-color: rgba(16, 56, 46, .24) !important;
  box-shadow: 0 7px 17px rgba(9, 45, 36, .2) !important;
  transform: translateY(-50%) scale(.95) !important;
  transition-duration: .08s !important;
}

.lg-outer .lg-actions .lg-prev:active,
.lg-outer .lg-actions .lg-next:active {
  color: #fff !important;
  background: var(--lrp-berry) !important;
  border-color: #fff !important;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .32) !important;
  transition-duration: .08s !important;
}

.page .owl-carousel .owl-nav .owl-prev:focus-visible,
.page .owl-carousel .owl-nav .owl-next:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--lrp-berry) !important;
}

/* Collapsed navbar (phone and tablet): preserve the rounded logo while
   removing the tinted surface and shadow beside its lower corners. */
@media (max-width: 1199.98px) {
  .page-header,
  .rd-navbar-wrap,
  .rd-navbar,
  .rd-navbar.rd-navbar-static,
  .rd-navbar.rd-navbar-fixed,
  .rd-navbar.rd-navbar-static .rd-navbar-inner,
  .rd-navbar.rd-navbar-fixed .rd-navbar-inner,
  .rd-navbar.rd-navbar-static .rd-navbar-panel,
  .rd-navbar.rd-navbar-fixed .rd-navbar-panel {
    background-color: #fff !important;
    background-image: none !important;
  }

  .rd-navbar.rd-navbar-static .rd-navbar-brand .brand__name,
  .rd-navbar.rd-navbar-fixed .rd-navbar-brand .brand__name {
    border-radius: 0 0 16px 16px !important;
    box-shadow: none !important;
  }
}
