/* Paraiso Maravilla — "hacienda nocturne" variant.
   Theme tokens are inverted (ink = candle cream, paper = espresso), so the
   on-dark components of the master are re-pointed here. */
.v-hacienda {
  --scrim-rgb: 12 8 5;
  --scrim-base: .3;
  --scrim-text: .58;
  --scrim-top: .7;
  --rule-light: color-mix(in srgb, var(--ink) 26%, transparent);
  --night: #0e0a07;
  --terracotta: #b8653f;
  --arch: 999px 999px 0 0;
}
.v-hacienda h1, .v-hacienda h2, .v-hacienda h3 { font-weight: 400; letter-spacing: -.015em; }
.v-hacienda .label { color: var(--accent); letter-spacing: .24em; }
.v-hacienda .h2 em, .v-hacienda .h2 { font-optical-sizing: auto; }

/* on-dark surfaces */
.v-hacienda .hero, .v-hacienda .film, .v-hacienda .menu, .v-hacienda .visit, .v-hacienda .footer { background: var(--night); color: var(--ink); }
.v-hacienda .site-header, .v-hacienda.menu-open .site-header, .v-hacienda .hero__credit { color: var(--ink); }
.v-hacienda .btn--light { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.v-hacienda .btn--light:hover { background: transparent; color: var(--ink); }
.v-hacienda .btn--ghost-light { color: var(--ink); border-color: var(--rule-light); }
.v-hacienda .btn--ghost-light:hover { border-color: var(--ink); }
.v-hacienda .visit .label { color: var(--accent); }
.v-hacienda .field input, .v-hacienda .field textarea, .v-hacienda .field select { color: var(--ink); }
.v-hacienda .field select option { background: var(--paper); color: var(--ink); }
.v-hacienda .field input:focus, .v-hacienda .field textarea:focus, .v-hacienda .field select:focus { border-color: var(--accent); }
.v-hacienda .demo-tag { background: var(--ink); color: var(--paper); border-color: transparent; }
.v-hacienda ::selection { background: var(--accent); color: var(--night); }

/* wordmark: script-like italic, echoing their real script logo (swap in logo file at go-live) */
.v-hacienda .wordmark { font-style: italic; text-transform: none; letter-spacing: 0; padding-left: 0; font-size: clamp(1.35rem, 1.1rem + .9vw, 1.8rem); }
.v-hacienda .footer__mark { font-style: italic; text-transform: none; letter-spacing: -.02em; font-weight: 400; color: var(--accent); }

/* centred hero, unlike the master's bottom-left lockup */
.v-hacienda .hero { justify-content: center; }
.v-hacienda .hero__scrim { background:
  radial-gradient(ellipse 48% 46% at 50% 45%, rgb(var(--scrim-rgb) / var(--scrim-text)) 0%, rgb(var(--scrim-rgb) / calc(var(--scrim-text) * .82)) 55%, rgb(var(--scrim-rgb) / 0) 100%),
  linear-gradient(to bottom, rgb(var(--scrim-rgb) / var(--scrim-top)) 0%, rgb(var(--scrim-rgb) / 0) 20%, rgb(var(--scrim-rgb) / 0) 74%, rgb(var(--scrim-rgb) / .78) 100%),
  rgb(var(--scrim-rgb) / var(--scrim-base)); }
.v-hacienda .hero__content { display: flex; flex-direction: column; align-items: center; text-align: center; padding-bottom: var(--s9); padding-top: var(--s8); }
.v-hacienda .hero__eyebrow { letter-spacing: .26em; color: var(--ink); }
.v-hacienda .hero__title { font-size: clamp(2.4rem, 1rem + 4.4vw, 6rem); line-height: 1.02; max-width: none; }
.v-hacienda .hero__title .line { white-space: nowrap; }
.v-hacienda .hero__title .line:nth-child(2) > span { padding-left: 0; font-style: italic; color: color-mix(in srgb, var(--ink) 82%, var(--accent)); }
.v-hacienda .hero__aside { padding-bottom: 0; margin-top: var(--s6); display: flex; flex-direction: column; align-items: center; }
.v-hacienda .hero__aside p { max-width: 44ch; margin-inline: auto; }
.v-hacienda .hero__ctas { justify-content: center; }
.v-hacienda .hero__meta { position: absolute; left: 0; right: 0; bottom: var(--s6); justify-content: center; }

/* intro: wide centred statement */
.v-hacienda .intro__label { grid-column: 1 / -1; text-align: center; }
.v-hacienda .intro__main { grid-column: 2 / 12; text-align: center; }
.v-hacienda .intro .statement { margin-inline: auto; max-width: 30ch; }
.v-hacienda .intro__body { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s6); text-align: left; max-width: 60rem; margin: var(--s8) auto 0; }
.v-hacienda .fact dd { color: var(--accent); font-weight: 400; }
.v-hacienda .fact { text-align: center; }

/* arches: the house's defining shape, used on portrait frames */
.v-hacienda .day__sticky, .v-hacienda .day__img, .v-hacienda .day__img img { border-radius: var(--arch); overflow: hidden; }
.v-hacienda .pair__a .frame img, .v-hacienda .gallery__item--2 .frame img { border-radius: var(--arch); }
.v-hacienda .day { background: var(--stone); }
.v-hacienda .day__time { color: var(--accent); }

/* pair note set as a heritage line */
.v-hacienda .pair__note { font-family: var(--font-display); font-style: italic; font-size: var(--t-lg); color: var(--ink); }

.v-hacienda .price__from { color: var(--accent); }
.v-hacienda .faq { background: var(--stone); }
.v-hacienda .review blockquote p { font-style: italic; }

/* film: daylight drone, so text sits bottom-left on a deep gradient */
.v-hacienda .film { align-items: flex-end; }
.v-hacienda .film__scrim { background: linear-gradient(to top, rgb(var(--scrim-rgb) / .92) 0%, rgb(var(--scrim-rgb) / .68) 34%, rgb(var(--scrim-rgb) / .12) 72%); }
.v-hacienda .film__content { text-align: left; padding-bottom: var(--s9); }
.v-hacienda .film__line { margin: 0 0 var(--s4); max-width: 20ch; font-size: clamp(1.9rem, 1.1rem + 2.6vw, 3.8rem); font-weight: 400; }
.v-hacienda .film__sub { margin: 0; color: var(--accent); opacity: 1; }
.v-hacienda .spaces__cap { font-variant-numeric: lining-nums; }

@media (max-width: 1100px) { .v-hacienda .hero__title .line { white-space: normal; } }
@media (max-width: 767px) {
  /* text block is taller than wide on phones: widen the text-zone scrim */
  .v-hacienda .hero__scrim { background:
    radial-gradient(ellipse 95% 50% at 50% 44%, rgb(var(--scrim-rgb) / calc(var(--scrim-text) + .04)) 0%, rgb(var(--scrim-rgb) / calc(var(--scrim-text) * .8)) 60%, rgb(var(--scrim-rgb) / .2) 100%),
    linear-gradient(to bottom, rgb(var(--scrim-rgb) / var(--scrim-top)) 0%, rgb(var(--scrim-rgb) / 0) 14%),
    rgb(var(--scrim-rgb) / var(--scrim-base)); }
  .v-hacienda .film__scrim { background: linear-gradient(to top, rgb(var(--scrim-rgb) / .94) 0%, rgb(var(--scrim-rgb) / .74) 42%, rgb(var(--scrim-rgb) / .15) 80%); }
  .v-hacienda .header-cta { white-space: nowrap; font-size: 10px; padding: .7em .9em; min-height: 40px; }
  .v-hacienda .wordmark { font-size: 1.25rem; }
  .v-hacienda .hero__content { padding-top: var(--s10); }
  .v-hacienda .hero__title { font-size: clamp(2.3rem, 9.5vw, 3.2rem); }
  .v-hacienda .hero__meta { display: none; }
  .v-hacienda .intro__main { grid-column: 1 / -1; }
  .v-hacienda .intro__body { grid-template-columns: 1fr; }
  .v-hacienda .day__step-img .frame img { border-radius: var(--arch); }
}
