/* Category explanation is distinct from the unchanged hotel offer carousel. */
.home-page.hl-content .home-luxury {
  padding: clamp(28px, 4vw, 52px);
  color: #193d33;
  background: linear-gradient(135deg,#fffdf6,#f3eadc);
  border-top: 1px solid #193d3326;
}
.home-page.hl-content .home-luxury-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: end;
  gap: 36px;
  margin-bottom: 28px;
}
.home-page.hl-content .home-luxury .eyebrow { color: #b34b24; }
.home-page.hl-content .home-luxury h2 {
  max-width: 18ch;
  margin: 0;
  color: #193d33;
  font: 400 clamp(28px, 2.7vw, 38px)/1.2 "Tenor Sans", Arial, sans-serif;
  letter-spacing: -.025em;
}
.home-page.hl-content .home-luxury-heading > p { max-width: 34ch; margin: 0; font-size: 16px; line-height: 1.65; color: #58685f; }
.home-page.hl-content .home-luxury .luxury-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.home-page.hl-content .home-luxury .luxury-story-card { display: block; min-width: 0; color: #fffdf7; text-decoration: none; }
.home-page.hl-content .home-luxury .luxury-story-photo { display: block; overflow: hidden; border-radius: 16px; aspect-ratio: 1.8; background: #e4e9df; }
.home-page.hl-content .home-luxury .luxury-story-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-page.hl-content .home-luxury .luxury-story-content { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; padding: 18px 0 0; }
.home-page.hl-content .home-luxury .luxury-story-content strong { font: 400 25px/1.25 "Tenor Sans", Arial, sans-serif; letter-spacing: -.025em; }
.home-page.hl-content .home-luxury .luxury-story-description { font-size: 16px; line-height: 1.55; color: #f1f4e9; }
.home-page.hl-content .home-luxury .luxury-story-action { margin-top: 3px; padding: 9px 0; border-bottom: 1px solid #193d3352; font-size: 14px; line-height: 1.5; }
.home-page.hl-content .home-luxury :is(a, button, [tabindex]):focus-visible { outline: 2px solid #c84c20; outline-offset: 5px; }
.home-page.hl-content .home-luxury-pagination { display: none; }
@media (hover: hover) and (pointer: fine) {
  .home-page.hl-content .home-luxury .luxury-story-card:hover .luxury-story-action { border-bottom-color: #c84c20; color: #fffdf7; }
}
@media (max-width: 760px) {
  .home-page.hl-content .home-luxury { padding: 28px 16px; }
  .home-page.hl-content .home-luxury-heading { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: 22px; }
  .home-page.hl-content .home-luxury h2 { font-size: 28px; }
  .home-page.hl-content .home-luxury .luxury-tabs {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 4px 0 8px;
  }
  .home-page.hl-content .home-luxury .luxury-tabs::-webkit-scrollbar { display: none; }
  .home-page.hl-content .home-luxury .luxury-story-card { flex: 0 0 86%; scroll-snap-align: start; }
  .home-page.hl-content .home-luxury .luxury-story-card:last-child { margin-right: 14%; }
  .home-page.hl-content .home-luxury .luxury-story-content strong { font-size: 24px; }
  .home-page.hl-content .home-luxury-pagination:not([hidden]) { display: flex; gap: 8px; margin-top: 8px; }
  .home-page.hl-content .home-luxury-pagination button { width: 44px; height: 44px; border: 0; border-bottom: 2px solid #193d332b; background: transparent; color: #58685f; font: 700 14px/1 "Mulish", Arial, sans-serif; cursor: pointer; }
  .home-page.hl-content .home-luxury-pagination button[aria-current="true"] { border-bottom-color: #c84c20; color: #193d33; }
}

/* Bright cinematic category cards, with original copy on a separate surface. */
.home-page.hl-content .home-luxury { position: relative; isolation: isolate; overflow: hidden; margin-top: 48px; padding: clamp(30px,4vw,56px); border: 1px solid #e1d9cb; border-radius: 28px; background: linear-gradient(135deg,#fffdf6,#f3eadc); color: #193d33; }
.home-page.hl-content .home-luxury::before { content: ""; position: absolute; z-index: -1; pointer-events: none; inset: -30%; background: radial-gradient(ellipse at 80% 80%,#eaa87d21,transparent 48%); animation: holiday-luxury-atmosphere 12s ease-in-out infinite alternate; animation-play-state: paused; }
.home-page.hl-content .home-luxury:has([data-luxury-motion="running"])::before { animation-play-state: running; }
.home-page.hl-content .home-luxury h2 { color: #193d33; max-width: 22ch; }
.home-page.hl-content .home-luxury .eyebrow { color: #b34b24 !important; }
.home-page.hl-content .home-luxury-heading > p { color: #58685f; }
.home-page.hl-content .home-luxury .luxury-tabs { gap: 20px; }
.home-page.hl-content .home-luxury .luxury-story-card { position: relative; isolation: isolate; display: flex; flex-direction: column; overflow: hidden; min-height: 0; padding: 0; border: 1px solid #193d332b; border-radius: 20px; background: #153c33; color: #fffdf7; transform: translateY(38px); opacity: .4; transition: transform .85s cubic-bezier(.2,.7,.2,1),opacity .85s ease,border-color .3s ease,box-shadow .3s ease; }
.home-page.hl-content .home-luxury .luxury-story-smart { transition-delay: .12s; }
.home-page.hl-content .home-luxury .luxury-story-super { transition-delay: .24s; }
.home-page.hl-content .home-luxury [data-luxury-revealed="true"] { transform: translateY(0); opacity: 1; }
.home-page.hl-content .home-luxury .luxury-story-photo { position: relative; flex: 0 0 auto; width: 100%; aspect-ratio: 1.45; border-radius: 0; }
.home-page.hl-content .home-luxury .luxury-story-photo::before { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(180deg,transparent 90%,#153c3320 100%); }
.home-page.hl-content .home-luxury .luxury-story-image { position: absolute; inset: 0; opacity: 0; transition: opacity 1.3s ease; animation: holiday-luxury-camera 8s linear infinite alternate; animation-play-state: paused; }
.home-page.hl-content .home-luxury .luxury-story-image.is-active { opacity: 1; }
.home-page.hl-content .home-luxury [data-luxury-motion="running"] .luxury-story-image.is-active { animation-play-state: running; }
.home-page.hl-content .home-luxury .luxury-story-smart .luxury-story-image { animation-direction: alternate-reverse; }
.home-page.hl-content .home-luxury .luxury-story-content { position: relative; flex: 1; padding: 24px; gap: 12px; background: #153c33; }
.home-page.hl-content .home-luxury .luxury-story-content strong { font-size: clamp(26px,2.25vw,34px); color: #fffdf7; }
.home-page.hl-content .home-luxury .luxury-story-description { min-height: 3.1em; color: #f1f4e9; font-size: 16px; }
.home-page.hl-content .home-luxury .luxury-story-action { display: flex; align-items: center; gap: 24px; width: 100%; min-height: 44px; margin-top: auto; justify-content: space-between; border-color: #fffdf775; color: #fffdf7; }
.home-page.hl-content .home-luxury .luxury-story-action-icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: #df8150; color: #09291e; transition: transform .3s ease; }
.home-page.hl-content .home-luxury .luxury-story-action-icon svg { display: block; }
.home-page.hl-content .home-luxury .luxury-story-card::after { content: ""; position: absolute; z-index: 4; top: 0; left: 0; width: 70%; height: 3px; pointer-events: none; background: linear-gradient(90deg,transparent,#efa573,transparent); animation: holiday-luxury-light 5s ease-in-out infinite alternate; animation-play-state: paused; }
.home-page.hl-content .home-luxury [data-luxury-motion="running"]::after { animation-play-state: running; }
.home-page.hl-content .home-luxury .luxury-story-smart::after { animation-delay: -1.7s; }
.home-page.hl-content .home-luxury .luxury-story-super::after { animation-delay: -3.4s; }
@keyframes holiday-luxury-camera { from { transform: translate3d(-1%,.5%,0) scale(1.025); } to { transform: translate3d(1%,-.5%,0) scale(1.08); } }
@keyframes holiday-luxury-light { from { transform: translateX(-25%); } to { transform: translateX(65%); } }
@keyframes holiday-luxury-atmosphere { from { transform: translate3d(-3%,0,0); } to { transform: translate3d(3%,-3%,0); } }
@media (hover:hover) and (pointer:fine) {
  .home-page.hl-content .home-luxury .luxury-story-card:hover { transform: translateY(-6px); border-color: #d27844; box-shadow: 0 18px 36px #193d3326; transition-delay: 0s; }
  .home-page.hl-content .home-luxury .luxury-story-card:hover .luxury-story-action { color: #fffdf7; border-color: #efaa7c; }
  .home-page.hl-content .home-luxury .luxury-story-card:hover .luxury-story-action-icon { transform: rotate(45deg); }
}
@media (max-width:760px) {
  .home-page.hl-content .home-luxury { margin-top: 32px; border-radius: 22px; padding: 30px 16px 24px; }
  .home-page.hl-content .home-luxury .luxury-story-card { flex: 0 0 91%; }
  .home-page.hl-content .home-luxury .luxury-story-card:last-child { margin-right: 9%; }
  .home-page.hl-content .home-luxury .luxury-story-photo { aspect-ratio: 1.4; }
  .home-page.hl-content .home-luxury .luxury-story-content { padding: 22px 20px; }
  .home-page.hl-content .home-luxury .luxury-story-content strong { font-size: 29px; }
  .home-page.hl-content .home-luxury-pagination:not([hidden]) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 16px; }
  .home-page.hl-content .home-luxury-pagination button { width: 100%; min-width: 0; height: auto; min-height: 48px; padding: 9px 3px; font-size: 14px; line-height: 1.4; white-space: normal; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page.hl-content .home-luxury::before,
  .home-page.hl-content .home-luxury .luxury-story-card::after,
  .home-page.hl-content .home-luxury .luxury-story-image { animation: none; transform: none; transition: none; }
  .home-page.hl-content .home-luxury .luxury-story-card { opacity: 1; transform: none; transition: none; }
  .home-page.hl-content .home-luxury .luxury-story-action-icon { transition: none; }
}

/* iPhone: one horizontal scrolling axis, native vertical page scrolling. */
@media (max-width:760px) {
  .home-page.hl-content .home-luxury .luxury-tabs { overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; overscroll-behavior-y:none; touch-action:pan-x pan-y pinch-zoom; align-items:stretch; }
  .home-page.hl-content .home-luxury .luxury-story-card { transform:none; opacity:1; transition:border-color .3s ease,box-shadow .3s ease; }
}
