/* Roberto Capsule Editorial responsive correction V33
   Mobile-first layout repair for the embedded Capsule experience. */
:root{
  --capsule-inline:clamp(16px,5vw,32px);
  --capsule-radius:clamp(20px,6vw,42px);
  --capsule-dock-space:76px;
}
html,body,#root{width:100%;max-width:100%;min-height:100%;overflow-x:clip!important}
body{margin:0;overscroll-behavior-x:none;touch-action:pan-y;background:#181717}
#root{isolation:isolate}
#root section,#root>div{max-width:100vw}
#root img,#root video,#root canvas,#root svg{max-width:100%;height:auto}

/* Prevent the Fusion dock from covering the final mobile content. */
@media (max-width:680px){
  #root{padding-bottom:calc(var(--capsule-dock-space) + env(safe-area-inset-bottom,0px))}
  .roberto-fusion-dock{max-width:calc(100vw - 16px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .roberto-fusion-dock::-webkit-scrollbar{display:none}
}

@media (max-width:800px){
  /* Remove desktop-only cursor layers and pinned overlaps on touch screens. */
  .click-indicator,.cursor,.overlay{display:none!important}
  .benefits-section{overflow:visible!important;background:#181717;position:relative;z-index:2}
  .benefits-section .pin-con{position:relative!important;min-height:0!important;padding:clamp(52px,14vw,88px) var(--capsule-inline) clamp(28px,8vw,52px)!important;overflow:visible!important;background:#181717}
  .benefits-section .pin-con>.pl-8{padding-left:0!important;position:relative!important;z-index:2}
  .benefits-section .choose-subtitle{max-width:34ch;margin:0 auto!important;text-align:center!important;color:#b1a696!important;font-size:clamp(12px,3.5vw,15px)!important;line-height:1.55!important;opacity:1!important;transform:none!important}
  .benefits-section .marquee-con-none,.benefits-section .sticky-spacer{display:none!important;height:0!important;min-height:0!important}

  /* The section visible in the supplied screenshot: make it a clean editorial card. */
  .location-section{
    width:100%!important;height:auto!important;min-height:clamp(560px,82svh,760px)!important;
    box-sizing:border-box!important;padding:clamp(72px,18vw,112px) var(--capsule-inline)!important;
    position:relative!important;overflow:hidden!important;isolation:isolate;text-align:center!important;
    display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;
    background:
      radial-gradient(circle at 85% 18%,rgba(177,166,150,.20) 0 18%,transparent 18.4%),
      radial-gradient(circle at 12% 88%,rgba(244,239,231,.055) 0 28%,transparent 28.5%),
      #181717!important;
  }
  .location-section:before{
    content:"";position:absolute;inset:clamp(14px,4vw,24px);border:1px solid rgba(244,239,231,.13);
    border-radius:var(--capsule-radius);pointer-events:none;z-index:0
  }
  .location-section>*{position:relative!important;z-index:1!important;max-width:min(100%,720px)!important}
  .location-section>div{width:100%!important;margin:0 auto!important;transform:none!important;opacity:1!important}
  .location-section .choose-subtitle{font-size:clamp(12px,3.2vw,14px)!important;line-height:1.4!important;letter-spacing:.11em!important;text-transform:uppercase;color:#a79c8d!important;opacity:1!important;transform:none!important}
  .location-section h1{
    width:100%!important;margin:clamp(18px,5vw,32px) auto 0!important;padding:0!important;
    font-size:clamp(30px,8.8vw,54px)!important;line-height:1.04!important;letter-spacing:-.035em!important;
    color:#f4efe7!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
    opacity:1!important;transform:none!important;clip-path:none!important;text-wrap:balance
  }
  .location-section a{
    display:inline-flex!important;align-items:center;justify-content:center;max-width:100%!important;
    margin:clamp(18px,5vw,30px) auto 0!important;padding:10px 0!important;
    font-size:clamp(28px,8.2vw,50px)!important;line-height:1.05!important;letter-spacing:-.03em!important;
    color:#b1a696!important;text-underline-offset:.18em;white-space:normal!important;
    opacity:1!important;transform:none!important;clip-path:none!important;text-wrap:balance
  }
  .location-section a:hover,.location-section a:focus-visible{color:#f4efe7!important;outline:2px solid #b1a696;outline-offset:7px;border-radius:3px}

  /* Hero: preserve the original composition without overflowing narrow screens. */
  .hero-section{width:100%!important;height:auto!important;min-height:100svh!important;margin-bottom:clamp(54px,14vw,96px)!important;padding:8px!important;box-sizing:border-box}
  .hero-section>div{height:calc(100svh - 16px)!important;min-height:620px!important;border-radius:var(--capsule-radius)!important}
  .hero-section .responsive-mobile{position:absolute!important;inset:0!important;top:0!important;width:100%!important;height:100%!important}
  .hero-section .responsive-mobile>.block{position:absolute!important;inset:0!important;margin:0!important;width:100%!important;height:100%!important}
  .hero-section .responsive-mobile>.block img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:var(--capsule-radius)!important}
  .hero-section video{inset:0!important;top:0!important;width:100%!important;height:100%!important;padding:0!important;border-radius:var(--capsule-radius)!important;object-fit:cover!important}
  .hero-section .p-4{position:relative!important;z-index:20!important;height:100%!important;padding:clamp(20px,6vw,30px)!important}
  .hero-section .relative.h-dvh{height:100%!important}
  .hero-section h1{font-size:clamp(48px,15vw,76px)!important;line-height:.92!important;max-width:100%;overflow-wrap:anywhere}
  .hero-section .top-24{top:auto!important;bottom:clamp(28px,8vw,52px)!important;gap:16px!important}
  .hero-section .top-24 p{width:min(100%,38ch)!important;text-align:left!important;font-size:clamp(12px,3.3vw,14px)!important;line-height:1.45!important}

  /* Welcome copy: static, readable and free from partially clipped GSAP layers. */
  .welcome-section{height:auto!important;min-height:0!important;padding:clamp(60px,15vw,96px) var(--capsule-inline)!important}
  .welcome-section .welcome-line{width:100%!important;padding-top:0!important;font-size:clamp(28px,8.5vw,42px)!important;line-height:1.08!important}
  .welcome-section .welcome-text{gap:.12em!important}
  .welcome-section .text-darkBrown{display:block!important;width:100%!important;overflow:visible!important;white-space:normal!important;color:#2a2725!important;opacity:1!important;transform:none!important}
  .welcome-section .clip-text-welcome{display:none!important}
  .welcome-section .flex.md\:flex-row{gap:clamp(28px,8vw,52px)!important}
  .welcome-section img{width:min(43vw,180px)!important;aspect-ratio:1/1;object-fit:cover}
  .welcome-section p{font-size:clamp(19px,5.6vw,27px)!important;line-height:1.18!important}

  /* Selection heading and content. */
  .choose-section{height:auto!important;min-height:0!important;padding:clamp(60px,15vw,96px) var(--capsule-inline)!important}
  .choose-section .title-part{height:auto!important;overflow:visible!important;margin-top:20px!important}
  .choose-section .choose-heading{font-size:clamp(44px,14vw,76px)!important;line-height:.9!important}
  .choose-section .choose-title-break{overflow:visible!important;color:#f4efe7!important}
  .choose-section .choose-title-clip{display:none!important}
  .choose-section .choose-sec{transform:none!important;opacity:1!important;gap:30px!important;margin-top:32px!important}
  .choose-section .text-nowrap{white-space:normal!important;max-width:34ch;line-height:1.5!important}

  /* Convert the desktop pinned two-column animation into stacked editorial panels. */
  .sticky-cols{width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:8px!important;margin-bottom:clamp(54px,14vw,96px)!important}
  .sticky-cols-wrapper{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;position:relative!important}
  .sticky-cols .col,.sticky-cols .col-2,.sticky-cols .col-3,.sticky-cols .col-4{
    position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:min(72svh,680px)!important;
    transform:none!important;translate:none!important;opacity:1!important;clip-path:none!important;padding:0!important
  }
  .sticky-cols .col-content,.sticky-cols .col-img{height:100%!important;min-height:min(72svh,680px)!important;padding:0!important}
  .sticky-cols .col-content-wrapper,.sticky-cols .col-img-wrapper{border-radius:var(--capsule-radius)!important;min-height:min(72svh,680px)!important}
  .sticky-cols .col-content-wrapper-2{position:relative!important;inset:auto!important;padding:clamp(24px,7vw,38px)!important}
  .sticky-cols .col h1{width:100%!important;font-size:clamp(40px,12vw,68px)!important;line-height:.95!important}
  .sticky-cols .col p{font-size:clamp(13px,3.5vw,16px)!important;line-height:1.55!important}
  .sticky-cols .col-img-1,.sticky-cols .col-img-2{clip-path:none!important;transform:none!important;opacity:1!important}
  .sticky-cols .col-img-2{display:none!important}

  /* Gallery: three readable cards instead of a pinned desktop transition. */
  .gallery-page4{height:auto!important;min-height:0!important;padding:8px!important;display:grid!important;gap:12px!important;overflow:visible!important;background:#2b2825!important}
  .gallery-page4 .gallery-slider{display:none!important}
  .gallery-page4 .gallery-background,.gallery-page4 .gallery-background2{
    position:relative!important;inset:auto!important;top:auto!important;left:auto!important;width:100%!important;
    height:clamp(520px,76svh,700px)!important;margin:0!important;border-radius:var(--capsule-radius)!important;
    transform:none!important;translate:none!important;scale:1!important;opacity:1!important;overflow:hidden!important
  }
  .gallery-page4 .gallery-background2 img,.gallery-page4 .gallery-background img{transform:none!important;scale:1!important;object-fit:cover!important}
  .gallery-page4 .gallery-topText{padding:20px!important}
  .gallery-page4 .gallery-topText h4{font-size:clamp(28px,8vw,46px)!important}
  .gallery-page4 .gallery-bottomText{padding:20px!important;gap:16px!important}
  .gallery-page4 .gallery-bottomText h3{font-size:clamp(12px,3.3vw,15px)!important;line-height:1.45!important;margin:0!important;width:auto!important}
  .gallery-page4 .gallery-bottomText br{display:none}

  /* Activities content and cards. */
  .activities-section{height:auto!important;min-height:0!important;margin:0!important;padding:clamp(64px,16vw,104px) var(--capsule-inline)!important}
  .activities-section .activities-part{height:auto!important;overflow:visible!important}
  .activities-section .activities-heading{font-size:clamp(44px,14vw,76px)!important;line-height:.9!important}
  .activities-section .activities-title-break{overflow:visible!important;color:#f4efe7!important}
  .activities-section .activities-title-clip{display:none!important}
  .activities-section .activities-sec{transform:none!important;opacity:1!important;gap:30px!important;margin-top:34px!important}
  .activities-section .text-nowrap{white-space:normal!important;width:100%!important;max-width:36ch;line-height:1.5!important}
  .activities-section .mr-14{margin-right:0!important}

  .activities-gallery-section{height:auto!important;min-height:0!important;overflow:visible!important;padding:8px!important}
  .activities-gallery-section>div{position:relative!important;inset:auto!important;height:auto!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;transform:none!important}
  .activities-gallery-section>div>div{width:100%!important;height:clamp(500px,74svh,680px)!important;position:relative!important;border-radius:var(--capsule-radius)!important;overflow:hidden!important}
  .activities-gallery-section .w-\[77vw\]{width:calc(100% - 32px)!important;left:16px!important}
  .activities-gallery-section img{width:100%!important;height:100%!important;object-fit:cover!important}

  /* Reviews and final image are also allowed to grow naturally. */
  .reviews-section{width:100%!important;height:auto!important;min-height:100svh!important;padding:clamp(68px,17vw,108px) var(--capsule-inline)!important}
  .reviews-section h1{font-size:clamp(32px,9vw,58px)!important;line-height:1.03!important;margin-block:20px!important}
  .reviews-section img{width:54px!important;height:54px!important;object-fit:cover}
  .reviews-section button svg{width:26px!important;height:26px!important}
  .reviews-section .w-70{width:min(52vw,230px)!important}

  .final-capsule-section{width:100%!important;height:auto!important;min-height:100svh!important;padding:8px!important}
  .final-capsule-section>div{min-height:calc(100svh - 16px)!important;border-radius:var(--capsule-radius)!important}
  .final-capsule-section>div>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
  .final-capsule-section>div>h1{font-size:clamp(54px,17vw,92px)!important;white-space:nowrap}
  .final-capsule-section .bottom-5{bottom:26px!important}
  .final-capsule-section .bottom-5 p{width:100%!important;max-width:38ch;line-height:1.45!important;text-align:left!important}
}

/* Tablet correction: keep editorial width and prevent 100vw scrollbar drift. */
@media (min-width:801px) and (max-width:1100px){
  .location-section{width:100%!important;padding-inline:6vw!important}
  .location-section h1,.location-section a{font-size:clamp(46px,6.8vw,76px)!important;line-height:1.02!important}
  .sticky-cols{width:100%!important}
  .activities-section{height:auto!important;min-height:100vh!important}
  .reviews-section{width:100%!important}
}

@media (prefers-reduced-motion:reduce){
  .location-section *,.welcome-section *,.choose-section *,.sticky-cols *,.gallery-page4 *,.activities-section *,.activities-gallery-section *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
