:root{--coffee-dark:#2b1810;--coffee-medium:#543b2f;--caramel:#c48b53;--cream:#fcfaf8;--white:#fff;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--transition:all .4s cubic-bezier(.25, 1, .5, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--cream);color:var(--coffee-dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--coffee-dark);font-weight:600}a{color:inherit;transition:var(--transition);text-decoration:none}.section-padding{padding:5rem 10%}@media (width<=768px){.section-padding{padding:3rem 5%}}.navbar{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;transition:var(--transition);background:#fcfaf8e6;border-bottom:1px solid #2b18100d;padding:1.5rem 10%;position:fixed;top:0}.nav-content{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-heading);letter-spacing:2px;cursor:pointer;color:var(--coffee-dark);font-size:1.5rem;font-weight:700;text-decoration:none}.logo:hover{color:var(--caramel)}.nav-links a{text-transform:uppercase;letter-spacing:1px;opacity:.6;margin-left:2rem;font-size:.95rem;font-weight:500;position:relative}.nav-links a:after{content:"";background-color:var(--caramel);width:0%;height:2px;transition:var(--transition);position:absolute;bottom:-4px;left:0}.nav-links a:hover,.nav-links a.active{opacity:1}.nav-links a.active:after{width:100%}#app-container{min-height:100vh}.page{opacity:0;animation:.5s forwards pageFadeIn;display:none}.page.active-page{display:block}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{text-align:center;justify-content:center;align-items:center;height:100vh;padding:0 5%;display:flex;position:relative;overflow:hidden}.hero-image{z-index:-1;background-color:var(--coffee-dark);width:100%;height:100%;position:absolute;top:0;left:0}.hero-image img{object-fit:cover;will-change:transform;width:100%;height:100%;transform:scale(1.05)}.hero-image .overlay{background:linear-gradient(#2b18104d 0%,#2b1810b3 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{color:var(--white);max-width:800px}.hero h1{color:var(--white);margin-bottom:1rem;font-size:5rem;line-height:1.1}.hero p{opacity:.9;margin-bottom:2.5rem;font-size:1.2rem;font-weight:300}@media (width<=768px){.hero h1{font-size:3.5rem}}.btn-primary{background-color:var(--caramel);color:var(--white);font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:1rem 2.5rem;font-size:1rem;font-weight:500}.btn-primary:hover{background-color:var(--coffee-dark);transform:translateY(-2px);box-shadow:0 10px 20px #00000026}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin-top:2rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:2rem}}.about-text h2{margin-bottom:1.5rem;font-size:3rem}.about-text p{color:var(--coffee-medium);margin-bottom:2rem;font-size:1.1rem}.reviews-box{background:var(--white);border-left:4px solid var(--caramel);border-radius:8px;padding:2rem;box-shadow:0 10px 30px #2b18100d}.review-stars{color:var(--caramel);margin-bottom:1rem}.review-stars i{width:18px;height:18px;fill:var(--caramel)}.review-text{margin-bottom:1rem;font-style:italic;font-size:1.05rem!important}.review-author{font-weight:600;color:var(--coffee-dark)!important;margin-bottom:0!important}.about-image img{width:100%;transition:var(--transition);border-radius:8px;box-shadow:0 20px 40px #2b18101a}.about-image img:hover{transform:translateY(-10px);box-shadow:0 30px 50px #2b181026}.menu-header{text-align:center;background:var(--white);border-bottom:1px solid #2b18100d;padding:8rem 10% 4rem}.menu-header h1{margin-bottom:.5rem;font-size:4rem}.menu-header p{color:var(--coffee-medium);font-size:1.1rem}.menu-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:4rem;display:grid}.menu-category-image{border-radius:10px;width:100%;height:220px;margin-bottom:2rem;overflow:hidden;box-shadow:0 12px 30px #2b18101f}.menu-category-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1)}.menu-category:hover .menu-category-image img{transform:scale(1.06)}.category-header{border-bottom:2px solid var(--caramel);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.category-header h2{font-size:2rem}.category-header i{color:var(--caramel);width:28px;height:28px}.menu-list{list-style:none}.menu-list li{cursor:pointer;margin-bottom:1.5rem}.menu-list li:hover .item-name{color:var(--caramel);padding-left:8px}.item-info{flex-direction:column;display:flex}.item-name{font-family:var(--font-heading);transition:var(--transition);font-size:1.3rem;font-weight:600}.item-desc{color:var(--coffee-medium);margin-top:.25rem;font-size:.95rem}.footer{background-color:var(--coffee-dark);color:var(--white)}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:3rem;display:grid}@media (width<=768px){.footer-grid{grid-template-columns:1fr}}.footer-logo-link{transition:var(--transition);text-decoration:none;display:inline-block}.footer-logo-link:hover h2{color:var(--caramel)}.footer-brand h2{color:var(--white);letter-spacing:2px;transition:var(--transition);margin-bottom:1rem;font-size:2rem}.footer-brand p{opacity:.7}.footer-info h3,.footer-hours h3{color:var(--caramel);font-size:1.2rem;font-family:var(--font-heading);margin-bottom:1.5rem}.footer p{opacity:.8;margin-bottom:.5rem;font-size:.95rem}.footer-bottom{text-align:center;opacity:.6;border-top:1px solid #ffffff1a;margin-top:2rem;padding:1.5rem 1.5rem 0;font-size:.85rem}.fade-in{opacity:0;transition:opacity .8s cubic-bezier(.25,1,.5,1),transform .8s cubic-bezier(.25,1,.5,1);transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.2s}.delay-2{transition-delay:.4s}.arrowhit-strip{text-align:center;background:#0a0a0a;border-top:1px solid #ffffff05;width:100%;padding:1.25rem 0}.arrowhit-strip a{color:#737373;align-items:center;gap:.35rem;font-size:.9rem;text-decoration:none;display:inline-flex}.arrowhit-strip a span{color:var(--light,#fff);letter-spacing:.5px;font-weight:700;transition:color .3s}.arrowhit-strip a:hover span{color:#df5826}
