/* Homepage-only motion and hero presentation. Shared site components live in style.css. */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s, transform .8s;
}

.reveal.visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.room-details {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 17px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(24, 51, 45, .38);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.5;
  text-transform: uppercase;
  transition: color .25s, border-color .25s;
}

.room-details span {
  transition: transform .25s;
}

.room-details:hover {
  color: var(--gold);
  border-color: var(--gold);
}

.room-details:hover span {
  transform: translateX(4px);
}

.ota-section {
  padding: clamp(70px, 8vw, 115px) 0;
  background: #eee7da;
}

.ota-inner {
  display: grid;
  grid-template-columns: .9fr 1.5fr;
  column-gap: 9vw;
}

.ota-intro h2,
.reviews-head h2 {
  margin: 0;
  font: 500 clamp(40px, 5vw, 68px)/1.06 var(--serif);
  letter-spacing: -.035em;
}

.ota-intro h2 em,
.reviews-head h2 em {
  color: var(--gold);
  font-weight: 500;
}

.ota-intro > p:last-child {
  max-width: 430px;
  margin: 27px 0 0;
  color: #66736f;
  font-size: 13px;
}

.ota-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.ota-list a {
  min-height: 145px;
  padding: 27px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: space-between;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: color .3s, background-color .3s;
}

.ota-list a:hover {
  color: #fff;
  background: var(--green);
}

.ota-list span {
  grid-column: 1 / 3;
  font: 600 clamp(20px, 2vw, 28px)/1.1 var(--sans);
  letter-spacing: -.035em;
}

.ota-list small {
  align-self: end;
  font-size: 8px;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .6;
}

.ota-list b {
  align-self: end;
  font-size: 15px;
  font-weight: 400;
  transition: transform .3s;
}

.ota-list a:hover b {
  transform: translate(3px, -3px);
}

.ota-direct {
  grid-column: 2;
  padding-top: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  color: #687570;
  font-size: 11px;
}

.ota-carousel {
  min-width: 0;
}

.ota-viewport {
  overflow: hidden;
  border: 1px solid var(--line);
  outline: none;
}

.ota-viewport:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

.ota-list.ota-track {
  display: flex;
  border: 0;
  transition: transform .55s cubic-bezier(.7, 0, .2, 1);
  will-change: transform;
}

.ota-list.ota-track a {
  min-width: 0;
  min-height: 275px;
  flex: 0 0 50%;
  border: 0;
  border-right: 1px solid var(--line);
}

.ota-list img {
  grid-column: 1 / 3;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.ota-list span {
  margin-top: 22px;
}

.ota-controls {
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ota-controls > div:last-child {
  display: flex;
  gap: 8px;
}

.ota-controls button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--green);
  background: transparent;
  cursor: pointer;
  transition: color .25s, background-color .25s, border-color .25s;
}

.ota-controls > div:last-child button:hover {
  color: #fff;
  background: var(--green);
  border-color: var(--green);
}

.ota-controls button:disabled {
  cursor: default;
  opacity: .3;
}

.ota-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ota-dots button {
  width: 7px;
  height: 7px;
  border: 0;
  background: rgba(24, 51, 45, .24);
}

.ota-dots button.active {
  width: 26px;
  border-radius: 5px;
  background: var(--gold);
}

.ota-dots button[hidden] {
  display: none;
}

.reviews-section {
  color: #fff;
  background: #102f29;
}

.reviews-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 55px;
}

.google-rating {
  min-width: 245px;
  padding: 19px 22px;
  display: flex;
  align-items: center;
  gap: 17px;
  border: 1px solid rgba(255, 255, 255, .18);
}

.google-g {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  color: #4285f4;
  background: #fff;
  font: 600 24px/1 Arial, sans-serif;
}

.google-rating > div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 10px;
}

.google-rating b {
  font: 500 28px/1 var(--serif);
}

.google-rating small {
  grid-column: 1 / 3;
  margin-top: 5px;
  color: rgba(255, 255, 255, .58);
  font-size: 9px;
}

.review-stars {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .1em;
  white-space: nowrap;
}

.review-stars i {
  color: rgba(255, 255, 255, .22);
  font-style: normal;
}

.review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr .8fr;
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.review-grid > * {
  min-height: 315px;
  padding: clamp(27px, 3.2vw, 45px);
  border-right: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.review-grid article {
  position: relative;
  display: flex;
  flex-direction: column;
}

.review-quote {
  position: absolute;
  top: 20px;
  right: 30px;
  color: rgba(199, 166, 106, .22);
  font: 500 80px/1 var(--serif);
}

.review-grid blockquote {
  position: relative;
  max-width: 390px;
  margin: 38px 0 auto;
  font: 500 clamp(20px, 2vw, 27px)/1.4 var(--serif);
}

.review-grid article footer {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-avatar {
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  color: var(--green);
  background: var(--gold);
  font-size: 12px;
  font-weight: 600;
}

.review-grid footer div {
  display: flex;
  flex-direction: column;
}

.review-grid footer b {
  font-size: 11px;
  font-weight: 500;
}

.review-grid footer small,
.review-action > small {
  color: rgba(255, 255, 255, .48);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.review-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background: rgba(255, 255, 255, .035);
}

.review-action p {
  margin: 0 0 25px;
  color: rgba(255, 255, 255, .68);
  font-size: 13px;
}

.review-action > small {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .ota-inner {
    grid-template-columns: 1fr;
    row-gap: 45px;
  }

  .ota-intro > p:last-child {
    max-width: 580px;
  }

  .ota-direct {
    grid-column: 1;
  }

  .review-grid {
    grid-template-columns: 1fr 1fr;
  }

  .review-action {
    grid-column: 1 / 3;
    min-height: 220px;
  }
}

@media (max-width: 680px) {
  .ota-list {
    grid-template-columns: 1fr;
  }

  .ota-list a {
    min-height: 115px;
  }

  .ota-list.ota-track {
    display: flex;
  }

  .ota-list.ota-track a {
    min-height: 240px;
    flex-basis: 86%;
  }

  .ota-direct,
  .reviews-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .reviews-head {
    margin-bottom: 38px;
  }

  .google-rating {
    width: 100%;
  }

  .review-grid {
    display: block;
  }

  .review-grid > * {
    min-height: 280px;
  }

  .review-action {
    min-height: 230px;
  }
}

/* Direct-rate feature and compact continuous OTA marquee */
.direct-deal{color:#fff;background:var(--green)}.direct-deal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:center}.direct-deal h2{max-width:700px;margin:0;font:500 clamp(48px,6vw,84px)/1.02 var(--serif);letter-spacing:-.04em}.direct-deal h2 em{color:var(--gold);font-weight:500}.direct-deal-grid>div:first-child>p:last-child{max-width:570px;margin:30px 0 0;color:rgba(255,255,255,.65);font-size:14px}.direct-rate-card{padding:clamp(30px,4vw,52px);color:var(--green);background:var(--cream);box-shadow:22px 22px 0 rgba(199,166,106,.2)}.direct-rate-label{display:inline-block;margin-bottom:25px;padding:7px 10px;color:var(--green);background:rgba(199,166,106,.28);font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.direct-rate-card h3{margin:0;font:500 clamp(29px,3vw,41px)/1.12 var(--serif)}.direct-rate-card ul{margin:29px 0 34px;padding:0;list-style:none;border-top:1px solid var(--line)}.direct-rate-card li{padding:12px 0 12px 22px;position:relative;border-bottom:1px solid var(--line);font-size:11px}.direct-rate-card li::before{content:"✓";position:absolute;left:0;color:var(--gold)}.direct-rate-card .button{width:100%}.direct-rate-card>small{display:block;margin-top:14px;color:#74817d;font-size:8px;text-align:center}
.booking-security{margin-top:16px;padding:13px 15px;display:flex;align-items:center;gap:12px;border:1px solid rgba(17,47,41,.16);background:rgba(255,255,255,.42)}.booking-security svg{flex:0 0 30px;width:30px;height:30px;fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.booking-security span{display:flex;flex-direction:column;gap:3px}.booking-security b{font-size:10px;font-weight:600;letter-spacing:.03em}.booking-security small{color:#74817d;font-size:8px;line-height:1.35}
.direct-deal-copy>p:last-of-type{max-width:570px;margin:30px 0 0;color:rgba(255,255,255,.65);font-size:14px}.direct-deal-copy .booking-security{max-width:400px;margin-top:34px;padding:15px 17px;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.045)}.direct-deal-copy .booking-security svg{stroke:var(--gold)}.direct-deal-copy .booking-security b{color:#fff}.direct-deal-copy .booking-security small{color:rgba(255,255,255,.55)}
.ota-mini-card img{border-radius:8px}
.amenity-list .amenity-icon{display:block;width:28px;height:28px;color:var(--gold);font-size:0}.amenity-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.amenity-list .amenity-icon+h3{margin-top:24px}
.gallery-head-action{max-width:380px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.gallery-head-action p{margin:0;color:#5d6c68}@media(max-width:680px){.gallery-head-action{margin-top:24px;gap:18px}}

/* Interactive nearby-location diagram */
.location-card>*{position:relative;z-index:2}.location-card .map-lines{position:absolute;z-index:0}.location-routes{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible}.location-routes line{stroke:rgba(21,63,54,.24);stroke-width:.42;stroke-dasharray:1.5 1.5;vector-effect:non-scaling-stroke;transition:stroke .25s,stroke-width .25s,stroke-dasharray .25s}.location-routes line.active{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:none}.location-marker{position:absolute;z-index:3;padding:0;border:0;color:var(--green);background:transparent;cursor:pointer;transform:translate(-50%,-50%)}.location-marker span{display:grid;place-items:center;width:30px;height:30px;border:2px solid rgba(21,63,54,.24);border-radius:50%;color:var(--green);background:#edf0e9;font-size:8px;font-weight:600;transition:color .25s,background-color .25s,border-color .25s,transform .25s,box-shadow .25s}.location-marker b{position:absolute;top:35px;left:50%;width:max-content;max-width:105px;opacity:0;color:var(--green);font-size:7px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transform:translate(-50%,-4px);transition:opacity .25s,transform .25s}.location-marker:hover span,.location-marker.active span,.location-marker:focus-visible span{color:#fff;background:var(--green);border-color:var(--gold);transform:scale(1.12);box-shadow:0 0 0 6px rgba(199,166,106,.2)}.location-marker:hover b,.location-marker.active b,.location-marker:focus-visible b{opacity:1;transform:translate(-50%,0)}.location-marker:focus-visible{outline:0}.marker-1{left:17%;top:73%}.marker-2{left:80%;top:70%}.marker-3{left:76%;top:27%}.marker-4{left:22%;top:20%}.marker-5{left:17%;top:45%}.hotel-marker{z-index:4;left:50%;top:53%;flex-direction:column;gap:12px;transform:translate(-50%,-50%)}.hotel-marker>span{display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;color:var(--green);font-size:7px}.hotel-marker>span b{font-size:9px;letter-spacing:.12em}.nearby>[data-location-item]{transition:padding-left .25s,background-color .25s}.nearby>[data-location-item].active,.nearby>[data-location-item]:hover,.nearby>[data-location-item]:focus-visible{padding-left:12px;background:rgba(199,166,106,.1);outline:0}.nearby>[data-location-item].active h3,.nearby>[data-location-item]:hover h3,.nearby>[data-location-item]:focus-visible h3{color:#9a6f27}
@media(max-width:680px){.location-marker b{display:none}.location-marker span{width:27px;height:27px}.hotel-marker>span b{font-size:8px}}
.location-card .hotel-marker{position:absolute}
.location-card .marker-1{left:82%;top:40%}.location-card .marker-2{left:35%;top:78%}.location-card .marker-3{left:42%;top:23%}.location-card .marker-4{left:17%;top:13%}.location-card .marker-5{left:14%;top:55%}.location-card .marker-6{left:58%;top:88%}.location-card .marker-7{left:25%;top:67%}.location-card .hotel-marker{left:67%;top:57%}.location-marker b small{display:block;margin-top:3px;color:#8a6b35;font:500 7px/1.3 var(--sans);letter-spacing:.04em;text-transform:none}.location-marker:hover b,.location-marker.active b,.location-marker:focus-visible b{padding:7px 9px;border:1px solid rgba(21,63,54,.15);background:rgba(245,241,232,.96);box-shadow:0 8px 18px rgba(21,63,54,.12)}.location-marker.property-marker span{border-color:var(--gold);background:#f3e8d2}.location-marker.property-marker b:before{display:block;margin-bottom:3px;color:#9a6f27;font:600 6px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}.location-card .marker-6 b:before{content:"Our Boutique Hotel"}.location-card .marker-7 b:before{content:"Our Restobar & Pub"}.location-card .marker-6 b,.location-card .marker-7 b{top:auto;bottom:36px;transform:translate(-50%,4px)}.location-card .marker-6:hover b,.location-card .marker-6.active b,.location-card .marker-6:focus-visible b,.location-card .marker-7:hover b,.location-card .marker-7.active b,.location-card .marker-7:focus-visible b{transform:translate(-50%,0)}.location-card .marker-6 b{left:38%}.location-card .marker-7 b{left:62%}.location-marker:hover b,.location-marker.active b,.location-marker:focus-visible b{color:var(--green)}.location-marker:hover b small,.location-marker.active b small,.location-marker:focus-visible b small,.location-marker:hover b:before,.location-marker.active b:before,.location-marker:focus-visible b:before{color:#9a6f27}.location-marker.property-marker:hover span,.location-marker.property-marker.active span,.location-marker.property-marker:focus-visible span{color:var(--green);background:var(--gold);border-color:var(--green)}
.nearby>[data-location-item]>p{display:flex;flex-direction:column;gap:3px}.nearby>[data-location-item]>p>span{color:#71807b;font-size:11px}.nearby>[data-location-item]>p>small{color:#a47d3d;font-size:9px}
.nearby{height:520px;display:flex;flex-direction:column}.nearby>[data-location-item]{min-height:0;flex:1;padding:5px 0;align-content:center}.nearby>[data-location-item] h3{font-size:18px;line-height:1.08}.nearby>[data-location-item]>p{margin-top:2px}.nearby>[data-location-item]>p>span{font-size:9px}.nearby>[data-location-item]>p>small{font-size:8px}.nearby>[data-location-item].nearby-owned{background:linear-gradient(90deg,rgba(199,166,106,.08),transparent)}.nearby>[data-location-item].nearby-owned>span{color:#9a6f27;font-weight:600}.nearby .button{flex:0 0 auto;margin-top:10px}@media(max-width:680px){.nearby{height:auto}.nearby>[data-location-item]{padding:16px 0}.nearby>[data-location-item] h3{font-size:19px}.nearby>[data-location-item]>p>span{font-size:10px}.nearby>[data-location-item]>p>small{font-size:9px}.nearby .button{margin-top:24px}}
.ota-section{padding:clamp(65px,7vw,100px) 0;overflow:hidden;background:#eee7da}.ota-marquee-head{margin-bottom:38px;display:flex;align-items:end;justify-content:space-between;gap:40px}.ota-marquee-head h2{margin:0;font:500 clamp(38px,4.5vw,62px)/1.04 var(--serif);letter-spacing:-.035em}.ota-marquee-head h2 em{color:var(--gold);font-weight:500}.ota-marquee-head>p{max-width:350px;margin:0 0 7px;color:#697671;font-size:12px}.ota-marquee{width:100%;overflow:hidden;padding:2px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.ota-marquee-track{width:max-content;display:flex;gap:14px;animation:ota-scroll 24s linear infinite}.ota-marquee:hover .ota-marquee-track,.ota-marquee:focus-within .ota-marquee-track{animation-play-state:paused}.ota-marquee-group{display:flex;gap:14px}.ota-mini-card{width:245px;height:98px;padding:18px 19px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;flex:0 0 245px;border:1px solid var(--line);background:rgba(255,255,255,.3);transition:color .25s,background-color .25s,border-color .25s}.ota-mini-card:hover{color:#fff;background:var(--green);border-color:var(--green)}.ota-mini-card img{width:38px;height:38px;object-fit:contain}.ota-mini-card span{font-size:15px;font-weight:600;letter-spacing:-.02em}.ota-mini-card b{font-size:12px;font-weight:400;transition:transform .25s}.ota-mini-card:hover b{transform:translate(3px,-3px)}
@keyframes ota-scroll{to{transform:translateX(calc(-50% - 7px))}}
@media(max-width:900px){.direct-deal-grid{grid-template-columns:1fr;gap:55px}.direct-rate-card{max-width:620px}}
@media(max-width:680px){.direct-rate-card{box-shadow:10px 10px 0 rgba(199,166,106,.2)}.ota-marquee-head{display:block}.ota-marquee-head>p{margin-top:20px}.ota-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.ota-mini-card{width:210px;height:88px;padding:15px;grid-template-columns:37px 1fr auto;flex-basis:210px}.ota-mini-card img{width:34px;height:34px}.ota-mini-card span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ota-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.ota-marquee-track{animation:none}.ota-marquee-group[aria-hidden="true"]{display:none}}

/* Google review carousel */
.review-viewport{overflow:hidden;border:1px solid rgba(255,255,255,.16);outline:0}.review-viewport:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.review-track{display:flex;transition:transform .6s cubic-bezier(.7,0,.2,1);will-change:transform}.review-track article{position:relative;min-width:100%;min-height:330px;padding:clamp(32px,4.5vw,62px);display:grid;grid-template-columns:1fr .65fr;grid-template-rows:auto 1fr auto;column-gap:8vw;border:0}.review-track article+article{border-left:1px solid rgba(255,255,255,.16)}.review-track .review-stars{grid-column:1}.review-track blockquote{grid-column:1;max-width:720px;margin:35px 0;font:500 clamp(27px,3vw,43px)/1.3 var(--serif)}.review-track article footer{grid-column:1;display:flex;align-items:center;gap:12px}.review-track article footer div{display:flex;flex-direction:column}.review-track article footer b{font-size:11px;font-weight:500}.review-track article footer small{color:rgba(255,255,255,.48);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.review-track .review-quote{top:45px;right:7%;font-size:120px}.review-carousel-footer{min-height:78px;padding:17px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.review-pagination{display:flex;align-items:center;gap:8px}.review-pagination button{width:8px;height:8px;padding:0;border:0;border-radius:5px;background:rgba(255,255,255,.28);cursor:pointer;transition:width .3s,background-color .3s}.review-pagination button.active{width:30px;background:var(--gold)}.review-read-more{display:flex;align-items:center;gap:24px;color:rgba(255,255,255,.48);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.review-read-more a{padding-bottom:3px;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);transition:color .25s,border-color .25s}.review-read-more a:hover{color:var(--gold);border-color:var(--gold)}.review-arrows{justify-self:end;display:flex;gap:8px}.review-arrows button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:transparent;cursor:pointer;transition:color .25s,background-color .25s,border-color .25s}.review-arrows button:hover{color:var(--green);background:var(--gold);border-color:var(--gold)}
@media(max-width:680px){.review-track article{min-height:360px;padding:30px 26px;display:flex;flex-direction:column}.review-track blockquote{margin:35px 0 auto;font-size:25px}.review-track .review-quote{top:24px;right:24px;font-size:75px}.review-carousel-footer{grid-template-columns:1fr auto;gap:18px}.review-read-more{grid-column:1/3;grid-row:2;justify-content:space-between;gap:14px}.review-arrows{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){.review-track{transition:none}}

/* Compact five-card Google review coverflow */
.review-stage{position:relative;height:370px;overflow:hidden;outline:0;perspective:1200px}.review-stage:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.review-card{position:absolute;top:28px;left:50%;width:clamp(220px,21vw,285px);height:300px;padding:28px 25px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.17);background:#143a32;box-shadow:0 25px 55px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateX(-50%) scale(.72);transition:transform .65s cubic-bezier(.2,.75,.2,1),opacity .45s,border-color .45s,background-color .45s,box-shadow .45s;will-change:transform,opacity}.review-card[data-position="-2"]{z-index:1;opacity:.42;transform:translateX(calc(-50% - min(39vw,500px))) scale(.78) rotateY(7deg)}.review-card[data-position="-1"]{z-index:2;opacity:.72;transform:translateX(calc(-50% - min(20vw,255px))) scale(.89) rotateY(4deg)}.review-card[data-position="0"]{z-index:3;opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1);border-color:rgba(210,170,97,.65);background:#17453b;box-shadow:0 30px 70px rgba(0,0,0,.34)}.review-card[data-position="1"]{z-index:2;opacity:.72;transform:translateX(calc(-50% + min(20vw,255px))) scale(.89) rotateY(-4deg)}.review-card[data-position="2"]{z-index:1;opacity:.42;transform:translateX(calc(-50% + min(39vw,500px))) scale(.78) rotateY(-7deg)}.review-card .review-stars{font-size:11px;letter-spacing:.14em}.review-card blockquote{margin:24px 0 auto;font:500 clamp(19px,1.55vw,24px)/1.34 var(--serif)}.review-card footer{display:flex;align-items:center;gap:11px}.review-card footer div{display:flex;flex-direction:column}.review-card footer b{font-size:10px;font-weight:500}.review-card footer small{color:rgba(255,255,255,.48);font-size:7px;letter-spacing:.08em;text-transform:uppercase}.review-card .review-quote{top:13px;right:20px;font-size:62px}.review-card-kicker{margin-bottom:22px;color:var(--gold);font-size:8px;letter-spacing:.16em;text-transform:uppercase}.review-card--rating>strong{font:500 72px/1 var(--serif)}.review-card--rating>strong small{font-size:22px}.review-card--rating>p,.review-card--action>p{margin:14px 0 auto;color:rgba(255,255,255,.65);font-size:11px;line-height:1.65}.review-card--action h3{max-width:210px;margin:0;font:500 27px/1.12 var(--serif)}.review-card--action>a{display:flex;justify-content:space-between;padding:12px 0 7px;color:#fff;border-bottom:1px solid rgba(255,255,255,.35);font-size:9px;letter-spacing:.1em;text-transform:uppercase;transition:color .25s,border-color .25s}.review-card--action>a:hover{color:var(--gold);border-color:var(--gold)}.google-avatar{color:#4285f4;background:#fff}.review-carousel-footer{padding-top:13px}
@media(max-width:900px){.review-card{width:260px}.review-card[data-position="-2"],.review-card[data-position="2"]{opacity:0}.review-card[data-position="-1"]{transform:translateX(calc(-50% - 230px)) scale(.84)}.review-card[data-position="1"]{transform:translateX(calc(-50% + 230px)) scale(.84)}}
@media(max-width:680px){.review-stage{height:355px;margin-inline:-20px}.review-card{top:20px;width:min(76vw,280px);height:305px}.review-card[data-position="-1"]{opacity:.4;transform:translateX(calc(-50% - 72vw)) scale(.82)}.review-card[data-position="1"]{opacity:.4;transform:translateX(calc(-50% + 72vw)) scale(.82)}}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}}

/* Keep the review carousel focused exclusively on verified guest excerpts. */
.review-stage{max-width:none;height:350px;margin-inline:auto}.review-card{width:min(42vw,285px);height:285px}.review-card[data-position="-1"]{transform:translateX(calc(-50% - 225px)) scale(.88) rotateY(4deg)}.review-card[data-position="1"]{transform:translateX(calc(-50% + 225px)) scale(.88) rotateY(-4deg)}
@media(max-width:680px){.review-stage{height:340px}.review-card{width:min(76vw,280px);height:295px}.review-card[data-position="-1"]{transform:translateX(calc(-50% - 72vw)) scale(.82)}.review-card[data-position="1"]{transform:translateX(calc(-50% + 72vw)) scale(.82)}}

.review-scores{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.review-scores span{padding:5px 7px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.62);font-size:7px;letter-spacing:.06em;text-transform:uppercase}.review-scores b{margin-left:3px;color:#fff;font-size:9px}.review-card--scores .review-rating-label{margin:28px 0 auto;font:500 24px/1.2 var(--serif)}.review-card--scores .review-scores{margin-bottom:auto}.review-highlight{margin-bottom:auto;color:var(--gold);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.review-card--long blockquote{margin:0;padding-right:10px;font-size:15px;line-height:1.42}.review-copy-scroll{min-height:0;max-height:128px;margin-top:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(210,170,97,.72) rgba(255,255,255,.08)}.review-copy-scroll::-webkit-scrollbar{width:4px}.review-copy-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}.review-copy-scroll::-webkit-scrollbar-thumb{border-radius:4px;background:rgba(210,170,97,.72)}.review-copy-scroll:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.review-card--long .review-scores{flex-shrink:0;margin:8px 0}.review-card--long footer{flex-shrink:0;margin-top:auto}
.review-copy-scroll{max-height:100px}
