:root{
 --background:#FEFAE0; --foreground:#28360F; --primary:#606C38; --accent:#BB6B24;
 --border:#D8D9BB; --font-display:"Lora",Georgia,serif; --font-body:"Montserrat",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body);font-weight:400}
body::-webkit-scrollbar{width:5px} body::-webkit-scrollbar-thumb{background:rgba(40,54,15,.55)}
a{color:inherit;text-decoration:none} button{font:inherit}
.container{width:min(1400px,calc(100% - 80px));margin:auto}

/* NAV — intentionally mirrors the original */
.site-nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:.5s}
.site-nav.scrolled{background:rgba(254,250,224,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(40,54,24,.08)}
.nav-inner{height:120px;display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.logo{display:flex;align-items:center;width:80px;height:80px}
.logo img{width:80px;height:80px;object-fit:contain;background:transparent}.svg-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav-links{display:flex;align-items:center;gap:40px;margin-left:auto;margin-right:34px}
.nav-links a{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:rgba(40,54,24,.70);transition:.2s}
.nav-links a:hover{color:var(--foreground)}
.phone{display:flex;align-items:center;gap:9px;border:1px solid rgba(96,108,56,.4);border-radius:999px;padding:9px 16px;font-size:13px;letter-spacing:.02em;color:var(--primary);white-space:nowrap;transition:.2s}
.phone:hover{background:var(--primary);color:var(--background)}

/* HERO */
.hero{position:relative;min-height:100svh;width:100%;overflow:hidden;background:var(--background)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(254,250,224,.55)}
.hero-content{position:absolute;inset:0;z-index:10;text-align:center;pointer-events:none}
.hero-badge{position:absolute;left:50%;top:24vh;transform:translateX(-50%);display:flex;align-items:center;gap:10px;border-radius:999px;background:var(--primary);color:var(--background);padding:13px 25px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;white-space:nowrap;box-shadow:0 10px 25px rgba(96,108,56,.25);animation:breathe 4s ease-in-out infinite}
.hero-stars{display:flex;gap:2px;font-size:17px;letter-spacing:0}
.hero-kicker{position:absolute;top:41%;left:50%;transform:translateX(-50%);font:500 clamp(22px,2.1vw,38px)/1.1 var(--font-display);white-space:nowrap}
.hero-title{position:absolute;top:47%;left:50%;transform:translateX(-50%);font:500 clamp(72px,11.2vw,170px)/.88 var(--font-display);letter-spacing:-.055em;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-tagline{position:absolute;top:65%;left:50%;transform:translateX(-50%);font:500 clamp(25px,2.2vw,42px)/1.1 var(--font-display);white-space:nowrap}
.scroll-cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:rgba(40,54,24,.7);animation:bob 2s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.05)}}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}

/* SHARED */
section{background:var(--background)}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.3em;color:rgba(40,54,24,.5)}
.display{font-family:var(--font-display);font-weight:400}

/* ABOUT */
.about{padding:192px 40px}
.stars-block{margin-bottom:80px;display:flex;flex-direction:column;align-items:center;gap:24px}
.star-row{display:flex;gap:12px}
.star{font-size:40px;color:var(--primary);line-height:1}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.about-left{position:sticky;top:128px;align-self:start}
.about-title{margin:0;font:400 clamp(42px,4.1vw,64px)/1.05 var(--font-display);letter-spacing:-.03em}
.about-title em{font-style:italic;color:var(--primary)}
.about-lead{margin:32px 0 0;max-width:520px;font-size:18px;line-height:1.6;color:rgba(40,54,24,.7)}
.review{border-left:1px solid rgba(96,108,56,.4);padding-left:24px;margin:0 0 42px}
.review blockquote{margin:0;font:400 clamp(25px,2.0vw,31px)/1.3 var(--font-display)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}
.gallery .wide{grid-column:1/-1}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:2px}

/* MENU */
.menu{overflow:hidden;padding:192px 0 192px}
.menu-head{width:min(1400px,calc(100% - 80px));margin:0 auto 64px;display:flex;align-items:flex-end;justify-content:space-between}
.menu-title{margin:0;font:400 clamp(42px,4.1vw,64px)/1.1 var(--font-display)}
.menu-desc{margin:16px 0 0;max-width:520px;font-size:18px;color:rgba(40,54,24,.6)}
.arrows{display:flex;gap:12px}
.arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(96,108,56,.4);background:transparent;color:var(--primary);cursor:pointer;font-size:23px;line-height:1;transition:.2s}
.arrow:hover:not(:disabled){background:var(--primary);color:var(--background)}
.arrow:disabled{opacity:.3;cursor:not-allowed}
.card-track{display:flex;gap:40px;overflow-x:auto;padding:0 40px 16px 40px;scroll-snap-type:x mandatory;scrollbar-width:none}
.card-track::-webkit-scrollbar{display:none}
.card{position:relative;display:flex;flex-direction:column;flex:0 0 34vw;width:34vw;height:75vh;min-height:520px;overflow:hidden;border:1px solid var(--border);border-radius:2px;scroll-snap-align:center;background:var(--background)}
.card-img{position:relative;flex:1;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .card-img img{transform:scale(1.02)}
.card-body{padding:20px;background:var(--background)}
.card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.card-title{font:400 24px/1.15 var(--font-display)}
.card-num{font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:rgba(40,54,24,.4)}
.card-desc{margin:8px 0 0;font-size:14px;line-height:1.5;color:rgba(40,54,24,.6)}
.mobile-arrows{display:none}

/* DELIVERY */
.delivery{padding:192px 40px;background:var(--foreground);color:var(--background)}
.delivery .kicker{color:var(--accent)}
.delivery-title{margin:32px 0 0;max-width:1050px;font:400 clamp(56px,6.8vw,128px)/1.02 var(--font-display);letter-spacing:-.04em}
.delivery-title em{font-style:italic;color:var(--accent)}
.delivery-lead{margin:32px 0 0;max-width:650px;font-size:18px;line-height:1.6;color:rgba(254,250,224,.7)}
.delivery-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;margin-top:64px}
.delivery-time-label{color:rgba(254,250,224,.5)}
.delivery-time{margin-top:24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:24px}
.delivery-time strong{font:400 clamp(75px,8.5vw,145px)/1 var(--font-display);color:var(--accent)}
.delivery-time span{font:400 36px var(--font-display);color:rgba(254,250,224,.4)}
.delivery-days{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 40px}
.delivery-day{display:flex;justify-content:space-between;border-bottom:1px solid rgba(254,250,224,.1);padding-bottom:9px;font-size:14px;color:rgba(254,250,224,.7)}
.delivery-day.today{color:var(--accent)}
.delivery-day.today span:last-child{color:var(--accent)}
.order-box{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:16px;background:var(--primary);padding:40px;color:var(--background);transition:transform .25s}
.order-box:hover{transform:scale(1.02)}
.order-title{font:400 32px/1.08 var(--font-display)}
.order-phone{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:500;white-space:nowrap}
.order-note{margin:24px 0 0;font-size:14px;color:rgba(254,250,224,.5)}

/* CONTACT */
.contact{padding:192px 40px}
.contact-title{margin:0 0 80px;font:400 clamp(44px,4.2vw,64px)/1.1 var(--font-display)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px}
.map-wrap .kicker,.contact-col .kicker{margin-bottom:16px}
.map-image{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border);border-radius:2px;background:#ddd}.map-image iframe{display:block;width:100%;height:100%;border:0}
.map-image img{width:100%;height:100%;object-fit:contain}
.map-link{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:16px;text-transform:uppercase;letter-spacing:.18em;font-size:14px;transition:.2s}
.map-link:hover{background:var(--foreground);color:var(--background)}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:12px 0;font-size:16px;color:rgba(40,54,24,.8)}
.hours li.today{color:var(--primary);font-weight:500}
.address{display:flex;gap:12px;font-size:18px;line-height:1.6}
.icon{color:var(--primary);font-size:21px;flex:none}.address .svg-icon,.contact-phone .svg-icon,.order-phone .svg-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-phone{display:flex;align-items:center;gap:12px;margin-top:32px;font-size:18px}
.contact-phone a:hover{color:var(--primary)}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:48px 40px;background:var(--background)}
.footer-inner{width:min(1400px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-logo{font:400 16px var(--font-display);letter-spacing:.2em}
.footer-muted{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:rgba(40,54,24,.4)}

@media(max-width:900px){
 .container{width:calc(100% - 48px)}
 .nav-inner{height:96px;padding:14px 24px}.logo,.logo img{width:64px;height:64px}.nav-links{display:none}.phone{padding:8px 12px}
 .hero-badge{top:22vh;font-size:9px;padding:11px 14px;letter-spacing:.12em}
 .hero-kicker{top:38%;font-size:19px}.hero-title{top:44%;font-size:15vw}.hero-tagline{top:59%;font-size:20px}
 .about,.delivery,.contact{padding:120px 24px}.about-grid,.contact-grid,.delivery-grid{grid-template-columns:1fr;gap:52px}.about-left{position:static}.about-title{font-size:48px}
 .stars-block{margin-bottom:64px}.star{font-size:32px}.gallery{gap:16px}
 .menu{padding:120px 0}.menu-head{width:calc(100% - 48px);display:block;margin-bottom:48px}.arrows{display:none}
 .card-track{padding-left:24px;gap:24px}.card{flex-basis:78vw;width:78vw;height:70vh}
 .mobile-arrows{display:flex;justify-content:center;gap:12px;margin-top:32px}
 .delivery-title{font-size:58px}.delivery-days{grid-template-columns:1fr 1fr;gap:12px 24px}
 .order-box{padding:28px;flex-direction:column;align-items:flex-start}.order-title{font-size:28px}.order-phone{font-size:17px}
 .contact-title{margin-bottom:56px}.footer-inner{width:calc(100% - 48px);flex-direction:column;text-align:center}
}
@media(max-width:560px){
 .phone{font-size:11px}.hero-title{font-size:17vw}.hero-kicker{font-size:16px}.hero-tagline{font-size:18px}
 .about-title{font-size:39px}.about-lead{font-size:16px}.review blockquote{font-size:24px}
 .gallery{grid-template-columns:1fr}.gallery .wide{grid-column:auto}
 .card{height:66vh}.delivery-title{font-size:48px}.delivery-time strong{font-size:76px}
 .delivery-days{grid-template-columns:1fr}.contact-grid{gap:44px}
}
