@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600&display=swap');
:root{--cream:#f6f3eb;--green:#233d31;--sage:#dce2d4;--muted:#697267;--line:#dcded3;--orange:#a55b34;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--green);font-family:var(--sans);font-size:15px}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button{border:0}body:has(dialog[open]){overflow:hidden}.top{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:700;letter-spacing:2px}.brand-flower{font-size:45px;font-weight:400}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.3px;margin-top:7px}.text-button{background:none;font-size:12px;color:var(--green)}.text-button span{margin-left:16px;font-size:20px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;min-height:640px}.hero-copy{padding:74px 8% 48px 12%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.7}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--orange);margin-right:7px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(48px,5.3vw,78px);line-height:1.08;letter-spacing:-2px;margin:26px 0}em{font-weight:400;color:#7d8668}h1 em{color:var(--orange)}.intro{font-size:14px;line-height:1.9;max-width:340px;color:var(--muted);margin-bottom:29px}.primary{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:#fff;padding:18px 24px;width:fit-content;min-height:52px;font-size:12px;border-radius:3px;transition:background .2s,transform .2s}.primary:hover{background:#365b44;transform:translateY(-2px)}.primary span{font-size:19px}.hero-note{font-size:10px;letter-spacing:.4px;margin-top:25px;color:var(--muted)}.hero-photo{position:relative;margin:32px 7% 32px 0;min-height:540px;overflow:hidden;border-radius:180px 3px 3px 3px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54% center;animation:photo-in 1.2s both}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#14251999)}.photo-caption{position:absolute;bottom:26px;left:30px;color:#fff;z-index:1;font-family:var(--serif);font-size:21px;font-style:italic}.round-label{position:absolute;top:22px;right:22px;width:85px;height:85px;display:grid;place-content:center;border-radius:50%;background:var(--cream);font-size:9px;letter-spacing:1.5px;text-align:center;line-height:1.8;transform:rotate(10deg)}.ribbon{background:var(--green);color:#f0eddf;min-height:66px;display:flex;align-items:center;justify-content:space-evenly;gap:20px;padding:17px 4%;font-family:var(--serif);font-size:17px}.ribbon i{font-size:22px;color:#c3b68e;font-style:normal}.menu-section{max-width:1280px;margin:auto;padding:80px 6% 66px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.section-head .eyebrow{color:var(--muted)}h2{font-size:49px;line-height:1.2;margin-bottom:0;letter-spacing:-1.2px}.search{display:flex;gap:12px;align-items:center;border:1px solid #cbd0c3;border-radius:4px;padding:12px 17px;width:315px;background:#fff6}.search>span{font-size:27px}.search input{font:inherit;font-size:12px;width:100%;border:0;outline:none;background:transparent;color:var(--green);min-width:0}.search kbd{color:#8b9385}.category-wrap{position:sticky;top:0;z-index:5;background:var(--cream);padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:32px}.categories{display:flex;overflow:auto;gap:8px;scrollbar-width:thin;padding-bottom:8px}.category{background:transparent;border:1px solid #cfd3c7;border-radius:30px;color:var(--green);white-space:nowrap;padding:11px 17px;font-size:11px;transition:all .2s}.category:hover{background:var(--sage)}.category.active{background:var(--green);color:white;border-color:var(--green)}.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.menu-heading h3{font-size:30px;margin-bottom:8px}.menu-heading p{color:var(--muted);font-size:12px}.menu-heading>span{color:var(--muted);font-size:11px;white-space:nowrap}.items{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}.item{border-bottom:1px solid var(--line);position:relative;padding:25px 0;animation:rise .35s both;display:flex;gap:16px;align-items:center;min-height:143px}.item-main{flex:1;min-width:0;cursor:pointer}.item-category{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#7d8668;margin-bottom:9px}.item-title{font-family:var(--serif);font-size:21px;margin:0 0 8px;line-height:1.3}.item-desc{font-size:11px;line-height:1.8;color:var(--muted);margin:0;max-width:330px}.item-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;align-self:flex-start;margin-top:21px}.price{font-size:16px;font-weight:500;white-space:nowrap}.add{height:31px;width:31px;border:1px solid #cbd0c3;border-radius:50%;font-size:21px;background:transparent;color:var(--green);transition:.2s}.add:hover{color:white;background:var(--green);transform:rotate(90deg)}.breakfast-note{font-size:11px;line-height:1.7;background:#e9eadd;padding:13px 16px;border-radius:3px}.price-note{color:var(--muted);font-size:10px;line-height:1.8;max-width:660px;margin-top:30px}.empty{grid-column:1/-1;padding:40px 0;color:var(--muted);line-height:1.8}.closing{background:var(--sage);text-align:center;padding:54px 20px 64px;position:relative;overflow:hidden}.closing-flower{position:absolute;font-size:330px;color:#c7cebd;left:4%;top:-80px;line-height:1;opacity:.6}.closing p{position:relative;font-size:11px;letter-spacing:1px}.closing h2{position:relative;font-size:57px;margin:20px 0 27px}.light-button{position:relative;background:transparent;color:var(--green);border-bottom:1px solid var(--green);padding:12px 0;font-size:12px}.light-button span{padding-left:30px}footer{padding:43px 6% 100px;display:flex;align-items:center;gap:30px;justify-content:space-between;flex-wrap:wrap}footer p,footer a{font-size:11px;color:var(--muted);margin:0}.footer-name{font-family:var(--serif);font-size:23px}.footer-name small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3px;margin-top:7px}.source-note{width:100%;font-size:9px;color:#7c8276}.selection-fab{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--green);color:white;box-shadow:0 6px 30px #17281c38;display:flex;align-items:center;gap:32px;z-index:9;padding:18px 25px;min-width:320px;border:1px solid #718471;border-radius:5px;font-size:12px}.selection-fab[hidden]{display:none}.selection-fab span:first-child{flex:1;text-align:left}.selection-fab b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#ffffff24;border-radius:50%;margin-left:7px;font-size:11px}.toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-100px);opacity:0;pointer-events:none;background:var(--green);color:#fff;box-shadow:0 5px 30px #0002;z-index:40;padding:14px 22px;border-radius:4px;font-size:12px;max-width:90%;transition:all .25s}.toast.show{transform:translate(-50%,0);opacity:1}dialog{border:1px solid var(--line);background:var(--cream);color:var(--green);padding:45px 35px 30px;width:calc(100% - 32px);max-width:510px;border-radius:9px;max-height:88dvh;overflow:auto;box-shadow:0 25px 90px #13201544}dialog[open]{animation:rise .25s}dialog::backdrop{background:#0d201ac9;backdrop-filter:blur(6px)}dialog h2{font-size:33px;line-height:1.25;margin:14px 0 24px}.close{position:absolute;right:13px;top:9px;background:none;color:var(--green);font-size:28px;width:35px;height:35px}.detail-desc{line-height:1.9;color:var(--muted);font-size:14px}.detail-price{font-family:var(--serif);font-size:33px}.mini-note{font-size:11px;line-height:1.8;color:var(--muted);margin:15px 0 22px}dialog .primary{width:100%}.selection-row{display:flex;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid var(--line)}.selection-row>div:first-child{flex:1}.selection-row h3{font-family:var(--sans);font-size:13px;font-weight:500;margin-bottom:7px}.selection-row small{color:var(--muted);font-size:11px}.quantity{display:flex;align-items:center;gap:12px;font-size:13px}.quantity button{width:30px;height:30px;background:var(--sage);color:var(--green);border-radius:50%;font-size:18px}.totals{padding-top:20px}.totals p{display:flex;justify-content:space-between;font-size:12px}.totals .total{font-size:17px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.clear-button{display:block;margin:20px auto 0;background:none;color:var(--muted);font-size:11px;text-decoration:underline}.book-dialog{max-width:700px;padding:0;background:#ece9df}.book-toolbar{position:sticky;top:0;display:flex;padding:20px 56px 20px 20px;align-items:center;gap:24px;font-size:12px;background:var(--cream);z-index:1}.book-toolbar>span{flex:1}.book-toolbar .close{top:11px}.book-image-wrap{padding:10px 20px;perspective:1000px}.book-image-wrap img{display:block;width:100%;height:auto;box-shadow:0 4px 16px #0002}.book-image-wrap img.turn{animation:page .4s}.book-controls{position:sticky;bottom:0;display:flex;justify-content:center;align-items:center;gap:30px;padding:12px;background:var(--cream);font-size:12px}.book-controls button{width:44px;height:40px;background:var(--green);color:white;border-radius:4px;font-size:20px}.book-controls button:disabled{opacity:.3;cursor:default}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-in{from{transform:scale(1.07);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes page{from{opacity:.3;transform:rotateY(-12deg)}to{opacity:1;transform:rotateY(0)}}
@media(min-width:1450px){.hero{min-height:710px}.hero-photo{min-height:600px}.hero-copy{padding-top:90px}}@media(max-width:800px){.top{height:82px;padding:0 5%}.brand{font-size:12px;letter-spacing:1px;gap:8px}.brand-flower{font-size:34px}.brand small{font-size:6px;letter-spacing:1.4px}.text-button{font-size:10px}.text-button span{margin-left:5px}.hero{grid-template-columns:1fr 1fr;min-height:530px}.hero-copy{padding:55px 8% 30px 10%}h1{font-size:47px}.eyebrow{font-size:8px;letter-spacing:1.3px}.intro{font-size:12px}.hero-photo{min-height:460px;margin:22px 8% 22px 0;border-radius:130px 3px 3px 3px}.primary{padding:15px 17px;gap:15px;font-size:11px}.photo-caption{font-size:17px;left:20px}.round-label{width:65px;height:65px;font-size:7px}.hero-note{font-size:9px}.ribbon{font-size:13px;gap:12px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.menu-section{padding-top:50px}.items{column-gap:28px}.item-title{font-size:19px}.item{gap:8px}.price{font-size:14px}.item-desc{font-size:10px}.search{width:260px}.section-head h2{font-size:43px}}
@media(max-width:560px){html{scroll-padding-top:78px}.top{height:75px}.text-button{max-width:106px;line-height:1.6;text-align:right}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 7% 28px}.hero .eyebrow{font-size:8px}h1{font-size:53px;margin:18px 0;line-height:1.04}h1 br:nth-child(2){display:none}h1 em{display:block;margin-top:4px}.intro{max-width:340px;font-size:12px;line-height:1.8;margin-bottom:21px}.hero-note{margin-top:17px}.hero-photo{height:280px;min-height:280px;margin:0 6% 26px;border-radius:90px 3px 3px 3px}.hero-photo img{object-position:center 55%}.photo-caption{font-size:20px}.ribbon{min-height:55px;font-size:12px;gap:9px;padding:12px 4%}.ribbon i{font-size:17px}.ribbon span:nth-of-type(3),.ribbon i:nth-of-type(2){display:none}.section-head{display:block;margin-bottom:17px}.section-head h2{font-size:42px;margin-bottom:22px}.search{width:100%;padding:9px 13px}.search input{font-size:13px}.menu-section{padding:38px 6% 40px}.category-wrap{margin-bottom:24px}.category{font-size:11px;padding:10px 14px}.menu-heading h3{font-size:26px}.menu-heading p{font-size:11px;line-height:1.7;max-width:245px}.menu-heading>span{font-size:9px}.items{grid-template-columns:1fr}.item{min-height:126px;padding:21px 0;gap:18px}.item-title{font-size:21px}.item-desc{font-size:11px;max-width:300px}.price{font-size:16px}.item-right{margin-top:18px}.add{width:34px;height:34px}.closing{padding:41px 15px 45px}.closing h2{font-size:46px}.closing-flower{left:-90px;font-size:290px}.closing p{font-size:10px}footer{padding:35px 6% 112px;display:block}footer p{margin:20px 0;line-height:1.7}footer .source-note{margin-top:27px;font-size:9px}.selection-fab{bottom:14px;width:88%;min-width:0;gap:15px;padding:15px 18px}.selection-fab b{margin-left:4px}dialog{padding:42px 25px 25px}.book-dialog{padding:0}.book-image-wrap{padding:8px}.detail-dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Manual de marca: RGB definidos en la lámina cromática. */
:root{--cream:#faf5ed;--green:#245d38;--sage:#f3e3d3;--muted:#62665e;--line:#dfd5cb;--orange:#802528;--wine:#802528;--red:#e63c2f;--sky:#99daea;--lime:#82bc00;--sand:#e0a36c;--serif:'Mabella','Oswald','Arial Narrow',sans-serif;--sans:'Blue Highway','DM Sans',Arial,sans-serif}
.top{background:#fff;height:122px;border-bottom:3px solid var(--wine)}.brand{gap:25px}.official-logo{width:132px;height:104px;object-fit:contain}.brand-descriptor{color:var(--wine);font-size:13px;letter-spacing:3px}.brand-descriptor small{color:var(--green);font-size:8px}.text-button{color:var(--wine)}h1,h2,h3,.item-title{color:var(--wine)}h1{font-size:clamp(48px,5vw,74px);font-weight:500;letter-spacing:-1px;line-height:1.13}h1 em{font-style:normal;color:var(--green)}h2 em{font-style:normal;color:var(--green)}.eyebrow{color:var(--wine)}.hero-photo{border-radius:110px 4px 4px 4px}.hero-photo:after{background:linear-gradient(transparent,#34231bcc)}.photo-caption{font-family:var(--sans);font-style:normal;font-size:17px}.round-label{background:var(--wine);color:#fff;border:5px solid #faf5ed;font-weight:500}.primary,.selection-fab,.book-controls button{background:var(--wine)}.primary:hover{background:#642023}.category.active{background:var(--wine);border-color:var(--wine)}.category:hover{background:#f3e3d3}.ribbon{background:var(--wine);font-family:var(--sans);font-size:13px;letter-spacing:.3px}.ribbon i{color:var(--sand)}.price,.detail-price{color:var(--wine)}.add{border-color:#d6b7a5;color:var(--wine)}.add:hover{background:var(--wine);border-color:var(--wine)}.item-category{color:var(--green)}.item-title{font-size:23px;font-weight:400;letter-spacing:.1px}.closing{background:var(--green);color:#fff}.closing h2,.closing em{color:#fff}.closing .light-button{color:white;border-color:var(--sand)}.closing h2{font-weight:400}.footer-logo{width:135px;height:auto;object-fit:contain;background:white;padding:8px}.hero-copy{padding-top:62px}.hero-note{color:var(--green)}.brand small{letter-spacing:2px}.detail-dialog h2{font-size:35px}.book-toolbar{color:var(--wine)}.toast{background:var(--wine)}.breakfast-note{background:#f3e3d3;color:var(--wine)}
@media(max-width:800px){.top{height:104px}.official-logo{width:110px;height:86px}.brand{gap:15px}.brand-descriptor{font-size:10px;letter-spacing:1.8px}.brand-descriptor small{font-size:7px}.hero-copy{padding-top:44px}h1{font-size:47px}.item-title{font-size:22px}.ribbon{font-size:11px}}
@media(max-width:560px){.top{height:98px;padding:0 5%}.official-logo{width:100px;height:79px}.brand{gap:12px}.brand-descriptor{font-size:9px;letter-spacing:1px}.brand-descriptor small{font-size:6px;letter-spacing:1.3px}.text-button{font-size:9px}.hero-copy{padding-top:34px}h1{font-size:52px}.hero-photo{border-radius:75px 4px 4px 4px}.item-title{font-size:23px}.photo-caption{font-size:16px}.footer-logo{width:120px}}

/* Fotografías del restaurante: originales, sin alterar los alimentos. */
.hero-photo img{object-position:49% center}.food-gallery{max-width:1280px;padding:58px 6% 0;margin:auto}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:27px}.gallery-heading h2{font-size:40px}.gallery-heading>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;min-width:190px}.food-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.food-photo{position:relative;padding:0;overflow:hidden;border-radius:4px;background:#e9ddcd;aspect-ratio:1.5;display:block}.food-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.food-photo:hover img{transform:scale(1.04)}.food-photo>span{position:absolute;bottom:12px;right:12px;background:#fffef3eb;border-radius:20px;padding:7px 12px;color:var(--wine);font-size:9px}.food-photo-3{grid-row:span 2;grid-column:3;aspect-ratio:auto}.food-photo-3 img{object-position:center 68%}.food-photo-7{grid-column:span 2;aspect-ratio:3.08}.photo-dialog{max-width:1080px;background:#251c1b;padding:48px 16px 12px;border:0;overflow:auto}.photo-dialog>.close{color:white;top:6px}.photo-dialog>img{width:100%;height:auto;max-height:68dvh;object-fit:contain;display:block}.photo-nav{display:flex;align-items:center;justify-content:center;gap:30px;color:#fff;padding-top:15px;font-size:12px}.photo-nav button{background:#ffffff15;color:white;width:44px;height:40px;font-size:22px;border-radius:3px}.photo-nav button:hover{background:var(--wine)}
@media(max-width:800px){.gallery-heading h2{font-size:34px}.food-track{gap:10px}.food-gallery{padding-top:40px}.gallery-heading>p{min-width:160px;font-size:10px}}
@media(max-width:560px){.food-gallery{padding-top:34px}.gallery-heading{display:block;margin-bottom:20px}.gallery-heading h2{font-size:34px}.gallery-heading>p{margin-top:14px;font-size:11px}.gallery-heading>p br{display:none}.food-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:14px;scrollbar-width:thin}.food-photo,.food-photo-3,.food-photo-7{flex:0 0 86%;aspect-ratio:1.35;scroll-snap-align:center}.food-photo-3 img{object-position:center 70%}.photo-dialog{padding:44px 8px 10px}.photo-dialog>img{max-height:70dvh}.photo-nav{padding:14px 0 2px}}

.food-gallery{padding-bottom:50px}.food-track{grid-template-columns:repeat(2,minmax(0,1fr))}.food-photo-3{grid-row:auto;grid-column:auto;aspect-ratio:1.5}.food-photo-3 img{object-position:center 65%}.experience{max-width:1130px;margin:0 auto 70px;display:grid;grid-template-columns:1fr 1fr;background:#f0e6d9;border-radius:5px;overflow:hidden}.experience-photo{height:520px;overflow:hidden}.experience-photo img{width:100%;height:100%;object-fit:cover;object-position:center 67%}.experience-copy{align-self:center;padding:45px 50px}.experience-copy h2{font-size:45px;margin:20px 0 25px}.experience-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:26px}.experience-copy em{color:var(--green);font-style:normal}
@media(max-width:800px){.experience{margin:0 6% 45px}.experience-copy{padding:25px}.experience-copy h2{font-size:36px}.experience-photo{height:460px}}
@media(max-width:560px){.food-gallery{padding-bottom:28px}.food-track{display:flex}.food-photo,.food-photo-3{flex:0 0 86%;aspect-ratio:1.35}.experience{display:flex;flex-direction:column;margin-bottom:35px}.experience-photo{height:380px}.experience-photo img{object-position:center 65%}.experience-copy{padding:30px 26px}.experience-copy h2{font-size:37px}.experience-copy>p:not(.eyebrow){font-size:12px}}
