@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/manrope-cyrillic-ext-400-normal.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/manrope-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/manrope-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/manrope-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/manrope-cyrillic-ext-500-normal.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/manrope-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/manrope-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/manrope-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/manrope-cyrillic-ext-600-normal.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/manrope-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/manrope-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/manrope-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/manrope-cyrillic-ext-800-normal.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/manrope-cyrillic-800-normal.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/manrope-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout: poster grid — cream ground, one loud typographic moment per screen, photos full-frame */
:root{
  --cream:#FAF6E8; --green:#2C492A; --red:#EE3435; --orange:#E64E2E; --ink:#100F0D;
  --sage:#C3CCC2; --caramel:#D9A874;
  --bg:var(--cream); --fg:var(--ink); --rule:rgba(16,15,13,.18);
  --display:'Manrope',system-ui,'Helvetica Neue',Arial,sans-serif;
  --body:'Manrope',system-ui,'Helvetica Neue',Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:lowercase;font-weight:500;word-spacing:.6em}
.h{font-family:var(--display);font-weight:800;line-height:.86;letter-spacing:-.045em;text-wrap:balance;margin:0}
.h span{display:block}
.h .s1{padding-left:.9em}
.h .s2{padding-left:1.9em}
.h .s3{padding-left:.45em}
.tiny{font-size:11px;letter-spacing:.02em;line-height:1.35}
.num{font-variant-numeric:tabular-nums}
.link{border-bottom:1.5px solid currentColor;padding-bottom:2px;font-weight:600}
/* nav */
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:18px 28px;font-size:13px;font-weight:600}
.nav .logo img{height:22px;width:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.nav .langs{display:flex;gap:12px;align-items:center}
.nav .langs a{opacity:.55}.nav .langs a[aria-current]{opacity:1;border-bottom:1.5px solid currentColor}
.nav .cta{margin-left:18px;border-bottom:1.5px solid currentColor}
/* events list component */
.events{list-style:none;margin:0;padding:0}
.events li{display:grid;grid-template-columns:7.5em 8em 1fr;gap:16px;align-items:baseline;padding:14px 0;border-bottom:2px solid currentColor}
.events li:first-child{border-top:2px solid currentColor}
.events .d{font-weight:800;font-size:22px;letter-spacing:-.02em}
.events .t{font-size:12px;letter-spacing:.06em;opacity:.8}
.events .n{font-size:22px;font-weight:600;letter-spacing:-.02em}
/* footer */
.foot{padding:56px 28px 40px;font-size:12.5px;line-height:1.6}
.foot .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px}
.foot h4{margin:0 0 8px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;opacity:.7}
.foot .hours{display:grid;grid-template-columns:auto auto;gap:2px 14px}
.foot .legal{margin-top:36px;padding-top:16px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:10px 22px;opacity:.75}
@media (max-width:900px){
  .nav{grid-template-columns:auto auto;padding:14px 16px}
  .nav ul{display:none}
  .foot .grid{grid-template-columns:1fr 1fr}
  .events li{grid-template-columns:6.5em 1fr;grid-template-rows:auto auto}
  .events .d{white-space:nowrap;font-size:20px}
  .events .t{grid-column:2}
  .events .n{grid-column:1/-1}
}
@media (max-width:520px){ .foot .grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}


/* Layout: one full homepage. Hero = the day (09–23) as the memorable moment; then magazine spreads, each on its own ground:
   cream → cream → sage (esplanada) → green (sala) → cream (chef) → caramel (agenda) → ink (eventos) → cream (contactos) → ink (footer) */
.spread{padding:88px 32px;display:grid;gap:40px}
.kicker{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;border-top:2px solid currentColor;padding-top:10px}
.kicker .num{font-weight:800;font-size:13px;letter-spacing:.1em}
.spread .h{font-size:clamp(46px,6.8vw,112px)}
.cap{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:6px}
.cap b{font-weight:800}
/* HERO — the day */
.day{padding:12px 32px 0}
.day .top{display:flex;justify-content:space-between;align-items:baseline;gap:24px;color:var(--green)}
.day .big{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0 2vw;color:var(--green);margin-top:-8px}
.day .big > b{font-family:var(--display);font-weight:800;font-size:clamp(120px,27vw,440px);line-height:.82;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.day .big .mid{overflow:hidden;align-self:end;padding-bottom:1.6vw;display:grid;gap:10px;justify-items:start;min-width:0}
.day .big .mid .h{font-size:clamp(20px,3.2vw,52px);color:var(--red);letter-spacing:-.03em}
.day .big .mid .dash{height:6px;background:var(--green);width:100%}
.timeline{margin-top:30px;padding:0 0 0 32px;overflow-x:auto;scrollbar-width:none}
.timeline::-webkit-scrollbar{display:none}
.timeline .row{display:flex;gap:10px;min-width:max-content;padding-right:32px}
.timeline figure{margin:0;flex:0 0 auto;display:grid;gap:8px}
.timeline img{height:clamp(220px,34vw,440px);width:auto;object-fit:cover}
.timeline figcaption{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;border-top:2px solid var(--green);padding-top:8px;color:var(--green)}
.timeline figcaption b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.timeline figcaption span{font-size:12px}
.ruler{margin:8px 32px 0;height:12px;background:repeating-linear-gradient(90deg,var(--green) 0 1px,transparent 1px 12.5%),linear-gradient(var(--green),var(--green)) bottom/100% 2px no-repeat}
.legend{padding:14px 32px 0;display:grid;grid-template-columns:1fr auto;gap:20px;color:var(--green);align-items:baseline}
.legend .cta{font-size:20px;font-weight:800;border-bottom:3px solid var(--red)}
.legend .sum{font-size:15px;max-width:60ch;line-height:1.45}
/* 01 CARTA — prices first */
.carta{grid-template-columns:5fr 7fr;padding-top:100px}
.carta .kicker{grid-column:1/-1}
.carta .h{color:var(--red)}
.carta ul{list-style:none;margin:28px 0 0;padding:0}
.carta li{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;padding:12px 0;border-bottom:2px solid var(--ink)}
.carta li:first-child{border-top:2px solid var(--ink)}
.carta li img{width:72px;height:72px;object-fit:cover}
.carta li .n{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.carta li .n small{display:block;font-size:12px;font-weight:500;letter-spacing:0;margin-top:5px;opacity:.75}
.carta li .p{font-weight:800;white-space:nowrap;font-size:17px}
.carta .note{margin-top:16px;font-size:12px;opacity:.75;max-width:52ch}
.carta .pics{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:14px 12px;align-content:start;align-self:start;background:var(--ink);padding:12px}
.carta .pics figure{margin:0;color:var(--cream)}
.carta .pics img{width:100%;aspect-ratio:1;object-fit:cover}
.carta .pics .big{grid-row:1/3}
.carta .pics .big img{aspect-ratio:auto;height:100%}
.carta .pics figcaption{padding:0 2px 4px;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.carta .pics figcaption span:first-child{overflow-wrap:anywhere}
/* 02 ESPLANADA — its own moment */
.espl{background:var(--sage);color:var(--green);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.espl .kicker{grid-column:1/-1}
.espl .h{grid-column:1/8;grid-row:2;font-size:clamp(60px,9vw,150px)}
.espl .lead{grid-column:8/13;grid-row:2;align-self:end;font-size:16px;max-width:38ch;color:var(--ink)}
.espl .p1{grid-column:1/6;grid-row:3;aspect-ratio:3/4;overflow:hidden}
.espl .p2{grid-column:6/13;grid-row:3;aspect-ratio:16/10;overflow:hidden;margin-top:70px}
.espl .p3{grid-column:9/12;grid-row:4;aspect-ratio:3/4;overflow:hidden;margin-top:-40px}
.espl .p4{grid-column:1/4;grid-row:4;aspect-ratio:1;overflow:hidden;margin-top:40px}
.espl figure{margin:0}.espl img{width:100%;height:100%;object-fit:cover}
.espl .when{grid-column:4/9;grid-row:4;align-self:end;display:grid;gap:0;color:var(--ink)}
.espl .when div{display:grid;grid-template-columns:5.5em 1fr;gap:14px;padding:10px 0;border-bottom:2px solid var(--green);font-size:15px}
.espl .when div:first-child{border-top:2px solid var(--green)}
.espl .when b{font-weight:800;font-variant-numeric:tabular-nums}
/* 03 SALA */
.sala{background:var(--green);color:var(--cream);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.sala .kicker{grid-column:1/-1}
.sala .h{grid-column:1/7;grid-row:2;align-self:end}
.sala .big{grid-column:7/13;grid-row:2/5;aspect-ratio:3/4;overflow:hidden;margin:0}
.sala .big img{width:100%;height:100%;object-fit:cover}
.sala .facts{grid-column:1/7;grid-row:3;display:grid;grid-template-columns:repeat(3,auto);gap:24px;justify-content:start}
.sala .facts div b{display:block;font-size:clamp(44px,5.4vw,84px);font-weight:800;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.sala .facts div span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.sala .small{grid-column:1/4;grid-row:4;aspect-ratio:1;overflow:hidden;margin:0}
.sala .small2{grid-column:4/7;grid-row:4;aspect-ratio:1;overflow:hidden;margin:0}
.sala .small img,.sala .small2 img{width:100%;height:100%;object-fit:cover}
.sala .txt{grid-column:1/7;grid-row:5;max-width:52ch;font-size:16px}
.sala .strip{grid-column:7/13;grid-row:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-self:start}
.sala .strip img{width:100%;aspect-ratio:3/4;object-fit:cover}
/* 04 CHEF */
.chef{grid-template-columns:4fr 8fr;align-items:end}
.chef .kicker{grid-column:1/-1}
.chef .portrait{margin:0}.chef .portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.chef .body{display:grid;gap:26px}
.chef .h{color:var(--red)}
.chef .quote{font-size:clamp(22px,2.6vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.2;max-width:26ch;margin:0}
.chef .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.chef .row img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.chef .meta{font-size:13px;display:flex;gap:28px;flex-wrap:wrap}
.chef .meta b{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.6}
/* 05 AGENDA */
.agenda{background:var(--caramel);color:var(--green);grid-template-columns:7fr 5fr}
.agenda .kicker{grid-column:1/-1}
.agenda .left{display:grid;gap:28px;align-content:start}
.agenda .events{color:var(--ink)}
.agenda .right{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.agenda .right img{width:100%;aspect-ratio:3/4;object-fit:cover}
.agenda .right img:first-child{grid-column:1/-1;aspect-ratio:4/3}
.agenda .regular{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;font-size:13px;color:var(--ink)}
.agenda .regular b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--green)}
/* 06 EVENTOS PRIVADOS — sold properly */
.priv{background:var(--ink);color:var(--cream);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.priv .kicker{grid-column:1/-1}
.priv .h{grid-column:1/8;grid-row:2;font-size:clamp(56px,8.4vw,140px)}
.priv .nums{grid-column:8/13;grid-row:2;align-self:end;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.priv .nums b{display:block;font-size:clamp(56px,7vw,110px);font-weight:800;line-height:.9;letter-spacing:-.05em;color:var(--red);font-variant-numeric:tabular-nums}
.priv .nums span{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.priv .g1{grid-column:1/5;grid-row:3;aspect-ratio:3/4;margin:0;overflow:hidden}
.priv .g2{grid-column:5/9;grid-row:3;aspect-ratio:3/4;margin:0;overflow:hidden;margin-top:60px}
.priv .g3{grid-column:9/13;grid-row:3;aspect-ratio:3/4;margin:0;overflow:hidden}
.priv img{width:100%;height:100%;object-fit:cover}
.priv .opts{grid-column:1/8;grid-row:4;list-style:none;margin:0;padding:0}
.priv .opts li{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 0;border-bottom:2px solid var(--cream);font-size:17px}
.priv .opts li:first-child{border-top:2px solid var(--cream)}
.priv .opts b{font-weight:800;display:block;font-size:22px;letter-spacing:-.02em}
.priv .opts small{font-size:13px;opacity:.8}
.priv .opts .c{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.priv .ask{grid-column:8/13;grid-row:4;align-self:end;display:grid;gap:14px;font-size:15px;max-width:38ch}
.priv .ask .cta{font-size:22px;font-weight:800;border-bottom:3px solid var(--red);justify-self:start}
/* 07 CONTACTOS */
.cont{grid-template-columns:6fr 6fr;align-items:start}
.cont .kicker{grid-column:1/-1}
.cont .phone{font-size:clamp(30px,4.2vw,62px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;margin:0;color:var(--green)}
.cont .hours{display:grid;grid-template-columns:auto auto;gap:6px 24px;font-size:15px;font-variant-numeric:tabular-nums;margin-top:26px;max-width:420px}
.cont .hours b{font-weight:600}
.cont .hours span{border-bottom:1px solid var(--rule);padding-bottom:6px}
.cont .addr{margin-top:26px;font-size:16px;line-height:1.5}
.cont .cta{display:inline-block;margin-top:26px;font-size:20px;font-weight:800;border-bottom:3px solid var(--red)}
.cont .pic{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.cont .pic img{width:100%;aspect-ratio:3/4;object-fit:cover}
.cont .pic img:first-child{grid-column:1/-1;aspect-ratio:16/10}
.cont .pic figcaption{grid-column:1/-1;font-size:12px;opacity:.75}
.foot{background:var(--ink);color:var(--cream)}


/* ===== overlays: carta, prato, curtain ===== */
.ov{position:fixed;inset:0;z-index:40;background:var(--cream);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.ov[hidden]{display:none}
.ovin{max-width:1280px;margin:0 auto;padding:22px 32px 80px}
.ovh{position:sticky;top:0;background:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:12px 0 14px;border-bottom:2px solid var(--ink);z-index:2}
.x{appearance:none;background:none;border:0;font:inherit;font-weight:800;font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--ink);padding:8px 0 8px 28px;position:relative}
.x::before{content:"";position:absolute;left:0;top:50%;width:16px;height:2px;background:var(--red);transform:rotate(45deg)}
.x::after{content:"";position:absolute;left:0;top:50%;width:16px;height:2px;background:var(--red);transform:rotate(-45deg)}
.ovgrid{display:grid;grid-template-columns:7fr 5fr;gap:56px;margin-top:36px}
.mc{margin-bottom:44px}
.mc .h{font-size:clamp(34px,4.2vw,60px);color:var(--red);margin-bottom:14px}
.mc .sub{margin:-6px 0 14px;font-size:12px;letter-spacing:.24em;text-transform:lowercase;word-spacing:.5em}
.mlist{list-style:none;margin:0;padding:0}
.mlist li{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;padding:10px 0;border-bottom:1.5px solid var(--ink)}
.mlist li:first-child{border-top:2px solid var(--ink)}
.mlist li img,.mlist li .nophoto{width:56px;height:56px;object-fit:cover;display:block}
.mlist li .nophoto{background:var(--sage)}
.mlist li.has{cursor:pointer}
.mlist li.has:hover .nm{color:var(--red)}
.mlist li.has img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mlist li.has:hover img{transform:scale(1.1) rotate(-2deg)}
.mlist .nm{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.mlist .pr{font-weight:800;font-size:17px;white-space:nowrap}
.mlist.slim li{grid-template-columns:1fr auto;padding:7px 0;border-bottom:1px solid var(--rule)}
.mlist.slim li:first-child{border-top:none}
.mlist.slim .nm{font-size:14px;font-weight:500}.mlist.slim .pr{font-size:14px;font-weight:700}
.extras{font-size:13px;margin:12px 0 0;line-height:1.6}
.fl{font-style:normal;display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;vertical-align:middle;margin-left:6px;padding:2px 6px;line-height:1.2}
.fl.new{background:var(--red);color:var(--cream)}
.fl.veg{border:1.5px solid var(--green);color:var(--green);border-radius:50%;width:18px;height:18px;padding:0;text-align:center;line-height:15px;text-transform:lowercase}
.fl.sig{background:var(--green);color:var(--cream);font-family:Georgia,'Times New Roman',serif;text-transform:none;letter-spacing:0;font-weight:600;font-size:11px}
.drinks{border-left:2px solid var(--ink);padding-left:32px}
.drinks > .h{font-size:clamp(34px,4.2vw,60px);color:var(--green);margin-bottom:20px}
.drinks h4{margin:18px 0 6px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.7}
.drinks .mc{margin-bottom:10px}
.barwrap{margin-top:30px;padding-top:20px;border-top:2px solid var(--ink)}
.ov .legend{margin-top:30px;opacity:.8;display:block}
/* dish card */
.dishov{display:grid;place-items:center;padding:24px;background:rgba(16,15,13,.55)}
.dishov[hidden]{display:none}
.dishin{display:grid;grid-template-columns:1fr 1.1fr;width:min(1100px,100%);background:var(--cream);max-height:calc(100vh - 48px);overflow:auto}
.dishin .dp{margin:0;aspect-ratio:4/5;overflow:hidden}
.dishin .dp img{width:100%;height:100%;object-fit:cover}
.dishin .dt{padding:28px 32px 32px;display:grid;align-content:start;gap:12px}
.dishin .dt .x{justify-self:end}
.dishin .h{font-size:clamp(30px,3.6vw,54px);color:var(--green)}
.dprice{font-size:34px;font-weight:800;letter-spacing:-.03em;margin:0;color:var(--red)}
.dflags{margin:0}
.ddesc{font-size:15px;line-height:1.5;margin:0;max-width:52ch}
.dmeta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:13px;line-height:1.45;padding:14px 16px;background:var(--sage);color:var(--green)}
.dmeta b{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin-bottom:2px}
.dmeta .wide{grid-column:1/-1}
.mlist .al{display:block;font-size:11px;font-weight:400;opacity:.65;margin-top:2px;letter-spacing:0}
.dishin .cta{justify-self:start;font-size:18px;font-weight:800;margin-top:6px}
/* curtain */
.curtain{position:fixed;inset:0;z-index:60;background:var(--cream);transform:translateY(101%);pointer-events:none;display:grid;place-items:center}
.curtain i{width:120px;height:120px;background:var(--red);-webkit-mask:url(../img/g25.png) center/contain no-repeat;mask:url(../img/g25.png) center/contain no-repeat;opacity:0;transform:scale(.6) rotate(-20deg)}
.curtain.in{transform:none;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.curtain.in i{opacity:1;transform:none;transition:opacity .3s .2s,transform .5s .2s cubic-bezier(.2,.8,.2,1)}
.curtain.out{transform:translateY(-101%);transition:transform .55s cubic-bezier(.7,0,.2,1)}
body.locked{overflow:hidden}
@media (max-width:900px){
  .ovin{padding:12px 16px 60px}.ovgrid{grid-template-columns:1fr;gap:36px}
  .drinks{border-left:0;padding-left:0;border-top:2px solid var(--ink);padding-top:24px}
  .dishin{grid-template-columns:1fr}.dishin .dp{aspect-ratio:4/3}.dishin .dt{padding:20px 18px 24px}
  .mlist li{grid-template-columns:48px 1fr auto;gap:12px}.mlist li img,.mlist li .nophoto{width:48px;height:48px}.mlist .nm{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.curtain{display:none}}

/* ===== motion & details ===== */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* sticky section kicker */
.spread{position:relative}
.kicker{position:sticky;top:0;z-index:3;padding-top:10px;padding-bottom:8px;background:inherit}
.carta .kicker,.chef .kicker,.cont .kicker{background:var(--cream)}
.espl .kicker{background:var(--sage)}.sala .kicker{background:var(--green)}.agenda .kicker{background:var(--caramel)}.priv .kicker{background:var(--ink)}
/* hero load sequence */
.day .big > b{display:inline-block}
.js .day .big > b{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.js .day .big > b:last-child{animation-delay:.12s}
.js .day .big .mid .h span{display:block;animation:fade .7s ease both}
.js .day .big .mid .h span:nth-child(2){animation-delay:.35s}.js .day .big .mid .h span:nth-child(3){animation-delay:.5s}
.js .day .big .mid .dash{transform-origin:left;animation:grow .8s .5s cubic-bezier(.2,.8,.2,1) both}
.js .timeline figure{animation:fade .8s ease both}
.js .timeline figure:nth-child(n+2){animation-delay:.25s}.js .timeline figure:nth-child(n+4){animation-delay:.4s}.js .timeline figure:nth-child(n+6){animation-delay:.55s}
@keyframes rise{from{transform:translateY(.35em);opacity:0}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* sun & moon marks beside the numerals */
.day .top{align-items:center}
.day .mark{display:inline-block;vertical-align:middle;width:38px;height:38px;background:var(--red);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.day .mark.sun{--m:url(../img/g25.png);margin-right:14px}
.day .mark.moon{--m:url(../img/gmoon.png);width:54px;margin-left:14px}
.js .day .mark.sun{animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* live status line */
.now{max-width:100%;overflow-wrap:anywhere;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;line-height:1.4;font-size:13px;color:var(--green);margin-top:10px;min-height:20px}
.now .dot{flex:0 0 9px;margin-top:5px;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(44,73,42,.18)}
.now.closed .dot{background:var(--red);box-shadow:0 0 0 3px rgba(238,52,53,.18)}
.now b{font-weight:800;font-variant-numeric:tabular-nums}
/* timeline: drag, current hour */
.timeline{cursor:grab;user-select:none}
.timeline.dragging{cursor:grabbing}
.timeline figure{position:relative;overflow:hidden}
.timeline img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.timeline figure:hover img{transform:scale(1.03)}
.timeline figure.is-now figcaption{border-top-color:var(--red);color:var(--red)}
.timeline figure.is-now figcaption b::after{content:"agora";font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-left:10px;vertical-align:middle;font-weight:600}
/* scroll reveals (visible without JS; with JS, start hidden only once observer is armed) */
.rv.pre img{clip-path:inset(0 0 100% 0)}
.rv img{transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in img{clip-path:inset(0 0 0 0)}
.rt.pre{opacity:0;transform:translateY(18px)}
.rt{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.rt.in{opacity:1;transform:none}
/* hover details */
.carta li{transition:padding-left .35s cubic-bezier(.2,.8,.2,1)}
.carta li:hover{padding-left:10px}
.carta li img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.carta li:hover img{transform:scale(1.08) rotate(-2deg)}
.carta li .p{position:relative}
.carta li .p::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.carta li:hover .p::after{transform:scaleX(1)}
figure.ph{position:relative;overflow:hidden}
figure.ph img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}
figure.ph:hover img{transform:scale(1.04)}
.events li{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.events li:hover{transform:translateX(8px)}
.priv .opts li,.espl .when div{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.priv .opts li:hover,.espl .when div:hover{transform:translateX(8px)}
.link,.cta{position:relative;border-bottom:none!important}
.link::after,.cta::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;transform:scaleX(1);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cta::after{height:3px;background:var(--red)}
.link:hover::after,.cta:hover::after{transform:scaleX(0);transform-origin:right}
.link:hover,.cta:hover{color:var(--red)}
/* cursor label on dish photos (fine pointers only) */
.cur{position:fixed;left:0;top:0;pointer-events:none;z-index:50;background:var(--red);color:var(--cream);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:8px 12px;transform:translate(-50%,-50%) scale(.6);opacity:0;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1)}
.cur.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (pointer:coarse){.cur{display:none}}
/* nav: current section */
.nav{position:sticky;top:0;z-index:10;background:var(--cream);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 1px 0 var(--rule)}
.nav .where{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-left:14px;font-weight:600;white-space:nowrap}
.nav .where:empty{display:none}
@media (max-width:900px){.nav .where{display:none}.day .mark{display:none}
  .nav{position:static;grid-template-columns:auto 1fr;gap:10px;padding:12px 16px;align-items:center}
  .nav .langs{justify-content:flex-end;gap:10px;flex-wrap:nowrap}
  .nav .langs .cta{margin-left:10px;white-space:nowrap}
  .nav .logo img{height:20px}
  .kicker{position:static}
}
@media (prefers-reduced-motion:reduce){.rv img,.rt{clip-path:none!important;opacity:1!important;transform:none!important;transition:none}.js .day .big > b,.js .day .big .mid .h span,.js .day .big .mid .dash,.js .timeline figure{animation:none}}

@media (max-width:900px){
  .spread{padding:56px 16px;gap:28px}
  .day{padding:8px 16px 0}
  .day .big{grid-template-columns:1fr 1fr;gap:6px 0}
  .day .big > b:last-child{justify-self:end}
  .day .big .mid{grid-column:1/-1;grid-row:2}
  .day .big > b{font-size:clamp(110px,38vw,220px)}
  .day .big .mid{padding:8px 0}
  .timeline{padding-left:16px}.timeline img{height:260px}
  .ruler,.legend{margin-left:16px;margin-right:16px;padding-left:0;padding-right:0}
  .legend{grid-template-columns:1fr}
  .carta,.chef,.agenda,.cont{grid-template-columns:1fr}
  .carta .pics{grid-template-columns:1fr 1fr}
  .carta .pics .big{grid-column:1/-1;grid-row:auto}
  .carta .pics .big img{aspect-ratio:4/3;height:auto}
  .carta li{grid-template-columns:56px 1fr auto;gap:12px}.carta li img{width:56px;height:56px}.carta li .n{font-size:18px}
  .espl,.sala,.priv{grid-template-columns:1fr 1fr}
  .espl .h,.espl .lead,.espl .when,.sala .h,.sala .facts,.sala .txt,.sala .strip,.priv .h,.priv .nums,.priv .opts,.priv .ask{grid-column:1/-1;grid-row:auto}
  .espl .p1,.espl .p2,.espl .p3,.espl .p4,.sala .big,.sala .small,.sala .small2,.priv .g1,.priv .g2,.priv .g3{grid-column:auto;grid-row:auto;margin-top:0;aspect-ratio:1}
  .espl .p2,.sala .big{grid-column:1/-1;aspect-ratio:4/3}
  .sala .big img{object-position:50% 35%}
  .espl .p4,.sala .small2{display:none}
  .sala .facts{grid-template-columns:repeat(3,auto);gap:16px}
  .chef .portrait{max-width:70%}
  .chef .body{min-width:0}
  .chef .h{font-size:clamp(34px,10.5vw,96px)}
  .spread .h{overflow-wrap:anywhere}
  .agenda .regular{grid-template-columns:1fr}
  .priv .h{font-size:clamp(52px,14vw,96px)}
}

/* 06 ARQUIVO */
.arch{background:var(--cream);color:var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.arch .kicker{grid-column:1/-1}
.arch .h{grid-column:1/8;grid-row:2;color:var(--green)}
.arch .lead{grid-column:8/13;grid-row:2;align-self:end;font-size:16px;max-width:44ch;margin:0}
.arch .feat{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:10px}
.arch .feat figure{margin:0;overflow:hidden}.arch .feat img{width:100%;height:100%;object-fit:cover}
.arch .feat .f1{grid-column:1/6;grid-row:1/3;aspect-ratio:3/4}
.arch .feat .f2{grid-column:6/9;grid-row:1;aspect-ratio:3/4}
.arch .feat .f3{grid-column:9/12;grid-row:1;aspect-ratio:3/4}
.arch .feat .f4{grid-column:6/9;grid-row:2;aspect-ratio:1}
.arch .feat .cap{grid-column:9/13;grid-row:2;align-self:end;display:grid;grid-template-columns:1fr;gap:8px;padding-left:4px}.arch .feat .cap>*{grid-column:1}
.arch .feat .cap .d{white-space:nowrap;font-size:clamp(34px,3.4vw,48px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:var(--red)}
.arch .feat .cap b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.arch .feat .cap p{margin:0;font-size:15px;max-width:34ch}
.arch .evs{grid-column:1/-1;grid-row:4;list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px;counter-reset:ev}
.arch .ev{display:grid;gap:6px;align-content:start}
.arch .ev figure{margin:0 0 6px;overflow:hidden;aspect-ratio:4/5;background:var(--sage)}
.arch .ev img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.arch .ev:hover img{transform:scale(1.04)}
.arch .ev .d{font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--red)}
.arch .ev b{font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.arch .ev small{font-size:13.5px;line-height:1.4;opacity:.85}
.arch .more{grid-column:1/-1;grid-row:5;margin:18px 0 0}
.arch .more a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:4px}
/* 07 IMPRENSA */
.press{background:var(--sage);color:var(--green);grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.press .kicker{grid-column:1/-1;background:var(--sage)}
.press .h{grid-column:1/-1;grid-row:2}
.press .quotes{grid-column:1/8;grid-row:3;list-style:none;margin:0;padding:0;display:grid;gap:0}
.press .quotes li{display:grid;gap:8px;padding:22px 0;border-top:2px solid var(--green)}
.press .quotes li:last-child{border-bottom:2px solid var(--green)}
.press blockquote{margin:0;font-size:clamp(22px,2.4vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.15;max-width:28ch}
.press cite{font-style:normal;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.press .quotes a{color:var(--ink);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px;justify-self:start}
.press .harry{grid-column:8/13;grid-row:3;display:grid;gap:14px;align-content:start}
.press .harry figure{margin:0;overflow:hidden;aspect-ratio:4/5}.press .harry img{width:100%;height:100%;object-fit:cover}
.press .harry b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:6px 0}
.press .harry p{margin:0;font-size:15px;color:var(--ink);max-width:40ch}
.press .harry .eyebrow{color:var(--red)}
.agenda .events .n small{display:block;font-size:12.5px;opacity:.8;margin-top:2px}
.agenda .soon{font-size:14px;margin:0;opacity:.9}
@media (max-width:900px){
  .arch,.press{grid-template-columns:1fr}
  .arch .h,.arch .lead,.arch .feat,.arch .evs,.arch .more,.press .h,.press .quotes,.press .harry{grid-column:1/-1;grid-row:auto}
  .arch .feat{grid-template-columns:1fr 1fr}
  .arch .feat .f1{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5}
  .arch .feat .f2,.arch .feat .f3,.arch .feat .f4,.arch .feat .cap{grid-column:auto;grid-row:auto}
  .arch .feat .f4{display:none}
  .arch .feat .cap{grid-column:1/-1}
  .arch .evs{grid-template-columns:1fr 1fr;gap:22px 12px}
  .agenda .events li{grid-template-columns:5.5em 1fr}
  .agenda .events .t{grid-column:2}
}

/* ---- WordPress specifics ---- */
main.wp-block-group{margin:0;padding:0;max-width:none}
.menu-page{padding-top:72px}
.menu-full{padding:24px clamp(16px,4vw,56px) 64px;max-width:1440px;margin:0 auto}
.menu-full .ovh{position:static;padding:8px 0 24px;border-bottom:2px solid var(--ink);margin-bottom:24px}
.menu-full .ovgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px}
@media (max-width:900px){.menu-full .ovgrid{grid-template-columns:1fr;gap:24px}.menu-page{padding-top:16px}}
.wp-block-template-skip-link{position:absolute;left:-9999px}
