:root { scroll-behavior: smooth; }
.headerBrand img { width:100%;height:100%;object-fit:contain; }
[hidden] { display:none !important; }
button:focus-visible,input:focus-visible { outline:2px solid var(--terracotta);outline-offset:4px; }
.mesaPage { background:#faf7f0;color:var(--green); }
.mesaHero { display:grid;grid-template-columns:1fr 1fr;min-height:650px;border-bottom:1px solid var(--line); }
.mesaHeroCopy { padding:80px max(30px,calc((100vw - 1220px)/2));padding-right:55px;align-self:center; }
.mesaHero h1 { font-size:clamp(48px,5.3vw,82px);letter-spacing:-.045em;line-height:1.02;margin:24px 0; }
.mesaHeroCopy>p:not(.eyebrow) { font-size:17px;line-height:1.8;color:var(--muted);max-width:520px; }
.mesaHeroPhoto { position:relative;min-height:560px;overflow:hidden; }
.mesaHeroPhoto img { width:100%;height:100%;position:absolute;object-fit:cover; }
.mesaHeroPhoto figcaption { position:absolute;bottom:20px;left:24px;right:24px;color:white;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 6px #222; }
.mesaActions { display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;align-items:center; }
.mesaButton { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:14px 22px;background:var(--green);color:var(--cream);font-size:12px;letter-spacing:.04em;border:1px solid var(--green);cursor:pointer; }
.mesaButton:hover { background:var(--green-dark); }
.mesaButton.secondary { background:transparent;color:var(--green); }
.mesaButton.light { background:var(--cream);color:var(--green);border-color:var(--cream); }
.mesaTextLink { font-size:12px;border-bottom:1px solid var(--terracotta);padding:8px 0; }
.mesaIntro { display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:90px;padding-bottom:50px; }
.mesaIntro h2,.featuredMeal h2 { font-size:clamp(34px,4vw,56px);line-height:1.1;margin-top:16px;letter-spacing:-.025em; }
.mesaIntro>p { align-self:end;font-size:16px;color:var(--muted);line-height:1.85;max-width:530px; }
.mesaControls { border-top:1px solid var(--line);padding:28px 0 36px; }
.mesaSearch { display:flex;gap:12px;flex-direction:column;max-width:620px; }
.mesaSearch span { font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--terracotta); }
.mesaSearch input { background:transparent;border:0;border-bottom:1px solid var(--green);border-radius:0;padding:14px 0;font:24px var(--serif);width:100%;color:var(--green); }
.mesaFilters { display:flex;gap:9px;flex-wrap:wrap;margin-top:24px; }
.mesaFilters button { background:transparent;color:var(--green);border:1px solid var(--line);padding:11px 17px;border-radius:40px;font-size:12px;cursor:pointer; }
.mesaFilters button.active { color:var(--cream);background:var(--green);border-color:var(--green); }
.mesaResultCount { color:var(--muted);font-size:12px;margin-top:22px; }
.mesaGrid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px;padding-bottom:90px; }
.mesaCard { border-bottom:1px solid var(--line);padding-bottom:24px; }
.mesaCard figure { aspect-ratio:1.4;overflow:hidden;background:var(--sand); }
.mesaCard img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.mesaCard a:hover img { transform:scale(1.035); }
.mesaCard small { display:block;margin-top:19px;color:var(--terracotta);font-size:10px;text-transform:uppercase;letter-spacing:.13em; }
.mesaCard h3 { font-size:30px;line-height:1.1;margin:10px 0 13px; }
.mesaCard p { font-size:14px;line-height:1.75;color:var(--muted); }
.mesaCard .menuPeek { margin-top:14px;font-family:var(--serif);color:var(--green);font-size:16px; }
.mesaCard .openMenu { display:block;margin-top:20px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;color:var(--green); }
.mesaEmpty { grid-column:1/-1;padding:50px 0; }
.mesaEmpty h3 { font-size:32px;margin-bottom:12px; }
.mesaEmpty button { margin-top:20px; }
.featuredMeal { padding:70px 0 90px;background:var(--cream); }
.mealThree { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:35px; }
.mealThree img { width:100%;aspect-ratio:1.3;object-fit:cover; }
.mealThree small { display:block;color:var(--terracotta);font-size:10px;letter-spacing:.13em;margin:20px 0 10px;text-transform:uppercase; }
.mealThree h3 { font-size:29px;margin:8px 0 12px; }
.mealThree p { font-size:14px;line-height:1.75;color:var(--muted); }
.mesaInvite { margin-top:75px;margin-bottom:75px;background:var(--green);color:var(--cream);padding:55px;display:flex;justify-content:space-between;align-items:center;gap:40px; }
.mesaInvite h2 { font-size:42px;line-height:1.1;max-width:650px; }
.mesaInvite p { margin-top:16px;font-size:15px;line-height:1.8;max-width:590px;color:#ded7ca; }
.mesaBreadcrumb { display:flex;gap:12px;flex-wrap:wrap;padding-top:30px;padding-bottom:30px;font-size:12px;color:var(--muted); }
.menuHero { display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;padding-bottom:65px; }
.menuHero h1 { font-size:clamp(44px,5vw,72px);line-height:1.02;margin:20px 0;letter-spacing:-.035em; }
.menuHero .menuLead { font-size:17px;line-height:1.85;color:var(--muted); }
.menuHero figure img { width:100%;aspect-ratio:1.15;object-fit:cover; }
.menuHero figcaption { margin-top:10px;font-size:11px;color:var(--muted);line-height:1.6; }
.menuMeta { display:flex;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:25px;color:var(--terracotta); }
.menuCourse { display:grid;grid-template-columns:70px 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:55px 0; }
.courseNumber { font:italic 48px var(--serif);color:var(--terracotta); }
.courseDish h2 { font-size:38px;line-height:1.1;margin:14px 0 20px; }
.courseDish p { font-size:16px;line-height:1.85;color:var(--muted); }
.courseDish img { width:100%;aspect-ratio:1.45;object-fit:cover;margin:24px 0; }
.courseWine { background:var(--cream);padding:30px;align-self:start; }
.courseWine h3 { font-size:27px;line-height:1.2;margin:15px 0; }
.courseWine p { font-size:14px;line-height:1.8;color:var(--muted); }
.courseWine .wineTemp { margin-top:20px;padding-top:15px;border-top:1px solid var(--line);color:var(--green);font-size:12px; }
.pairingReason { display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;color:var(--terracotta); }
.relatedWines { margin-top:22px;display:grid;gap:12px; }
.relatedWine { display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center;padding:15px;background:#faf7f0; }
.relatedWine>a img { width:58px;height:98px;object-fit:contain; }
.relatedWine h4 { font-family:var(--serif);font-weight:normal;font-size:18px;margin:0 0 6px; }
.relatedWine p { font-size:12px; }
.relatedWine button { background:transparent;border:0;border-bottom:1px solid var(--terracotta);color:var(--green);cursor:pointer;font-size:11px;text-align:left;padding:7px 0;margin-top:5px; }
.relatedWine .selected { color:var(--terracotta); }
.wineShelfLabel { font-size:11px;color:var(--green);margin-top:25px; }
.menuTip { display:grid;grid-template-columns:1fr 2fr;gap:50px;border-top:1px solid var(--line);padding-top:35px;padding-bottom:35px; }
.menuTip h2 { font-size:29px; }
.menuTip p { color:var(--muted);font-size:16px;line-height:1.8; }
.pairingSources { padding:0 0 60px;color:var(--muted);font-size:12px;line-height:1.8; }
.pairingSources summary { cursor:pointer;color:var(--green);padding:15px 0;border-top:1px solid var(--line); }
.pairingSources ul { margin-top:10px;padding-left:20px; }
.pairingSources a { text-decoration:underline; }
.originalPortraits { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.originalPortraits>figure { position:relative;min-width:0;overflow:hidden; }
.originalPortraits img { width:100%;height:100%;object-fit:cover;object-position:center 35%; }
.originalPortraits figcaption { position:absolute;bottom:0;left:0;right:0;padding:28px 12px 16px;background:linear-gradient(transparent,#172013b3);color:#fff;font-size:11px;text-align:center; }
.storyPhoto.originalPortraits { min-height:550px;background:transparent; }
.storyPhoto.originalPortraits::after { display:none; }
.homePortrait.originalPortraits { min-height:580px;border:0; }
.homePortrait.originalPortraits::after { display:none; }
.homePortrait.originalPortraits img { position:absolute;inset:0;object-position:center 35%; }
.homePortrait.originalPortraits figcaption { right:0;left:0;bottom:0;display:block;letter-spacing:.06em; }
.homePage .homeStage { height:auto;min-height:calc(100svh - 94px); }
.homePage .homeNarrative { justify-content:center; }
.homeMesas { padding:80px 0;color:var(--cream); }
.homeMesas h2 { font-size:clamp(36px,5vw,62px);line-height:1.1;max-width:800px; }
.homeMesas>p { max-width:660px;line-height:1.8;color:#ded7ca;margin-top:20px; }
.homeMesaTiles { display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px; }
.homeMesaTiles img { width:100%;aspect-ratio:1.45;object-fit:cover; }
.homeMesaTiles h3 { margin-top:15px;font-size:28px; }
.homeMesaTiles span { display:block;font-size:12px;color:#e8b19c;margin-top:10px; }
.catalogBridge { background:var(--green);color:var(--cream);display:flex;gap:30px;justify-content:space-between;align-items:center;padding:25px 32px;margin-bottom:40px; }
.catalogBridge p { line-height:1.6;font-size:15px; }
.catalogBridge a { white-space:nowrap;font-size:12px;border-bottom:1px solid #e8b19c;padding-bottom:5px; }
.wineMenuLinks { border-top:1px solid var(--line);padding-top:40px;padding-bottom:50px; }
.wineMenuLinks h2 { font-size:35px;margin:12px 0 20px; }
.wineMenuLinks>div { display:flex;flex-wrap:wrap;gap:12px; }
.wineMenuLinks a { border:1px solid var(--line);padding:13px 18px;font-size:14px; }
@media(min-width:1150px){.desktopNav{gap:19px}.desktopNav a{font-size:10px}}
@media(max-width:1000px){.mesaHero{grid-template-columns:1fr 1fr}.mesaHeroCopy{padding:50px 28px}.mesaGrid{grid-template-columns:repeat(2,1fr)}.menuHero{gap:30px}.menuCourse{grid-template-columns:45px 1fr 1fr;gap:20px}.mesaInvite{padding:35px}.mesaInvite h2{font-size:34px}}
@media(max-width:700px){.mesaHero{display:flex;flex-direction:column}.mesaHeroCopy{padding:45px 24px}.mesaHeroPhoto{min-height:340px}.mesaHero h1{font-size:48px}.mesaIntro{display:block;padding-top:55px}.mesaIntro>p{margin-top:22px}.mesaGrid{grid-template-columns:1fr;gap:30px}.mesaCard figure{aspect-ratio:1.5}.mealThree{grid-template-columns:1fr;gap:34px}.featuredMeal{padding:50px 0}.mesaInvite{display:block;padding:30px 24px}.mesaInvite .mesaButton{margin-top:25px}.menuHero{display:flex;flex-direction:column;gap:30px;padding-bottom:40px}.menuHero h1{font-size:48px}.menuHero figure{width:100%}.menuHero figure img{aspect-ratio:1.3}.menuCourse{grid-template-columns:35px 1fr;gap:15px;padding:35px 0}.courseNumber{font-size:34px}.courseWine{grid-column:2;padding:23px}.courseDish h2{font-size:31px}.menuTip{grid-template-columns:1fr;gap:18px}.originalPortraits{gap:8px}.storyPhoto.originalPortraits{min-height:400px}.homePortrait.originalPortraits{min-height:440px}.homeMesaTiles{grid-template-columns:1fr}.catalogBridge{display:block;padding:24px}.catalogBridge a{display:inline-block;margin-top:12px}.menuMeta{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.mesaCard img{transition:none}}

/* Original brand artwork, transparent rendering and inverse version. */
.headerBrand{background:transparent;overflow:visible}
.siteHeaderInverse .headerBrand img{filter:brightness(0) invert(94%) sepia(8%) saturate(244%) hue-rotate(350deg)}
.editorialTable{min-height:550px}
.homePortrait.editorialTable img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center}
.editorialTable figcaption{letter-spacing:.15em;text-transform:uppercase}
@media(max-width:700px){.homePortrait.editorialTable{min-height:380px}.editorialTable{min-height:380px}}

.headerBrand img{mix-blend-mode:multiply;filter:contrast(1.12)}
.siteHeaderInverse .headerBrand img{filter:grayscale(1) invert(1) contrast(3);mix-blend-mode:screen}

/* The bottle is the product; cuisine is a way to discover it. */
.wineHero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:65px;padding-bottom:65px}
.wineHero h1{font-size:clamp(50px,6.5vw,88px);line-height:1.02;letter-spacing:-.04em;color:var(--green)}
.wineHero p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted);margin:24px 0;max-width:560px}
.bottleGallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;background:#e7e0d2;padding:30px 18px}
.bottleGallery a{display:grid;min-width:0;text-align:center;gap:12px}
.bottleGallery img{width:100%;height:310px;object-fit:contain;mix-blend-mode:multiply}
.bottleGallery span{font-size:11px;line-height:1.5;color:var(--green)}
.winePrice{display:block;font-size:21px;color:var(--green);margin-top:14px}
.winePairLinks{display:flex;flex-wrap:wrap;gap:10px;padding:14px 3px;color:var(--terracotta);font-size:12px}
.wineMore{text-align:center;padding-bottom:65px}.wineMore button[hidden]{display:none}
.pairingIntro{padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line)}
.pairingIntro h1,.pairingIntro h2{font-size:clamp(44px,5vw,65px);line-height:1.04;margin:20px 0;color:var(--green)}
.pairingIntro p{max-width:650px;line-height:1.7}.cuisineNav{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px;margin-bottom:30px}.cuisineNav a{padding:12px 18px;border:1px solid var(--line);border-radius:30px;font-size:13px}.cuisineNav a:hover{background:var(--green);color:var(--cream)}
.pairingCardWines{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.pairingCardWines .wineCard figure{aspect-ratio:1}.pairingCardWines .wineCardCopy{min-height:190px}.pairingCardWines .wineCardCopy h3{font-size:23px}.pairingCardWines .winePairLinks{display:none}.pairingCardWines .wineCardCopy span{font-size:8px}
.menuWineLead{padding:40px 0}.menuWineLead h2{font-size:48px;margin:15px 0 30px}.menuWineLead .catalogGrid{padding-bottom:0;grid-template-columns:repeat(3,1fr)}
.wineHeroArt{display:flex;align-items:center;background:#e7e0d2}.wineHeroArt .bottleGallery{width:100%}.homePortrait.wineHeroArt{min-height:540px}.homePortrait.wineHeroArt img{position:static;height:390px}.homeMesas .catalogGrid{padding:40px 0}.homeMesas .wineCardCopy h3,.homeMesas .winePrice{color:var(--cream)}.homeMesas .wineCardCopy p{color:var(--cream)}.homeMesas .addWineButton{border-color:var(--cream);color:var(--cream)}.homeMesas .winePairLinks{color:var(--cream)}
@media(max-width:700px){.wineHero{grid-template-columns:1fr;padding-top:40px;gap:25px}.wineHero h1{font-size:52px}.bottleGallery{padding:20px 10px;gap:6px}.bottleGallery img{height:220px}.bottleGallery span{font-size:10px}.menuWineLead .catalogGrid{grid-template-columns:repeat(2,1fr)}.menuWineLead h2{font-size:38px}.pairingCardWines .wineCardCopy h3{font-size:21px}.homePortrait.wineHeroArt{min-height:330px}.homePortrait.wineHeroArt img{height:250px}.homeMesas .catalogGrid{grid-template-columns:repeat(2,1fr)}}
.bottleGallery img{transform:scale(1.4);clip-path:inset(5% 8%)}
.bottleGallery span{position:relative;z-index:1;background:#e7e0d2;padding-top:8px}
.pairingCardWines .wineCard img{height:100%;object-fit:contain}
.wineHub .wineCard img,.menuWineLead .wineCard img{transform:scale(1.35)}
.menuWineLead .wineCard:hover img{transform:scale(1.38)}
.wineHeroArt::after{display:none}
.bottleMenuCover img{object-fit:contain!important;background:#ece7dc;padding:22px}
.mesaCard[data-mesa="francesa"]>a>figure img,.mesaCard[data-mesa="alema"]>a>figure img{object-fit:contain;background:#ece7dc}
.wineCard .winePrice{background:transparent;color:var(--green);padding:0;margin:14px 0 0;min-height:0;border:0;font-size:21px;line-height:1.3}
.homeMesas .wineCard .winePrice{color:var(--cream)}
/* Curadoria: a complete, self-contained invitation with reading space. */
.catalogInvitation{padding:72px 0;background:var(--cream);color:var(--green);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalogInvitation .eyebrow{margin:0 0 22px;color:var(--terracotta)}
.catalogInvitation h2{max-width:23ch;margin:0;font-size:clamp(34px,4.2vw,58px);line-height:1.16;letter-spacing:-.02em}
.catalogInvitation div>p:not(.eyebrow){max-width:57ch;margin:26px 0 0;font-size:18px;line-height:1.75;color:var(--muted)}
.catalogInvitation a{display:inline-flex;align-items:center;margin-top:32px;padding:16px 24px;border:1px solid var(--green);background:var(--green);color:var(--cream);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1.5;text-transform:none}
.wineHeroText{display:block;padding-top:42px;padding-bottom:30px}.wineHeroText h1{font-size:clamp(44px,5vw,66px)}.wineHeroText h1 em{display:inline}.wineHeroText p:not(.eyebrow){max-width:63ch;font-size:17px;margin:20px 0}
.homeBrandStatement{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:65px;background:#20291c;color:var(--cream)}
.homeBrandStatement h2{font-size:clamp(40px,4.5vw,68px);line-height:1.25;margin:25px 0 40px}.homeBrandStatement::after,.storyNames::after{display:none}
.storyNames{padding:55px;background:#e9e1d4;display:flex;flex-direction:column;justify-content:center}.storyNames h2{font-size:46px;line-height:1.3;margin:22px 0}.storyNames p{line-height:1.8}
.experienceTasting img{width:100%;height:100%;object-fit:cover;object-position:65% center}.experienceTasting{min-height:540px}
@media(max-width:700px){.catalogInvitation{padding:48px 0}.catalogInvitation h2{font-size:36px}.catalogInvitation div>p:not(.eyebrow){font-size:17px}.homeBrandStatement{padding:35px;min-height:320px}.homeBrandStatement h2{font-size:40px}.experienceTasting{min-height:350px}.storyNames{min-height:300px;padding:32px}}

.wineCard .alignedBottle{position:relative;overflow:hidden;aspect-ratio:4/5}
.wineCard .alignedBottle img{position:absolute;max-width:none;padding:0;object-fit:fill;transform:none!important;mix-blend-mode:multiply}
.menuHero figure img{height:auto}
.courseDish>img{height:auto}

.foundersPortrait{overflow:hidden}.foundersPortrait img{display:block;width:100%;height:auto;object-fit:contain}.foundersPortrait::after{display:none}

.homeMesas .wineCard .alignedBottle{background:#e9e1d4}.homeMesas .wineCard .alignedBottle img{mix-blend-mode:normal}.homeMesas .wineCardCopy{padding-top:24px}

.homeMesas .catalogGrid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.homeMesas .catalogGrid{grid-template-columns:1fr}}
