/* v29: elegant frosted-glass ratings over real hotel photo */
.home-v29 .hero-art .review-pill{background:rgba(22,54,41,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);box-shadow:0 16px 32px rgba(11,35,24,.24);}
.home-v29 .hero-art .review-copy strong{color:#fff!important;font-size:clamp(1.3rem,2vw,1.75rem);}
.home-v29 .hero-art .review-copy span{color:#edf3e9!important;}
.home-v29 .hero-art .review-logo:not(.google-mark){background:#164b99!important;color:#fff!important;font-weight:900;border:1px solid rgba(255,255,255,.24)}
.home-v29 .hero-art .review-logo.google-mark{border-color:rgba(255,255,255,.4)!important}
.home-v29 .hero-art .review-row{gap:10px}
.home-v29 .hero-art .review-pill{min-height:82px}
@media(max-width:620px){.home-v29 .hero-art .review-pill{min-height:66px;padding:8px 7px}.home-v29 .hero-art .review-copy strong{font-size:1.05rem}.home-v29 .hero-art .review-copy span{font-size:.68rem}}
@media(max-width:390px){.home-v29 .hero-art .review-pill{gap:5px}.home-v29 .hero-art .review-logo{min-width:44px;width:44px}.home-v29 .hero-art .review-logo.google-mark{min-width:36px;width:36px}.home-v29 .hero-art .review-copy strong{font-size:.94rem}.home-v29 .hero-art .review-copy span{font-size:.59rem}}

/* v31 adjustments: lighter translucent rating pills and no extra spacing around hero photo */
.home-v29 .hero-art .review-pill{
  background:rgba(22,54,41,.66)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 12px 26px rgba(11,35,24,.18);
}
.home-v29 .hero-art .review-row{
  bottom:14px;
  left:14px;
  right:14px;
  margin:0;
}
.home-v29 .hero-art{
  margin:0!important;
}
.home-v29 .hero-art > picture,
.home-v29 .hero-art .hotel-hero-photo{
  margin:0!important;
}
.home-v29 .stats-wrap{
  padding-top:0!important;
  margin-top:0!important;
  background:transparent!important;
}
@media (max-width: 620px){
  .home-v29 .hero-art .review-pill{
    background:rgba(22,54,41,.60)!important;
  }
  .home-v29 .hero-art .review-row{
    bottom:10px;
    left:10px;
    right:10px;
  }
}

/* v32: remove the actual blank bands caused by object-fit:contain on portrait photo. */
.home-v29 .hero-art>picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;z-index:0!important}
.home-v29 .hero-art .hotel-hero-photo{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 42%!important}
/* Compact review cards rather than stretching edge to edge. */
.home-v29 .hero-art .review-row{left:18px!important;right:auto!important;width:min(590px,calc(100% - 36px))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.home-v29 .hero-art .review-pill{min-height:70px;padding:9px 11px!important;gap:9px!important;border-radius:15px}
.home-v29 .hero-art .review-logo{height:43px;min-width:58px;width:61px;font-size:.76rem;padding:0 5px}
.home-v29 .hero-art .review-logo.google-mark{width:43px;min-width:43px;font-size:29px}
.home-v29 .hero-art .review-copy strong{font-size:clamp(1.1rem,1.55vw,1.45rem)!important}
.home-v29 .hero-art .review-copy span{font-size:.75rem!important}
@media(max-width:620px){
 .home-v29 .hero-art .review-row{left:10px!important;right:10px!important;width:calc(100% - 20px)!important;gap:7px!important}
 .home-v29 .hero-art .review-pill{min-height:58px;padding:7px 7px!important;gap:6px!important}
 .home-v29 .hero-art .review-logo{width:44px;min-width:44px;height:37px;font-size:.61rem}
 .home-v29 .hero-art .review-logo.google-mark{width:37px;min-width:37px;font-size:25px}
 .home-v29 .hero-art .review-copy strong{font-size:clamp(.78rem,3.7vw,1rem)!important}
 .home-v29 .hero-art .review-copy span{font-size:clamp(.56rem,2.5vw,.68rem)!important}
}

/* v33: lifted copy + soft mist at vertical seam (desktop only) */
@media (min-width: 901px) {
  .home-v29 .hero-copy {
    justify-content: flex-start;
    padding-top: 35px;
    padding-bottom: 42px;
  }
  .home-v29 .hero-art { isolation: isolate; }
  .home-v29 .hero-art::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    z-index: 2;
    left: -1px;
    top: 0;
    bottom: 0;
    width: clamp(90px, 12vw, 205px);
    height: 100%;
    pointer-events: none;
    background:
      radial-gradient(ellipse 74% 18% at -9% 11%, rgba(250,248,242,.97) 0%, rgba(250,248,242,.55) 53%, transparent 100%),
      radial-gradient(ellipse 85% 19% at 0% 32%, rgba(250,248,242,.90) 0%, rgba(250,248,242,.46) 58%, transparent 100%),
      radial-gradient(ellipse 92% 20% at -12% 52%, rgba(250,248,242,.97) 0%, rgba(250,248,242,.43) 58%, transparent 100%),
      radial-gradient(ellipse 80% 24% at 0% 77%, rgba(250,248,242,.91) 0%, rgba(250,248,242,.38) 55%, transparent 100%),
      linear-gradient(to right, #faf8f2 0%, rgba(250,248,242,.82) 17%, rgba(250,248,242,.36) 58%, rgba(250,248,242,0) 100%);
    opacity: .96;
  }
}
@media (max-width: 900px) {
  .home-v29 .hero-art::before { content: none !important; display: none !important; }
}


/* v34: uncluttered top of hero + clean premium fade between copy and image. */
@media (min-width: 901px) {
  .home-v29 .hero-copy {
    justify-content: flex-start !important;
    padding-top: 18px !important;
  }
  /* The previous version inherited background:none!important on the pseudo-element.
     An explicitly important background makes the fade visible in the browser. */
  .home-v29 .hero-art::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: clamp(105px, 13vw, 235px) !important;
    height: 100% !important;
    z-index: 2 !important;
    background: linear-gradient(to right,
      #faf8f2 0%,
      rgba(250,248,242,.96) 12%,
      rgba(250,248,242,.78) 35%,
      rgba(250,248,242,.44) 61%,
      rgba(250,248,242,.16) 83%,
      rgba(250,248,242,0) 100%) !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }
}
@media (max-width: 900px) {
  .home-v29 .hero-art::before {display:none !important; content:none !important;}
}

/* V35: genuinely seamless photographic blend across split boundary. */
@media(min-width:901px){
  .home-v29 .hero{overflow:visible!important;position:relative;background:#faf8f2!important;}
  .home-v29 .hero-copy{position:relative;z-index:2;background:transparent!important;}
  .home-v29 .hero-art{overflow:visible!important;isolation:auto!important;position:relative;}
  .home-v29 .hero-art::before{content:none!important;display:none!important;background:none!important;}
  .home-v29 .hero-art>picture{left:-185px!important;right:0!important;top:0!important;bottom:0!important;width:calc(100% + 185px)!important;height:100%!important;overflow:visible!important;z-index:0!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.07) 4%,rgba(0,0,0,.35) 12%,rgba(0,0,0,.78) 21%,black 32%,black 100%)!important;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.07) 4%,rgba(0,0,0,.35) 12%,rgba(0,0,0,.78) 21%,black 32%,black 100%)!important;}
  .home-v29 .hero-art>picture:after{content:'';position:absolute;left:330px;top:0;bottom:0;right:0;background:transparent;pointer-events:none;}
  .home-v29 .hero-art .review-row{top:24px!important;bottom:auto!important;z-index:5!important;}
}
@media(min-width:901px) and (max-width:1150px){.home-v29 .hero-art>picture{left:-140px!important;width:calc(100% + 140px)!important;}}

/* v36: mobile fade + smaller mobile trust badges */
@media (max-width: 900px){
  .home-v29 .hero{background:#faf8f2!important;overflow:visible!important;}
  .home-v29 .hero-art{position:relative!important;overflow:visible!important;isolation:isolate!important;margin-bottom:-14px!important;}
  .home-v29 .hero-art::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-1px!important;
    height:clamp(72px,14vw,108px)!important;
    z-index:2!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom, rgba(250,248,242,0) 0%, rgba(250,248,242,.28) 28%, rgba(250,248,242,.72) 62%, #faf8f2 100%)!important;
  }
  .home-v29 .hero-copy{position:relative!important;z-index:3!important;margin-top:-12px!important;padding-top:28px!important;}
}
@media (max-width: 620px){
  .home-v29 .hero-art .review-row{
    top:10px!important;
    bottom:auto!important;
    left:10px!important;
    right:auto!important;
    width:min(320px,calc(100% - 20px))!important;
    gap:6px!important;
  }
  .home-v29 .hero-art .review-pill{
    min-height:50px!important;
    padding:6px 7px!important;
    gap:6px!important;
    border-radius:13px!important;
    box-shadow:0 10px 20px rgba(11,35,24,.14)!important;
    background:rgba(22,54,41,.54)!important;
  }
  .home-v29 .hero-art .review-logo{
    width:40px!important;
    min-width:40px!important;
    height:34px!important;
    font-size:.56rem!important;
    border-radius:10px!important;
    padding:0 4px!important;
  }
  .home-v29 .hero-art .review-logo.google-mark{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:22px!important;
  }
  .home-v29 .hero-art .review-copy strong{
    font-size:clamp(.72rem,3.2vw,.9rem)!important;
    letter-spacing:-.015em!important;
  }
  .home-v29 .hero-art .review-copy span{
    font-size:clamp(.5rem,2vw,.62rem)!important;
    margin-top:3px!important;
    line-height:1.08!important;
  }
}
@media (max-width: 390px){
  .home-v29 .hero-art .review-row{width:min(292px,calc(100% - 18px))!important;left:9px!important;gap:5px!important;}
  .home-v29 .hero-art .review-pill{min-height:46px!important;padding:5px 6px!important;gap:5px!important;}
  .home-v29 .hero-art .review-logo{width:36px!important;min-width:36px!important;height:30px!important;font-size:.5rem!important;}
  .home-v29 .hero-art .review-logo.google-mark{width:30px!important;min-width:30px!important;height:30px!important;font-size:20px!important;}
  .home-v29 .hero-art .review-copy strong{font-size:clamp(.66rem,3vw,.82rem)!important;}
  .home-v29 .hero-art .review-copy span{font-size:clamp(.46rem,1.9vw,.56rem)!important;}
}


/* V37 · mobile-only: photo fades into the page, ratings stay at the bottom */
@media (max-width: 900px) {
  .home-v29 .hero-art {
    overflow: hidden !important;
    isolation: isolate !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    background: #faf8f2 !important;
  }
  /* Fade the PHOTO itself so there is no hard boundary under the overlay. */
  .home-v29 .hero-art > picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    overflow: hidden !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 66%, rgba(0,0,0,.9) 74%, rgba(0,0,0,.55) 86%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 66%, rgba(0,0,0,.9) 74%, rgba(0,0,0,.55) 86%, transparent 100%) !important;
  }
  .home-v29 .hero-art::after { content: none !important; display: none !important; }
  .home-v29 .hero-copy {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    padding-top: 22px !important;
  }
  .home-v29 .hero-art .review-row {
    top: auto !important;
    bottom: 19px !important;
    z-index: 5 !important;
  }
}
@media (max-width: 620px) {
  .home-v29 .hero-art .review-row {
    top: auto !important;
    bottom: 18px !important;
    left: 10px !important;
    right: auto !important;
    width: min(320px, calc(100% - 20px)) !important;
  }
  .home-v29 .hero-copy { padding-top: 25px !important; }
}
@media (max-width: 390px) {
  .home-v29 .hero-art .review-row {
    top: auto !important;
    bottom: 17px !important;
    left: 9px !important;
    width: min(292px, calc(100% - 18px)) !important;
  }
}


/* V38 · mobile fine-tuning: centered smaller ratings, softer fade, no visible seam */
@media (max-width: 900px) {
  .home-v29 .hero {
    background: #faf8f2 !important;
  }
  .home-v29 .hero-art {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: #faf8f2 !important;
  }
  .home-v29 .hero-art > picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .home-v29 .hero-art::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: clamp(92px, 18vw, 126px) !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(to bottom,
      rgba(250,248,242,0) 0%,
      rgba(250,248,242,.14) 28%,
      rgba(250,248,242,.42) 54%,
      rgba(250,248,242,.76) 77%,
      #faf8f2 100%) !important;
  }
  .home-v29 .hero-copy {
    position: relative !important;
    z-index: 3 !important;
    margin-top: -10px !important;
    padding-top: 16px !important;
  }
  .home-v29 .hero-art .review-row {
    top: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(308px, calc(100% - 22px)) !important;
    gap: 6px !important;
    z-index: 4 !important;
  }
  .home-v29 .hero-art .review-pill {
    min-height: 46px !important;
    padding: 5px 6px !important;
    gap: 6px !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 16px rgba(11,35,24,.12) !important;
    background: rgba(22,54,41,.52) !important;
  }
  .home-v29 .hero-art .review-logo {
    width: 36px !important;
    min-width: 36px !important;
    height: 31px !important;
    border-radius: 10px !important;
    padding: 0 3px !important;
    font-size: .5rem !important;
  }
  .home-v29 .hero-art .review-logo.google-mark {
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    font-size: 20px !important;
  }
  .home-v29 .hero-art .review-copy strong {
    font-size: clamp(.66rem, 2.8vw, .84rem) !important;
    letter-spacing: -.015em !important;
    line-height: 1 !important;
  }
  .home-v29 .hero-art .review-copy span {
    font-size: clamp(.48rem, 1.9vw, .58rem) !important;
    margin-top: 2px !important;
    line-height: 1.04 !important;
  }
}
@media (max-width: 390px) {
  .home-v29 .hero-copy {
    margin-top: -8px !important;
    padding-top: 14px !important;
  }
  .home-v29 .hero-art .review-row {
    width: min(286px, calc(100% - 18px)) !important;
    bottom: 16px !important;
  }
  .home-v29 .hero-art .review-pill {
    min-height: 43px !important;
    padding: 5px 5px !important;
    gap: 5px !important;
  }
  .home-v29 .hero-art .review-logo {
    width: 34px !important;
    min-width: 34px !important;
    height: 29px !important;
    font-size: .47rem !important;
  }
  .home-v29 .hero-art .review-logo.google-mark {
    width: 29px !important;
    min-width: 29px !important;
    height: 29px !important;
    font-size: 18px !important;
  }
  .home-v29 .hero-art .review-copy strong {
    font-size: clamp(.62rem, 2.7vw, .78rem) !important;
  }
  .home-v29 .hero-art .review-copy span {
    font-size: clamp(.45rem, 1.75vw, .54rem) !important;
  }
}

/* V39 — fix inherited round decoration hiding the mobile photo fade.
   This explicitly resets EVERY circle property on the ::after element. */
@media (max-width:900px) {
  .home-v29 .hero-art::before {
    content:none!important;
    display:none!important;
  }
  .home-v29 .hero-art::after {
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:auto!important;
    bottom:-1px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    height:clamp(100px,24vw,155px)!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    opacity:1!important;
    mix-blend-mode:normal!important;
    background:linear-gradient(to bottom,
      rgba(250,248,242,0) 0%,
      rgba(250,248,242,.06) 12%,
      rgba(250,248,242,.20) 33%,
      rgba(250,248,242,.49) 57%,
      rgba(250,248,242,.82) 82%,
      #faf8f2 100%)!important;
    pointer-events:none!important;
    z-index:2!important;
  }
}

/* V41: mobile fade belongs to the photograph only, never to the text or ratings. */
@media (max-width: 900px) {
  .home-v29 .hero,
  .home-v29 .hero-art,
  .home-v29 .hero-copy { background: #faf8f2 !important; }
  .home-v29 .hero-art {
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-radius: 0 !important;
  }
  .home-v29 .hero-art::before,
  .home-v29 .hero-art::after,
  .home-v29 .hero-copy::before,
  .home-v29 .hero-copy::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }
  .home-v29 .hero-art > picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 0 !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 67%, rgba(0,0,0,.95) 73%, rgba(0,0,0,.72) 83%, rgba(0,0,0,.38) 92%, transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0%, #000 67%, rgba(0,0,0,.95) 73%, rgba(0,0,0,.72) 83%, rgba(0,0,0,.38) 92%, transparent 100%) !important;
  }
  .home-v29 .hero-art .review-row {
    position: absolute !important;
    z-index: 5 !important;
  }
  .home-v29 .hero-copy {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
    padding-top: 14px !important;
  }
}
@media (max-width: 620px) {
  .home-v29 .hero-copy { padding-top: 12px !important; }
}


/* V42 — desktop-inspired mobile blend: image extends behind the start of the copy.
   Fade is on the actual image (not an opaque white overlay) and badges remain untouched. */
@media (max-width: 900px) {
  .home-v29 .hero { background:#faf8f2 !important; overflow:visible !important; }
  .home-v29 .hero-art {
    position:relative !important;
    isolation:auto !important;
    overflow:visible !important;
    background:transparent !important;
    z-index:0 !important;
  }
  .home-v29 .hero-art > picture {
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    height:calc(100% + 88px) !important;
    width:100% !important;
    overflow:visible !important;
    z-index:0 !important;
    -webkit-mask-image:linear-gradient(to bottom,
      #000 0%, #000 55%, rgba(0,0,0,.99) 66%,
      rgba(0,0,0,.88) 73%, rgba(0,0,0,.62) 82%,
      rgba(0,0,0,.32) 91%, transparent 100%) !important;
    mask-image:linear-gradient(to bottom,
      #000 0%, #000 55%, rgba(0,0,0,.99) 66%,
      rgba(0,0,0,.88) 73%, rgba(0,0,0,.62) 82%,
      rgba(0,0,0,.32) 91%, transparent 100%) !important;
  }
  .home-v29 .hero-art::before,.home-v29 .hero-art::after,
  .home-v29 .hero-copy::before,.home-v29 .hero-copy::after {
    content:none !important;display:none !important;
  }
  .home-v29 .hero-art .review-row {
    z-index:5 !important;
    bottom:18px !important;
  }
  .home-v29 .hero-copy {
    position:relative !important;
    z-index:1 !important;
    background:transparent !important;
    padding-top:8px !important;
    margin-top:0 !important;
  }
}
@media (max-width:620px) {
  .home-v29 .hero-art > picture { height:calc(100% + 74px) !important; }
  .home-v29 .hero-copy {padding-top:7px !important;}
}
@media (max-width:390px) {
  .home-v29 .hero-art > picture {height:calc(100% + 68px) !important;}
  .home-v29 .hero-copy {padding-top:6px !important;}
}

/* V43: end of mobile photographic fade just below the first heading line. */
@media (max-width:900px) {
  .home-v29 .hero-art > picture {height:calc(100% + 28px) !important;}
}
@media (max-width:620px) {
  .home-v29 .hero-art > picture {height:calc(100% + 24px) !important;}
}
@media (max-width:390px) {
  .home-v29 .hero-art > picture {height:calc(100% + 20px) !important;}
}
