:root{
  --color-forest:#203d2d;
  --color-forest-deep:#10271c;
  --color-ivory:#f6f1e8;
  --color-paper:#fffdf9;
  --color-sand:#dfd0b8;
  --color-oak:#9b6f4b;
  --color-graphite:#343632;
  --shadow-soft:0 22px 60px rgba(17,39,28,.1);
  --container:min(1240px,calc(100% - 2.5rem));
  --header-h:88px;
}

html{
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  scroll-padding-top:calc(var(--header-h) + 1rem);
}
body{
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  background:var(--color-ivory);
  color:var(--color-graphite);
}
main,section,article,header,footer,.jbl-container,
.jbl-split__grid>*,.jbl-house-grid>*,.jbl-relax-grid>*,
.jbl-scenario-grid>*,.jbl-detail-grid>*,.jbl-footer__grid>*{min-width:0}
[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}
h1,h2,h3{letter-spacing:-.02em}
.jbl-section{padding:clamp(5rem,9vw,9rem) 0}
.jbl-section-heading{max-width:850px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.jbl-section-heading>p:not(.jbl-eyebrow){max-width:720px}
.jbl-eyebrow{color:var(--color-oak);letter-spacing:.18em}

.jbl-button,.jbl-header__book,.jbl-footer__cta{
  max-width:100%;
  border-radius:2px;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
  overflow-wrap:anywhere;
  font-size:.77rem;
  touch-action:manipulation;
}
.jbl-button--secondary{border:1px solid var(--color-forest);background:transparent;color:var(--color-forest)!important}
.jbl-button--ghost-light{border-color:rgba(255,255,255,.75);background:transparent;color:#fff!important}
.jbl-button--ghost-light:hover{background:#fff;color:var(--color-forest)!important}

/* Header */
.jbl-header{
  height:var(--header-h);
  overflow:visible;
  transition:background .25s,border-color .25s,box-shadow .25s,backdrop-filter .25s;
}
.jbl-header--overlay{position:fixed;left:0;right:0}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open){
  background:linear-gradient(180deg,rgba(7,18,12,.42),transparent);
  border-color:transparent;
  backdrop-filter:none;
}
.jbl-header--overlay.is-scrolled,
.jbl-header--overlay.is-menu-open{
  background:rgba(246,241,232,.97);
  border-color:rgba(24,56,41,.1);
  backdrop-filter:blur(14px);
}
.jbl-header.is-scrolled{box-shadow:0 8px 28px rgba(20,44,31,.08)}
.jbl-header__inner{
  width:min(1480px,calc(100% - 2.2rem));
  height:100%;
  overflow:visible;
}
.jbl-logo{
  position:relative;
  display:block;
  width:200px;
  height:100%;
  flex:0 0 200px;
  overflow:visible;
}
.jbl-header .jbl-logo img{
  position:absolute;
  display:block;
  top:50%;
  left:0;
  margin:0;
  max-width:none;
  height:auto;
  object-fit:contain;
  object-position:left center;
  transform:translateY(-50%);
  transition:opacity .22s,width .22s;
}
.jbl-header .jbl-logo__dark{display:block;width:200px;opacity:1}
.jbl-header .jbl-logo__light{display:block;width:54px;opacity:0}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-logo__dark{opacity:0}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-logo__light{width:54px;opacity:1}
.jbl-nav{gap:clamp(.5rem,1.35vw,1.4rem)}
.jbl-nav>a{
  position:relative;
  color:var(--color-forest);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-decoration:none;
}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-nav>a,
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-lang{color:#fff}
.jbl-nav>a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.5rem;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}
.jbl-nav>a:hover::after,.jbl-nav>a[aria-current="page"]::after{transform:scaleX(1)}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-lang{border-color:rgba(255,255,255,.65)}
.jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-header__book{border-color:#fff;background:#fff;color:var(--color-forest)}
.jbl-menu-toggle{touch-action:manipulation}

/* Visual hero */
.jbl-hero--visual{
  position:relative;
  display:block;
  min-height:min(940px,90svh);
  overflow:hidden;
  background:#13251b;
}
.jbl-hero--visual .jbl-hero__media,
.jbl-hero--visual .jbl-hero__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.jbl-hero--visual .jbl-hero__media{z-index:0}
.jbl-hero--visual .jbl-hero__shade{
  z-index:1;
  background:linear-gradient(180deg,rgba(3,9,6,.26) 0%,rgba(3,9,6,.05) 26%,rgba(3,9,6,.04) 68%,rgba(3,9,6,.24) 100%);
}
.jbl-hero__visual-content{
  position:absolute;
  z-index:2;
  inset:0;
  width:var(--container);
  min-height:100%;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:calc(var(--header-h) + 4.5rem);
  padding-bottom:clamp(3.5rem,7vh,6rem);
  text-align:center;
  pointer-events:none;
  transform:translateY(clamp(-6.5rem,-11vh,-5rem));
}
.jbl-hero__brand-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(72vw,350px);
  margin:0 auto clamp(4rem,8vh,5rem);
  transform:none;
}
.jbl-hero__brand{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.34));
}
.jbl-hero__visual-actions{
  position:static;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
  width:auto;
  transform:none;
  pointer-events:auto;
}
.jbl-hero__visual-actions .jbl-button{
  flex:0 0 auto!important;
  width:auto;
  min-width:250px;
  min-height:58px;
  padding:1rem 1.5rem;
  border-radius:2px!important;
  letter-spacing:.12em;
}
.jbl-hero__visual-actions .jbl-button--hero-ghost{
  border-color:rgba(255,255,255,.72)!important;
  background:rgba(15,28,20,.18)!important;
  color:#fff!important;
  backdrop-filter:blur(4px);
}
.jbl-hero__visual-actions .jbl-button--hero-ghost:hover{background:#fff!important;color:var(--color-forest)!important}
.jbl-hero__visual-actions .jbl-button--hero-light{
  border-color:#f7f3ec!important;
  background:#f7f3ec!important;
  color:#3e3c37!important;
}
.jbl-hero__visual-actions .jbl-button--hero-light:hover{background:#fff!important}

/* Signature feature strip */
.jbl-signature-strip{border-top:1px solid rgba(31,58,43,.1);border-bottom:1px solid rgba(31,58,43,.12);background:#f7f2e9}
.jbl-signature-strip__grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);align-items:center;min-height:116px}
.jbl-signature-strip__grid>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.85rem;
  min-width:0;
  min-height:60px;
  padding:1.2rem;
  border-right:1px solid rgba(31,58,43,.14);
  color:#3c433d;
  text-align:center;
}
.jbl-signature-strip__grid>div:first-child{justify-content:flex-start}
.jbl-signature-strip__grid>div:last-child{border-right:0}
.jbl-signature-strip svg{width:36px;height:36px;flex:0 0 36px;color:#625b50}
.jbl-signature-strip span{font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.15}

/* Home sections */
.jbl-intro-section .jbl-split__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.jbl-intro-section .jbl-split__copy{padding-inline:clamp(0rem,3vw,3rem)}
.jbl-intro-section .jbl-split__copy>p:not(.jbl-eyebrow){font-size:1.1em}
.jbl-intro-section .jbl-split__media,.jbl-intro-section .jbl-split__media img{min-height:650px;border-radius:0}
.jbl-house-grid{gap:clamp(2rem,5vw,5rem)}
.jbl-house-card{overflow:visible;border:0;border-radius:0;background:transparent}
.jbl-house-card picture,.jbl-house-card picture img{height:clamp(390px,41vw,590px);border-radius:0}
.jbl-house-card>div{max-width:560px;padding:2rem 0 0}
.jbl-house-card:nth-child(2){margin-top:clamp(3rem,7vw,7rem)}
.jbl-house-card h2{font-size:clamp(2.3rem,4vw,4rem)}
.jbl-houses__cta{margin-top:3rem;text-align:center}

.jbl-relax-section{background:var(--color-forest-deep);color:#e9eee9}
.jbl-section-heading--light h2{color:#fff}
.jbl-section-heading--light .jbl-eyebrow{color:var(--color-sand)}
.jbl-relax-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:1rem;align-items:stretch}
.jbl-relax-grid article{position:relative;min-height:580px;overflow:hidden;background:#172d21}
.jbl-relax-grid picture,.jbl-relax-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.jbl-relax-grid article::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,14,9,.9))}
.jbl-relax-grid article>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(1.4rem,3vw,2.4rem)}
.jbl-relax-grid h3{color:#fff}
.jbl-relax-grid p{color:#eef2ee}
.jbl-relax-section__cta{margin-top:2rem;text-align:center}

.jbl-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.jbl-scenario-grid article{background:#fff}
.jbl-scenario-grid picture,.jbl-scenario-grid img{width:100%;height:330px;object-fit:cover}
.jbl-scenario-grid article>div{padding:1.7rem}
.jbl-scenario-grid h3{font-size:clamp(1.8rem,2.7vw,2.6rem)}

.jbl-home-gallery{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-auto-rows:minmax(210px,25vw);gap:.7rem}
.jbl-home-gallery__item{position:relative;overflow:hidden;min-width:0;border:0;padding:0;background:#d9ded9;cursor:zoom-in}
.jbl-home-gallery__item--wide{grid-column:span 2}
.jbl-home-gallery__item--tall{grid-row:span 2}
.jbl-home-gallery__item picture,.jbl-home-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.jbl-home-gallery__item:hover img{transform:scale(1.025)}
.jbl-gallery-preview__link{margin-top:2rem;text-align:center}

.jbl-booking-section{background:#e9dfcf}
.jbl-booking-section .jbl-section-heading{margin-bottom:2.5rem}
.jbl-booking-section .jblr-search,.jbl-final-cta .jblr-search{border-radius:0!important;box-shadow:var(--shadow-soft)!important}
.jbl-booking-section .jbl-booking-strip{border-radius:0;background:#fffdf9}

.jbl-area-preview{background:#f5f0e7}
.jbl-area-preview__cta{margin-top:2.5rem;text-align:center}
.jbl-faq-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.jbl-home-faq .jbl-faq details{border-radius:0;background:#fffdf9}

.jbl-final-image-cta{position:relative;display:flex;min-height:680px;align-items:center;isolation:isolate;overflow:hidden}
.jbl-final-image-cta__media,.jbl-final-image-cta__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.jbl-final-image-cta__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,26,17,.84),rgba(9,26,17,.32) 70%,rgba(9,26,17,.08))}
.jbl-final-image-cta__content{color:#fff}
.jbl-final-image-cta h2{max-width:850px;color:#fff}
.jbl-final-image-cta__content>p:not(.jbl-eyebrow){max-width:650px;font-size:1.15em}

/* Inner pages */
body:not(.jbl-front) .jbl-main{padding-top:0}
.jbl-breadcrumbs{position:relative;z-index:2;padding-top:1rem;min-width:0;overflow-wrap:anywhere}
.jbl-page-hero{padding-top:clamp(6rem,10vw,9rem);background:linear-gradient(135deg,#f6f1e8,#e9dfcf)}
.jbl-page-media picture,.jbl-page-media img{border-radius:0;max-height:760px}
.jbl-detail-grid section{border-radius:0;background:#fffdf9}
.jbl-booking-assurance{margin-top:3rem;padding:1.3rem 1.5rem;border-left:4px solid var(--color-oak);background:#fff}
.jbl-area-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:3.5rem}
.jbl-info-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.jbl-info-links a{display:flex;flex-direction:column;gap:.45rem;min-width:0;min-height:150px;padding:1.5rem;border:1px solid rgba(31,58,43,.16);background:#fff;color:var(--color-forest);text-decoration:none;overflow-wrap:anywhere}
.jbl-info-links a:hover{border-color:var(--color-forest);box-shadow:var(--shadow-soft)}
.jbl-info-links strong{font-family:var(--font-display);font-size:1.7rem}
.jbl-info-links span{color:var(--color-graphite)}

/* Booking and forms */
.jblr-panel,.jblr-offer,.jblr-result,.jblr-unavailable,.jblr-search,.jbl-booking-strip{border-radius:0!important}
.jblr-search input,.jblr-search select,.jblr-panel input,.jblr-panel select,.jblr-panel textarea,
.jbl-booking-strip input,.jbl-contact-form input,.jbl-contact-form textarea{
  min-width:0;
  max-width:100%;
  border-radius:2px!important;
}
.jblr-search button,.jblr-panel button,.jbl-booking-strip button,.jbl-contact-form button{
  max-width:100%;
  border-radius:2px!important;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:normal;
}
.jbl-attraction-card__links a{min-width:0;overflow-wrap:anywhere;text-align:center}

/* Footer */
.jbl-footer{padding-top:5rem;background:#10271c}
.jbl-footer__logo{width:min(100%,210px);height:auto;margin-bottom:1rem}
.jbl-footer__small{max-width:310px;color:#bac7bf;font-size:.9rem}
.jbl-footer__grid a,.jbl-footer__grid button{max-width:100%;overflow-wrap:anywhere}
.jbl-footer__cta{border-color:var(--color-sand);background:var(--color-sand);color:var(--color-forest-deep)!important}
.jbl-footer__link-button.jbl-footer__cta{border:0;background:transparent;color:#e9eee9!important;padding:.25rem 0;min-height:auto;text-align:left;text-decoration:underline;text-transform:none;letter-spacing:0}

/* Graceful booking fallback when the reservations plugin is inactive. */
.jbl-booking-fallback{max-width:760px;margin-inline:auto;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgba(31,58,43,.18);background:#f7f2e8;text-align:center}
.jbl-booking-fallback h2{margin-top:0}
.jbl-booking-fallback .jbl-button{margin-top:.5rem}

/* Cookie banner and overlays */
.jbl-consent__panel{max-height:calc(100dvh - 2rem);overflow:auto;border-radius:2px}
.jbl-consent button{border-radius:2px;white-space:normal}
.jbl-mobile-cta{transition:opacity .2s,transform .2s,visibility .2s}
body.menu-open .jbl-mobile-cta,
body.consent-open .jbl-mobile-cta{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(120%)}

@media(max-width:1180px){
  :root{--header-h:84px}
  .jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-menu-toggle span:not(.screen-reader-text){background:#fff}
  .jbl-header.is-menu-open{background:var(--color-ivory);border-color:rgba(24,56,41,.1)}
  .jbl-header.is-menu-open .jbl-logo__dark{opacity:1}
  .jbl-header.is-menu-open .jbl-logo__light{opacity:0}
  .jbl-header.is-menu-open .jbl-menu-toggle span:not(.screen-reader-text){background:var(--color-forest)}
  .jbl-header--overlay .jbl-nav,
  .jbl-header--overlay .jbl-nav.is-open,
  .jbl-nav,
  .jbl-nav.is-open{
    inset:var(--header-h) 0 0;
    width:100%;
    height:calc(100dvh - var(--header-h));
    padding:clamp(1.5rem,4vw,2.5rem) max(1.5rem,calc((100% - 760px)/2)) calc(2rem + env(safe-area-inset-bottom));
    background:var(--color-ivory)!important;
    overscroll-behavior:contain;
  }
  .admin-bar .jbl-nav,.admin-bar .jbl-nav.is-open{
    top:calc(var(--header-h) + 32px);
    height:calc(100dvh - var(--header-h) - 32px);
  }
  .jbl-nav>a{
    display:block;
    width:100%;
    padding:.68rem 0;
    border-bottom:1px solid rgba(31,58,43,.12);
    color:var(--color-forest)!important;
    font-family:var(--font-display);
    font-size:clamp(1.8rem,5vw,2.8rem);
    font-weight:600;
    line-height:1.05;
    letter-spacing:0;
    text-transform:none;
    white-space:normal;
  }
  .jbl-nav>a:last-child{border-bottom:0}
  .jbl-nav>a::after{display:none}
  .jbl-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .jbl-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .jbl-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .jbl-hero__visual-content{transform:translateY(-3.75rem)}
  .jbl-hero__brand-wrap{width:min(58vw,340px);margin-bottom:3.5rem}
  .jbl-relax-grid{grid-template-columns:1fr 1fr}
  .jbl-relax-grid article:first-child{grid-column:span 2}
  .jbl-signature-strip__grid{grid-template-columns:repeat(3,1fr)}
  .jbl-signature-strip__grid>div:first-child{justify-content:center}
  .jbl-signature-strip__grid>div:nth-child(3){border-right:0}
  .jbl-signature-strip__grid>div:nth-child(-n+3){border-bottom:1px solid rgba(31,58,43,.14)}
}

@media(max-width:900px){
  .admin-bar .jbl-header{top:46px}
  .admin-bar .jbl-nav,.admin-bar .jbl-nav.is-open{
    top:calc(var(--header-h) + 46px);
    height:calc(100dvh - var(--header-h) - 46px);
  }
  .jbl-intro-section .jbl-split__grid{grid-template-columns:1fr}
  .jbl-intro-section .jbl-split__media,.jbl-intro-section .jbl-split__media img{min-height:500px}
  .jbl-house-card:nth-child(2){margin-top:4rem}
  .jbl-scenario-grid{grid-template-columns:1fr 1fr}
  .jbl-scenario-grid article:last-child{grid-column:span 2}
  .jbl-home-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(240px,42vw)}
  .jbl-home-gallery__item--wide{grid-column:span 2}
  .jbl-home-gallery__item--tall{grid-row:auto}
  .jbl-faq-layout,.jbl-area-intro{grid-template-columns:1fr}
}

@media(max-width:640px){
  :root{--container:min(100% - 1.25rem,1240px);--header-h:72px}
  html{scroll-padding-top:calc(var(--header-h) + .75rem)}
  [id]{scroll-margin-top:calc(var(--header-h) + .75rem)}
  .jbl-section{padding:clamp(3.75rem,15vw,5.5rem) 0}
  .jbl-section-heading{margin-bottom:2.35rem}
  .jbl-header__inner{width:calc(100% - 1rem);gap:.25rem}
  .jbl-logo{width:158px;flex-basis:158px}
  .jbl-header .jbl-logo__dark{width:158px}
  .jbl-header--overlay:not(.is-scrolled):not(.is-menu-open) .jbl-logo__light{width:42px}
  .jbl-header__actions{gap:.2rem}
  .jbl-lang{width:38px;height:38px;flex:0 0 38px}
  .jbl-menu-toggle{width:44px;height:44px;padding:9px;flex:0 0 44px}
  .jbl-header--overlay .jbl-nav,.jbl-header--overlay .jbl-nav.is-open,.jbl-nav,.jbl-nav.is-open{
    padding:1.25rem 1.25rem calc(2rem + env(safe-area-inset-bottom));
  }
  .jbl-nav>a{padding:.72rem 0;font-size:clamp(1.9rem,9vw,2.45rem)}

  .jbl-hero--visual{min-height:max(700px,100svh)}
  .jbl-hero--visual .jbl-hero__media img{object-position:center center}
  .jbl-hero__visual-content{
    padding-top:calc(var(--header-h) + 2.5rem);
    padding-bottom:6rem;
    transform:translateY(-2rem);
  }
  .jbl-hero__brand-wrap{width:min(76vw,260px);margin-bottom:1.5rem}
  .jbl-hero__visual-actions{
    width:min(100%,330px);
    flex-direction:column;
    flex-wrap:nowrap;
    gap:.65rem;
  }
  .jbl-hero__visual-actions .jbl-button{
    flex:0 0 auto!important;
    width:100%;
    min-width:0;
    min-height:52px;
    padding:.85rem 1rem;
  }

  .jbl-signature-strip__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
    overflow:visible;
  }
  .jbl-signature-strip__grid>div{
    min-height:88px;
    padding:.9rem .65rem;
    border-right:0;
    border-bottom:1px solid rgba(31,58,43,.14)!important;
    flex-direction:column;
    gap:.45rem;
  }
  .jbl-signature-strip__grid>div:first-child{
    grid-column:1/-1;
    min-height:78px;
    justify-content:center;
    flex-direction:row;
  }
  .jbl-signature-strip__grid>div:nth-child(2),
  .jbl-signature-strip__grid>div:nth-child(4){border-right:1px solid rgba(31,58,43,.14)}
  .jbl-signature-strip__grid>div:nth-child(4),
  .jbl-signature-strip__grid>div:nth-child(5){border-bottom:0!important}
  .jbl-signature-strip svg{width:31px;height:31px;flex-basis:31px}
  .jbl-signature-strip span{font-size:.98rem}

  .jbl-intro-section .jbl-split__media,.jbl-intro-section .jbl-split__media img{min-height:clamp(340px,100vw,470px)}
  .jbl-house-card picture,.jbl-house-card picture img{height:clamp(300px,92vw,390px)}
  .jbl-house-card>div{padding-top:1.5rem}
  .jbl-house-card:nth-child(2){margin-top:3.5rem}
  .jbl-house-card .jbl-button{width:100%}
  .jbl-relax-grid{grid-template-columns:1fr}
  .jbl-relax-grid article:first-child{grid-column:auto}
  .jbl-relax-grid article{min-height:clamp(410px,120vw,470px)}
  .jbl-scenario-grid{grid-template-columns:1fr}
  .jbl-scenario-grid article:last-child{grid-column:auto}
  .jbl-scenario-grid picture,.jbl-scenario-grid img{height:clamp(250px,76vw,310px)}
  .jbl-home-gallery{grid-template-columns:1fr;grid-auto-rows:clamp(280px,84vw,330px)}
  .jbl-home-gallery__item--wide{grid-column:auto}
  .jbl-home-gallery__item--tall{grid-row:auto}
  .jbl-final-image-cta{min-height:560px}
  .jbl-final-image-cta__shade{background:linear-gradient(0deg,rgba(9,26,17,.86),rgba(9,26,17,.26) 76%,rgba(9,26,17,.12))}
  .jbl-info-links{grid-template-columns:1fr}
  .jbl-page-hero{padding-top:4.5rem;padding-bottom:3.25rem}
  .jbl-page-hero h1{font-size:clamp(2.75rem,13vw,4rem)}
  .jbl-page-media{width:100%;margin-top:0}
  .jbl-page-media picture,.jbl-page-media img{
    width:100%;
    height:auto;
    min-height:0!important;
    max-height:none;
    object-fit:contain;
  }
  .jbl-detail-grid section{padding:1.35rem}
  .jbl-area-intro{margin-bottom:2.5rem}

  .jbl-actions{flex-direction:column;align-items:stretch}
  .jbl-actions .jbl-button{width:100%}
  .jbl-houses__cta .jbl-button,
  .jbl-relax-section__cta .jbl-button,
  .jbl-gallery-preview__link .jbl-button,
  .jbl-area-preview__cta .jbl-button,
  .jbl-booking-fallback .jbl-button{width:min(100%,360px)}
  .jbl-booking-fallback{padding:1.35rem}

  .jblr-search,.jblr-dates,.jbl-booking-strip,.jbl-contact-form{width:100%;min-width:0}
  .jblr-search button,.jblr-dates button,.jbl-booking-strip button,.jbl-contact-form button{width:100%}
  .jblr-field,.jbl-booking-strip>div,.jbl-contact-form>*{min-width:0}
  .jblr-field input,.jblr-field select,.jbl-booking-strip input,.jbl-contact-form input,.jbl-contact-form textarea{width:100%;min-width:0;max-width:100%}
  .jblr-offer__price strong{overflow-wrap:anywhere}
  .jbl-attractions__filters button{min-width:0;white-space:normal;line-height:1.2}
  .jbl-attraction-card__top{gap:.65rem}
  .jbl-attraction-card__rating{max-width:62%}
  .jbl-attraction-card__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .jbl-attraction-card__links a{justify-content:center;width:100%}

  .jbl-footer{padding-top:4rem;padding-bottom:calc(6.25rem + env(safe-area-inset-bottom))}
  .jbl-footer__grid{gap:2.5rem}
  .jbl-footer__logo{width:min(100%,190px)}
  .jbl-footer__bottom{margin-top:2.25rem}
  .jbl-footer__cta{width:100%}
  .jbl-footer__link-button.jbl-footer__cta{width:auto}

  .jbl-mobile-cta{
    left:.65rem;
    right:.65rem;
    bottom:calc(.65rem + env(safe-area-inset-bottom));
    min-height:54px;
    border-radius:2px;
    padding:.8rem 1rem;
    background:var(--color-oak);
    color:#fff;
    line-height:1.1;
    text-align:center;
    text-transform:none;
  }
  .jbl-consent{bottom:0;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom))}
  .jbl-consent__panel{max-height:calc(100dvh - 1rem - env(safe-area-inset-bottom));padding:1rem}
  .jbl-consent__actions{display:grid;grid-template-columns:1fr}
  .jbl-consent__actions button{width:100%}
  .jbl-consent__options{align-items:stretch;flex-direction:column;gap:.65rem}
  .jbl-consent__options button{width:100%;margin-left:0}
}

@media(max-width:380px){
  .jbl-logo{width:145px;flex-basis:145px}
  .jbl-header .jbl-logo__dark{width:145px}
  .jbl-header__actions{gap:.1rem}
  .jbl-menu-toggle{width:42px;flex-basis:42px;padding:8px}
  .jbl-hero__brand-wrap{width:min(74vw,235px)}
  .jbl-hero__visual-actions{width:100%}
  .jbl-signature-strip span{font-size:.9rem}
  .jbl-mobile-cta{left:.5rem;right:.5rem;bottom:calc(.5rem + env(safe-area-inset-bottom))}
}

@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
  :root{--header-h:64px}
  .jbl-hero--visual{min-height:max(520px,100svh)}
  .jbl-hero__visual-content{padding-top:calc(var(--header-h) + 1.5rem);padding-bottom:2rem;transform:translateY(-1rem)}
  .jbl-hero__brand-wrap{width:min(32vw,220px);margin-bottom:1.25rem}
  .jbl-hero__visual-actions{width:auto;flex-direction:row;gap:.65rem}
  .jbl-hero__visual-actions .jbl-button{width:auto;min-width:180px;min-height:48px;padding:.7rem 1rem}
}

@media(prefers-reduced-motion:reduce){
  .jbl-home-gallery__item img,.jbl-header,.jbl-logo img,.jbl-mobile-cta{transition:none}
}
