/* Owner-approved copy; final motion, spacing and functional pictograms. */
.owner-final .opening__media img { object-position: 50% 72%; }
.owner-final .content-section__head { min-height: 660px; padding-block: 64px 280px; }
.owner-final .content-section__inner { position: relative; z-index: 2; padding-block: 20px 68px; }
.owner-final .content-section__head::before {
  background: linear-gradient(180deg,#102a338f 0%,#102a3347 35%,#102a3300 63%,#102a33 100%),linear-gradient(90deg,#102a3360,transparent 72%);
}
.owner-final .living { margin-top: -64px; padding-top: 150px; }
.owner-final .living__media { top: -50px; height: calc(100% + 50px); width: 72%; }
.owner-final .living__media img { transform-origin: 46% 38%; }
.owner-final .living::before {
  background: linear-gradient(180deg,#102a33 0%,#102a3370 11%,#102a3300 29%),linear-gradient(90deg,transparent 27%,#0b192038 48%,#0b1920f5 75%);
}
.owner-final .living__copy { position: relative; z-index: 1; }
.owner-final .fact-grid { gap: 0 28px; }
.owner-final .fact-grid dt { display: flex; align-items: center; gap: 12px; }
.owner-final .amenity-icon { width: 27px; height: 27px; flex: 0 0 27px; color: #dbc79b; }
.owner-final .fact-grid dd { padding-left: 39px; }
.owner-final .showreel video { display: block; background: #091b22; border-radius: 4px; box-shadow: 0 22px 60px #04111736; }
.owner-final.hide-floating-action .mobile-action { opacity: 0; visibility: hidden; pointer-events: none; }
.owner-final .host__media { overflow: hidden; }
.owner-final .host__media img { transition: transform 1.2s cubic-bezier(.2,.65,.25,1); }

/* Read the price as a summary, two service lists, then three payment steps. */
.owner-final .price { padding-top: 72px; }
.owner-final .price__lead { align-items: end; gap: 48px; margin-bottom: 42px; }
.owner-final .price__lead > div:last-child { border-left: 1px solid #b6a27a80; padding: 8px 0 8px 28px; margin-bottom: 8px; }
.owner-final .included-card { gap: 24px; align-items: start; }
.owner-final .included-card > div { padding: 30px 32px 18px; border: 1px solid #20343922; border-radius: 5px; background: #fffefa; }
.owner-final .included-card > div:first-child { border-top: 3px solid #536b60; }
.owner-final .included-card > div:last-child { background: #eeece5; border-top: 3px solid #b49d73; }
.owner-final .included-card h3 { border: 0; margin: 0 0 14px; padding: 0 0 16px; font-size: 1.4rem; }
.owner-final .included-card ul { list-style: none; padding: 0; margin: 0; }
.owner-final .included-card li { position: relative; padding: 16px 0 16px 30px; margin: 0; border-top: 1px solid #20343914; font-size: 1rem; line-height: 1.75; }
.owner-final .inclusion-icon { position: absolute; left: 0; top: 20px; width: 17px; height: 17px; color: #4f6b5b; }
.owner-final .included-card > div:last-child .inclusion-icon { color: #927c54; }
.owner-final .budget-summary { margin-top: 24px; padding: 26px 32px; border: 0; background: #e5e8e0; border-radius: 5px; gap: 28px; }
.owner-final .budget-summary strong { display: inline-block; font-size: 1.75rem; letter-spacing: -.04em; }
.owner-final .payment-flow { gap: 24px; margin-top: 40px; border: 0; }
.owner-final .payment-flow article, .owner-final .payment-flow article + article { display: block; position: relative; padding: 24px 0 8px; border: 0; border-top: 1px solid #243c3e40; }
.owner-final .payment-flow article > b { display: grid; place-items: center; gap: 0; width: 42px; height: 42px; padding: 0; border: 1px solid #243c3e40; border-radius: 50%; color: #314d4c; font: 500 .875rem/1 var(--body); font-variant-numeric: lining-nums tabular-nums; letter-spacing: 0; text-align: center; margin-bottom: 22px; }
.owner-final .payment-flow article > b::after { content: none; }
.owner-final .payment-flow h3 { font-size: 1.25rem; margin: 0 0 12px; }
.owner-final .payment-flow p { font-size: 1rem; line-height: 1.75; }
.owner-final .booking-panel { margin-top: 36px; border-radius: 5px; }

/* A fixed section label, with the dates inset toward the open part of the photo. */
.luxury-max.owner-final .trip-dates { position: relative; padding-block: 144px 88px; }
.owner-final .trip-dates > #dates-title { position: absolute; top: 64px; left: 0; margin: 0; font: 600 .75rem/1.5 var(--body); letter-spacing: .13em; text-transform: uppercase; }
.owner-final .date-card-grid { width: min(44%, 480px); margin-left: clamp(32px, 6vw, 104px); }
.owner-final .date-card { padding-block: 24px; }
.owner-final .date-card h3 { font-variant-numeric: lining-nums; }
.owner-final .hero__title-enter { display: inline-block; }

@media (prefers-reduced-motion: no-preference) and (min-height: 601px) {
  .owner-final.motion-enabled .opening__media img,
  .owner-final.motion-enabled .content-section__photo,
  .owner-final.motion-enabled .dates-scene__photo {
    top: -90px; height: calc(100% + 180px);
    transform: translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-scale,1.035));
  }
  /* Use existing overscan to show more trees without changing the image scale. */
  .owner-final.motion-enabled .opening__media img { top: -114px; }
  .owner-final.motion-enabled .content-section__photo { transform-origin: 50% 64%; }
  .owner-final.motion-enabled .living__media img {
    transform: translate3d(0,var(--photo-shift,0px),0) scale(var(--photo-scale,1.035));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .owner-final.polish-ready .polish-enter {
    opacity: 0; transform: translate3d(0,32px,0);
    transition: opacity 1.05s cubic-bezier(.2,.65,.25,1) var(--enter-delay,0ms),transform 1.35s cubic-bezier(.16,1,.3,1) var(--enter-delay,0ms),filter 1.1s ease var(--enter-delay,0ms);
  }
  .owner-final.polish-ready .polish-heading { transform: translate3d(0,42px,0); filter: blur(4px); }
  .owner-final.polish-ready .polish-interactive { transform: none; }
  .owner-final.polish-ready .polish-enter.has-entered,
  .owner-final.polish-ready .polish-enter:focus-within { opacity: 1; transform: none; filter: none; }
  .owner-final.polish-ready .polish-enter:focus-within { transition: none; }
  .owner-final.polish-ready .hero h1 {
    transform-origin: left center;
    transform: translate3d(0,calc(var(--hero-exit,0) * -26px),0) scale(calc(1 + var(--hero-exit,0) * .08));
    opacity: calc(1 - var(--hero-exit,0));
    filter: blur(calc(var(--hero-exit,0) * 5px));
  }
  .owner-final .hero-in-view h1 { will-change: transform,opacity; }
  .owner-final .hero__title-enter { animation: hero-title-arrive 1.65s cubic-bezier(.16,1,.3,1) .08s both; }
  .owner-final .hero__story { animation: hero-copy-arrive 1.25s cubic-bezier(.16,1,.3,1) .38s both; }
  .owner-final .hero__facts > div { animation: hero-copy-arrive 1.1s cubic-bezier(.16,1,.3,1) .56s both; }
  .owner-final .hero__facts > div:nth-child(2) { animation-delay: .64s; }
  .owner-final .hero__facts > div:nth-child(3) { animation-delay: .72s; }
  .owner-final .hero__facts > div:nth-child(4) { animation-delay: .8s; }
  @keyframes hero-copy-arrive {
    from { opacity: 0; transform: translate3d(0,18px,0); }
    to { opacity: 1; transform: none; }
  }
  @keyframes hero-title-arrive {
    from { opacity: 0; transform: translate3d(0,48px,0) scale(.98); filter: blur(12px); }
    to { opacity: 1; transform: none; filter: blur(0); }
  }
  .owner-final .faq details summary i { transition: transform .35s ease; }
  .owner-final .faq details[open] summary i { transform: rotate(45deg); }
  @media (hover:hover) {
    .owner-final .host__media:hover img { transform: scale(1.035); }
    .owner-final .date-card__action, .owner-final .availability-controls .button { transition: background-color .25s,color .25s,transform .25s; }
    .owner-final .date-card__action:hover, .owner-final .availability-controls .button:hover { transform: translateY(-3px); }
  }
}
@media (max-width: 1000px) {
  .owner-final .content-section__inner { padding-bottom: 44px; }
  .owner-final .included-card > div { padding: 24px 24px 12px; }
  .owner-final .budget-summary { padding: 24px; }
}
@media (max-width: 700px) {
  .owner-final .content-section__head { min-height: 640px; padding-block: 40px 300px; }
  .owner-final .content-section__inner { padding-block: 10px 38px; gap: 32px; }
  .owner-final .content-section__head::before { background: linear-gradient(180deg,#102a33b3 0%,#102a3360 34%,#102a3300 57%,#102a33 100%); }
  .owner-final .living { margin-top: -28px; padding-top: clamp(340px,98vw,560px); }
  .owner-final .living__media { width: 100%; top: -24px; height: calc(100vw * 4 / 3 + 24px); }
  .owner-final .living__media img { transform-origin: center 38%; }
  .owner-final .living::before { background: linear-gradient(180deg,#102a33 0%,#102a3355 65px,#102a3300 150px,#0b192000 260px,#0b1920 500px); }
  .owner-final .fact-grid { column-gap: 20px; }
  .owner-final .fact-grid dt { display: block; }
  .owner-final .amenity-icon { display: block; width: 29px; height: 29px; margin-bottom: 14px; }
  .owner-final .fact-grid dd { padding-left: 0; }
  .owner-final .price { padding-top: 48px; }
  .owner-final .price__lead { gap: 24px; }
  .owner-final .price__lead > div:last-child { padding-left: 18px; }
  .owner-final .included-card { gap: 18px; }
  .owner-final .included-card > div { padding: 24px 20px 10px; }
  .owner-final .included-card li { padding-block: 14px; }
  .owner-final .inclusion-icon { top: 18px; }
  .owner-final .budget-summary { padding: 24px 20px; gap: 14px; }
  .owner-final .payment-flow { grid-template-columns: 1fr; gap: 0; margin-top: 30px; }
  .owner-final .payment-flow article, .owner-final .payment-flow article + article { padding: 24px 0 24px 62px; }
  .owner-final .payment-flow article > b { position: absolute; left: 0; top: 24px; margin: 0; }
  .owner-final .booking-panel { margin-top: 22px; }
  .luxury-max.owner-final .trip-dates { justify-content: center; padding-block: 128px 64px; }
  .owner-final .trip-dates > #dates-title { top: 44px; }
  .owner-final .date-card-grid { width: min(60%, 260px); margin-left: 16px; gap: 20px; }
  .owner-final .date-card { padding-block: 16px; }
  .owner-final.polish-ready .polish-enter { transition-delay: min(var(--enter-delay,0ms),180ms); }
}
@media (prefers-reduced-motion: reduce) {
  .owner-final .polish-enter { opacity: 1 !important; transform: none !important; }
  .owner-final .living__media img { transform: none !important; }
  .owner-final .hero h1,.owner-final .hero__title-enter { opacity: 1 !important; transform: none !important; filter: none !important; }
}
