:root{
  --mr-forest:#2B382A;
  --mr-sage:#546652;
  --mr-light:#8EA37C;
  --mr-ink:#181717;
  --mr-ice:#DFE4E4;
  --mr-cream:#F2EBDD;
}

/* Mesa Reservada identity — mobile first */
.brand-v2{background:var(--mr-cream);color:var(--mr-ink)}
.brand-v2 .header{height:66px;background:var(--mr-cream);padding:0 31px;box-shadow:none}
.brand-v2 .header[data-theme="sage"]{background:var(--mr-sage);color:var(--mr-cream)}
.brand-v2 .header[data-theme="forest"]{background:var(--mr-forest);color:var(--mr-cream)}
.brand-v2 .header[data-theme="cream"]{background:var(--mr-cream);color:var(--mr-ink)}
.header-wordmark,.menu-wordmark{font-family:var(--serif);font-weight:400;letter-spacing:.13em;line-height:1;text-transform:uppercase}
.header-wordmark{font-size:14px;white-space:nowrap;transition:opacity .28s ease,transform .28s ease}
.home-header .header-wordmark{opacity:0;transform:translateY(-3px);pointer-events:none}
.home-header.is-scrolled .header-wordmark{opacity:1;transform:none;pointer-events:auto}
.header[data-theme="sage"] .menu-lines span,.header[data-theme="forest"] .menu-lines span{background:var(--mr-cream)}
.header[data-theme="cream"] .menu-lines span{background:var(--mr-ink)}

/* Menu */
.menu-overlay{background:var(--mr-forest);color:var(--mr-cream)}
.menu-wordmark{font-size:15px}
.menu-nav a{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-.015em;text-transform:none}
.menu-signature{margin-top:auto;margin-left:auto;width:142px;opacity:.9;filter:none}

/* Buttons */
.brand-v2 .micro-cta{background:transparent;color:var(--mr-forest);padding:0;font-size:9px;font-weight:700;text-decoration:underline;text-underline-offset:3px;border-radius:0;letter-spacing:.01em}

/* HOME HERO */
.brand-v2 .home-hero{height:100svh;min-height:720px;background:var(--mr-sage);color:var(--mr-cream);padding:94px 28px 74px;display:flex;align-items:center}
.hero-brand-v2{width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.hero-identity{position:relative;width:100%;min-height:220px;display:flex;align-items:center;justify-content:center}
.hero-wordmark-stacked{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:-.02em;font-size:45px;line-height:.80;margin:0}
.hero-wordmark-stacked span{display:block}
.hero-signature{position:absolute;z-index:1;left:52%;top:60%;transform:translate(-50%,-50%) rotate(-5deg);width:min(300px,76vw);opacity:.18;filter:brightness(.42) saturate(.82);pointer-events:none}
.hero-message{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:54px}
.brand-v2 .hero-tagline{font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:.10em;line-height:1.15;margin:0 0 17px;text-transform:uppercase;text-align:center}
.brand-v2 .hero-subcopy{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;max-width:390px;margin:0 0 38px;text-align:center}
.brand-v2 .hero-cta{font-size:11px;background:var(--mr-cream);color:var(--mr-forest);padding:7px 16px;border-radius:4px;letter-spacing:.01em}

/* Mesas / Platos — generous 50/50 editorial grid */
.brand-v2 .home-categories{background:var(--mr-cream)}
.brand-v2 .category-row{min-height:300px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-bottom:1px solid rgba(43,56,42,.16)}
.brand-v2 .category-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 30px}
.brand-v2 .category-row:nth-child(2) .category-image{order:1}
.brand-v2 .category-row:nth-child(2) .category-copy{order:2;padding:48px 30px}
.brand-v2 .category-title,.brand-v2 .explainer-copy h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:.96;letter-spacing:.01em;text-transform:uppercase;margin-bottom:9px}
.brand-v2 .category-subtitle,.brand-v2 .explainer-copy strong{font-size:12px;font-weight:600;line-height:1.18;text-transform:none;margin-bottom:6px}
.brand-v2 .category-desc,.brand-v2 .explainer-copy p{font-size:11.5px;font-weight:400;line-height:1.38;text-transform:none;letter-spacing:0;margin-bottom:20px}
.brand-v2 .category-image{width:100%;height:100%;min-height:300px;aspect-ratio:auto;object-fit:cover;border-radius:0}

/* Cómo funciona */
.brand-v2 .how-v2{background:#E9E2D5;color:var(--mr-forest);padding:76px 32px 100px;text-align:center}
.brand-v2 .how-v2 h2{font-family:var(--serif);font-size:33px;font-weight:400;line-height:.88;text-transform:uppercase;letter-spacing:.015em;margin:0 0 92px}
.brand-v2 .how-list{display:grid;gap:96px}
.brand-v2 .how-step{position:relative;isolation:isolate;min-height:100px;display:flex;flex-direction:column;justify-content:center}
.brand-v2 .how-step::before{content:attr(data-step);position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);z-index:-1;font-family:var(--serif);font-size:100px;font-weight:400;line-height:1;color:rgba(255,255,255,.34)}
.brand-v2 .how-step h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px}
.brand-v2 .how-step p{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.42;letter-spacing:0;max-width:410px;margin:0 auto}

/* Footer — statement first, signature/system lower down */
.brand-v2 .footer-v2{position:relative;overflow:hidden;background:var(--mr-cream);padding:72px 30px 34px;min-height:52svh;display:flex;flex-direction:column;text-align:center}
.footer-signature-wrap{position:absolute;left:50%;bottom:12px;transform:translateX(-50%) rotate(-5deg);width:min(470px,92vw);opacity:.055;pointer-events:none}
.footer-statement{position:relative;z-index:2}
.footer-kicker{position:relative;font-size:10px;letter-spacing:.035em;margin-bottom:13px}
.brand-v2 .footer-copy{position:relative;font-size:19px;line-height:1.04;letter-spacing:.012em;margin:0 auto;color:var(--mr-ink);max-width:400px}
.footer-bottom{position:relative;z-index:2;margin-top:auto;padding-top:90px}
.footer-wordmark{position:relative;font-family:var(--serif);font-size:16px;line-height:.95;letter-spacing:.10em;text-transform:uppercase}
.footer-links{position:relative;display:flex;justify-content:space-between;margin-top:24px;font-family:var(--serif);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

/* CARTA intro */
.brand-v2 .carta-intro{height:auto;min-height:100svh;background:var(--mr-cream);padding-top:96px}
.brand-v2 .carta-intro-head{padding:26px 30px 72px;border-bottom:1px solid rgba(43,56,42,.16)}
.brand-v2 .eyebrow{font-family:var(--serif);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.brand-v2 .carta-title{font-size:41px;line-height:.82;margin:19px 0 18px;letter-spacing:-.015em}
.brand-v2 .carta-lead{font-family:var(--serif);font-size:12px;font-weight:400;letter-spacing:.08em}
.brand-v2 .carta-explainers{display:grid;grid-template-rows:auto auto}
.brand-v2 .explainer{min-height:300px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-bottom:1px solid rgba(43,56,42,.16)}
.brand-v2 .explainer-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 30px}
.brand-v2 .explainer:nth-child(2) .explainer-image{order:1}
.brand-v2 .explainer:nth-child(2) .explainer-copy{order:2;padding:48px 30px}
.brand-v2 .explainer-image{width:100%;height:100%;min-height:300px;aspect-ratio:auto;object-fit:cover;border-radius:0}

/* Product section shared framing */
.brand-v2 .products-section{padding:64px 0 66px}
.brand-v2 .products-section--mesas{background:var(--mr-forest);color:var(--mr-cream)}
.brand-v2 .products-section--platos{background:var(--mr-cream);color:var(--mr-ink)}
.brand-v2 .products-heading{margin-bottom:46px}
.brand-v2 .products-heading h2{font-size:39px;letter-spacing:.025em;line-height:.9}
.brand-v2 .products-heading p{font-size:9px;letter-spacing:.08em}
.brand-v2 .products-section--mesas .product-row{border-bottom-color:rgba(242,235,221,.20)}
.brand-v2 .products-section--platos .product-row{border-bottom-color:rgba(43,56,42,.14)}

@media (min-width:700px){
  .mobile-page{max-width:760px}
  .header{max-width:760px}
  .brand-v2 .category-row,.brand-v2 .explainer{min-height:340px}
  .brand-v2 .category-image,.brand-v2 .explainer-image{min-height:340px}
  .brand-v2 .category-copy,.brand-v2 .explainer-copy{padding-left:48px;padding-right:48px}
  .brand-v2 .category-row:nth-child(2) .category-copy,.brand-v2 .explainer:nth-child(2) .explainer-copy{padding-left:48px;padding-right:48px}
  .brand-v2 .how-v2{padding-left:56px;padding-right:56px}
}
