/* Kim, 15.10.2026: warm editorial homepage, original type and hotel data retained. */
.home-page.hl-content {
  --home-curated-cream: #f1eee3;
  --home-curated-paper: #faf8f1;
  background: var(--home-curated-cream);
}
/* Keep the Finder surround continuous with the page; its own green surface stays intact. */
.home-page.hl-content .home-search-wrap {
  background: var(--home-curated-cream);
}
/* Magazine content sits on the same cream canvas, with room around text and cards. */
.home-page.hl-content .home-magazine {
  margin-top: clamp(28px, 3vw, 44px);
  padding: 48px clamp(24px, 3vw, 44px) 64px;
  background: transparent;
  border-color: transparent;
}
.home-page.hl-content .home-luxury {
  background: linear-gradient(135deg, #faf8f0, #ece5d7);
  border-color: #ddd3c1;
}
.home-page.hl-content .service-finale { border-top-color: #d3cbb9; }
.home-page.hl-content .intro-trust {
  align-items: center;
  padding-top: 68px;
  padding-bottom: 64px;
  gap: 36px clamp(36px, 5vw, 72px);
}
.home-page.hl-content .intro-trust .hl-section-title span { color: #b05b37; }
.home-page.hl-content .intro-trust .intro-copy-block { max-width: 510px; }
.home-page.hl-content .intro-trust .intro-visual {
  position: relative;
  padding: 24px 8px 0 0;
}
.home-page.hl-content .intro-trust .intro-photo-motion,
.home-page.hl-content .intro-trust .intro-photo-link {
  border-radius: 46% 26px 26px 26px;
}
.home-page.hl-content .intro-trust .intro-photo-motion {
  isolation: isolate;
  background: #d9d8c9;
}
.home-page.hl-content .intro-trust .intro-photo-link {
  height: clamp(390px, 37vw, 535px);
}
.home-page.hl-content .intro-trust .intro-photo-link::after {
  background: linear-gradient(180deg, transparent 50%, #08251d0a 70%, #08251d66);
}
.home-page.hl-content .intro-trust .intro-photo-kicker { display: none; }
.home-page.hl-content .intro-trust .intro-photo-discover {
  left: auto;
  right: 22px;
  bottom: 24px;
  gap: 16px;
}
.home-page.hl-content .intro-trust .intro-visual .intro-curation-note {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-items: start;
  gap: 6px 24px;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 24px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.home-page.hl-content .intro-trust .intro-curation-note .intro-category {
  grid-row: 1;
  grid-column: 1;
  margin: 0 0 3px;
  padding: 0;
  color: #a94f2c;
  white-space: normal;
}
.home-page.hl-content .intro-trust .intro-curation-note > div { min-width: 0; grid-column: 1; grid-row: 2; }
.home-page.hl-content .intro-trust .intro-curation-note .intro-hotel-name {
  overflow-wrap: anywhere;
}
.home-page.hl-content .intro-trust .intro-curation-note .intro-hotel-place {
  margin-top: 4px;
}
.home-page.hl-content .intro-trust .intro-curation-note .intro-portfolio-link {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  margin: 0;
  text-align: left;
}
.home-page.hl-content .intro-curation-seal {
  position: absolute;
  top: 0;
  right: -4px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: clamp(112px, 10.7vw, 145px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #b65c39;
  color: #fffdf7;
  box-shadow: 0 10px 24px #193d3312;
  pointer-events: none;
}
.home-page.hl-content .intro-curation-seal .curation-seal-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: holiday-curation-seal 36s linear infinite;
  animation-play-state: paused;
}
.home-page.hl-content .intro-curation-seal text {
  fill: currentColor;
  font: 700 8.5px/1 "Mulish", Arial, sans-serif;
  letter-spacing: 1px;
}
.home-page.hl-content [data-curated-motion="running"] .curation-seal-ring {
  animation-play-state: running;
}
.home-page.hl-content .intro-curation-seal .curation-seal-arrow {
  width: 31%;
  height: 31%;
}
@keyframes holiday-curation-seal { to { transform: rotate(360deg); } }
/* Individual translate composes with the existing camera transform/crossfade.
   No frame is wrapped, reparented or replaced while the selection rotates. */
@media (hover: hover) and (pointer: fine) {
  .home-page.hl-content .intro-photo-frame,
  .home-page.hl-content .luxury-story-image,
  .home-page.hl-content .service-finale-image img {
    translate: var(--curated-pointer-x, 0px) var(--curated-pointer-y, 0px);
    transition-property: opacity, translate;
    transition-duration: 1.2s, .55s;
    transition-timing-function: ease, cubic-bezier(.2,.65,.2,1);
  }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .home-page.hl-content .intro-trust { gap: 30px; }
  .home-page.hl-content .intro-trust .intro-photo-link { height: 420px; }
  .home-page.hl-content .intro-trust .intro-visual .intro-curation-note {
    width: 100%;
    margin: 0;
    padding: 22px 0 0;
  }
  .home-page.hl-content .intro-trust .intro-photo-discover { bottom: 24px; right: 16px; }
}
@media (max-width: 1200px) {
  .home-page.hl-content .intro-trust .intro-visual .intro-curation-note { grid-template-columns: minmax(0, 1fr); }
  .home-page.hl-content .intro-trust .intro-curation-note .intro-portfolio-link { grid-column: 1; grid-row: 3; margin-top: 12px; }
}
@media (max-width: 760px) {
  .home-page.hl-content .home-magazine {
    margin-top: 20px;
    padding: 32px 16px 44px;
  }
  .home-page.hl-content .intro-trust {
    padding: 34px 8px 38px;
    gap: 24px;
  }
  .home-page.hl-content .intro-trust .intro-visual { padding: 16px 0 0; }
  .home-page.hl-content .intro-trust .intro-photo-motion,
  .home-page.hl-content .intro-trust .intro-photo-link {
    border-radius: 42% 20px 20px 20px;
  }
  .home-page.hl-content .intro-trust .intro-photo-link {
    height: clamp(300px, 91vw, 430px);
  }
  .home-page.hl-content .intro-trust .intro-photo-discover {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
  .home-page.hl-content .intro-trust .intro-visual .intro-curation-note {
    width: 100%;
    margin: 0;
    padding: 20px 0 0;
    border-radius: 0;
    box-shadow: none;
  }
  .home-page.hl-content .intro-curation-seal {
    top: 0;
    right: 8px;
    width: 104px;
  }
}
@media (max-width: 360px) {
  .home-page.hl-content .intro-trust .intro-visual .intro-curation-note { padding: 18px 0 0; }
  .home-page.hl-content .intro-trust .intro-curation-note .intro-portfolio-link { gap: 10px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page.hl-content .intro-curation-seal .curation-seal-ring { animation: none; }
  .home-page.hl-content .intro-photo-frame,
  .home-page.hl-content .luxury-story-image,
  .home-page.hl-content .service-finale-image img {
    translate: none;
    transition: none;
  }
}

/* Kim, 21.10: compact desktop cards follow their own content height.
   Stretching every card to the longest name created large blank CTA gaps. */
@media (min-width:1001px) {
  .home-page.hl-content .resorts .resort-grid { align-items:flex-start; }
  .home-page.hl-content .resorts .hl-resort-card { align-self:flex-start; }
  .home-page.hl-content .resorts .hl-resort-card__visual { aspect-ratio:16/9; }
  .home-page.hl-content .resorts .hl-resort-card__body { flex:0 1 auto; padding:16px 20px 18px !important; }
  .home-page.hl-content .resorts .hl-resort-card__luxury { margin-top:12px; }
  .home-page.hl-content .resorts .hl-resort-card__tags { margin-top:10px; }
  .home-page.hl-content .resorts .hl-resort-card__fact { margin-top:12px; }
  .home-page.hl-content .resorts .hl-resort-card__fact + .hl-resort-card__fact { margin-top:0; }
  .home-page.hl-content .resorts .hl-resort-card__price { margin-top:10px; }
  .home-page.hl-content .resorts .hl-resort-card__cta { margin-top:0; }
  .home-page.hl-content .resorts .hl-resort-card__price { margin-bottom:15px; }
}

/* Kim, 21.10.2026: three complete cards and half of the next card.
   The partial card makes the horizontal browsing direction visible. */
@media (min-width:1440px) {
  .home-page.hl-content .resorts.home-section {
    width:min(1720px, calc(100% - 64px));
  }
  .home-page.hl-content .resorts .resort-grid > .hl-resort-card {
    flex-basis:calc((100% - 3 * var(--hl-resort-card-gap)) / 3.5) !important;
    width:calc((100% - 3 * var(--hl-resort-card-gap)) / 3.5);
  }
  .home-page.hl-content .home-carousel-controls [data-home-carousel-prev] { left:8px; }
  .home-page.hl-content .home-carousel-controls [data-home-carousel-next] { right:8px; }
}
@media (min-width:1001px) and (pointer:fine) {
  .home-page.hl-content .resorts .resort-grid[data-home-mouse-drag="ready"] { cursor:grab; user-select:none; }
  .home-page.hl-content .resorts .resort-grid[data-home-mouse-drag="ready"] a { cursor:inherit; }
  .home-page.hl-content .resorts .resort-grid[data-home-mouse-drag="ready"] img { -webkit-user-drag:none; }
  .home-page.hl-content .resorts .resort-grid.is-mouse-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
}

/* Mobile follow-up approved by Kim: compact cards, same native swipe surface. */
@media (max-width:1000px) {
  .home-page.hl-content .resorts .resort-grid { align-items:flex-start; }
  .home-page.hl-content .resorts .hl-resort-card__visual { aspect-ratio:16/9; }
  .home-page.hl-content .resorts .hl-resort-card__body { padding:14px 16px 16px !important; }
  .home-page.hl-content .resorts .hl-resort-card__luxury { margin-top:10px; }
  .home-page.hl-content .resorts .hl-resort-card__tags { margin-top:10px; }
  .home-page.hl-content .resorts .hl-resort-card__fact { margin-top:12px; padding-block:9px; }
  .home-page.hl-content .resorts .hl-resort-card__fact + .hl-resort-card__fact { margin-top:0; }
  .home-page.hl-content .resorts .hl-resort-card__price { margin-top:10px; }
}
