.intent-grid a.flip-intent.is-flipped{transform:rotateY(180deg)}
/* The reference combines a split photographic hero, staggered product cards,
   lateral UI assembly and reversible information cards. */
.hero{padding-top:54px}.hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;text-align:left;align-content:center;padding-block:35px 90px;min-height:620px}.hero-copy>.eyebrow{grid-column:1;margin:12px 0 22px;align-self:end}.hero-copy h1{grid-column:1;font-size:clamp(36px,3.2vw,51px);line-height:1.14;letter-spacing:-.05em;align-self:start}.hero-description{grid-column:1;font-size:16px;margin:26px 0 30px}.hero-description br{display:none}.hero-copy .actions{grid-column:1;justify-content:flex-start;align-self:start}.hero-copy .fine-print{grid-column:1;margin-top:16px}.hero-lifestyle{grid-column:2;grid-row:1/6;position:relative;align-self:stretch;min-height:470px;margin-left:20px}.hero-lifestyle>img{height:100%;width:100%;object-fit:cover;border-radius:26px 0 0 26px;position:absolute;inset:0;object-position:52%}.hero-glow{top:400px;opacity:.25}.hero-reservation{position:absolute;left:-64px;top:85px;width:224px;background:#fff;border-radius:14px;padding:24px;box-shadow:0 12px 38px #24103914;animation:reservation-intro 1.2s cubic-bezier(.2,.7,.2,1) .35s both}.hero-reservation>strong{font:600 21px/1.25 Montserrat;letter-spacing:-.04em}.hero-reservation-dates{display:flex;align-items:center;justify-content:space-between;margin:22px 0;font-size:17px}.hero-reservation-dates small{display:block;font-size:10px;color:#88869a;margin-top:3px}.reservation-status{font-size:11px;color:#22846a;padding-top:14px;border-top:1px solid var(--line)}.reservation-status>span{margin-right:7px}.hero-toast{position:absolute;bottom:54px;left:-36px;background:#fff;border-radius:11px;display:flex;align-items:center;gap:12px;padding:16px 20px;box-shadow:0 10px 28px #24103914;animation:toast-intro .8s ease 1.1s both}.hero-toast i{color:var(--violet)}.hero-toast>span{font-size:10px;color:#847e96}.hero-toast strong{display:block;font-size:11px;color:var(--ink);font-weight:400;margin-top:3px}.motion-gallery{padding:82px 0 55px;overflow:hidden;background:linear-gradient(180deg,#f7f8fc,#f1f0f8);isolation:isolate;position:relative}.gallery-heading{text-align:center;max-width:780px}.gallery-heading h2{font-size:clamp(30px,3.1vw,46px)}.gallery-heading>p:last-child{font-size:15px;margin:22px 0 0}.gallery-viewport{overflow:hidden;margin-top:60px;padding:20px 0 65px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.gallery-track{display:grid;grid-template-columns:repeat(5,260px);gap:24px;justify-content:center;align-items:start;width:max(100%,1396px);position:relative;left:50%;transform:translateX(-50%);padding-inline:0}.gallery-column{display:grid;gap:24px;transform:translateY(var(--scroll-shift,0px));will-change:transform}.gallery-column:nth-child(2){padding-top:48px}.gallery-column:nth-child(3){padding-top:90px}.gallery-column:nth-child(4){padding-top:60px}.gallery-column:nth-child(5){padding-top:0}.motion-card{border:1px solid #e9e7f0;background:#fff;border-radius:14px;padding:24px;box-shadow:0 5px 8px #22173506;min-width:0}.motion-card h3{font-size:19px;letter-spacing:-.04em}.motion-card>p{font-size:13px;margin-top:20px}.motion-card>small{font-size:10px;color:#8b8598}.motion-gallery.motion-active .motion-card{animation:card-assemble 1s cubic-bezier(.16,1,.3,1) both}.gallery-column:nth-child(2) .motion-card{animation-delay:.12s}.gallery-column:nth-child(3) .motion-card{animation-delay:.24s}.gallery-column:nth-child(4) .motion-card{animation-delay:.36s}.gallery-column:nth-child(5) .motion-card{animation-delay:.48s}.mini-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.mini-room-grid span{background:#e7f6ef;border:1px solid #d9eee2;border-radius:7px;padding:10px 7px;font:11px Inter;display:flex;justify-content:space-between;color:#318260}.mini-room-grid b{font-weight:400;opacity:.7}.motion-arrival{display:flex;align-items:baseline;gap:12px}.motion-arrival>b{font:500 40px Montserrat}.motion-arrival>span{font-size:11px;color:#9691a0}.points-number{font:500 37px Montserrat;margin:28px 0 24px;letter-spacing:-.06em;color:#4e2ba5}.points-number small{font:11px Poppins;letter-spacing:0;color:#9d92b1}.motion-line{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #efedf4;padding:15px 0;font:11px/1.4 Inter;color:#898191}.motion-line>b{font-weight:500;color:#433a57}.motion-gradient-pill{background:linear-gradient(100deg,var(--blue),var(--magenta));color:#fff;padding:9px 8px;font-size:9px;text-align:center;border-radius:999px;margin-top:12px}.mini-growth{height:7px;background:#eeedf5;border-radius:20px;margin:20px 0}.mini-growth>span{display:block;height:100%;width:76%;background:#8880dc;border-radius:20px}.motion-active .mini-growth>span{animation:growth-loop 8s ease-in-out infinite}.manager-card{padding:0;overflow:hidden}.manager-card>img{height:230px;width:100%;object-fit:cover;object-position:62%}.manager-card>div{padding:24px}.manager-card .gallery-logo{width:100px;height:auto;margin-bottom:20px}.manager-card h3{font-size:24px;margin-bottom:25px}.manager-card .mini-label{font-size:9px}.motion-calendar{margin:20px -12px;overflow:hidden}.motion-calendar .calendar{grid-template-columns:28px repeat(7,1fr);font-size:6px;grid-auto-rows:29px}.motion-calendar .stay{padding:5px 3px;font-size:6px}.motion-calendar .room{padding:9px 3px}.gallery-chart{display:flex;align-items:flex-end;gap:8px;height:120px;margin:30px 0 20px}.gallery-chart b{height:var(--bar-height);flex:1;border-radius:5px 5px 0 0;background:#afa5ec;transform-origin:bottom}.motion-active .gallery-chart b{animation:forecast-loop 8s ease-in-out infinite;animation-delay:var(--bar-delay)}.motion-rate{display:flex;align-items:baseline;justify-content:space-between;margin:15px 0 20px}.motion-rate s{font-size:14px;color:#aaa1b7}.motion-rate>b{font:500 28px Montserrat;color:#4b3287}.motion-approved{font-size:11px;color:#198969}.booking-sequence{overflow:visible}.booking-progress{position:absolute;left:60px;right:20px;bottom:12px;height:3px;overflow:hidden;background:#f2edf9;border-radius:10px}.booking-progress span{display:block;background:var(--violet);height:100%;width:100%;transform-origin:left}.booking-sequence.motion-active .photo-ui{animation:booking-slide 10s cubic-bezier(.22,.7,.2,1) infinite}.booking-sequence.motion-active .booking-confirm>span{animation:confirm-sequence 10s ease infinite}.booking-sequence.motion-active .booking-progress>span{animation:progress-sequence 10s linear infinite}.module-choreography{position:relative;padding-bottom:35px;isolation:isolate}.module-overlay{position:absolute;right:28px;top:42%;width:245px;background:#fff;padding:26px;border:1px solid #e7e4f1;border-radius:14px;box-shadow:0 18px 55px #28194118;pointer-events:none;opacity:0;z-index:3}.module-overlay>strong{font:600 21px/1.3 Montserrat;display:block;margin-bottom:20px;letter-spacing:-.04em}.sequence-check{display:flex;gap:10px;align-items:center;color:#2e9070;font-size:11px;margin-top:12px}.sequence-check>b{background:#e6f8ee;border-radius:50%;height:26px;width:26px;display:grid;place-items:center}.module-choreography.motion-active .module-overlay{animation:ui-slide-in 10s cubic-bezier(.22,.7,.2,1) infinite}.module-choreography.motion-active .module-overlay .sequence-check{animation:confirm-sequence 10s ease infinite}.module-choreography.motion-active #module-screen{animation:panel-depth 10s ease infinite}.module-choreography:hover .module-overlay,.module-choreography:focus-within .module-overlay{visibility:hidden}.module-choreography:hover #module-screen,.module-choreography:focus-within #module-screen{animation:none;transform:none}.intent-grid{perspective:1400px}.intent-grid a.flip-intent{position:relative;display:block;padding:0;min-height:190px;background:transparent;border:0;transform-style:preserve-3d;border-radius:14px;box-shadow:none;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.intent-grid a.flip-intent:hover,.intent-grid a.flip-intent:focus-visible{transform:rotateY(180deg)}.intent-face{position:absolute;inset:0;padding:30px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;background:#eef0fc;border:1px solid #e2e4f0}.intent-front{display:flex;align-items:center;gap:16px}.intent-front>span{font-size:15px;flex:1}.intent-front>b{font-size:17px;font-weight:400}.intent-front svg{width:25px;height:25px}.intent-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;background:#fff}.intent-back>strong{font-size:14px;font-weight:600}.intent-back>span{font-size:12px;color:#777085;line-height:1.6}.intent-back>.intent-explore{font-size:11px;color:var(--blue);margin-top:auto}.loyalty-sequence{perspective:1200px}.loyalty-sequence.motion-active .member-pass{animation:loyalty-card 9s cubic-bezier(.2,.7,.2,1) infinite;transform-origin:50% 70%}.loyalty-sequence.motion-active .reward-float{animation:reward-arrive 9s cubic-bezier(.2,.7,.2,1) infinite}.site-header{top:0}.announcement{background:linear-gradient(100deg,#151237,#1e1cf7,#8b5cf6);background-size:200% 100%;animation:announcement-glow 12s ease infinite alternate}
@keyframes reservation-intro{from{opacity:0;transform:translate(80px,10px) scale(.92)}to{opacity:1;transform:none}}@keyframes toast-intro{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes card-assemble{from{opacity:0;transform:translateY(100px) rotateX(8deg)}to{opacity:1;transform:none}}@keyframes growth-loop{0%,100%{transform:scaleX(.35);transform-origin:left}30%,80%{transform:scaleX(1);transform-origin:left}}@keyframes forecast-loop{0%,100%{transform:scaleY(.3)}25%,80%{transform:scaleY(1)}}@keyframes booking-slide{0%,100%{transform:translateX(55px) scale(.95);opacity:0}12%,85%{transform:none;opacity:1}95%{transform:translateX(-15px);opacity:0}}@keyframes confirm-sequence{0%,22%,100%{opacity:0;transform:translateY(12px)}32%,85%{opacity:1;transform:none}95%{opacity:0;transform:none}}@keyframes progress-sequence{0%,8%{transform:scaleX(0)}80%,100%{transform:scaleX(1)}}@keyframes ui-slide-in{0%,100%{opacity:0;transform:translateX(110px) scale(.92)}15%,78%{opacity:1;transform:translateX(0) scale(1)}92%{opacity:0;transform:translateX(-30px) scale(.96)}}@keyframes panel-depth{0%,100%{transform:none;opacity:1}18%,78%{transform:translateX(-22px) scale(.96);opacity:.78}}@keyframes loyalty-card{0%,100%{transform:rotate(-4deg) rotateY(-15deg) translateY(20px)}25%,80%{transform:rotate(-4deg) rotateY(0deg) translateY(0)}}@keyframes reward-arrive{0%,12%,100%{opacity:0;transform:translate(60px,12px)}30%,82%{opacity:1;transform:translate(0,-2px)}}@keyframes announcement-glow{to{background-position:100% 0}}
body.paused .module-overlay{visibility:hidden}body.paused #module-screen{transform:none;opacity:1}body.paused .gallery-column{transform:none}body.paused .photo-ui,body.paused .reward-float,body.paused .booking-confirm>span{opacity:1;transform:none}body.paused .flip-intent{transition:none}
@media(max-width:1000px){.hero-copy{column-gap:55px;min-height:600px}.hero-copy h1{font-size:38px}.hero-lifestyle{margin-left:0}.hero-reservation{left:-36px;width:195px;padding:20px}.hero-reservation>strong{font-size:19px}.hero-toast{left:-25px;padding:14px;bottom:35px}.hero-copy .actions .button{font-size:12px;padding:12px 16px}.gallery-track{grid-template-columns:repeat(5,220px);gap:18px;width:1172px}.motion-card{padding:20px}.manager-card{padding:0}.module-overlay{right:10px;width:215px}.intent-face{padding:24px}.intent-front{flex-direction:column;align-items:flex-start}.intent-front>b{position:absolute;right:24px;top:24px}.intent-front>span{flex:0}}
@media(max-width:700px){.hero{padding-top:22px}.hero-copy{display:flex;flex-direction:column;gap:0;padding-top:20px;padding-bottom:60px;min-height:0;text-align:left}.hero-copy>.eyebrow{align-self:flex-start;margin:0 0 22px;font-size:10px}.hero-copy h1{font-size:40px;line-height:1.16}.hero-description{font-size:15px;margin:22px 0 26px}.hero-copy .actions{gap:10px}.hero-copy .fine-print{font-size:10px}.hero-lifestyle{align-self:stretch;margin:45px 0 0 28px;min-height:380px}.hero-lifestyle>img{border-radius:18px;object-position:52%}.hero-reservation{top:65px;left:-28px;width:185px;padding:20px}.hero-reservation>strong{font-size:18px}.hero-reservation-dates{font-size:15px;margin:18px 0}.hero-toast{left:-15px;right:15px;bottom:24px;width:max-content;max-width:calc(100% + 5px);padding:13px}.hero-toast strong{font-size:10px}.motion-gallery{padding-top:65px;padding-bottom:40px}.gallery-heading h2{font-size:30px}.gallery-heading>p:last-child{font-size:14px}.gallery-viewport{margin-top:25px;padding:20px 0 35px}.gallery-track{grid-template-columns:repeat(5,180px);gap:14px;width:956px;transform:translateX(-50%) scale(.93);transform-origin:top center}.gallery-column{gap:14px}.gallery-column:nth-child(3){padding-top:50px}.gallery-column:nth-child(2),.gallery-column:nth-child(4){padding-top:20px}.gallery-column:nth-child(1),.gallery-column:nth-child(5){padding-top:0}.motion-card{padding:16px}.motion-card h3{font-size:15px}.motion-card .mini-label{font-size:8px;margin-bottom:10px}.manager-card{padding:0}.manager-card>img{height:190px}.manager-card>div{padding:18px}.manager-card h3{font-size:20px}.manager-card .gallery-logo{width:92px}.points-number{font-size:30px;margin:22px 0}.motion-line{font-size:9px;padding:13px 0}.motion-gradient-pill{font-size:8px;line-height:1.5}.motion-card>p{font-size:11px}.gallery-chart{height:90px;gap:5px}.gallery-column:first-child,.gallery-column:last-child{visibility:hidden}.module-overlay{width:190px;top:auto;bottom:30px;right:-4px;padding:20px}.module-overlay>strong{font-size:18px}.module-choreography{padding-bottom:60px}.module-choreography.motion-active #module-screen{animation:none}.module-choreography.motion-active .module-overlay{animation-name:ui-slide-mobile}.intent-grid a.flip-intent{min-height:205px}.intent-face{padding:22px 18px}.intent-front>span{font-size:13px!important;width:auto!important;order:initial!important}.intent-back{gap:9px}.intent-back>strong{font-size:12px}.intent-back>span{font-size:11px;line-height:1.5}.intent-back>.intent-explore{font-size:10px}.intent-front svg{width:25px!important}.booking-progress{left:40px;right:20px}.loyalty-sequence{overflow:hidden}.motion-gallery .demo-note{margin-top:0;padding-inline:20px}}
@keyframes ui-slide-mobile{0%,100%{opacity:0;transform:translateX(35px) scale(.95)}15%,78%{opacity:1;transform:none}92%{opacity:0;transform:translateX(-15px)}}
@media(prefers-reduced-motion:reduce){.module-overlay{display:none}.gallery-column{transform:none}.hero-reservation,.hero-toast,.photo-ui,.reward-float{opacity:1;transform:none}.flip-intent:hover,.flip-intent:focus-visible{transition:none}.booking-progress{display:none}.module-choreography #module-screen{opacity:1;transform:none}}

