/* Casa Mayor editorial consistency — 2026 */
:root{--cm-body-size:20px}
body{font-size:var(--cm-body-size);line-height:1.7}
main p,main li,.editorial-copy p,.seo-section p,.content-expansion p,.premium-knowledge p{font-size:clamp(18px,1.5vw,21px)!important;line-height:1.8!important}
main h1{font-size:clamp(52px,6vw,100px)!important;line-height:1.07!important}
main h2{font-size:clamp(38px,4vw,68px)!important;line-height:1.15!important}
main h3,.premium-knowledge__item h3{font-size:clamp(25px,2.25vw,34px)!important;line-height:1.25!important}
.premium-knowledge__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
.premium-knowledge__number{display:block!important;font-size:clamp(48px,5vw,76px)!important;line-height:1.1!important;font-weight:500!important;letter-spacing:-.045em!important;margin-bottom:20px!important;color:#a77929!important}
.premium-knowledge__item{padding:clamp(28px,4vw,58px)!important;min-height:330px!important;transition:transform .4s ease,box-shadow .4s ease!important}
.premium-knowledge__item:hover{transform:translateY(-8px);box-shadow:0 20px 50px #2c27121c}
.premium-knowledge__item p{font-size:clamp(18px,1.4vw,21px)!important}
.topbar nav a{font-size:clamp(15px,1.25vw,18px)!important}
.new-editorial-photo{margin:0;background:#f5f0e7;overflow:hidden;max-height:670px}
.new-editorial-photo img{width:100%;height:min(56vw,670px);object-fit:cover;display:block;transition:transform 1.1s ease}
.new-editorial-photo:hover img{transform:scale(1.035)}
.new-editorial-photo--split{max-width:1300px;margin:64px auto;max-height:560px}
.new-editorial-photo--split img{height:min(55vw,560px)}
.timeline .step-num{font-size:clamp(52px,6vw,90px)!important}
@media(max-width:760px){.premium-knowledge__grid{grid-template-columns:1fr!important}.premium-knowledge__item{min-height:unset!important}.new-editorial-photo img{height:340px}.premium-knowledge__number{font-size:54px!important}}
@media(prefers-reduced-motion:reduce){.new-editorial-photo img,.premium-knowledge__item{transition:none!important}}

/* Heritage feature: deliberate image + copy composition, never stacked full-bleed photography */
.heritage-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);min-height:570px;background:#f3eee5;align-items:stretch;overflow:hidden}
.heritage-feature__visual{min-width:0;overflow:hidden;position:relative}
.heritage-feature__visual img{width:100%;height:100%;min-height:570px;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.heritage-feature:hover .heritage-feature__visual img{transform:scale(1.035)}
.heritage-feature__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(46px,7vw,120px)}
.heritage-feature__copy h2{font-family:Georgia,serif;font-size:clamp(42px,4.5vw,75px)!important;line-height:1.12;margin:18px 0 26px}
.heritage-feature__copy h2 em{font-weight:400;color:#a77929}
.heritage-feature__copy p{max-width:540px;font-size:clamp(19px,1.5vw,23px)!important;line-height:1.75!important;margin:0 0 34px}
.heritage-feature__copy .text-link{font-size:15px;letter-spacing:.12em}
@media(max-width:800px){.heritage-feature{grid-template-columns:1fr}.heritage-feature__visual img{height:340px;min-height:0}.heritage-feature__copy{padding:48px 26px 60px}}
@media(prefers-reduced-motion:reduce){.heritage-feature__visual img{transition:none}}
/* Story editorial alignment and overflow correction */
body[data-page="story"]{overflow-x:clip}
body[data-page="story"] .heritage-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-height:520px}
body[data-page="story"] .heritage-feature__copy,body[data-page="story"] .heritage-feature__visual{min-width:0;max-width:100%}
body[data-page="story"] .heritage-feature__copy{padding:clamp(32px,4.2vw,76px);overflow-wrap:break-word}
body[data-page="story"] .heritage-feature__copy h2{font-size:clamp(38px,3.5vw,62px)!important;line-height:1.1;letter-spacing:-.035em;max-width:100%;overflow-wrap:normal}
body[data-page="story"] .heritage-feature__copy p{font-size:clamp(18px,1.45vw,21px)!important;line-height:1.65!important;max-width:100%}
body[data-page="story"] .heritage-feature__visual img{min-height:520px}
body[data-page="story"] .editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body[data-page="story"] .editorial-copy,body[data-page="story"] .editorial-photo{min-width:0}
body[data-page="story"] .editorial-copy{padding:clamp(34px,4.2vw,76px)}
body[data-page="story"] .editorial-copy h2{font-size:clamp(37px,3.45vw,60px)!important;line-height:1.12;max-width:100%}
body[data-page="story"] .editorial-copy p{font-size:clamp(18px,1.45vw,21px)!important;line-height:1.7!important}
body[data-page="story"] .heritage-feature + .editorial{border-top:12px solid #faf8f3}
@media(max-width:850px){body[data-page="story"] .heritage-feature,body[data-page="story"] .editorial{grid-template-columns:minmax(0,1fr)}body[data-page="story"] .heritage-feature__visual img{min-height:0;height:clamp(280px,55vw,450px)}body[data-page="story"] .heritage-feature__copy,body[data-page="story"] .editorial-copy{padding:44px clamp(22px,6vw,52px)}body[data-page="story"] .editorial.reverse .editorial-photo{order:0}}

/* Official Dao Gourmet Foods identity, supplied by brand owner */
.retailer-feature h2 .dao-official-logo {display:block;width:clamp(235px,32vw,410px);max-width:100%;height:auto;object-fit:contain;margin:14px 0 6px;filter:none;transform:none;}
.retailer-feature h2 {overflow-wrap:normal;}
@media(max-width:700px){.retailer-feature h2 .dao-official-logo{width:min(85%,340px);margin:12px 0;}}

/* La Mancha: consistent editorial image/copy panel heights, independent of source image aspect ratio. */
@media (min-width: 651px) {
  body[data-page="la-mancha"] .editorial {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    height: clamp(430px, 38vw, 555px);
    min-height: 0;
    align-items: stretch;
  }
  body[data-page="la-mancha"] .editorial-photo {
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  body[data-page="la-mancha"] .editorial-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  body[data-page="la-mancha"] .editorial-copy {
    min-width: 0;
    height: 100%;
    padding: clamp(32px, 5vw, 82px);
  }
}
@media (max-width: 650px) {
  body[data-page="la-mancha"] .editorial { height: auto; min-height: 0; }
  body[data-page="la-mancha"] .editorial-photo { height: 320px; min-height: 0; }
  body[data-page="la-mancha"] .editorial-photo img { width: 100%; height: 100%; object-fit: cover; }
  body[data-page="la-mancha"] .editorial-copy { padding: 48px 28px; }
}

/* The Table: prevent portrait wine photograph from expanding the split section. */
@media (min-width: 651px) {
  body[data-page="table"] .editorial {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    height: clamp(430px, 38vw, 555px);
    min-height: 0;
    align-items: stretch;
  }
  body[data-page="table"] .editorial-photo {
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  body[data-page="table"] .editorial-photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
  }
  body[data-page="table"] .editorial-copy {
    min-width: 0;
    height: 100%;
    padding: clamp(32px, 5vw, 82px);
  }
}
@media (max-width: 650px) {
  body[data-page="table"] .editorial { height: auto; min-height: 0; }
  body[data-page="table"] .editorial-photo { height: 320px; min-height: 0; overflow: hidden; }
  body[data-page="table"] .editorial-photo img { width: 100%; height: 100%; object-fit: cover; }
  body[data-page="table"] .editorial-copy { padding: 48px 28px; }
}

/* Story mobile editorial rhythm: no consecutive full-bleed photographs. */
@media (max-width: 850px) {
  body[data-page="story"] .heritage-feature {
    display: block !important;
    background: #f2ede4 !important;
    border-top: 0 !important;
  }
  body[data-page="story"] .heritage-feature__visual { display: none !important; }
  body[data-page="story"] .heritage-feature__copy {
    display: block !important;
    padding: clamp(44px, 9vw, 72px) clamp(26px, 6vw, 44px) !important;
    max-width: 100% !important;
  }
  body[data-page="story"] .heritage-feature__copy h2 {
    font-size: clamp(35px, 9vw, 53px) !important;
    line-height: 1.12 !important;
    overflow-wrap: normal;
  }
  body[data-page="story"] .heritage-feature__copy p {
    font-size: clamp(17px, 4.4vw, 20px) !important;
    line-height: 1.65 !important;
  }
  body[data-page="story"] .heritage-feature + .editorial { border-top: 0 !important; }
}
