@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&display=swap');
:root{--red:#c91820;--red2:#991016;--ink:#151515;--cream:#f6f0e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#efe9df}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;z-index:100;top:-100px;left:15px;background:#fff;padding:12px}.skip-link:focus{top:15px}.cin-nav{height:82px;display:flex;align-items:center;gap:30px;padding:0 4.2vw;background:#fffffff0;backdrop-filter:blur(24px);position:fixed;z-index:50;inset:0 0 auto;border-bottom:1px solid #140f0a19}.cin-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.cin-brand img{width:56px;height:56px;border-radius:50%;object-fit:cover}.cin-brand span{font-size:8px;letter-spacing:2.3px;font-weight:800}.cin-nav nav{display:flex;align-items:center;gap:26px;margin-left:auto}.cin-nav nav a,.cin-nav nav button,.cin-mobile-nav a{border:0;background:none;text-decoration:none;text-transform:uppercase;letter-spacing:1.3px;font-size:9px;font-weight:800;cursor:pointer}.cin-nav nav a:hover,.cin-nav nav button:hover{color:var(--red)}.cin-quote{background:var(--red);color:#fff;text-decoration:none;padding:16px 20px;font-size:9px;font-weight:900;letter-spacing:1.5px}.cin-menu,.cin-mobile-nav{display:none}
.cin-journey{height:650vh}.cin-stage{height:100vh;position:sticky;top:0;overflow:hidden;background:#e9e3da}.cin-scene{position:absolute;inset:82px auto 0 0;width:270%;height:calc(100% - 82px);background:url('../assets/images/buffet-panorama.png') center 59%/cover no-repeat;will-change:transform;filter:saturate(.92) contrast(1.01) brightness(1.02)}.cin-sunwash{position:absolute;inset:82px 0 0;background:linear-gradient(180deg,#fffaf534,transparent 42%),linear-gradient(90deg,#ffffff2e,transparent 27%,transparent 76%,#ffeecb33);pointer-events:none}.cin-landing{position:absolute;left:6vw;top:112px;z-index:4;opacity:0;transform:translateY(18px);transition:.6s;pointer-events:none}.cin-landing.visible{opacity:1;transform:none}.cin-landing-copy{width:max-content;max-width:min(720px,88vw);padding:22px 26px 24px;background:linear-gradient(105deg,#fffffff2,#ffffffc7);border-left:4px solid var(--red);box-shadow:0 18px 45px #251d231f;backdrop-filter:blur(9px)}.cin-landing p{margin:0;color:#861117;font-size:10px;font-weight:900;letter-spacing:2px}.cin-landing h1{font:400 clamp(46px,5.5vw,76px)/.94 Georgia,serif;letter-spacing:-3px;margin:14px 0 18px}.cin-landing h1 em{font-weight:400}.cin-landing span{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;font-weight:800}.cin-landing span:after{content:' ↓';color:var(--red)}
.cin-station{position:absolute;z-index:6;width:min(410px,33vw);opacity:0;transform:translateY(28px) scale(.94);transition:opacity .6s,transform .75s;pointer-events:none}.cin-station.visible{opacity:1;transform:none;pointer-events:auto}.station-0{left:14vw;top:21vh}.station-1{left:34vw;top:18vh}.station-2{left:56vw;top:20vh}.station-3{left:62vw;top:18vh}.cin-chalk{color:#f9f4e9;background:radial-gradient(circle at 38% 24%,#2b2c29,#11120f 76%);border:8px solid #6a452b;padding:4px;box-shadow:0 30px 70px #00000047,inset 0 0 0 1px #b58b59}.cin-chalk-inner{padding:27px 28px 29px;text-align:center;border:1px solid #ffffff24}.cin-chalk .eyebrow{color:#dc7777;text-transform:uppercase;letter-spacing:3.3px;font-size:8px;font-weight:800}.cin-chalk h2{font:400 clamp(27px,2.8vw,39px)/1.02 Georgia,serif;text-transform:uppercase;margin:13px 0 15px}.cin-chalk h3{font:italic 400 16px Georgia,serif;color:#fff2db}.cin-chalk p{font:400 13px/1.62 Georgia,serif;color:#dedbd3}.cin-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px}.cin-actions a{background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;padding:13px 16px;font-size:8px;font-weight:900;letter-spacing:1.4px}.cin-actions .text-link{background:transparent;border-bottom:1px solid #fff;padding:6px 0}.cin-easel{height:66px;width:68%;margin:-3px auto 0;border-left:8px solid #674329;border-right:8px solid #674329;clip-path:polygon(15% 0,85% 0,100% 100%,89% 100%,76% 16%,24% 16%,11% 100%,0 100%)}.cin-route{position:absolute;right:3vw;top:49%;z-index:8;display:flex;flex-direction:column;align-items:center;gap:9px;color:#fff;text-shadow:0 2px 7px #000;font-size:9px}.cin-route div{display:flex;flex-direction:column;gap:6px}.cin-route i{width:2px;height:20px;background:#ffffff7a}.cin-route i.on{background:var(--red)}
.promise-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#111;color:#fff;padding:34px 6vw;border-top:5px solid var(--red)}.promise-strip div{display:grid;gap:5px;text-align:center;border-right:1px solid #ffffff24}.promise-strip div:last-child{border:0}.promise-strip b{font:400 clamp(23px,3vw,36px)/1 Georgia,serif}.promise-strip span{text-transform:uppercase;color:#d8d2c9;font-size:8px;font-weight:800;letter-spacing:1.8px}.menu-showcase,.cin-process{padding:110px 5vw;background:#f7f3ec}.section-head{max-width:760px;margin:0 auto 50px;text-align:center}.section-head>p,.occasion-copy>p,.trust-close>p{text-transform:uppercase;color:var(--red);font-size:9px;font-weight:900;letter-spacing:2.6px}.section-head h2,.occasion-copy h2,.trust-close h2{font:400 clamp(42px,5vw,72px)/.96 Georgia,serif;letter-spacing:-2.5px;margin:14px 0 18px}.section-head>span{display:block;color:#625c54;font:400 16px/1.7 Georgia,serif}.menu-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1450px;margin:auto}.menu-cards article{background:#fff;overflow:hidden}.menu-cards img{width:100%;aspect-ratio:1.18;object-fit:cover}.menu-cards article>div{padding:22px 20px}.menu-cards h3{font:400 28px Georgia,serif;margin:0 0 11px}.menu-cards p{color:#676159;font-size:12px;line-height:1.65;min-height:60px}.menu-cards a{display:block;border-top:1px solid #e8e1d8;padding-top:15px;text-decoration:none;text-transform:uppercase;font-size:8px;font-weight:900;letter-spacing:1.4px}.cin-process{background:#151515;color:#fff}.section-head.light>p{color:#e66b70}.cin-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1160px;margin:auto;background:#ffffff24}.cin-steps article{background:#151515;padding:42px}.cin-steps b{font:400 42px Georgia,serif;color:var(--red)}.cin-steps h3{font:400 29px Georgia,serif}.cin-steps p{color:#bbb4aa;font:400 14px/1.7 Georgia,serif}.cin-occasions{display:grid;grid-template-columns:1.15fr .85fr;min-height:650px;background:#fff}.occasion-photo img{width:100%;height:100%;object-fit:cover}.occasion-copy{align-self:center;padding:70px 7vw}.occasion-links{display:grid;margin-top:35px;border-top:1px solid #ddd6cd}.occasion-links a{padding:20px 0;border-bottom:1px solid #ddd6cd;text-decoration:none;font:400 18px Georgia,serif}.trust-close{text-align:center;padding:110px 6vw;background:#f2ece3}.trust-close img{width:80px;height:80px;border-radius:50%;margin:0 auto 24px}.trust-close h2{max-width:830px;margin:15px auto 20px}.trust-close>span{display:block;max-width:650px;margin:auto;color:#5f5952;font:400 16px/1.7 Georgia,serif}.trust-close>div{display:flex;justify-content:center;gap:13px;margin-top:30px}.trust-close a{background:var(--red);color:#fff;padding:16px 20px;text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:1.4px}.trust-close a.call{background:#151515}.mobile-quote{display:none}
@media(max-width:1100px){.cin-station{width:min(410px,44vw)}.station-0{left:10vw}.station-1{left:28vw}.station-2{left:48vw}.station-3{left:54vw}.menu-cards{grid-template-columns:repeat(2,1fr)}.menu-cards article:last-child{grid-column:1/-1}.cin-occasions{grid-template-columns:1fr}.occasion-photo{height:480px}}
@media(max-width:760px){body{padding-bottom:78px}.cin-nav{height:70px;padding:0 4vw;gap:12px}.cin-brand img{width:46px;height:46px}.cin-brand span,.cin-nav nav{display:none}.cin-menu{display:block;margin-left:auto;border:0;background:none;font-size:22px}.cin-quote{padding:12px 11px;font-size:8px}.cin-mobile-nav{position:absolute;top:70px;left:0;right:0;padding:24px;background:#fff;box-shadow:0 15px 25px #0002}.cin-mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:20px}.cin-journey{height:650vh}.cin-stage{height:100svh;min-height:560px}.cin-scene{inset:70px auto 0;width:285%;height:calc(100svh - 70px);transition:none;backface-visibility:hidden;contain:paint}.cin-sunwash{inset:70px 0 0}.cin-landing{left:5vw;top:92px;width:90vw}.cin-landing-copy{width:100%;padding:18px;border-left-width:3px}.cin-landing p{font-size:8px;letter-spacing:1.3px}.cin-landing h1{font-size:clamp(39px,11.2vw,46px);letter-spacing:-1.8px}.cin-station{left:5vw!important;top:51%!important;width:90vw;transform:translateY(-42%) scale(.94)}.cin-station.visible{transform:translateY(-50%) scale(1)}.cin-chalk-inner{padding:20px 18px}.cin-chalk h2{font-size:clamp(27px,9vw,35px)}.cin-easel{height:52px}.cin-route{right:3vw;top:48%}.promise-strip{grid-template-columns:repeat(2,1fr);gap:26px 0;padding:28px 4vw}.menu-showcase,.cin-process{padding:74px 5vw}.section-head h2,.occasion-copy h2,.trust-close h2{font-size:40px}.menu-cards{grid-template-columns:1fr}.menu-cards article:last-child{grid-column:auto}.menu-cards img{aspect-ratio:1.55}.menu-cards p{min-height:0}.cin-steps{grid-template-columns:1fr}.cin-steps article{padding:30px}.occasion-photo{height:320px}.occasion-copy{padding:60px 7vw}.trust-close{padding:78px 6vw 120px}.trust-close>div{flex-direction:column}.mobile-quote{position:fixed;z-index:45;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;background:#151515;color:#fff;padding:14px 16px;text-decoration:none;border-left:4px solid var(--red)}.mobile-quote span{font-size:9px;text-transform:uppercase}.mobile-quote b{font-size:10px;color:#ff6d72}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cin-journey{height:auto}.cin-stage{height:auto;position:relative;padding:105px 0;background:linear-gradient(#ffffff26,#f6f0e6cc),url('../assets/images/buffet-panorama.png') center/cover}.cin-scene,.cin-sunwash,.cin-route{display:none}.cin-landing,.cin-station{position:relative;left:auto!important;top:auto!important;width:min(620px,86vw);margin:0 auto 46vh;opacity:1;transform:none!important;pointer-events:auto}}
.cms-only{display:none!important}.exit-reminder{position:fixed;z-index:90;right:22px;bottom:22px;width:min(360px,calc(100vw - 28px));padding:24px;background:#fff;border-left:5px solid var(--red);box-shadow:0 20px 60px #0004}.exit-reminder[hidden]{display:none}.exit-reminder button{position:absolute;right:9px;top:5px;border:0;background:none;font-size:24px}.exit-reminder strong,.exit-reminder p{display:block}.exit-reminder a{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:11px 14px;font-size:10px;font-weight:900;text-transform:uppercase}
/* Stable touch viewport and compositor isolation prevent mobile browser chrome from shaking the camera. */
@media(max-width:1100px){.cin-stage{height:100lvh}.cin-scene{height:calc(100lvh - 82px);transition:none;backface-visibility:hidden;contain:strict;transform:translateZ(0)}}
@media(max-width:760px){.cin-journey{height:650lvh}.cin-stage{height:100lvh}.cin-scene{height:calc(100lvh - 70px)}}
/* Native scroll-linked touch camera: the browser compositor owns the pan, avoiding main-thread scroll lag. */
@keyframes cinematic-touch-pan{from{transform:translate3d(0,0,0)}to{transform:translate3d(-62%,0,0)}}
@media(max-width:1100px){.native-scroll-camera .cin-journey{view-timeline-name:--cinematic-journey;view-timeline-axis:block}.native-scroll-camera .cin-scene{animation:cinematic-touch-pan 1s linear both;animation-timeline:--cinematic-journey;animation-range:contain 0% contain 100%}.cin-nav{backdrop-filter:none}.cin-landing-copy{backdrop-filter:none}.cin-station{transition:opacity .22s linear,transform .28s ease-out}.cin-sunwash{background:linear-gradient(180deg,#fffaf526,transparent 42%)}}
