.hero{position:relative;width:100%;height:75vh;min-height:480px;overflow:hidden;background:var(--lavender-dark)}@media(max-width:640px){.hero{height:55vh;min-height:360px}}.hero-slides{display:flex;width:100%;height:100%;transition:transform .7s cubic-bezier(.25,.1,.25,1)}.hero-slide{flex:0 0 100%;height:100%;position:relative}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:2rem;z-index:2}.hero-overlay h1{font-size:clamp(2.2rem,6vw,4rem);font-weight:800;letter-spacing:.03em;margin-bottom:.8rem;text-shadow:0 4px 20px rgba(0,0,0,.5)}.hero-overlay .hero-jp{font-size:clamp(1rem,2.5vw,1.6rem);font-weight:400;opacity:.9;letter-spacing:.15em;margin-bottom:1rem}.hero-overlay .hero-desc{font-size:clamp(.9rem,1.8vw,1.15rem);opacity:.85;max-width:600px;line-height:1.7;margin-bottom:2rem}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-hero{padding:.85rem 2rem;border-radius:var(--radius-full);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;border:none}.btn-hero-primary{background:var(--sakura);color:#fff}.btn-hero-primary:hover{background:var(--sakura-deep);transform:translateY(-2px);box-shadow:0 8px 24px #b85c5c66}.btn-hero-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}.btn-hero-outline:hover{background:#ffffff26;border-color:#fff}.hero-nav-dots{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.6rem;z-index:3}.hero-dot{width:10px;height:10px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .3s;border:none}.hero-dot.active{background:#fff;width:28px;border-radius:10px}.hero-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#6b5b8a80;color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.hero-nav-arrow:hover{background:#6b5b8acc}.hero-nav-arrow.left{left:1rem}.hero-nav-arrow.right{right:1rem}@media(max-width:640px){.hero-nav-arrow{width:34px;height:34px;font-size:1rem}}.mobile-categories{display:none;margin-bottom:1.5rem}@media(max-width:640px){.mobile-categories{display:block}}.cat-scroll{display:flex;overflow-x:auto;gap:.5rem;padding-bottom:.5rem;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none}.cat-scroll::-webkit-scrollbar{display:none}.cat-btn{padding:.4rem 1rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:var(--transition);flex-shrink:0}.cat-btn-desktop{padding:.6rem 1.5rem;font-size:.85rem;box-shadow:var(--shadow-sm)}.cat-active{background:var(--sakura)!important;color:#fff!important;border-color:var(--sakura)!important}.cat-inactive{background:#fff!important;color:var(--gray-text)!important;border-color:var(--stone)!important}.cat-mobile-inactive{background:#fff3!important;color:#fff!important;border-color:#ffffff4d!important;backdrop-filter:blur(8px)}.cat-mobile-active{background:var(--sakura)!important;color:#fff!important}.desktop-categories{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}@media(max-width:640px){.desktop-categories{display:none}}.main-container{max-width:1280px;margin:0 auto;padding:2rem 1.25rem}.header-section{text-align:center;margin-bottom:2.5rem}.header-section h2{font-size:2.2rem;font-weight:700;color:var(--ink);margin-bottom:.5rem}.header-section .accent{color:var(--sakura)}.header-section p{color:#666;max-width:500px;margin:0 auto;font-size:.95rem}#menu-page{scroll-margin-top:6rem}.sub-category-title{grid-column:1 / -1;font-size:1.5rem;font-weight:700;color:var(--sakura-deep);margin-top:1rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--stone);display:flex;align-items:center;gap:.5rem}.menu-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:3rem}@media(min-width:640px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.menu-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid #f0ebe4;box-shadow:var(--shadow-sm);transition:var(--transition);display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-img-wrap{position:relative;height:11rem;overflow:hidden;background:#f5f0ea}.card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover .card-img-wrap img{transform:scale(1.04)}.card-tags{position:absolute;top:.75rem;left:.75rem;display:flex;flex-wrap:wrap;gap:.3rem}.tag{font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;letter-spacing:.03em}.tag-pop{background:#fef3c7;color:#92400e}.tag-spicy{background:#fee2e2;color:#b91c1c}.tag-vegan{background:#d1fae5;color:#065f46}.price-badge{position:absolute;bottom:.75rem;right:.75rem;background:#fffffff2;backdrop-filter:blur(6px);padding:.4rem .9rem;border-radius:.6rem;font-size:1.15rem;font-weight:800;color:#b91c1c;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000f}.card-body{padding:1rem 1.1rem 1.2rem;flex:1;display:flex;flex-direction:column}.card-body h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:.2rem}.jp-name{font-size:.8rem;color:#517a4b;font-style:italic;font-weight:500;margin-bottom:.4rem}.desc{font-size:.8rem;color:#6b6b6b;line-height:1.5}.drink-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:.75rem .5rem;border-bottom:1px dashed #e0d6cf;gap:1rem;transition:background .15s}.drink-row:hover{background:#ffffff80}.drink-left{display:flex;align-items:center;gap:.75rem;min-width:0}.drink-img{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;background:#f0ebe4;flex-shrink:0}.drink-info h4{font-weight:600;font-size:.9rem}.drink-info .sub{font-size:.7rem;color:#777}.drink-price{font-size:1.2rem;font-weight:800;color:#b91c1c;white-space:nowrap}.menu-category-section{width:100%}
