/* Phase-one Figma pilot: scoped to the approved homepage and S12-12 routes. */
.duke-figma-pilot-home,
.duke-page-room.duke-figma-pilot-room {
  --figma-pilot-container: 1280px;
  --figma-pilot-gutter: clamp(20px, 4vw, 64px);
  --figma-pilot-header: 80px;
  --figma-pilot-radius: 20px;
  --figma-pilot-navy: var(--p1-navy, #0e1a29);
  --figma-pilot-forest: var(--p1-forest, #2d4a3e);
  --figma-pilot-cream: var(--p1-cream, #f6efdf);
  --figma-pilot-soft: var(--p1-cream-soft, #fbf8f1);
  --figma-pilot-sand: var(--p1-sand, #dfc89d);
  --figma-pilot-line: var(--p1-line, #ded8cc);
  min-width: 0;
  overflow-x: clip;
  font-family: Inter, system-ui, sans-serif;
}

.duke-figma-pilot-home *,
.duke-figma-pilot-home *::before,
.duke-figma-pilot-home *::after,
.duke-page-room.duke-figma-pilot-room *,
.duke-page-room.duke-figma-pilot-room *::before,
.duke-page-room.duke-figma-pilot-room *::after {
  min-width: 0;
  box-sizing: border-box;
}

.duke-figma-pilot-home .p1-container {
  width: min(calc(100% - (2 * var(--figma-pilot-gutter))), var(--figma-pilot-container));
}

.duke-figma-pilot-home .p1-header__nav {
  width: min(calc(100% - (2 * var(--figma-pilot-gutter))), var(--figma-pilot-container));
  min-height: var(--figma-pilot-header);
}

.duke-figma-pilot-home .p1-header {
  background: rgba(255, 254, 250, .98);
}

.duke-figma-pilot-home .p1-brand__descriptor,
.duke-figma-pilot-home .p1-context-link {
  display: none;
}

.duke-figma-pilot-home .p1-hero {
  position: relative;
  min-height: min(720px, calc(100dvh - var(--figma-pilot-header)));
  padding: 0;
  overflow: clip;
  background: var(--figma-pilot-navy);
}

.duke-figma-pilot-home .p1-hero__grid {
  position: relative;
  display: block;
  width: 100%;
  min-height: inherit;
}

.duke-figma-pilot-home .p1-hero__visual {
  position: absolute;
  inset: 0;
  min-height: inherit;
  border-radius: 0;
}

.duke-figma-pilot-home .p1-hero__visual::after {
  z-index: 1;
  background: linear-gradient(90deg, rgba(9, 20, 33, .82) 0%, rgba(9, 20, 33, .48) 45%, rgba(9, 20, 33, .12) 78%);
}

.duke-figma-pilot-home .p1-hero__image {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.duke-figma-pilot-home .p1-hero__visual-kicker,
.duke-figma-pilot-home .p1-hero__visual figcaption,
.duke-figma-pilot-home .p1-hero__chips {
  display: none;
}

.duke-figma-pilot-home .p1-hero__content {
  position: relative;
  z-index: 2;
  width: min(calc(100% - (2 * var(--figma-pilot-gutter))), var(--figma-pilot-container));
  margin-inline: auto;
  padding: clamp(112px, 16vh, 168px) 0 210px;
}

.duke-figma-pilot-home .p1-hero__content > * {
  max-width: 560px;
}

.duke-figma-pilot-home .p1-hero h1 {
  max-width: 520px;
  font-size: clamp(48px, 5vw, 72px);
  letter-spacing: -.055em;
  line-height: .98;
}

.duke-figma-pilot-home .p1-hero__body {
  max-width: 520px;
  color: rgba(255, 255, 255, .82);
}

.duke-figma-pilot-home .p1-booking {
  z-index: 5;
  margin-top: -112px;
  padding: 0 0 56px;
  background: transparent;
}

.duke-figma-pilot-home .p1-booking__heading,
.duke-figma-pilot-home .p1-trust-strip {
  display: none;
}

.duke-figma-pilot-home .p1-search-card {
  width: 100%;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: var(--figma-pilot-radius);
  box-shadow: 0 24px 70px rgba(9, 20, 33, .2);
}

.duke-figma-pilot-home .p1-search-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(210px, .8fr);
}

.duke-figma-pilot-home .p1-search-field,
.duke-figma-pilot-home .p1-search-submit {
  min-height: 64px;
  border-radius: 14px;
}

.duke-figma-pilot-home .p1-section {
  padding-block: clamp(64px, 7vw, 104px);
}

.duke-figma-pilot-home .p1-heading {
  font-size: clamp(32px, 3vw, 46px);
}

.duke-figma-pilot-home .p1-cards--featured {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  overflow: visible;
}

.duke-figma-pilot-home .p1-card,
.duke-figma-pilot-home .p1-planning-card,
.duke-figma-pilot-home .p1-guide-feature,
.duke-figma-pilot-home .p1-guide-link-list,
.duke-figma-pilot-home .p1-trip,
.duke-figma-pilot-home .p1-hospitality {
  border-radius: var(--figma-pilot-radius);
}

@media (min-width: 768px) and (max-width: 1100px) {
  .duke-figma-pilot-home {
    --figma-pilot-gutter: clamp(28px, 4vw, 44px);
  }

  .duke-figma-pilot-home .p1-hero {
    min-height: 660px;
  }

  .duke-figma-pilot-home .p1-hero__content {
    padding-top: 116px;
  }

  .duke-figma-pilot-home .p1-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .duke-figma-pilot-home .p1-search-submit {
    grid-column: span 2;
  }

  .duke-figma-pilot-home .p1-cards--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
  }

  .duke-figma-pilot-home .p1-cards--featured .p1-card {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .duke-figma-pilot-home {
    --figma-pilot-gutter: 12px;
    --figma-pilot-header: 64px;
  }

  .duke-figma-pilot-home .p1-header__nav {
    min-height: var(--figma-pilot-header);
  }

  .duke-figma-pilot-home .p1-brand__wordmark {
    font-size: 10px;
  }

  .duke-figma-pilot-home .p1-language {
    min-width: 40px;
    padding-inline: 8px;
  }

  .duke-figma-pilot-home .p1-hero {
    min-height: calc(100dvh - var(--figma-pilot-header));
    padding: 0;
  }

  .duke-figma-pilot-home .p1-hero__content {
    width: calc(100% - (2 * var(--figma-pilot-gutter)));
    padding: 74px 8px 326px;
  }

  .duke-figma-pilot-home .p1-hero h1 {
    margin-top: 12px;
    font-size: clamp(38px, 12vw, 48px);
  }

  .duke-figma-pilot-home .p1-hero__body {
    max-width: 330px;
    font-size: 13px;
    line-height: 1.55;
  }

  .duke-figma-pilot-home .p1-hero__visual {
    margin: 0;
    border-radius: 0;
  }

  .duke-figma-pilot-home .p1-hero__visual::after {
    background: linear-gradient(180deg, rgba(9, 20, 33, .7) 0%, rgba(9, 20, 33, .28) 52%, rgba(9, 20, 33, .7) 100%);
  }

  .duke-figma-pilot-home .p1-booking {
    margin-top: -306px;
    padding: 0 0 30px;
  }

  .duke-figma-pilot-home .p1-booking__container {
    width: calc(100% - 20px);
  }

  .duke-figma-pilot-home .p1-search-card {
    padding: 10px;
    border-radius: 18px;
    background: rgba(255, 254, 250, .98);
  }

  .duke-figma-pilot-home .p1-search-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .duke-figma-pilot-home .p1-search-field,
  .duke-figma-pilot-home .p1-search-submit {
    min-height: 52px;
    border-radius: 12px;
  }

  .duke-figma-pilot-home .p1-section {
    padding-block: 46px;
  }

  .duke-figma-pilot-home .p1-section-heading {
    display: block;
  }

  .duke-figma-pilot-home .p1-heading {
    font-size: 28px;
  }

  .duke-figma-pilot-home .p1-cards--featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    margin: 24px 0 0;
    padding: 0;
    overflow: visible;
  }

  .duke-figma-pilot-home .p1-cards--featured .p1-card {
    width: 100%;
    max-width: none;
  }

  .duke-figma-pilot-home .p1-swipe-hint {
    display: none;
  }

  .duke-figma-pilot-home .p1-card,
  .duke-figma-pilot-home .p1-planning-card,
  .duke-figma-pilot-home .p1-guide-feature,
  .duke-figma-pilot-home .p1-trip,
  .duke-figma-pilot-home .p1-hospitality {
    border-radius: 14px;
  }

  .duke-figma-pilot-home .p1-mobile-menu {
    min-height: calc(100dvh - var(--figma-pilot-header));
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
}

.duke-page-room.duke-figma-pilot-room {
  background: var(--figma-pilot-soft);
  color: var(--figma-pilot-navy);
}

.duke-page-room.duke-figma-pilot-room .pilot-room-header {
  min-height: var(--figma-pilot-header);
  border-color: rgba(14, 26, 41, .08);
  background: rgba(255, 254, 250, .98);
}

.duke-page-room.duke-figma-pilot-room .pilot-room-container,
.duke-page-room.duke-figma-pilot-room .pilot-room-main,
.duke-page-room.duke-figma-pilot-room .pilot-room-footer > div {
  width: min(calc(100% - (2 * var(--figma-pilot-gutter))), var(--figma-pilot-container));
  max-width: none;
  margin-inline: auto;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-container {
  height: var(--figma-pilot-header);
  padding-inline: 0;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-hero {
  width: min(calc(100% - (2 * var(--figma-pilot-gutter))), var(--figma-pilot-container));
  margin: 28px auto 0;
  overflow: clip;
  border-radius: var(--figma-pilot-radius);
}

.duke-page-room.duke-figma-pilot-room .pilot-room-hero__trigger {
  min-height: min(650px, calc(100dvh - 136px));
}

.duke-page-room.duke-figma-pilot-room .pilot-room-hero__trigger::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 20, 33, .08), rgba(9, 20, 33, .38));
  content: '';
  pointer-events: none;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-hero__image {
  height: min(650px, calc(100dvh - 136px));
  min-height: 520px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-hero__trigger > span {
  z-index: 1;
  border-radius: 999px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-main {
  padding: 72px 0 96px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-breadcrumb {
  margin-bottom: 28px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-identity {
  align-items: end;
  margin-bottom: 36px;
  padding: 36px;
  border: 1px solid var(--figma-pilot-line);
  border-radius: var(--figma-pilot-radius);
  background: #fffefa;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-identity h1 {
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: 1;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-identity__booking a {
  border-radius: 999px;
  background: var(--figma-pilot-navy);
}

.duke-page-room.duke-figma-pilot-room .pilot-room-facts {
  gap: 12px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-fact {
  border-color: var(--figma-pilot-line);
  border-radius: 14px;
  background: #fffefa;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-intro,
.duke-page-room.duke-figma-pilot-room .pilot-room-highlights,
.duke-page-room.duke-figma-pilot-room .pilot-room-amenities,
.duke-page-room.duke-figma-pilot-room .pilot-room-location,
.duke-page-room.duke-figma-pilot-room .pilot-room-gallery,
.duke-page-room.duke-figma-pilot-room .pilot-room-conditions,
.duke-page-room.duke-figma-pilot-room .pilot-room-faq,
.duke-page-room.duke-figma-pilot-room .pilot-room-related {
  padding: 32px;
  border: 1px solid var(--figma-pilot-line);
  border-radius: var(--figma-pilot-radius);
  background: #fffefa;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-highlights,
.duke-page-room.duke-figma-pilot-room .pilot-room-location,
.duke-page-room.duke-figma-pilot-room .pilot-room-conditions {
  background: var(--figma-pilot-cream);
}

.duke-page-room.duke-figma-pilot-room .pilot-room-gallery > div {
  overflow: clip;
  border-radius: 14px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-thumb {
  border-radius: 12px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-conditions > h2,
.duke-page-room.duke-figma-pilot-room .pilot-room-conditions > div {
  padding-inline: 0;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-related > div:last-child {
  gap: 20px;
}

.duke-page-room.duke-figma-pilot-room .pilot-room-footer {
  padding-top: 72px;
  padding-bottom: 36px;
  background: var(--figma-pilot-navy);
}

.duke-page-room.duke-figma-pilot-room #lb {
  min-height: 100dvh;
}

@media (max-width: 767px) {
  .duke-page-room.duke-figma-pilot-room {
    --figma-pilot-gutter: 12px;
    --figma-pilot-header: 56px;
    padding-bottom: calc(58px + env(safe-area-inset-bottom));
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-header {
    min-height: var(--figma-pilot-header);
    backdrop-filter: none;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-container {
    width: calc(100% - 24px);
    height: var(--figma-pilot-header);
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-container .logo-img {
    height: 28px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-hero {
    width: 100%;
    margin-top: 0;
    border-radius: 0;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-hero__trigger {
    min-height: min(560px, calc(72dvh - var(--figma-pilot-header)));
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-hero__image {
    height: min(560px, calc(72dvh - var(--figma-pilot-header)));
    min-height: 420px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-main {
    width: 100%;
    padding: 0 0 54px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-breadcrumb {
    display: none;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-identity {
    position: relative;
    z-index: 2;
    width: calc(100% - 24px);
    margin: -42px auto 12px;
    padding: 22px;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(9, 20, 33, .14);
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-identity h1 {
    font-size: 34px;
    line-height: 1.04;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-identity__booking {
    width: 100%;
    text-align: left;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-identity__booking a {
    width: 100%;
    justify-content: center;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-facts {
    width: calc(100% - 24px);
    margin: 0 auto 12px;
    gap: 8px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-fact {
    padding: 16px 10px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-intro,
  .duke-page-room.duke-figma-pilot-room .pilot-room-highlights,
  .duke-page-room.duke-figma-pilot-room .pilot-room-amenities,
  .duke-page-room.duke-figma-pilot-room .pilot-room-location,
  .duke-page-room.duke-figma-pilot-room .pilot-room-gallery,
  .duke-page-room.duke-figma-pilot-room .pilot-room-conditions,
  .duke-page-room.duke-figma-pilot-room .pilot-room-faq,
  .duke-page-room.duke-figma-pilot-room .pilot-room-related {
    width: calc(100% - 24px);
    margin: 0 auto 12px;
    padding: 22px;
    border-radius: 16px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-gallery > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-thumb img {
    height: 116px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-related > div:last-child {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .duke-page-room.duke-figma-pilot-room .pilot-room-footer > div {
    width: calc(100% - 32px);
  }

  .duke-page-room.duke-figma-pilot-room .sm\:hidden.fixed.bottom-0 {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .duke-page-room.duke-figma-pilot-room #lb > div {
    padding: max(52px, env(safe-area-inset-top)) 48px max(52px, env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .duke-figma-pilot-home *,
  .duke-figma-pilot-home *::before,
  .duke-figma-pilot-home *::after,
  .duke-page-room.duke-figma-pilot-room *,
  .duke-page-room.duke-figma-pilot-room *::before,
  .duke-page-room.duke-figma-pilot-room *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
