/* Final editorial pass: readable controls, purposeful spacing, useful detail. */
.landing .order-terms { display:grid; gap:8px; list-style:none; padding:0; margin:0; font-size:1rem; line-height:1.5; max-width:350px; }
.landing .order-note { margin-top:16px; color:var(--cream); font-size:.9rem; line-height:1.6; }
.landing .site-footer { font-size:.875rem; line-height:1.6; }
.landing .site-footer small { font-size:.8125rem; line-height:1.6; }
.landing .footer-legal a,.landing .footer-legal button,.landing .footer-contact a { min-height:44px; display:inline-flex; align-items:center; }
.landing .custom .button-copy { font-size:.9rem; }
.landing .custom .button-copy small { font-size:.8rem; }
.landing .custom .label-example-caption { font-size:.8125rem; }
.landing .contact-phone { font-size:1rem; }
.landing .contact-links>.button { max-width:100%; text-align:center; line-height:1.5; }
.landing .hero__lede { font-size:1.125rem; max-width:430px; line-height:1.6; }
.landing .site-nav { font-size:.875rem; }
.landing .hero-discover { font-size:.82rem; }
.landing .section { padding-block:85px; }
.landing .wine>.section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.product-download { display:inline-flex; align-items:center; gap:15px; padding:12px 0; min-height:44px; border-bottom:1px solid currentColor; font-size:.85rem; font-weight:700; }
.product-download small { padding:3px 7px; border:1px solid currentColor; border-radius:4px; font-size:.62rem; }
.product-download:hover { color:#702819; }
.wine-details { margin:0 0 26px; border-block:1px solid rgb(22 60 66 / .35); font-size:.875rem; }
.wine-details summary { padding:13px 0; min-height:48px; cursor:pointer; font-weight:700; }
.wine-details dl { margin:0 0 18px; }
.wine-details dl>div { display:grid; grid-template-columns:80px 1fr; gap:15px; padding:7px 0; }
.wine-details dt { font-weight:700; }
.wine-details dd { margin:0; }
.landing .wine-copy>p:not(.eyebrow) { font-size:1.0625rem; line-height:1.6; margin:24px 0; }
.landing .wine-copy .button { font-size:.875rem; }
.landing .scene-controls button span { font-size:.95rem; }
.landing .scene-controls button { font-size:.72rem; }
.landing .scene-traveller { opacity:0; }
.landing .scene-copy .scene-badge { display:inline-block; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--cream); opacity:.92; margin:0 0 14px; }
.landing .scene-copy>p:not(.eyebrow):not(.scene-badge) { font-size:1rem; }
.landing .scene-copy .text-link { font-size:.875rem; }
.landing .custom-copy>p:not(.eyebrow) { font-size:1.0625rem; }
.landing .custom .label-detail .label-note { height:auto; aspect-ratio:345 / 498; }
.landing .custom .label-detail .label-note strong { font-size:48px; }
.landing .custom .label-detail .label-note[data-label-style="boda"] strong { font-size:46px; }
.landing .custom .label-detail .label-note[data-label-style="empresa"] strong { font-size:42px; }
.order-questions { display:grid; grid-template-columns:1fr 2fr; gap:55px; padding:0 0 65px; margin-bottom:55px; border-bottom:1px solid rgb(22 60 66 / .45); }
.order-questions>p { font:800 clamp(1.7rem,3vw,2.5rem)/1 var(--font-display); letter-spacing:-.05em; }
.order-questions__items details { border-top:1px solid rgb(22 60 66 / .45); }
.order-questions__items details:last-child { border-bottom:1px solid rgb(22 60 66 / .45); }
.order-questions summary { padding:18px 0; cursor:pointer; font-size:1rem; font-weight:700; }
.order-questions details>p { margin:0 0 20px; max-width:620px; font-size:.95rem; line-height:1.6; }
.order-questions details>a { display:inline-block; min-height:44px; padding:0 0 16px; font-weight:700; text-decoration:underline; text-underline-offset:4px; font-size:.9rem; }
.contact-enquiry { margin-top:35px; border-top:1px solid var(--deep); }
.contact-enquiry>summary { cursor:pointer; padding:19px 0; font-size:.95rem; font-weight:700; min-height:50px; }
.enquiry-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:12px 0 0; }
.enquiry-form label { display:grid; gap:9px; align-content:start; font-size:.8rem; font-weight:700; min-width:0; }
.enquiry-form input,.enquiry-form select { display:block; width:100%; min-width:0; min-height:50px; border:1px solid var(--deep); border-radius:5px; background:var(--cream); color:var(--deep); padding:12px; font:400 1rem/1.2 var(--font-body); }
.enquiry-form input::placeholder { color:#52676b; opacity:1; }
.enquiry-form .button { grid-column:1/-1; justify-self:start; margin-top:5px; }
.landing .contact-intro { font-size:1rem; }
.landing .hero__bottom {
  position:relative;
  z-index:4;
  isolation:isolate;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(24px,4vw,56px);
  min-height:80px;
  padding-block:16px;
  background:var(--cream);
  border-color:rgb(22 60 66 / .22);
  font-size:.9rem;
}
.landing .hero__bottom>span { white-space:nowrap; }
.landing .hero__bottom>span::before { content:none; }
.landing .hero__bottom .hero-origin {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 18px;
  border:1px solid rgb(22 60 66 / .2);
  border-radius:999px;
  background:rgb(79 186 183 / .12);
}
.landing .hero__bottom a {
  position:relative;
  z-index:1;
  min-width:0;
  min-height:44px;
  padding:8px 18px;
  gap:12px;
  border:1px solid rgb(22 60 66 / .35);
  border-radius:999px;
  white-space:nowrap;
  font-size:inherit;
}
.landing .hero__bottom a::after { content:"→"; font-size:1.15em; }
.landing .hero__bottom a:hover { color:var(--cream); background:var(--deep); text-decoration:none; }
.landing .hero__bottom-arrow { flex:none; line-height:1; }
@media(max-width:1100px) {
  .enquiry-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-questions { grid-template-columns:.8fr 1.2fr; gap:35px; }
  .landing .custom .label-detail .label-note strong { font-size:39px; }
}
@media(max-width:900px) {
  .landing .custom { gap:30px; }
  .landing .custom-copy>p:not(.eyebrow) { margin:22px 0; max-width:430px; }
}
@media(max-width:760px) {
  .landing .hero__bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; font-size:.82rem; text-align:center; }
  .landing .hero__bottom :is(.hero-origin,a) { justify-self:center; padding-inline:12px; }
  .landing .hero__bottom a { grid-column:auto; justify-content:center; gap:8px; }
  .landing .section { padding-block:58px; }
  .landing .hero__lede { font-size:1rem; max-width:330px; }
  .landing .scene-controls button span { font-size:.875rem; }
  .landing .scene-copy>p:not(.eyebrow) { font-size:1rem; margin:22px 0; }
  .landing .scene-copy { padding:32px; }
  .landing .wine-panel { gap:5%; }
  .landing .wine-copy>p:not(.eyebrow) { font-size:1rem; }
  .landing .wine-copy .button { padding-inline:16px; gap:16px; font-size:.78rem; }
  .order-questions { grid-template-columns:1fr; gap:24px; padding:0 0 35px; margin-bottom:35px; }
  .order-questions>p { font-size:2rem; }
}
@media(max-width:520px) {
  .landing .hero__inner { padding-top:105px; padding-bottom:20px; }
  .landing .hero__product { min-height:345px; margin-top:25px; }
  .landing .hero__bottle { height:300px; }
  .landing .hero__lede { font-size:1.0625rem; margin-top:22px; }
  .landing .hero-actions { margin-top:22px; gap:8px 20px; }
  .landing .hero .button { font-size:.875rem; }
  .landing .hero-discover { font-size:.875rem; }
  .landing .wine>.section-heading { display:block; margin-bottom:25px; }
  .product-download { margin-top:20px; font-size:.8rem; }
  .landing .wine-selector { margin-bottom:24px; }
  .landing .wine-visual { height:355px; }
  .landing .wine-visual img { height:290px; }
  .landing .wine-panel { gap:22px; }
  .landing .wine-copy { min-height:0; padding-top:3px; }
  .landing .wine-copy>p:not(.eyebrow) { min-height:0; margin:20px 0; }
  .landing .wine-copy .button { font-size:.85rem; }
  .landing .scene-toolbar { gap:10px; }
  .landing .scene-controls button span { font-size:.81rem; line-height:1.35; }
  .landing .scene-controls button { font-size:.65rem; }
  .landing .scene img { height:325px; }
  .landing .scene-copy { padding:28px 24px; min-height:285px; }
  .landing .scene-copy .text-link { font-size:.85rem; }
  .scene-traveller { top:145px; }
  .landing .custom-copy>p:not(.eyebrow) { font-size:1rem; }
  .enquiry-form { grid-template-columns:1fr; gap:18px; }
  .enquiry-form .button { width:100%; font-size:.8rem; gap:12px; padding-inline:15px; }
  .order-questions summary { font-size:.95rem; padding:17px 0; }
  .order-questions details>p { font-size:.95rem; }
  .landing .contact { padding-bottom:55px; }
}
@media(max-width:360px) {
  .landing .hero__bottom :is(.hero-origin,a) { padding-inline:9px; font-size:.75rem; }
  .landing .hero__bottom a { gap:6px; }
}

/* Keep the composition inside its columns and size the hero for the available height. */
.landing :is(.hero__copy,.wine-copy,.scene-copy,.custom-copy,.contact-layout>*) { min-width:0; }
.landing :is(.scene-copy,.custom-copy) { container-type:inline-size; }
.landing .scene-copy h3 { font-size:clamp(2.6rem,14cqi,4.6rem); }
.landing .custom-copy h2 { font-size:clamp(2.8rem,17cqi,4.7rem); }
.landing :is(.wine-copy,.scene-copy,.custom-copy,.contact-layout) :is(h2,h3,p,a,li) { overflow-wrap:break-word; }
.landing .contact h2 { white-space:normal; }
.landing .hero h1>.hero-big { white-space:normal; }
.landing .hero__product { grid-template-rows:minmax(0,1fr); container-type:inline-size; }
.landing .hero__bottom { flex-wrap:wrap; }

@media(min-width:761px) {
  .landing .hero__inner {
    min-height:calc(100svh - 80px);
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    column-gap:clamp(24px,4vw,64px);
    padding:124px 0 24px;
  }
  .landing .hero h1 { font-size:clamp(3.75rem,min(9.2vw,12.5svh),9.1rem); }
  .landing .hero__lede { margin-top:24px; }
  .landing .hero-actions { margin-top:24px; }
  .landing .hero__product { min-height:0; height:clamp(300px,calc(100svh - 228px),670px); margin:0; }
  .landing .hero__bottle { height:min(calc(100% - 70px),170cqi); width:auto; max-width:none; object-fit:contain; }
  .landing .hero__format { width:clamp(90px,12svh,137px); height:auto; aspect-ratio:1; top:12px; }
  .landing .hero__format .capacity-value { font-size:clamp(2.5rem,5svh,3.6rem); }
  .landing .hero__bottom { padding-block:16px; min-height:80px; }
}
@media(min-width:1101px) and (min-height:561px) {
  .landing .hero h1 { font-size:clamp(3.75rem,min(10.4vw,calc(24svh - 54px),calc(40svh - 150px)),9.1rem); }
}
@media(min-width:761px) and (max-height:560px) {
  .landing .site-header { padding-block:12px; }
  .landing .hero__inner { min-height:calc(100svh - 64px); padding:96px 0 16px; }
  .landing .hero h1 { font-size:clamp(3rem,min(8vw,12svh),4.2rem); }
  .landing .hero h1>.hero-big { margin-top:12px; }
  .landing .hero__lede { font-size:1rem; margin-top:16px; }
  .landing .hero-actions { margin-top:16px; }
  .landing .hero .button { min-height:48px; padding-block:12px; }
  .landing .hero__product { height:clamp(240px,calc(100svh - 176px),384px); }
  .landing .hero__format { width:80px; }
  .landing .hero__format .capacity-value { font-size:2.3rem; }
  .landing .hero-squiggle { width:76px; bottom:28px; }
  .landing .hero__bottom { min-height:64px; padding-block:9px; }
}
@media(min-width:521px) and (max-width:760px) {
  .landing .hero__inner { min-height:0; padding:106px 0 32px; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:20px; }
  .landing .hero h1 { font-size:clamp(3rem,8.4vw,4rem); }
  .landing .hero__product { min-height:0; height:clamp(300px,56svh,420px); margin:0; }
  .landing .hero__bottle { height:calc(100% - 60px); }
  .landing .hero__format { width:80px; height:80px; }
  .landing .hero__format .capacity-value { font-size:2.2rem; }
}
@media(max-width:520px) {
  .landing .hero__inner { padding-top:100px; }
  .landing .hero h1 { font-size:clamp(3rem,16vw,5.2rem); }
  .landing .hero__product { min-height:0; height:clamp(260px,42svh,345px); }
  .landing .hero__bottle { height:calc(100% - 45px); }
  .landing .scene-copy h3 { font-size:clamp(2.3rem,12cqi,3.3rem); }
}

/* A short family story in the same cream, deep green and coral as the hero. */
.landing .our-story { padding-block:clamp(58px,6vw,88px); background:var(--cream); border-bottom:1px solid rgb(22 60 66 / .18); }
.story__inner { width:var(--container); margin:auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(32px,6vw,80px); }
.story__photo { position:relative; width:100%; max-width:470px; height:clamp(320px,33vw,470px); justify-self:center; overflow:hidden; border-radius:clamp(100px,12vw,170px) clamp(100px,12vw,170px) 10px 10px; background:var(--deep); }
.story__photo img { display:block; width:100%; height:112%; object-fit:cover; object-position:center top; }
.story__photo figcaption { position:absolute; left:20px; bottom:20px; padding:8px 14px; border-radius:999px; background:var(--deep); color:var(--cream); font-size:.8125rem; line-height:1.5; }
.story__copy { min-width:0; }
.landing .story__copy>.eyebrow { color:var(--coral); margin-bottom:20px; }
.landing .story__copy h2 { font-size:clamp(2.6rem,4.4vw,4.6rem); line-height:1.02; overflow-wrap:break-word; }
.story__copy h2 span,.story__signature span { color:var(--coral); }
.story__text { max-width:440px; margin-top:28px; font-size:1.0625rem; line-height:1.65; }
.story__signature { margin-top:34px; font:800 clamp(1.9rem,2.8vw,2.65rem)/1.08 var(--font-display); letter-spacing:-.055em; }
@media(max-width:760px) {
  .landing .our-story { padding-block:56px; }
  .story__inner { grid-template-columns:minmax(0,1fr); gap:30px; }
  .story__photo { max-width:520px; height:clamp(220px,65vw,330px); border-radius:110px 110px 10px 10px; }
  .landing .story__copy h2 { font-size:clamp(1.9rem,8.5vw,2.8rem); }
  .story__copy>.eyebrow { margin-bottom:16px; }
  .story__text { max-width:520px; margin-top:22px; font-size:1rem; }
  .story__signature { margin-top:26px; font-size:clamp(1.75rem,7vw,2.3rem); }
}
