:root{--color-bg:#f9f6f0;--color-text:#2c1e16;--color-accent:#c5a059;--color-accent-hover:#b38f4d;--color-surface:#fff;--font-sans:"Outfit", sans-serif;--font-serif:"Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;width:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);cursor:url(/media/coffee-bean-cursor.svg) 16 16,auto;color:var(--color-text);width:100%;min-width:0;line-height:1.6;overflow-x:hidden}img,svg,video{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:0 2rem}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.2}p{color:#5a4b41;margin-bottom:1rem}.navbar{z-index:100;width:100%;padding:1.5rem 0;transition:all .4s;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#f9f6f0f2;padding:1rem 0;box-shadow:0 4px 20px #0000000d}.nav-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.logo-img{border-radius:50%;width:auto;height:60px;transition:transform .3s;display:block;box-shadow:0 4px 15px #0003}.nav-links{align-items:center;display:flex}.logo-img:hover{transform:scale(1.05)}.nav-links a{color:var(--color-text);margin-left:2rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s}.navbar:not(.scrolled) .nav-links a{color:#fff}.nav-links a:hover{color:var(--color-accent)}.mobile-menu-btn{cursor:pointer;z-index:110;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.mobile-menu-btn span{background-color:#fff;border-radius:2px;width:26px;height:2px;transition:all .3s;display:block}.navbar.scrolled .mobile-menu-btn span{background-color:var(--color-text)}.mobile-menu-btn.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.hero{justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-size:cover;width:100%;height:100%;animation:20s infinite alternate slowZoom;position:absolute;top:0;left:0;transform:scale(1.05)}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-overlay{background:linear-gradient(#2c1e1666,#2c1e16b3);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:10;text-align:center;color:#fff;max-width:800px;padding:0 2rem;position:relative}.hero-title{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:1.5rem;font-size:4.5rem;display:flex}.hero-subtitle{color:#e0d9ce;max-width:600px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.25rem}.hero-actions{justify-content:center;gap:1rem;display:flex}.btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:30px;padding:.8rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.25,.8,.25,1);display:inline-block}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 10px 20px #c5a0594d}.btn-secondary{color:#fff;background-color:#0000;border:1px solid #ffffff80}.btn-secondary:hover{color:var(--color-text);background-color:#fff;transform:translateY(-2px)}.about-section{padding:8rem 0}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about-text h2{color:var(--color-text);margin-bottom:2rem;font-size:3rem}.about-text p{margin-bottom:1.5rem;font-size:1.1rem}.about-image-placeholder{aspect-ratio:4/5;background-color:#e6e0d4;border-radius:8px;width:100%;position:relative}.image-accent{border:2px solid var(--color-accent);z-index:-1;border-radius:50%;width:150px;height:150px;position:absolute;top:-20px;right:-20px}.menu-section{background-color:#0000;padding:6rem 0}.relative{position:relative}.relative-z{z-index:10;position:relative}.dot-pattern{opacity:.4;z-index:1;background-image:radial-gradient(circle,#e0dbd3 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.menu-accent-line{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.menu-accent-line span{background-color:var(--color-accent);width:32px;height:1px}.menu-accent-line small{letter-spacing:.3em;color:var(--color-accent);font-size:.7rem;font-weight:600}.section-title{text-align:center;color:var(--color-text);margin-bottom:1rem;font-size:3rem}.section-subtitle{text-align:center;color:#736b63;max-width:500px;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:.95rem}.menu-tabs{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.5rem;display:flex}.menu-tab{color:#736b63;cursor:pointer;background-color:#f0ece6;border:none;border-radius:50px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .3s}.menu-tab:hover{color:var(--color-text);background-color:#e8e2d9}.menu-tab.active{background-color:var(--color-text);color:#fff;box-shadow:0 4px 10px #0000001a}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem;display:grid}.menu-card{background:#fff;border-radius:16px;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s;overflow:hidden;box-shadow:0 4px 15px #00000008}.menu-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000014}.img-zoom{aspect-ratio:1;width:100%;position:relative;overflow:hidden}.img-zoom img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}.menu-card:hover .img-zoom img{transform:scale(1.08)}.placeholder-bg{background-color:#f0ece6}.menu-card-body{padding:1.25rem}.menu-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.menu-item-name{color:var(--color-text);margin-bottom:.25rem;font-weight:500}.menu-item-desc{color:#736b63;font-size:.8rem;line-height:1.4}.badge{color:#a67b52;white-space:nowrap;background-color:#f5f0e8;border-radius:50px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.menu-list-container{max-width:800px;margin:0 auto}.menu-list{flex-direction:column;display:flex}.menu-list-item{border-bottom:1px solid #e0dbd3;justify-content:space-between;align-items:flex-start;padding:1.25rem 0;transition:background-color .3s;display:flex}.menu-list-item:hover{background-color:#f0ece680;border-bottom-color:#0000;border-radius:8px;padding-left:1rem;padding-right:1rem}.menu-list-info{flex:1}.promo-box{background:linear-gradient(to right, var(--color-text), #3d261a);text-align:center;color:#fff;border-radius:16px;margin-top:4rem;padding:2.5rem 2rem}.promo-subtitle{letter-spacing:.2em;color:var(--color-accent);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.promo-title{font-family:var(--font-serif);color:#fff;margin-bottom:0;font-size:1.5rem}.animate-fade-in{animation:.5s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reviews-section{background-color:#0000;padding:6rem 0}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2rem;margin-bottom:4rem;display:grid}.review-card{background:var(--color-bg);border-radius:16px;padding:2rem;transition:transform .3s;box-shadow:0 10px 30px #00000008}.review-card:hover{transform:translateY(-5px)}.review-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.review-avatar{background-color:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.1rem;font-weight:600;display:flex}.review-author{font-family:var(--font-sans);margin-bottom:.2rem;font-size:1rem;font-weight:600}.review-stars{color:#fbbc04;letter-spacing:2px;font-size:.9rem}.review-text{color:#5a4b41;font-size:.95rem;font-style:italic;line-height:1.5}.location-info{background:var(--color-bg);border-radius:20px;padding:3rem}.location-details{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.location-card h3{color:var(--color-text);margin-bottom:1.5rem;font-size:1.5rem}.location-card p,.location-card ul{color:#5a4b41;margin-bottom:.5rem;font-size:1.05rem}.location-card ul{padding:0;list-style:none}.location-card li{border-bottom:1px solid #e0dbd3;justify-content:space-between;padding:.5rem 0;display:flex}.location-card li:last-child{border-bottom:none}.btn-outline{border:2px solid var(--color-accent);color:var(--color-accent);border-radius:30px;margin-top:1.5rem;padding:.8rem 1.5rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-outline:hover{background-color:var(--color-accent);color:#fff}.footer{color:#f9f6f0;background-color:#1a120d;padding:4rem 0 2rem}.footer-content{border-bottom:1px solid #ffffff1a;justify-content:space-between;margin-bottom:3rem;padding-bottom:3rem;display:flex}.footer-logo{border-radius:50%;width:60px;height:60px;margin-bottom:1rem;box-shadow:0 4px 15px #0000004d}.footer-brand h3{margin-bottom:.5rem;font-size:1.8rem}.footer-brand p{color:#a89a8c}.footer-links h4{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:1rem}.footer-links a{color:#a89a8c;margin-bottom:.5rem;text-decoration:none;transition:color .3s;display:block}.footer-links a:hover{color:var(--color-accent)}.footer-bottom{text-align:center;color:#7a6e63;font-size:.9rem}.cafe-image{filter:contrast(1.15)brightness(.9)}.fade-in-up{opacity:0;animation:1s cubic-bezier(.2,.8,.2,1) forwards fadeInUp;transform:translateY(30px)}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.6s}.delay-6{animation-delay:.8s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.scroll-reveal{opacity:0;transition:all 1s cubic-bezier(.2,.8,.2,1);transform:translateY(40px)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}@media (width<=900px){.menu-columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.container,.nav-content{padding-left:1.25rem;padding-right:1.25rem}.navbar{padding:1rem 0}.hero-title{font-size:clamp(2.25rem,10vw,3rem)}.hero-title span:nth-child(4),.hero-title span:nth-child(5){flex-basis:100%}.hero{height:auto;min-height:100svh;padding:7rem 0 4rem}@supports (min-height:100dvh){.hero{min-height:100dvh}}.hero-content{width:100%;padding:0 1.25rem}.hero-actions{width:min(100%,20rem);margin:0 auto}.hero .fade-in-up{opacity:1;animation:none;transform:none}.about-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:2rem}.mobile-menu-btn{display:flex}.nav-links{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f9f6f0fa;flex-direction:column;align-items:stretch;width:min(82vw,320px);height:100svh;padding:6rem 2rem 2rem;transition:transform .35s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-5px 0 30px #0000001a}@supports (height:100dvh){.nav-links{height:100dvh}}.nav-links.open{transform:translate(0)}.nav-links a{border-bottom:1px solid #0000000d;margin-left:0;padding:.8rem 0;font-size:1.15rem;color:var(--color-text)!important}.section-title{font-size:2.2rem}.about-section,.menu-section,.reviews-section{padding:4.5rem 0}.location-info{border-radius:16px;padding:2rem}.location-details{grid-template-columns:1fr;gap:2rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.75rem}}@media (width<=480px){.container,.nav-content{padding-left:1rem;padding-right:1rem}.logo-img{height:52px}.hero-title{gap:.35rem .5rem;font-size:clamp(1.75rem,9vw,2.15rem)}.hero-subtitle{margin-bottom:2rem;font-size:1rem}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{text-align:center;width:100%}.about-text h2{font-size:2rem}.image-accent{width:90px;height:90px;top:-12px;right:8px}.menu-tabs{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.25rem;overflow-x:auto}.menu-tab{flex:none}.menu-card-body,.review-card{padding:1rem}.location-info{padding:1.25rem}.location-card li{flex-direction:column;align-items:flex-start;gap:.15rem}.footer{padding-top:3rem}.menu-item-row{gap:.6rem;padding:.5rem .4rem}.menu-thumb{width:40px;height:40px}.gallery-grid{grid-template-columns:1fr}}
