:root{--red:#c90000;--red-line:#bf0000;--cream:#ffe4b5;--black:#111;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--red);color:var(--black);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site{width:100%;overflow:hidden;background:#fff}.shell{width:calc(100% - 140px);max-width:1300px;margin-left:auto;margin-right:auto}.hero{position:relative;height:1030px;background:var(--red);color:#fff;overflow:hidden}.topbar{height:115px;display:flex;align-items:center;justify-content:space-between}.top-logo img{width:178px}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;line-height:1;white-space:nowrap}.pill-white{background:#fff;color:var(--red)}.pill-red{background:var(--red);color:#fff}.top-order{width:148px;height:52px;font-size:17px}.hero-inner{position:relative;height:calc(100% - 115px)}.hero h1{position:absolute;left:0;top:210px;z-index:2;margin:0;font-size:110px;line-height:.9;letter-spacing:-3.5px;font-weight:900}.hero-food-wrap{position:absolute;right:45px;top:150px;width:590px;height:580px}.hero-food{position:absolute;right:0;top:0;width:590px;filter:drop-shadow(0 16px 14px rgba(0,0,0,.12))}.hero-mascot{position:absolute;width:165px;right:30px;bottom:20px}.wave{position:absolute;left:0;width:100%;height:100px;background-repeat:no-repeat;background-position:center bottom;background-size:100% 100%}.hero-wave{bottom:-1px;background-image:url("./assets/wave-white.svg")}.classics{position:relative;height:1830px;background:#fff;padding-top:95px}.section-title{text-align:center;color:var(--red)}.classic-icon{width:145px;height:155px;object-fit:contain;margin:0 auto -5px}.section-title h2,.philosophy h2{margin:0;color:var(--red);font-size:31px;line-height:1;font-weight:800}.desktop-menu{width:calc(100% - 290px);max-width:1150px;display:grid;grid-template-columns:repeat(3,1fr);gap:84px 44px;margin-top:100px}.menu-card{position:relative;border:3px solid var(--red-line);border-radius:15px;padding:22px 20px 28px;background:#fff}.desktop-menu .menu-card{height:520px}.menu-photo{height:285px;border:2px solid var(--red-line);border-radius:10px;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden}.menu-photo img{width:88%;height:88%;object-fit:contain}.menu-card-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:15px}.menu-card h3{margin:0;font-size:17px;line-height:1.12;font-weight:700}.menu-card p{margin:26px 0 0;font-size:12px;line-height:1.45;letter-spacing:.1px}.price{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:22px;padding:0 10px;border:2px solid var(--red-line);border-radius:999px;color:var(--red-line);font-size:10px;font-weight:700}.classics-order{text-align:center;margin-top:115px}.classics-order .pill{width:142px;height:68px;font-size:16px}.mobile-carousel{display:none}.philosophy{position:relative;height:1020px;background:#fff;padding-top:105px}.philosophy-grid{width:calc(100% - 290px);max-width:1150px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.fries-icon{width:112px;height:150px;object-fit:contain;margin:0 0 18px 115px}.philosophy h2{font-size:30px;margin-bottom:62px}.philosophy-text{width:540px;max-width:100%;margin:0;font-size:15px;line-height:1.55}.benefits{margin-top:60px;display:grid;gap:28px}.benefit{display:flex;align-items:center;gap:16px;font-size:13px}.benefit-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:var(--red);border-radius:50%;overflow:hidden}.benefit-icon img{width:30px;height:30px;object-fit:contain}.staff-photo{justify-self:end;width:535px;border-radius:15px;overflow:hidden}.staff-photo img{width:100%;height:625px;object-fit:cover}.philosophy-wave{bottom:-1px;background-image:url("./assets/wave-red.svg")}.footer-red{position:relative;height:1105px;background:var(--red);color:#fff;padding-top:135px}.order-block{text-align:center}.order-block h2{margin:0;font-size:39px;line-height:.9;letter-spacing:-.5px;font-weight:800}.order-block .pill{width:142px;height:54px;margin-top:75px;font-size:14px}.footer-wordmark-wrap{text-align:center;margin-top:155px}.footer-wordmark{width:82%;max-width:1180px;margin:0 auto}.footer{width:calc(100% - 270px);max-width:1170px;display:flex;align-items:flex-start;justify-content:space-between;margin-top:115px;padding-bottom:40px}.address-title{display:flex;align-items:center;gap:12px;font-size:14px}.address-title img{width:23px;height:23px}.address-block p,.social-copy p{font-size:12px;margin:26px 0 0}.social-copy{min-width:300px}.socials{display:flex;gap:22px}.socials img{width:34px;height:34px}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.hero{height:850px}.topbar{height:86px}.top-logo{width:45px;height:42px;overflow:hidden}.top-logo img{width:188px;max-width:none;height:42px}.top-order{width:116px;height:40px;font-size:12px}.hero-inner{height:calc(100% - 86px)}.hero h1{top:68px;left:28px;font-size:55px;line-height:1.09;letter-spacing:-2px;text-align:center}.hero-food-wrap{top:322px;left:50%;right:auto;width:310px;height:315px;transform:translateX(-50%)}.hero-food{width:310px}.hero-mascot{width:76px;right:12px;bottom:5px}.wave{height:54px;background-size:100% 100%}.hero-wave{background-image:url("./assets/wave-white.svg")}.classics{height:915px;padding-top:45px}.classic-icon{width:70px;height:78px;margin-bottom:16px}.section-title h2{font-size:18px}.desktop-menu{display:none}.mobile-carousel{display:block;margin-top:52px}.mobile-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-left:25px}.mobile-track::-webkit-scrollbar{display:none}.mobile-card{flex:0 0 330px;height:505px;border-width:1.8px;border-radius:24px;padding:22px 18px 21px;scroll-snap-align:start}.mobile-card .menu-photo{height:270px;border:0;border-radius:8px}.mobile-card .menu-photo img{width:85%;height:85%}.mobile-card .menu-card-head{display:block;margin-top:26px;text-align:center}.mobile-card h3{font-size:17px}.mobile-card p{margin:15px 0 0;font-size:13px;line-height:1.5;text-align:center}.mobile-price{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);height:27px;min-width:84px;font-size:13px}.dots{height:27px;display:flex;justify-content:center;align-items:flex-end;gap:10px}.dots i{width:6px;height:6px;border-radius:50%;background:#ebbbbb}.dots i:first-child{background:var(--red)}.classics-order{display:none}.philosophy{height:1100px;padding-top:30px}.philosophy-grid{display:block;width:calc(100% - 48px)}.philosophy-copy{text-align:center}.fries-icon{width:62px;height:80px;margin:0 auto 16px}.philosophy h2{font-size:18px;margin-bottom:42px}.philosophy-text{width:330px;margin:0 auto;font-size:13px;line-height:1.48}.benefits{margin-top:44px;gap:27px;justify-items:center}.benefit{flex-direction:column;gap:13px;font-size:11px}.benefit-icon{width:48px;height:48px}.benefit-icon img{width:31px;height:31px}.staff-photo{width:300px;margin:52px auto 0;border-radius:14px}.staff-photo img{height:325px}.philosophy-wave{background-image:url("./assets/wave-red.svg")}.footer-red{height:587px;padding-top:95px}.order-block h2{font-size:23px;line-height:.95}.order-block .pill{width:112px;height:44px;margin-top:54px;font-size:12px}.footer-wordmark-wrap{margin-top:150px}.footer-wordmark{width:320px}.footer{display:block;width:calc(100% - 48px);margin-top:75px;padding:0 0 45px;text-align:center}.address-title{justify-content:center;font-size:12px}.address-title img{width:19px;height:19px}.address-block p{margin-top:25px;font-size:11px}.social-copy{min-width:0}.socials{justify-content:center;margin-top:75px;gap:22px}.socials img{width:27px;height:27px}.social-copy p{margin-top:105px;font-size:10px}}
@media(max-width:430px){.shell{width:calc(100% - 40px)}.hero{height:842px}.topbar{height:80px}.hero h1{top:72px;left:20px;font-size:53px}.hero-food-wrap{top:325px;width:300px;height:315px}.hero-food{width:300px}.hero-mascot{width:74px;bottom:4px;right:17px}.classics{height:850px;padding-top:38px}.mobile-carousel{margin-top:47px}.mobile-track{gap:20px;padding-left:25px}.mobile-card{flex-basis:330px}.philosophy{height:1070px;padding-top:38px}.philosophy-text{width:330px}.staff-photo{width:300px;margin-top:48px}.footer-red{height:690px;padding-top:80px}.footer-wordmark-wrap{margin-top:115px}.footer-wordmark{width:320px}.footer{margin-top:45px}.socials{margin-top:55px}.social-copy p{margin-top:45px}}

/* ===== Motion & interaction polish ===== */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.2,.8,.2,1)}
body.js-ready .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
body.js-ready .reveal.reveal-left{transform:translateX(-38px)}
body.js-ready .reveal.reveal-right{transform:translateX(38px)}
body.js-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
body.js-ready .reveal[data-delay="1"]{transition-delay:.08s}
body.js-ready .reveal[data-delay="2"]{transition-delay:.16s}
body.js-ready .reveal[data-delay="3"]{transition-delay:.24s}
body.js-ready .reveal[data-delay="4"]{transition-delay:.32s}
body.js-ready .reveal[data-delay="5"]{transition-delay:.40s}

.topbar{transition:transform .35s var(--ease-soft),filter .35s var(--ease-soft)}
.topbar.is-scrolled{filter:drop-shadow(0 9px 18px rgba(70,0,0,.16))}
.top-logo img{transition:transform .35s var(--ease-out)}
.top-logo:hover img{transform:scale(1.045) rotate(-1deg)}

.pill{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),background-color .22s ease,color .22s ease}
.pill::after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:radial-gradient(circle at center,rgba(255,255,255,.38) 0 12%,transparent 13%);transform:scale(0);opacity:0;pointer-events:none;z-index:-1}
.pill:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(83,0,0,.17)}
.pill:active{transform:translateY(-1px) scale(.98)}
.pill.ripple::after{animation:pill-ripple .55s ease-out}
@keyframes pill-ripple{0%{transform:scale(0);opacity:.8}100%{transform:scale(7);opacity:0}}

.hero h1{transform-origin:left center;animation:hero-title-in .95s var(--ease-out) both}
@keyframes hero-title-in{from{opacity:0;transform:translateY(32px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.hero-food-wrap{will-change:transform}
.hero-food{animation:food-float 4.8s ease-in-out infinite;will-change:transform}
.hero-mascot{animation:mascot-bob 3.1s ease-in-out infinite;transform-origin:50% 80%}
@keyframes food-float{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-12px,0) rotate(-1deg)}}
@keyframes mascot-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(3deg)}}

.wave{will-change:transform;animation:wave-breathe 7s ease-in-out infinite alternate}
@keyframes wave-breathe{from{transform:translateX(-.7%) scaleX(1.015)}to{transform:translateX(.7%) scaleX(1.015)}}

.menu-card{transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),border-color .35s ease;transform-style:preserve-3d;will-change:transform}
.desktop-menu .menu-card:hover{transform:translateY(-10px) rotateX(1.4deg);box-shadow:0 22px 38px rgba(139,0,0,.13);border-color:#d40000}
.menu-photo{transition:transform .42s var(--ease-out),box-shadow .42s var(--ease-out)}
.menu-card:hover .menu-photo{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 10px 22px rgba(185,0,0,.08)}
.menu-photo img{transition:transform .52s var(--ease-out),filter .35s ease;will-change:transform}
.menu-card:hover .menu-photo img{transform:scale(1.065) rotate(-1.2deg);filter:drop-shadow(0 10px 12px rgba(72,26,0,.12))}
.price{transition:background-color .25s ease,color .25s ease,transform .25s var(--ease-out)}
.menu-card:hover .price{background:var(--red-line);color:#fff;transform:scale(1.06)}

.classic-icon,.fries-icon{transition:transform .55s var(--ease-out)}
.section-title:hover .classic-icon,.philosophy-copy:hover .fries-icon{transform:translateY(-5px) rotate(-3deg)}

.benefit{transition:transform .3s var(--ease-out)}
.benefit:hover{transform:translateX(6px)}
.benefit-icon{transition:transform .38s var(--ease-out),box-shadow .3s ease}
.benefit:hover .benefit-icon{transform:rotate(-7deg) scale(1.08);box-shadow:0 8px 18px rgba(185,0,0,.2)}
.staff-photo{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.staff-photo:hover{transform:translateY(-8px) rotate(.35deg);box-shadow:0 26px 45px rgba(66,0,0,.14)}
.staff-photo img{transition:transform .7s var(--ease-out)}
.staff-photo:hover img{transform:scale(1.025)}

.footer-wordmark{transition:transform .65s var(--ease-out),filter .45s ease}
.footer-wordmark-wrap:hover .footer-wordmark{transform:scale(1.018);filter:drop-shadow(0 12px 16px rgba(71,0,0,.12))}
.socials a{display:inline-grid;place-items:center;border-radius:50%;transition:transform .28s var(--ease-out),background-color .28s ease}
.socials a:hover{transform:translateY(-5px) rotate(-6deg);background:rgba(255,255,255,.12)}
.socials a:active{transform:scale(.94)}

.mobile-track{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.dots i{transition:width .28s var(--ease-out),background-color .28s ease,transform .28s var(--ease-out)}
.dots i.is-active{width:18px;border-radius:999px;background:var(--red);transform:scaleY(1.05)}
.dragging .mobile-card{user-select:none}
.dragging{cursor:grabbing;scroll-behavior:auto}

@media(max-width:900px){
  .hero-food{animation-duration:4.2s}
  .desktop-menu .menu-card:hover{transform:none;box-shadow:none}
  .mobile-card.is-centered{transform:translateY(-7px);box-shadow:0 18px 34px rgba(139,0,0,.11)}
  .mobile-card.is-centered .menu-photo img{transform:scale(1.04)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  body.js-ready .reveal{opacity:1!important;transform:none!important}
}

/* Keep hover/active transforms working after reveal animation completes. */
body.js-ready .desktop-menu .menu-card.reveal.is-visible:hover{transform:translateY(-10px) rotateX(1.4deg)}
body.js-ready .staff-photo.reveal.is-visible:hover{transform:translateY(-8px) rotate(.35deg)}
body.js-ready .social-copy.reveal.is-visible .socials a:hover{transform:translateY(-5px) rotate(-6deg)}
@media(max-width:900px){
  body.js-ready .mobile-card.reveal.is-visible.is-centered{transform:translateY(-7px)}
  body.js-ready .desktop-menu .menu-card.reveal.is-visible:hover{transform:none}
}
