/* Quiet movement, tactile controls and Crown review cards. */
.js .soft-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.js .soft-reveal.is-shown{opacity:1;transform:none}
.word-reveal>span{transform:translateY(105%);opacity:.15;transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .8s ease;transition-delay:var(--delay,0ms)}
.heading-visible .word-reveal>span{opacity:1;transform:none}
.button,.angled-card .card-cta,.browse button,.gallery-controls button,.review-controls button{position:relative;isolation:isolate;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.button.call,.angled-card .card-cta{box-shadow:0 4px 0 #93731B,0 7px 13px #071D2620!important}
.button.whatsapp{box-shadow:0 4px 0 #065B34,0 7px 13px #071D2625!important}
.browse button,.gallery-controls button,.review-controls button{box-shadow:0 3px 0 #0B292244}
.button::after,.angled-card .card-cta::after{content:"";position:absolute;inset:-50% -70%;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 40%,#FFFFFF0A 44%,#FFFFFF70 49%,#FFFFFF20 52%,transparent 57%);transform:translateX(-70%);animation:crown-shimmer 8s ease-in-out infinite;animation-play-state:paused}
.button.whatsapp::after{background:linear-gradient(105deg,transparent 40%,#D9F7E00A 44%,#E5C45A66 49%,#FFFFFF26 52%,transparent 57%)}
.motion-active.button::after,.motion-active .card-cta::after{animation-play-state:running}
.page-hidden .button::after,.page-hidden .card-cta::after{animation-play-state:paused}
.button:active,.angled-card:active .card-cta{transform:translateY(3px);box-shadow:0 1px 0 #0B2922!important}
@media(hover:hover){.button:hover,.angled-card:hover .card-cta{transform:translateY(-2px)}.gallery-item:hover img{transform:scale(1.025)}}
@keyframes crown-shimmer{0%,70%{transform:translateX(-70%)}90%,100%{transform:translateX(70%)}}
.gallery-item img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.gallery{cursor:grab}.gallery-item{cursor:zoom-in}.gallery-item:active{cursor:grabbing}
.gallery,.gallery.auto-gliding{scroll-snap-type:none;scroll-behavior:auto}
.guest-reviews{position:relative;background:radial-gradient(ellipse at 5% 5%,#22634C66,transparent 60%),#0B2922}
.review-track{align-items:flex-start;gap:18px;padding:8px 0 14px}
.review-track .review-note{position:relative;isolation:isolate;padding:25px 24px 24px;border-radius:10px 10px 30px 10px;border:1px solid #B9CABD;background:#E7EFEB;color:#102D27;box-shadow:0 5px 0 #071F18;overflow:hidden;flex-shrink:0}
.review-note::before{content:'“';position:absolute;right:14px;bottom:-24px;font:150px/.85 Georgia,serif;color:#17604412;pointer-events:none;z-index:-1}
.review-note::after{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#C9A339,#E5D287,#A88727);pointer-events:none}
.review-track .review-note:nth-child(3n+2){background:linear-gradient(#14513DEB,#0F3B30F5),url('/assets/aroma-damask-pattern.webp') center/270px;background-blend-mode:normal,luminosity;color:#F0F5F2;border-color:#658F77}
.review-track .review-note:nth-child(3n+2)::before{color:#EAC95C16}
.review-track .review-note:nth-child(3n+2) .review-author a{color:#C8D8CE}
.review-track .review-note:nth-child(3n+2) .review-stars{color:#EAC95C}
.review-author{gap:10px}.review-initial{width:40px;height:40px;background:#D6BA60;color:#102D27;border:1px solid #BEA24E;border-radius:50%;box-shadow:inset 0 1px 0 #F4E5A8}
.review-author b{font-size:16px;font-weight:700}.review-author a{font-size:10px;letter-spacing:.2px}
.review-note blockquote{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:400;line-height:1.55;margin-top:14px;letter-spacing:-.15px}
.review-stars{font-size:13px;letter-spacing:4px;margin-top:20px}
.review-rating strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:76px;letter-spacing:-5px}
.review-rating>span{line-height:1.6}.review-rating b{display:block;color:#EAC95C;letter-spacing:.2px;font-size:12px}
.review-selection{letter-spacing:.3px;color:#AFC5B8}
.lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.lightbox-nav button{min-width:48px;min-height:42px;border:1px solid #B89B42;background:#184B3B;color:#EAC95C;border-radius:5px;font-size:23px}.lightbox-nav span{font-size:12px;color:#CBD6D0}.lightbox-nav~#expanded-caption{margin-top:10px}
#expanded{touch-action:pan-y pinch-zoom}
@media(max-width:600px){.review-note blockquote{font-size:18px}.review-track .review-note{padding:23px 20px}.review-rating strong{font-size:59px}.mobile-contact{padding-bottom:16px}.review-track{gap:14px}}
@media(prefers-reduced-motion:reduce){.js .soft-reveal{opacity:1;transform:none;transition:none}.button::after,.angled-card .card-cta::after{animation:none;display:none}.word-reveal>span{opacity:1;transform:none}.gallery-item img{transition:none}}
