.showcase,.story-faq,.reviews{padding:110px 0}.showcase{background:var(--cream)}
.showcase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.menu-card{position:relative;min-height:430px;overflow:hidden;border-radius:22px;color:#fff;background:#24150f;box-shadow:var(--shadow)}
.menu-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.menu-card:hover img{transform:scale(1.04)}
.menu-card:after{position:absolute;inset:0;background:linear-gradient(transparent 32%,rgba(20,11,8,.92));content:""}
.menu-card-copy{position:absolute;z-index:1;right:0;bottom:0;left:0;padding:25px}
.menu-card-copy span{color:#f1d6a8;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.menu-card-copy h3{margin-top:6px;font-size:1.65rem}.menu-price{display:inline-block;margin-top:12px;padding:6px 11px;border-radius:999px;color:var(--ink);background:#fff;font-weight:800}
.showcase-action{margin-top:32px;text-align:center}
.cinema{position:relative;min-height:640px;display:grid;place-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(24,14,9,.82),rgba(24,14,9,.42)),url("../images/puebloviejo/banner01.jpg") center/cover}
.cinema-grid{position:relative;z-index:1;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:60px}
.cinema-copy p:not(.eyebrow){max-width:520px;margin-top:20px;color:rgba(255,255,255,.82)}
.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:#130c09;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.video-frame iframe{width:100%;height:100%;border:0}
.numbers{padding:54px 0;color:#fff;background:var(--wine)}.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.number strong{display:block;font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.number span{display:block;margin-top:8px;color:rgba(255,255,255,.78);font-weight:600}
.quote-banner{display:grid;min-height:500px;place-items:center;color:#fff;text-align:center;background:linear-gradient(rgba(26,15,10,.66),rgba(26,15,10,.72)),url("../images/puebloviejo/Restaurant_puebloviejonorte.jpg") center/cover fixed}
.quote-banner blockquote{max-width:900px;margin:0 auto;font-family:var(--serif);font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.12}.quote-banner p{margin-top:20px;color:#f1d6a8;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.celebrations{padding:110px 0;background:var(--forest);color:#fff}.celebration-grid{display:grid;grid-template-columns:.65fr 1fr;align-items:center;gap:60px}
.celebration-image{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.24)}.celebration-image video{display:block;width:100%;height:auto}
.celebration-copy p:not(.eyebrow){margin-top:22px;color:rgba(255,255,255,.78)}.occasion-list{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px;padding:0;list-style:none}
.occasion-list li{padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px}
.reviews{background:var(--paper)}.review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.review-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}.review-stars{color:#bd852e;letter-spacing:.12em}
.review-card h3{margin-top:17px;font-size:1.45rem}.review-card p{margin-top:12px;color:var(--muted)}
.review-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;color:var(--muted)}
.review-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.review-platform{display:flex;min-height:118px;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:#fff;box-shadow:0 12px 32px rgba(45,27,18,.06);transition:transform .2s ease,box-shadow .2s ease}.review-platform:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(45,27,18,.1)}.review-platform-copy{display:grid;gap:3px}.review-platform-copy strong{font-family:var(--serif);font-size:1.35rem}.review-platform-copy span{color:var(--muted);font-size:.92rem}.review-platform-mark{display:grid;min-width:108px;place-items:center}.review-platform-mark.google{color:#7c2d2d;font-size:1rem;font-weight:800;letter-spacing:.02em}.review-platform-mark img{display:block;width:142px;max-height:36px;object-fit:contain}.vip-card{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:42px;margin-top:24px;padding:38px;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--wine-dark),var(--wine) 62%,#925040);box-shadow:0 22px 55px rgba(93,32,32,.2)}.vip-card .eyebrow{color:#f0c98c}.vip-card h3{margin-top:7px;color:#fff;font-size:clamp(2rem,4vw,3.15rem)}.vip-card p:not(.eyebrow){max-width:650px;margin-top:14px;color:rgba(255,255,255,.82)}.vip-card .button{margin-top:24px;border-color:#fff;color:var(--wine-dark);background:#fff}.vip-card .button:hover{color:#fff;background:transparent}.vip-qr-link{display:block;padding:13px;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.2)}.vip-qr-link img{display:block;width:100%;height:auto;border-radius:8px}.vip-qr-caption{display:block;margin-top:9px;color:rgba(255,255,255,.75);font-size:.78rem;text-align:center}
.history-story{overflow:hidden;background:var(--paper)}.history-hero{position:relative;min-height:660px;overflow:hidden;border-radius:28px;box-shadow:0 28px 70px rgba(45,27,18,.18)}.history-hero>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.history-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,15,10,.86) 0%,rgba(28,15,10,.62) 43%,rgba(28,15,10,.08) 78%)}.history-hero-copy{position:absolute;z-index:2;bottom:0;left:0;max-width:720px;padding:clamp(38px,7vw,86px);color:#fff}.history-hero-copy .eyebrow{color:#efc686}.history-hero-copy h2{color:#fff;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.02}.history-hero-copy p:last-child{max-width:610px;margin-top:22px;color:rgba(255,255,255,.84);font-size:1.08rem}.history-editorial{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(50px,8vw,110px);padding:110px 0 80px}.history-copy>p:not(.eyebrow){margin-top:20px;color:var(--muted)}.history-copy blockquote{margin:34px 0 0;padding:20px 0 20px 26px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:1.45rem;font-style:italic;line-height:1.45}.history-images{position:relative;min-height:660px}.history-image{position:absolute;overflow:hidden;margin:0;border-radius:22px;background:var(--cream);box-shadow:0 22px 55px rgba(45,27,18,.16)}.history-image img{display:block;width:100%;height:100%;object-fit:cover}.history-image figcaption{position:absolute;right:0;bottom:0;left:0;padding:38px 22px 18px;color:#fff;background:linear-gradient(transparent,rgba(25,14,10,.78));font-size:.84rem}.history-image-main{top:0;right:0;width:82%;height:470px}.history-image-detail{bottom:0;left:0;width:53%;height:330px;border:8px solid var(--paper)}.history-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--line)}.history-chapters article{padding:34px;background:var(--cream)}.history-chapters span{color:var(--wine);font-size:.78rem;font-weight:800;letter-spacing:.16em}.history-chapters h3{margin-top:12px;font-size:1.5rem}.history-chapters p{margin-top:10px;color:var(--muted)}.history-invitation{position:relative;display:grid;min-height:720px;overflow:visible;place-items:center;color:#fff;background:radial-gradient(circle at 50% 45%,rgba(196,154,88,.18),transparent 36%),linear-gradient(135deg,#213329,#34483b 55%,#273a30)}.invitation-copy{position:relative;z-index:3;max-width:780px;text-align:center}.invitation-copy .eyebrow{color:#efc686}.invitation-copy h2{color:#fff;font-size:clamp(3rem,7vw,6.4rem);line-height:.98}.invitation-copy>p:not(.eyebrow){max-width:690px;margin:24px auto 0;color:rgba(255,255,255,.8);font-size:1.1rem}.invitation-actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.button-light{border-color:rgba(255,255,255,.7);color:#fff;background:transparent}.button-light:hover{border-color:#fff;color:var(--forest);background:#fff}.history-breakout-plate{position:absolute;z-index:10;top:0;width:min(29vw,360px);aspect-ratio:1;overflow:hidden;border:3px solid var(--gold);border-radius:50%;background:#17100c;box-shadow:0 30px 60px rgba(0,0,0,.55);animation:float-plate 6s ease-in-out infinite;transform:translateY(-50%);pointer-events:none}.history-breakout-plate img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04)}.history-breakout-left{left:max(3%,calc((100vw - 1280px)/2));animation-delay:-1.4s}.history-breakout-right{right:max(3%,calc((100vw - 1280px)/2));animation-delay:-4.1s}.faq-centered{max-width:900px}.faq-centered h2{max-width:650px}
.index-history{display:none}.history-page{overflow-x:hidden}.history-page main>section:not(.history-story):not(.history-invitation){display:none}.history-page .history-story{padding-top:84px}.history-page .history-hero{width:100vw;min-height:calc(100vh - 84px);margin-left:calc(50% - 50vw);border-radius:0;box-shadow:none}.history-page .history-hero-copy{left:max(0px,calc((100vw - 1180px)/2));max-width:780px}.history-page .nav-link.active{color:var(--wine)}.story-faq{background:var(--cream)}.story-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.timeline{margin-top:38px;padding:0;list-style:none}.timeline li{position:relative;padding:0 0 32px 34px;border-left:1px solid rgba(124,45,45,.28)}
.timeline li:before{position:absolute;top:4px;left:-7px;width:13px;height:13px;border:3px solid var(--cream);border-radius:50%;background:var(--wine);box-shadow:0 0 0 1px var(--wine);content:""}
.timeline li:last-child{padding-bottom:0;border-left-color:transparent}.timeline h3{font-size:1.45rem}.timeline p{margin-top:8px;color:var(--muted)}
.faq-list{margin-top:34px}.faq-item{border-bottom:1px solid var(--line)}.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border:0;color:var(--ink);background:transparent;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.faq-question span{color:var(--wine);font-size:1.4rem;transition:transform .2s ease}.faq-item.open .faq-question span{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;color:var(--muted);transition:grid-template-rows .25s ease,padding .25s ease}.faq-answer>div{overflow:hidden}.faq-item.open .faq-answer{grid-template-rows:1fr;padding-bottom:20px}
.open-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-size:.8rem;font-weight:700}
.open-status:before{width:9px;height:9px;border-radius:50%;background:#efb74f;content:""}.open-status.is-open:before{background:#63d58a;box-shadow:0 0 0 5px rgba(99,213,138,.12)}
.desktop-reserve{position:fixed;z-index:880;right:24px;bottom:96px;display:inline-flex;min-height:48px;align-items:center;gap:9px;padding:10px 18px;border-radius:999px;color:#fff;background:#208c4e;box-shadow:0 12px 30px rgba(0,0,0,.22);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.desktop-reserve img{width:22px;height:22px;flex:0 0 22px}
.lightbox{position:fixed;z-index:2000;inset:0;display:grid;padding:30px;place-items:center;background:rgba(14,8,6,.92);opacity:0;pointer-events:none;transition:opacity .2s ease}.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:min(1100px,92vw);max-height:86vh;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:20px;right:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:1.5rem;cursor:pointer}
[data-lightbox]{cursor:zoom-in}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}[data-reveal].revealed{opacity:1;transform:none}
@media(max-width:900px){.showcase-grid,.review-track{grid-template-columns:repeat(2,1fr)}.cinema-grid,.celebration-grid,.story-faq-grid,.history-editorial{grid-template-columns:1fr}.celebration-image{min-height:0}.review-platforms{grid-template-columns:1fr}.vip-card{grid-template-columns:minmax(0,1fr) 185px;gap:28px}.history-hero{min-height:590px}.history-editorial{padding-bottom:60px}.history-images{min-height:620px}.history-chapters{grid-template-columns:1fr}.floating-dish-left{left:-20%;width:55vw}.floating-dish-center{right:-9%;bottom:-13%;width:43vw}.floating-dish-right{top:-7%;right:-17%;width:44vw}}
@media(max-width:640px){.showcase,.story-faq,.reviews,.celebrations,.history-story{padding:76px 0}.showcase-grid,.numbers-grid{grid-template-columns:1fr}.review-track{display:flex;margin-right:-14px;padding:0 14px 12px 0;overflow-x:auto;scroll-snap-type:x mandatory}.review-card{width:min(82vw,360px);flex:0 0 auto;scroll-snap-align:start}.menu-card{min-height:360px}.cinema{min-height:auto;padding:78px 0}.cinema-grid{gap:36px}.story-faq-grid{gap:60px}.review-note{display:block}.review-note .button{width:100%;margin-top:18px}.review-platform{min-height:104px;padding:20px;gap:12px}.review-platform-mark{min-width:88px}.review-platform-mark img{width:104px}.vip-card{grid-template-columns:1fr;padding:28px 22px;text-align:center}.vip-card p:not(.eyebrow){margin-right:auto;margin-left:auto}.vip-card .button{width:100%}.vip-qr{width:min(220px,78vw);margin:0 auto}.history-hero{min-height:620px;border-radius:18px}.history-page .history-story{padding-top:76px}.history-page .history-hero{min-height:calc(100vh - 76px);border-radius:0}.history-page .history-hero-copy{left:0}.history-hero-shade{background:linear-gradient(0deg,rgba(28,15,10,.9) 0%,rgba(28,15,10,.62) 58%,rgba(28,15,10,.12) 100%)}.history-hero-copy{padding:28px 24px}.history-hero-copy h2{font-size:2.65rem}.history-editorial{gap:48px;padding:76px 0 56px}.history-images{min-height:480px}.history-image-main{width:92%;height:340px}.history-image-detail{width:64%;height:230px}.history-chapters article{padding:27px}.history-invitation{min-height:760px;padding:150px 0 170px}.invitation-copy h2{font-size:3rem}.invitation-actions{display:grid}.invitation-actions .button{width:100%}.floating-dish-left{top:-4%;left:-34%;width:82vw}.floating-dish-right{top:-2%;right:-28%;width:68vw}.floating-dish-center{right:-20%;bottom:-9%;width:75vw}.desktop-reserve{display:none}.quote-banner{background-attachment:scroll}.celebration-grid{gap:36px}}
.history-breakout-plate{top:auto;width:auto;aspect-ratio:auto;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.history-breakout-plate img{display:block;width:100%;height:auto;object-fit:contain;transform:none}.history-breakout-left{top:-10%;left:-12%;width:min(43vw,620px)}.history-breakout-right{top:-17%;right:-12%;width:min(39vw,570px)}
@media(max-width:900px){.history-breakout-left{top:-10%;left:-23%;width:61vw}.history-breakout-right{top:-12%;right:-22%;width:55vw}}
@media(max-width:640px){.history-breakout-left{top:-6%;left:-39%;width:91vw}.history-breakout-right{top:-7%;right:-38%;width:88vw}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.menu-card img{transition:none}.history-breakout-plate{animation:none}}
