/* Home */
.home-page { background: var(--black); }

.hero-section {
  position: relative;
  isolation: isolate;
  height: 100vh;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
  color: var(--white);
}
.hero-section::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 15%), transparent 34%, rgb(0 0 0 / 45%) 100%), linear-gradient(90deg, transparent 39%, rgb(0 0 0 / 30%) 47%, transparent 55%), linear-gradient(90deg, rgb(0 0 0 / 50%), rgb(0 0 0 / 12%) 42%, rgb(0 0 0 / 28%) 100%);
  content: "";
}
.hero-section__fill,
.estate-section__image,
.estate-hero__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-section__fill img,
.estate-section__image img,
.estate-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.hero-section__fill img { object-position: var(--ecdc-hero-focus-x, 50%) var(--ecdc-hero-focus-y, 42%); filter: brightness(.7) saturate(.92); transform: scale(1.04); }
.hero-section__image { position: absolute; z-index: -1; top: 50%; right: -4.5rem; width: auto; height: min(100%, 70vw); transform: translateY(-50%); }
.hero-section__image img { width: auto; max-width: none; height: 100%; object-fit: contain; }
.hero-section__copy { position: absolute; top: 34.4%; left: var(--content-inset); margin: 0 !important; }
.hero-section h1,
.intro-section h2,
.estate-section h2,
.home-wine h2,
.home-experience h2 { margin: 0; color: inherit; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; }
.hero-section h1 { font-size: var(--hero-title-size); line-height: .93; }
.hero-section h1 span { display: block; }
.intro-section h2,
.estate-section h2,
.home-wine h2,
.home-experience h2 { display: grid; }
.hero-section__location { margin: 2.55rem 0 0 !important; font-size: var(--label-size); font-weight: 760; letter-spacing: .62em; }
.hero-section__location::after { display: inline-block; width: 1.05rem; height: 1px; margin-left: 1.15rem; background: var(--gold); vertical-align: middle; content: ""; }

.intro-section { background: radial-gradient(circle at 2% 18%, rgb(181 128 72 / 12%), transparent 18rem), radial-gradient(circle at 96% 24%, rgb(181 128 72 / 11%), transparent 20rem), var(--cream); }
.intro-section__inner { display: grid !important; width: var(--inner-width) !important; min-height: clamp(34rem, 68svh, 46rem); grid-template-columns: 1fr .74fr; gap: clamp(5.5rem, 10vw, 11rem); align-items: center !important; margin: 0 auto !important; padding: clamp(5rem, 8vh, 7.5rem) 0; }
.intro-section h2 { max-width: 33rem; font-size: var(--section-title-size); line-height: .93; }
.intro-section__copy { display: grid; align-self: center; justify-items: start; gap: 2.7rem; max-width: 22rem; padding-top: 1.1rem; color: rgb(25 23 19 / 78%); font-size: var(--body-size); line-height: 1.48; }
.intro-section__copy p { margin: 0 !important; }
.intro-section__copy .wp-block-buttons { margin-top: 0; }

.estate-section { position: relative; isolation: isolate; min-height: clamp(42rem, 92svh, 62rem); overflow: hidden; color: var(--white); }
.estate-section::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgb(0 0 0 / 55%), rgb(0 0 0 / 5%) 47%, rgb(0 0 0 / 62%)), linear-gradient(180deg, rgb(0 0 0 / 10%), rgb(0 0 0 / 42%)); content: ""; }
.estate-section__image { z-index: 0; }
.estate-section__image img { object-position: 50% 50%; filter: saturate(.9) contrast(1.12) brightness(.74); }
.estate-section__content { position: relative; z-index: 2; display: grid !important; width: var(--inner-width) !important; min-height: inherit; grid-template-columns: 1fr minmax(15rem, 19rem); gap: clamp(5rem, 11vw, 13rem); align-items: center !important; margin: 0 auto !important; }
.estate-section__headline { display: grid; align-self: center; justify-items: start; gap: 2.2rem; }
.estate-section h2 { font-size: calc(var(--section-title-size) * 1.18); line-height: .91; }
.estate-section__headline .wp-block-buttons { margin-top: 0; }
.estate-facts { gap: 0; border-left: 1px solid rgb(255 250 240 / 26%); }
.estate-facts > .estate-fact { margin-block-start: 0; }
.estate-fact { padding: .45rem 0 1.55rem 2rem; border-bottom: 1px solid rgb(255 250 240 / 18%); }
.estate-fact:last-child { border-bottom: 0; }
.estate-fact__label { margin: 0 0 .62rem !important; color: var(--gold); font-size: calc(var(--label-size) * .88); font-weight: 760; letter-spacing: .32em; }
.estate-fact__value { margin: 0 !important; font-size: calc(var(--body-size) * .96); font-weight: 700; }

.home-wine,
.home-experience { min-height: clamp(36rem, 72svh, 50rem); margin: 0 !important; gap: 0; }
.home-wine--dark { min-height: clamp(40rem, 88svh, 60rem); background: var(--black); color: var(--white); }
.home-wine--light,
.home-experience { background: var(--cream); color: var(--ink); }
.home-wine--light { min-height: clamp(34rem, 70svh, 48rem); }
.home-wine__copy,
.home-experience__copy { align-self: stretch; padding: clamp(5rem, 9vh, 7rem) var(--content-inset); }
.home-wine--dark .home-wine__copy { padding: clamp(5.5rem, 10vh, 8rem) 0 clamp(5rem, 9vh, 7rem) var(--content-inset); }
.home-wine--light .home-wine__copy { padding: clamp(5.5rem, 9vh, 7.5rem) var(--content-inset) clamp(5rem, 9vh, 7rem); color: rgb(25 23 19 / 78%); }
.home-experience__copy { padding: clamp(5rem, 9vh, 7rem) 3rem clamp(5rem, 9vh, 7rem) var(--content-inset); color: rgb(25 23 19 / 76%); }
.home-wine__copy > .wp-block-group,
.home-experience__copy > .wp-block-group { display: grid; height: 100%; align-content: center; justify-items: start; }
.home-wine h2,
.home-experience h2 { margin-bottom: 1.5rem; font-size: calc(var(--section-title-size) * .98); line-height: .92; }
.home-wine--light h2,
.home-experience h2 { color: var(--ink); }
.home-wine__image,
.home-experience__image { height: 100%; min-height: inherit; overflow: clip; }
.home-wine__image img,
.home-experience__image img { width: 100%; height: 100%; object-fit: cover; }
.home-wine__meta { color: var(--muted); font-size: calc(var(--label-size) * .86); font-weight: 760; letter-spacing: .38em; }
.home-wine--dark h2 { margin-bottom: 0; line-height: .9; }
.home-wine--dark .home-wine__meta { margin: 1.45rem 0 1.85rem !important; color: rgb(255 250 240 / 76%); }
.home-wine--dark .home-wine__copy p:not(.is-style-kicker):not(.home-wine__meta) { max-width: 18rem; margin: 0 0 2.15rem !important; color: rgb(255 250 240 / 76%); font-size: calc(var(--body-size) * .9); line-height: 1.45; }
.home-wine--light .is-style-kicker,
.home-experience .is-style-kicker { margin-bottom: 0 !important; }
.home-wine--light h2 { margin-bottom: 1.8rem; line-height: .91; }
.home-wine--light .home-wine__meta { margin: 0 0 2rem !important; font-size: calc(var(--body-size) * .94); line-height: 1.46; }
.home-wine--light .home-wine__copy p:not(.is-style-kicker):not(.home-wine__meta) { max-width: 26rem; margin: 0 0 2rem !important; font-size: calc(var(--body-size) * .94); line-height: 1.46; }
.home-experience h2 { max-width: 43rem; margin-bottom: 1.5rem; font-size: calc(var(--section-title-size) * .82); line-height: .98; }
.home-experience .home-experience__copy p:not(.is-style-kicker) { max-width: 21rem; margin: 0 0 1.55rem !important; font-size: calc(var(--body-size) * .88); line-height: 1.45; }
.home-wine__copy .wp-block-buttons,
.home-experience__copy .wp-block-buttons { margin: 0; line-height: 0; }

/* Estate and experiences */
.estate-page {
  --estate-gutter: clamp(1.25rem, 3.6vw, 5rem);
  --estate-width: min(100rem, calc(100% - var(--estate-gutter) * 2));
  --estate-photo-inset: max(var(--estate-gutter), calc((100vw - 100rem) / 2));
  --estate-text-inset: max(0px, calc(var(--content-inset) - var(--estate-photo-inset)));
  --estate-gap: clamp(.9rem, 1.5vw, 1.75rem);
  --estate-lead-height: clamp(22rem, 30vw, 36rem);
  --estate-detail-height: clamp(16rem, 21vw, 25rem);
  background: var(--cream);
}
.estate-page h1,
.estate-page h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; }
.estate-hero { position: relative; isolation: isolate; display: flex; height: min(42vw, 45rem); min-height: 34rem; align-items: end; overflow: hidden; color: var(--white); }
.estate-page--finca .estate-hero,
.experiences-page .estate-hero { height: 100vh; height: 100svh; min-height: 0; }
.estate-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 40%), transparent 35%, rgb(0 0 0 / 45%) 100%), linear-gradient(90deg, rgb(0 0 0 / 42%), rgb(0 0 0 / 5%) 50%, rgb(0 0 0 / 52%) 100%); content: ""; }
.estate-hero__image img { object-position: var(--ecdc-hero-focus-x, 50%) var(--ecdc-hero-focus-y, 57%); }
.experiences-hero .estate-hero__image img { object-position: var(--ecdc-hero-focus-x, 50%) var(--ecdc-hero-focus-y, 38%); }
.experiences-hero::after { background: linear-gradient(180deg, rgb(0 0 0 / 42%), transparent 35%, rgb(0 0 0 / 50%) 100%), linear-gradient(90deg, rgb(0 0 0 / 62%), rgb(0 0 0 / 44%) 27%, rgb(0 0 0 / 8%) 50%, rgb(0 0 0 / 48%) 75%, rgb(0 0 0 / 68%) 100%); }
.estate-hero__content { position: relative; display: grid !important; width: var(--inner-width) !important; grid-template-columns: minmax(0, 1fr) minmax(13rem, 18%); gap: 4rem; align-items: center !important; margin: 0 auto !important; padding: 8rem 0 3.5rem; }
.estate-hero__content > .wp-block-column:first-child { flex-basis: auto !important; flex-grow: 1; }
.estate-hero__content > .wp-block-column:last-child { flex: 0 0 18%; max-width: 18rem; }
.estate-hero h1 { color: inherit; font-size: clamp(4.5rem, 5.8vw, 7rem); line-height: .96; }
.estate-hero .is-style-kicker { margin-bottom: 1.75rem !important; color: #dcb886; font-size: .65rem; letter-spacing: .38em; }
.estate-hero__location { display: flex; align-items: center; gap: 1.5rem; margin: 3rem 0 0 !important; font-size: .6rem; font-weight: 700; letter-spacing: .36em; }
.estate-hero__location span { color: #dcb886; }
.estate-hero__facts { align-self: center; }
.estate-hero__facts .estate-facts { border-left: 0; }
.estate-hero__facts .estate-fact { padding: .8rem 0; }
.estate-hero__facts .estate-fact__label { margin-bottom: .4rem !important; font-size: .54rem; }
.estate-hero__facts .estate-fact__value { font-size: .85rem; font-weight: 400; line-height: 1.4; }
.estate-hero__facts > .wp-block-buttons { width: 100%; margin: 0; padding: 1.25rem 0 .8rem; border: 0; }
.estate-hero__facts > .wp-block-buttons > .wp-block-button { width: 100%; }
.estate-hero__facts .wp-block-button.is-style-text-link .wp-block-button__link { width: 100%; justify-content: space-between; gap: 1rem; font-size: .58rem; font-weight: 700; letter-spacing: .2em; line-height: 1.5; }
.estate-hero__facts .wp-block-button.is-style-text-link .wp-block-button__link::after { display: none; }
.estate-hero__facts .wp-block-button.is-style-text-link .wp-block-button__link > span:last-child { color: #dcb886; font-size: 1.2rem; line-height: 1.5; }
.experiences-hero__content { grid-template-columns: minmax(0, 1fr) minmax(17rem, 28%); text-shadow: 0 2px 12px rgb(0 0 0 / 30%); }
.experiences-hero__content > .wp-block-column:last-child { flex-basis: auto !important; max-width: none; }
.experiences-hero__copy .estate-chapter__note { max-width: 24rem; margin: 0 !important; color: var(--white); font-size: .9rem; line-height: 1.6; }
.experiences-hero__copy > .wp-block-buttons { width: 100%; margin-top: 2.5rem; padding: 0; }
.experiences-hero__copy > .wp-block-buttons > .wp-block-button { width: 100%; }
.experiences-hero__copy .wp-block-button.is-style-text-link .wp-block-button__link { width: 100%; justify-content: space-between; gap: 2rem; font-size: .62rem; font-weight: 700; letter-spacing: .15em; line-height: 1.5; }
.experiences-hero__copy .wp-block-button.is-style-text-link .wp-block-button__link::after { display: none; }
.experiences-hero__copy .wp-block-button.is-style-text-link .wp-block-button__link > span:last-child { color: #dcb886; font-size: 1.2rem; line-height: 1.5; }
.estate-section-chapter { padding: clamp(1.5rem, 2.2vw, 2.5rem) 0; }
.estate-section-chapter--light { background: var(--cream); color: var(--ink); }
.estate-section-chapter--dark { background: #10120e; color: var(--cream); }
.estate-composition { display: grid; gap: var(--estate-gap); width: var(--estate-width) !important; margin: 0 auto !important; }
.estate-composition > * { margin-block: 0 !important; }
.estate-chapter-row {
  display: grid !important;
  grid-template-columns: calc(28% + max(0px, var(--estate-text-inset) - clamp(1rem, 2.6vw, 3rem))) minmax(0, 1fr);
  gap: var(--estate-gap);
  margin: 0 !important;
  align-items: stretch !important;
}
.estate-chapter-row > .wp-block-column { flex-basis: auto !important; }
.estate-chapter { display: flex; height: 100%; flex-direction: column; align-items: start; justify-content: center; padding: 2rem clamp(1rem, 2.6vw, 3rem) 2rem var(--estate-text-inset); }
.estate-chapter__index { display: flex; gap: 1.2rem; align-items: center; margin: 0 0 2.5rem !important; color: #986c3d; font-size: .6rem; font-weight: 700; letter-spacing: .2em; line-height: 1.6; }
.estate-chapter__index strong { color: inherit; font-weight: inherit; }
.estate-chapter__index span { border-left: 1px solid currentColor; padding-left: 1.2rem; letter-spacing: .26em; }
.estate-chapter h2 { color: inherit; font-size: clamp(2.8rem, 4.15vw, 5rem); line-height: .96; }
.estate-chapter__note { max-width: 18rem; margin: 2rem 0 0 !important; color: #6c675d; font-size: .87rem; line-height: 1.55; }
.estate-section-chapter--dark .estate-chapter__note { color: #c2c0b6; }
.estate-section-chapter--dark .estate-chapter__index { color: #cfaa7d; }
.estate-chapter .wp-block-separator { width: 2.25rem; margin: 2rem 0 0; color: var(--gold); }
.estate-photo { position: relative; min-width: 0; height: var(--estate-detail-height); overflow: hidden; background: #302f23; }
.estate-photo.is-style-editorial-primary { height: var(--estate-lead-height); }
.estate-photo > a { display: block; height: 100%; cursor: zoom-in; }
.estate-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.estate-photo figcaption { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; z-index: 1; margin: 0; color: var(--white); font-size: .77rem; letter-spacing: normal; line-height: 1.5; pointer-events: none; text-align: start; text-shadow: 0 1px 8px rgb(0 0 0 / 40%); }
.estate-photo.is-style-editorial-primary figcaption { right: clamp(1.5rem, 4vw, 5rem); bottom: 2rem; left: auto; max-width: 12rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.1rem, 1.5vw, 1.55rem); line-height: 1.2; }
.estate-photo::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(0 0 0 / 60%)); pointer-events: none; content: ""; }
.estate-photo > a::before {
  position: absolute;
  z-index: 2;
  top: 1rem;
  right: 1rem;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 1px solid rgb(255 250 240 / 50%);
  border-radius: 50%;
  background: rgb(0 0 0 / 24%);
  color: var(--white);
  content: "↗";
  font-size: 1.2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
}
.estate-photo > a:hover::before,
.estate-photo > a:focus-visible::before { opacity: 1; }
@media (hover: hover) {
  .estate-photo:hover img { transform: scale(1.025); }
}
.estate-landscape__details,
.estate-harvest__details,
.experiences-details { min-width: 0; }
.estate-interlude { padding: clamp(2.5rem, 4vw, 4.5rem) var(--estate-gutter); background: linear-gradient(90deg, #eae2d2, var(--cream), #eae2d2); text-align: center; }
.estate-interlude p { max-width: none !important; margin: 0 !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3.4vw, 4rem); letter-spacing: -.055em; line-height: 1.08; }
.estate-interlude em { color: #8b6138; }

.landscape-photo-rail { display: grid; grid-template-columns: clamp(2.75rem, 4vw, 3.5rem) minmax(0, 1fr) clamp(2.75rem, 4vw, 3.5rem); gap: clamp(.65rem, 1.5vw, 1.25rem); align-items: center; min-width: 0; }
.landscape-photo-rail > * { margin-block: 0 !important; }
.landscape-photo-rail__controls { display: block; margin: 0; }
.landscape-photo-rail__control .wp-block-button__link { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 1px solid #716b60; border-radius: 50%; background: transparent; color: #302f23; font-size: 1.15rem; font-weight: 400; line-height: 1; transition: color 200ms ease, background 200ms ease, border-color 200ms ease, opacity 200ms ease; }
.landscape-photo-rail__control .wp-block-button__link:hover,
.landscape-photo-rail__control .wp-block-button__link:focus-visible { border-color: #302f23; background: #302f23; color: var(--white); }
.landscape-photo-rail__control.is-disabled .wp-block-button__link { opacity: .28; pointer-events: none; }
.landscape-photo-rail--on-dark .landscape-photo-rail__control .wp-block-button__link { border-color: #8e8d85; color: var(--cream); }
.landscape-photo-rail--on-dark .landscape-photo-rail__control .wp-block-button__link:hover,
.landscape-photo-rail--on-dark .landscape-photo-rail__control .wp-block-button__link:focus-visible { border-color: var(--cream); background: var(--cream); color: #10120e; }
.landscape-photo-rail__viewport { --landscape-rail-gap: var(--estate-gap); display: flex; gap: var(--landscape-rail-gap); height: clamp(16rem, 21vw, 25rem); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x mandatory; }
.landscape-photo-rail__viewport::-webkit-scrollbar { display: none; }
.landscape-photo-rail__slide { position: relative; flex: 0 0 auto; height: 100%; margin: 0 !important; overflow: hidden; background: #302f23; scroll-snap-align: start; }
.landscape-photo-rail__slide--wide { width: calc((100% - var(--landscape-rail-gap)) * .6667); }
.landscape-photo-rail__slide--narrow { width: calc((100% - var(--landscape-rail-gap)) * .3333); }
.landscape-photo-rail__slide--equal { width: calc((100% - var(--landscape-rail-gap) * 2) / 3); }
.landscape-photo-rail__slide--harvest-wide { width: calc((100% - var(--landscape-rail-gap)) * .5455); }
.landscape-photo-rail__slide--harvest-narrow { width: calc((100% - var(--landscape-rail-gap)) * .4545); }
.landscape-photo-rail__slide--gatherings-narrow { width: calc((100% - var(--landscape-rail-gap)) * .4); }
.landscape-photo-rail__slide--gatherings-wide { width: calc((100% - var(--landscape-rail-gap)) * .6); }
.landscape-photo-rail__slide > a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.landscape-photo-rail__slide img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.landscape-photo-rail__slide > a::before { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid rgb(255 250 240 / 50%); border-radius: 50%; background: rgb(0 0 0 / 24%); color: var(--white); content: "↗"; font-size: 1.2rem; opacity: 0; pointer-events: none; transition: opacity 200ms ease; }
.landscape-photo-rail__slide > a:hover::before,
.landscape-photo-rail__slide > a:focus-visible::before { opacity: 1; }
.experiences-details--gatherings .landscape-photo-rail__slide:first-child img { object-position: 50% 58%; }
@media (hover: hover) { .landscape-photo-rail__slide:hover img { transform: scale(1.025); } }

.experiences-interlude { padding-block: clamp(3rem, 4.5vw, 5rem); }
.experiences-newsletter { padding: clamp(4.5rem, 7vw, 8rem) 0; background: #e8dfcf; text-align: center; }
.experiences-newsletter__inner { width: var(--inner-width); max-width: none; margin: 0 auto !important; }
.experiences-newsletter h2 { font-size: clamp(3rem, 4.6vw, 5.5rem); line-height: 1.02; }
.experiences-newsletter em { color: #866039; }
.experiences-newsletter__inner > p:not(.kicker):not(.is-style-kicker) { margin: 2rem 0 !important; color: #6c675d; font-size: .9rem; line-height: 1.65; }
.experiences-newsletter .wp-block-buttons { justify-content: center; margin-top: 0; }
.experiences-newsletter__button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: space-between; gap: 3rem; padding: 1.35rem 1.6rem; border-radius: 0; font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-align: left; text-transform: uppercase; }
.experiences-newsletter__button .wp-block-button__link span { color: #d5b28a; font-size: 1.2rem; }

.estate-closing { background: #0b0c09; color: var(--cream); }
.estate-closing__landscape { position: relative; isolation: isolate; display: flex; min-height: clamp(22rem, 30vw, 35rem); align-items: end; overflow: hidden; }
.estate-closing__landscape::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 5%), rgb(0 0 0 / 60%) 72%, #090a08 100%); content: ""; }
.estate-closing__landscape > .wp-block-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.estate-closing__landscape > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
.estate-closing__thought { width: 17rem; margin: 0 var(--content-inset) 4rem auto !important; text-align: start; }
.estate-closing__thought p { margin: 0 0 2rem !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; line-height: 1.15; }
.estate-closing__thought > .wp-block-buttons { min-height: 1.5rem; align-items: center; }
.estate-closing .wp-block-button.is-style-text-link .wp-block-button__link::after { display: none; }

/* Catalog, wines, newsletter */
.catalog-page { background: #f6f3ea; color: var(--ink); }
.wine-intro { width: var(--inner-width); align-items: end !important; justify-content: space-between; margin: 0 auto; padding: clamp(3rem, 5vw, 5rem) 0 3rem; }
.wine-intro h1,
.wine-product h2,
.wine-closing p,
.newsletter-preview h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; line-height: .96; }
.wine-intro h1 { font-size: var(--section-title-size); }
.wine-intro__note { margin: 0 0 .25rem !important; color: #746c5f; font-size: .9rem; line-height: 1.6; }
.wine-catalog { width: var(--inner-width); grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0; margin: 0 auto; padding: 1rem 0 clamp(4rem, 6vw, 7rem); border-top: 1px solid rgb(25 23 19 / 18%); }
.wine-product { min-width: 0; padding: 2rem clamp(2rem, 5vw, 6rem) 0; }
.wine-product + .wine-product { border-left: 1px solid rgb(25 23 19 / 15%); }
.wine-product__image { position: relative; isolation: isolate; height: clamp(24rem, 33vw, 35rem); margin-bottom: 2.5rem; }
.wine-product__image::after { position: absolute; bottom: .75rem; left: 50%; z-index: -1; width: 8.5rem; height: 1rem; background: rgb(46 35 15 / 15%); border-radius: 50%; filter: blur(9px); transform: translateX(-50%); content: ""; }
.wine-product__image .wp-block-image,
.wine-product__image img { width: 100%; height: 100%; object-fit: contain; }
.wine-product__details { width: min(100%, 25rem); margin: 0 auto; text-align: center; }
.wine-product__variety { margin: 0 0 1.25rem !important; color: #866039; font-size: .65rem; font-weight: 750; letter-spacing: .3em; }
.wine-product h2 { font-size: clamp(2rem, 2.65vw, 3.3rem); }
.wine-product__origin { margin: 1rem 0 2rem !important; color: var(--muted); font-size: .78rem; }
.wine-vintages { margin-bottom: 1.5rem; }
.wine-vintages > .wine-vintage { margin-block-start: 0; }
.wine-vintage { justify-content: space-between; padding: 1.15rem 0; border-top: 1px solid rgb(25 23 19 / 17%); color: #746c5f; font-size: .85rem; }
.wine-vintage:last-child { border-bottom: 1px solid rgb(25 23 19 / 17%); }
.wine-vintage p { margin: 0 !important; }
.wine-vintage__status { color: #866039; font-size: .61rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wine-product .wp-block-buttons { margin-top: 1.5rem; }
.wine-product .wp-block-button { width: 100%; }
.wine-product .wp-block-button__link { display: flex; width: 100%; justify-content: space-between; }
.wine-waitlist-link .wp-block-button__link { align-items: center; gap: 1.5rem; padding: 1.3rem 1.2rem; border-radius: 0; font-size: .62rem; font-weight: 700; letter-spacing: .13em; line-height: 1.4; text-align: left; text-transform: uppercase; }
.wine-waitlist-link .wp-block-button__link > span:last-child { color: #d5b28a; font-size: 1.2rem; }
.wine-closing { padding: 4rem var(--content-inset); border-top: 1px solid rgb(25 23 19 / 12%); background: #ece5d6; text-align: center; }
.wine-closing > p { width: 100%; max-width: none !important; margin: 0 !important; font-size: clamp(2rem, 3.3vw, 4rem); line-height: 1.08; }
.wine-closing em,
.newsletter-preview em { color: #866039; }
.wine-closing .wp-block-buttons { align-items: flex-start; justify-content: center; margin-top: 2rem; font-size: .65rem; line-height: 1.5; }
.wine-closing .wp-block-buttons { min-height: 1.125rem; }
.wine-closing .wp-block-button.is-style-text-link .wp-block-button__link { gap: 1.5rem; font-size: .65rem; font-weight: 700; line-height: 1.5; letter-spacing: .16em; text-align: center; }
.wine-closing .wp-block-button.is-style-text-link .wp-block-button__link::after { display: none; }
.wine-closing .wp-block-button.is-style-text-link .wp-block-button__link > span:last-child { color: #866039; font-size: inherit; letter-spacing: inherit; }

.newsletter-preview { width: var(--inner-width); min-height: 70svh; margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) 0; }
.newsletter-preview h1 { font-size: clamp(3rem, 5.5vw, 6.5rem); line-height: 1.03; }
.newsletter-preview__wine { margin: 2.5rem 0 1.5rem !important; color: #866039; font-size: .66rem; font-weight: 700; letter-spacing: .16em; }
.newsletter-preview__note { max-width: 30rem; margin: 0 !important; color: #746c5f; font-size: .95rem; line-height: 1.7; }
.newsletter-preview .wp-block-buttons { margin-top: 2.5rem; }
.newsletter-preview__back { font-size: .72rem; line-height: 1.5; }
.newsletter-preview .newsletter-preview__back .wp-block-button__link { gap: 1rem; font-size: .72rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.newsletter-preview .newsletter-preview__back .wp-block-button__link { line-height: 1.5; }
.newsletter-preview .newsletter-preview__back .wp-block-button__link::after { display: none; }
.newsletter-preview .wp-block-button.is-style-text-link.newsletter-preview__back .wp-block-button__link > span:last-child { color: inherit; font-size: inherit; letter-spacing: inherit; }
.newsletter-variant { display: none; }
.newsletter-variant.is-active,
.newsletter-variant--default { display: block; }
.newsletter-page.has-newsletter-variant .newsletter-variant--default:not(.is-active) { display: none; }

/* Contact */
.contact-content { width: var(--inner-width); gap: clamp(3rem, 8vw, 9rem); align-items: start !important; margin: 0 auto !important; padding: clamp(3rem, 5vw, 5rem) 0 clamp(4rem, 7vw, 8rem); }
.contact-intro h1,
.contact-form-shell h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; line-height: .96; }
.contact-intro h1 { font-size: clamp(4rem, 5.8vw, 7rem); }
.contact-intro__note { max-width: 24rem; margin: 2rem 0 3rem !important; color: #746c5f; font-size: .93rem; line-height: 1.65; }
.contact-intro__landscape { overflow: hidden; }
.contact-intro__landscape img { width: 100%; aspect-ratio: 1.65; object-fit: cover; object-position: 50% 56%; }
.contact-intro__landscape figcaption { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.25rem; color: #866039; font-size: .57rem; font-weight: 700; letter-spacing: .2em; text-align: start; }
.contact-intro__landscape figcaption { margin-bottom: 0; }
.contact-form-shell { padding-top: .1rem; }
.contact-form-shell h2 { font-size: clamp(2rem, 2.5vw, 3rem); }
.contact-form-shell__note { margin: 1rem 0 !important; color: #746c5f; font-size: .73rem; }
.contact-form-shell > .wp-block-separator { margin: 1.75rem 0; }
.contact-form-shell > .wpcf7 { margin-top: 0; }
.wpcf7-form { display: grid; gap: 1.75rem; padding-bottom: 1.25rem; }
.wpcf7-form p { margin: 0 !important; }
.contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.contact-form__field { display: grid; min-width: 0; gap: .8rem; }
.contact-form__field label { display: block; color: var(--ink); font-size: .64rem; font-weight: 700; letter-spacing: .1em; line-height: 1.6; text-transform: uppercase; }
.contact-form__optional { display: inline-block; margin-left: .7rem; color: #746c5f; font-size: .6rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.wpcf7-form-control:not(.wpcf7-submit) { width: 100%; min-width: 0; margin: 0; padding: 1rem; border: 1px solid rgb(25 23 19 / 24%); border-radius: 0; background: rgb(255 250 240 / 36%); color: var(--ink); font-size: 1rem; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.wpcf7-textarea { height: calc(11rem + 2px); min-height: calc(11rem + 2px); resize: vertical; }
.contact-form__submit-wrap { position: relative; width: 14.7rem; }
.wpcf7-form .wpcf7-submit { width: 100%; height: 4.3rem; padding: 1.25rem 3.5rem 1.25rem 1.5rem; border: 0; border-radius: 0; background: var(--ink); color: var(--white); font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-align: left; text-transform: uppercase; cursor: pointer; }
.contact-form__submit-wrap > span { position: absolute; top: 50%; right: 1.5rem; color: #d5b28a; font-size: 1.2rem; transform: translateY(-50%); }
.contact-form__submit-wrap .wpcf7-spinner { display: none; }
.wpcf7-form .contact-form__demo { margin-top: -.5rem !important; color: #746c5f; font-size: .72rem; line-height: 1.6; }
.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output { font-size: .75rem; }

/* Shared gallery dialog */
.estate-lightbox {
  position: fixed;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 4rem 5rem 2rem;
  border: 0;
  background: rgb(10 12 9 / 97%);
  color: var(--white);
}
.estate-lightbox[open] {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3rem;
  gap: 2rem;
  align-items: center;
}
.estate-lightbox::backdrop { background: #0a0c09; }
.estate-lightbox figure {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  margin: 0;
}
.estate-lightbox img { width: 100%; height: calc(100svh - 10rem); object-fit: contain; }
.estate-lightbox figcaption {
  display: flex;
  width: 100%;
  max-width: 80rem;
  justify-content: space-between;
  gap: 2rem;
  color: #d0c5b4;
  font-size: .75rem;
}
.estate-lightbox button {
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  place-items: center;
  border: 1px solid rgb(255 250 240 / 40%);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font-size: 1.4rem;
  cursor: pointer;
}
.estate-lightbox button:hover { background: rgb(255 250 240 / 12%); }
.estate-lightbox__close { position: absolute; top: 1.5rem; right: 2rem; }

@media (max-width: 900px) {
  .estate-details { width: 100%; }
}

@media (max-width: 1100px) {
  .estate-chapter-row { grid-template-columns: calc(31% + max(0px, var(--estate-text-inset) - 1rem)) minmax(0, 1fr); }
  .estate-chapter { padding: 1.5rem 1rem 1.5rem var(--estate-text-inset); }
  .estate-chapter h2 { font-size: clamp(2.6rem, 4.15vw, 5rem); }
  .estate-chapter__index { gap: .7rem; font-size: .5rem; }
  .estate-chapter__index span { padding-left: .7rem; letter-spacing: .2em; }
  .estate-chapter__note { font-size: .8rem; }
  .estate-landscape__details { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 7rem !important; }
  .estate-landscape__aside { margin: 0 0 1.5rem !important; font-size: 1rem; }
  .experiences-page .estate-chapter-row { grid-template-columns: calc(35% + max(0px, var(--estate-text-inset) - 1rem)) minmax(0, 1fr); }
  .wine-product { padding-right: 1.5rem; padding-left: 1.5rem; }
  .contact-form__row { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .estate-lightbox { padding: 5rem 1rem 6rem; }
  .estate-lightbox[open] { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .estate-lightbox img { height: calc(100svh - 15rem); }
  .estate-lightbox__previous,
  .estate-lightbox__next { position: absolute; bottom: 2rem; }
  .estate-lightbox__previous { left: calc(50% - 4rem); }
  .estate-lightbox__next { right: calc(50% - 4rem); }
  .estate-lightbox figcaption { gap: 1rem; font-size: .65rem; }
  .hero-section { height: 100svh; min-height: 0; }
  .hero-section__image { right: -4.5rem; height: min(100%, 70vw); }
  .hero-section__copy { top: auto; right: var(--content-inset); bottom: 5.5rem; }
  .hero-section h1 { font-size: clamp(3.8rem, 18vw, 5.2rem); }
  .intro-section__inner { min-height: 0; grid-template-columns: 1fr; gap: 2.75rem; padding: 4.5rem 0; }
  .intro-section__copy { padding-top: 0; }
  .home-wine,
  .home-experience { gap: 0; }
  .home-wine__copy,
  .home-wine--dark .home-wine__copy,
  .home-wine--light .home-wine__copy,
  .home-experience__copy { padding: 4rem var(--content-inset); }
  .home-wine__image,
  .home-experience__image { min-height: 420px; }
  .estate-section__content { grid-template-columns: 1fr; gap: 2.75rem; align-content: end; padding: 6rem 0; }
  .estate-section h2,
  .home-wine h2,
  .home-experience h2,
  .intro-section h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .estate-page {
    --estate-gutter: var(--page-gutter);
    --estate-lead-height: clamp(17rem, 70vw, 30rem);
    --estate-detail-height: clamp(14rem, 62vw, 28rem);
  }
  .estate-hero { height: auto; min-height: 44rem; }
  .estate-hero__content { width: min(720px, calc(100% - 3rem)) !important; grid-template-columns: 1fr; gap: 2rem; padding: 9rem 0 2rem; }
  .estate-hero h1 { font-size: clamp(3.5rem, 11vw, 6rem); }
  .estate-hero .is-style-kicker { margin-bottom: 1.5rem !important; font-size: .56rem; }
  .estate-hero__location { margin-top: 2rem !important; font-size: .52rem; letter-spacing: .23em; }
  .estate-hero__facts { max-width: none; }
  .estate-hero__content > .wp-block-column:last-child { max-width: none; }
  .estate-hero__facts .estate-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
  .estate-hero__facts .estate-fact { margin: 0; }
  .estate-hero__facts .estate-fact__label { font-size: .49rem; letter-spacing: .15em; }
  .estate-hero__facts .estate-fact__value { font-size: .73rem; }
  .hero-section__fill img { object-position: var(--ecdc-hero-mobile-focus-x, var(--ecdc-hero-focus-x, 50%)) var(--ecdc-hero-mobile-focus-y, var(--ecdc-hero-focus-y, 42%)); }
  .estate-hero__image img { object-position: var(--ecdc-hero-mobile-focus-x, var(--ecdc-hero-focus-x, 50%)) var(--ecdc-hero-mobile-focus-y, var(--ecdc-hero-focus-y, 57%)); }
  .experiences-hero .estate-hero__image img { object-position: var(--ecdc-hero-mobile-focus-x, 58%) var(--ecdc-hero-mobile-focus-y, 42%); }
  .experiences-hero::after { background: linear-gradient(180deg, rgb(0 0 0 / 44%), rgb(0 0 0 / 12%) 20%, rgb(0 0 0 / 46%) 45%, rgb(0 0 0 / 72%) 100%), linear-gradient(90deg, rgb(0 0 0 / 42%), rgb(0 0 0 / 8%) 65%, rgb(0 0 0 / 24%)); }
  .experiences-hero .estate-hero__facts { display: block; }
  .experiences-hero__copy .wp-block-buttons { margin-top: 1.5rem; }
  .estate-chapter-row,
  .experiences-page .estate-chapter-row { grid-template-columns: 1fr; }
  .estate-chapter { padding: 1.5rem 0 1.5rem var(--estate-text-inset); }
  .estate-chapter__index { margin-bottom: 1.5rem !important; font-size: .55rem; }
  .estate-chapter h2 { font-size: clamp(3rem, 10vw, 4.5rem); }
  .estate-chapter__note { max-width: 23rem; margin-top: 1.5rem !important; font-size: .85rem; }
  .estate-chapter .wp-block-separator { margin-top: 1.5rem; }
  .estate-photo { height: var(--estate-detail-height); }
  .estate-photo.is-style-editorial-primary { height: var(--estate-lead-height); }
  .estate-photo.is-style-editorial-primary figcaption { right: 1.25rem; bottom: 1.25rem; max-width: 10rem; font-size: 1.2rem; }
  .landscape-photo-rail__slide--wide,
  .landscape-photo-rail__slide--narrow,
  .landscape-photo-rail__slide--equal,
  .landscape-photo-rail__slide--harvest-wide,
  .landscape-photo-rail__slide--harvest-narrow,
  .landscape-photo-rail__slide--gatherings-narrow,
  .landscape-photo-rail__slide--gatherings-wide { width: 100%; }
  .landscape-photo-rail__viewport { height: clamp(14rem, 62vw, 28rem); }
  .landscape-photo-rail { grid-template-columns: 2.6rem minmax(0, 1fr) 2.6rem; gap: .5rem; }
  .landscape-photo-rail__control .wp-block-button__link { width: 2.6rem; height: 2.6rem; }
  .estate-closing__thought { width: auto; margin: 0 var(--content-inset) 3rem auto !important; }
  .estate-closing__thought p { font-size: 1.35rem; }
  .experiences-newsletter__inner > p br { display: none; }
  .experiences-photo--table { height: clamp(22rem, 110vw, 35rem); }
  .experiences-newsletter__button .wp-block-button__link { max-width: 100%; gap: 1.5rem; padding-inline: 1.25rem; font-size: .58rem; }
  .wine-intro { display: grid !important; grid-template-columns: 1fr; gap: 1.5rem; align-items: start !important; padding-block: 2rem; }
  .wine-intro > .wp-block-group,
  .wine-intro > .wine-intro__note { width: fit-content; justify-self: start; }
  .wine-intro h1 { font-size: clamp(3rem, 12vw, 4rem); }
  .wine-catalog { grid-template-columns: 1fr !important; padding-top: 0; padding-bottom: 3rem; }
  .wine-product { padding: 2rem 0 3rem; }
  .wine-product + .wine-product { padding-bottom: 0; border-top: 1px solid rgb(25 23 19 / 18%); border-left: 0; }
  .wine-product__image { height: 25rem; margin-bottom: 1.75rem; }
  .wine-product h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .wine-waitlist-link .wp-block-button__link { gap: 1rem; font-size: .58rem; }
  .wine-closing { padding-top: 3rem; padding-bottom: 3rem; }
  .contact-content { gap: 3rem; }
  .contact-content { padding-top: 2rem; }
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-intro h1 { font-size: clamp(3.5rem, 12vw, 5rem); }
  .contact-intro__note { margin-bottom: 2rem !important; }
  .contact-form-shell h2 { font-size: 2.5rem; }
  .contact-form__submit-wrap { width: 100%; }
  .wpcf7-form .wpcf7-submit { width: 100%; }
  .newsletter-preview h1 { font-size: clamp(2.7rem, 10vw, 4rem); }
}

@media (max-width: 640px) {
  .hero-section__location { font-size: .56rem; letter-spacing: .42em; }
  .estate-section { min-height: 690px; }
  .estate-section__content { padding: 5rem 0 4rem; }
  .estate-fact { padding-left: 1.3rem; }
}

.contact-form__field > p { display: grid; gap: .8rem; }
.contact-form__field .wpcf7-form-control-wrap { display: block; line-height: 0; }
.contact-form__submit-wrap > p { position: relative; margin: 0 !important; line-height: 0; }
.contact-form__submit-wrap .wpcf7-submit { display: block; }
.contact-form__submit-wrap > p > span[aria-hidden="true"] { position: absolute; top: 50%; right: 1.5rem; color: #d5b28a; font-size: 1.2rem; line-height: 1; transform: translateY(-50%); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .estate-photo img,
  .estate-photo > a::before,
  .landscape-photo-rail__slide img,
  .landscape-photo-rail__slide > a::before { transition: none; }
}
