*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0a0704;--deep: #12090a;--crimson: #9b1c2e;--crimson-light: #c0253c;--gold: #c9973a;--gold-light: #e8b85a;--gold-pale: #f5e6c0;--ivory: #f7f0e3;--ivory-dim: #e8dcc8;--mist: #b5a898;--font-display: "Noto Serif SC", serif;--font-serif: "Cormorant Garamond", serif;--font-sans: "Raleway", sans-serif}html{scroll-behavior:smooth}body{background-color:var(--deep);color:var(--ivory);font-family:var(--font-serif);overflow-x:hidden;cursor:default}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");opacity:.035;pointer-events:none;z-index:9999}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 4rem;transition:background .5s ease,backdrop-filter .5s ease,border-bottom .5s ease}nav.scrolled{background:#0a0704e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,151,58,.25)}.nav-logo{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none}.nav-logo-zh{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--gold);line-height:1;letter-spacing:.1em}.nav-logo-pt{font-family:var(--font-sans);font-size:.6rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:var(--mist)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-family:var(--font-sans);font-size:.7rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory-dim);text-decoration:none;position:relative;transition:color .3s}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .35s ease}.nav-links a:hover{color:var(--gold-light)}.nav-links a:hover:after{width:100%}.nav-reserve{font-family:var(--font-sans);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.6rem 1.4rem;text-decoration:none;border:1px solid var(--gold);transition:background .3s,color .3s}.nav-reserve:hover{background:transparent;color:var(--gold-light)}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/restaurant-interior.jpg);background-size:cover;background-position:center;transform:scale(1.08);animation:heroZoom 18s ease-in-out infinite alternate;filter:brightness(.45) saturate(.85)}@keyframes heroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a0704bf,#9b1c2e1f,#0a0704cc)}.hero-side-line{position:absolute;left:4rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:2}.hero-side-line span{font-family:var(--font-display);font-size:.7rem;writing-mode:vertical-rl;letter-spacing:.4em;color:var(--gold);opacity:.7}.hero-side-line:before,.hero-side-line:after{content:"";display:block;width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold),transparent)}.hero-content{position:relative;z-index:2;max-width:900px;padding:0 4rem 0 10rem;animation:heroReveal 1.4s cubic-bezier(.22,1,.36,1) both}@keyframes heroReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.hero-eyebrow-line{width:40px;height:1px;background:var(--gold)}.hero-eyebrow span{font-family:var(--font-sans);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold)}.hero-zh{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,7rem);font-weight:700;color:var(--gold);line-height:1;margin-bottom:.3rem;text-shadow:0 0 80px rgba(201,151,58,.4)}.hero-title{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.1;margin-bottom:1.5rem}.hero-title strong{font-weight:600;font-style:normal;color:var(--gold-light)}.hero-sub{font-family:var(--font-sans);font-size:.85rem;font-weight:300;letter-spacing:.12em;color:var(--mist);margin-bottom:3rem;max-width:480px;line-height:1.8}.hero-ctas{display:flex;gap:1.2rem;align-items:center}.btn-primary{font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:1rem 2.2rem;text-decoration:none;border:1px solid var(--gold);transition:background .35s,color .35s,transform .3s;display:inline-block}.btn-primary:hover{background:transparent;color:var(--gold-light);transform:translateY(-2px)}.btn-ghost{font-family:var(--font-sans);font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-dim);text-decoration:none;display:flex;align-items:center;gap:.6rem;transition:color .3s,gap .3s}.btn-ghost:after{content:"→";transition:transform .3s}.btn-ghost:hover{color:var(--gold-light);gap:.9rem}.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-scroll span{font-family:var(--font-sans);font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:var(--mist)}.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}section{padding:8rem 4rem}.section-label{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.section-label:before{content:"";display:block;width:28px;height:1px;background:var(--gold)}.section-label span{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold)}.section-heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.2}.section-heading strong{font-weight:600;font-style:normal;color:var(--gold-light)}.about{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;max-width:1400px;margin:0 auto}.about-image-wrap{position:relative}.about-image-wrap img{width:100%;height:600px;object-fit:cover;display:block}.about-image-deco{position:absolute;top:-20px;left:-20px;right:20px;bottom:20px;border:1px solid rgba(201,151,58,.3);z-index:-1}.about-image-badge{position:absolute;bottom:-24px;right:-24px;width:110px;height:110px;background:var(--crimson);border:1px solid rgba(201,151,58,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.about-image-badge .badge-num{font-family:var(--font-serif);font-size:2.2rem;font-weight:600;color:var(--gold-light);line-height:1}.about-image-badge .badge-text{font-family:var(--font-sans);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);text-align:center}.about-content{display:flex;flex-direction:column;gap:1.8rem}.about-body{font-family:var(--font-serif);font-size:1.1rem;font-weight:300;color:var(--mist);line-height:1.9}.about-body+.about-body{margin-top:-.8rem}.about-divider{display:flex;align-items:center;gap:1rem}.about-divider-line{flex:1;height:1px;background:linear-gradient(to right,var(--gold),transparent)}.about-divider-symbol{font-family:var(--font-display);font-size:1.2rem;color:var(--gold)}.about-stats{display:flex;gap:2.5rem;margin-top:.5rem}.stat{display:flex;flex-direction:column;gap:4px}.stat-num{font-family:var(--font-serif);font-size:2rem;font-weight:600;color:var(--gold-light);line-height:1}.stat-label{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mist)}.menu-section{background:var(--ink);position:relative;overflow:hidden}.menu-section:before{content:"菜";position:absolute;right:-2rem;top:-3rem;font-family:var(--font-display);font-size:22rem;color:#c9973a0a;line-height:1;pointer-events:none}.menu-inner{max-width:1400px;margin:0 auto}.menu-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:5rem}.menu-tabs{display:flex;gap:0;border:1px solid rgba(201,151,58,.25)}.menu-tab{font-family:var(--font-sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);padding:.7rem 1.5rem;background:none;border:none;cursor:pointer;border-right:1px solid rgba(201,151,58,.25);transition:background .3s,color .3s}.menu-tab:last-child{border-right:none}.menu-tab.active,.menu-tab:hover{background:var(--crimson);color:var(--ivory)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.menu-card{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer}.menu-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s;filter:brightness(.7) saturate(.9)}.menu-card:hover img{transform:scale(1.07);filter:brightness(.55) saturate(1)}.menu-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0704e6,#0a07041a 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;transition:background .4s}.menu-card:hover .menu-card-overlay{background:linear-gradient(to top,#9b1c2ebf,#0a070433 70%)}.menu-card-zh{font-family:var(--font-display);font-size:.9rem;color:var(--gold);letter-spacing:.2em;margin-bottom:.3rem;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.menu-card:hover .menu-card-zh{opacity:1;transform:translateY(0)}.menu-card-name{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--ivory);line-height:1.2;margin-bottom:.4rem}.menu-card-desc{font-family:var(--font-sans);font-size:.65rem;font-weight:300;letter-spacing:.08em;color:var(--mist);line-height:1.6;max-height:0;overflow:hidden;transition:max-height .4s ease}.menu-card:hover .menu-card-desc{max-height:80px}.menu-card-price{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--gold-light);margin-top:.6rem}.menu-card.featured{grid-column:span 2;aspect-ratio:16/7}.experience-strip{background:var(--crimson);padding:5rem 4rem;overflow:hidden}.experience-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 2px 1fr 2px 1fr 2px 1fr;align-items:center;gap:3rem}.exp-divider{height:80px;background:#ffffff26}.exp-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem}.exp-icon{font-family:var(--font-display);font-size:2rem;color:var(--gold-light)}.exp-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--ivory);letter-spacing:.05em}.exp-desc{font-family:var(--font-sans);font-size:.65rem;font-weight:300;letter-spacing:.1em;color:#f7f0e3b3;line-height:1.7}.gallery-section{max-width:1400px;margin:0 auto}.gallery-header{text-align:center;margin-bottom:5rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto;gap:12px}.gallery-item{overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s;filter:saturate(.85) brightness(.9)}.gallery-item:hover img{transform:scale(1.05);filter:saturate(1.1) brightness(1)}.gallery-item:nth-child(1){grid-column:span 7;height:420px}.gallery-item:nth-child(2){grid-column:span 5;height:420px}.gallery-item:nth-child(3){grid-column:span 4;height:320px}.gallery-item:nth-child(4){grid-column:span 8;height:320px}.reservation{background:var(--ink);position:relative;overflow:hidden}.reservation:after{content:"龍";position:absolute;left:-3rem;bottom:-4rem;font-family:var(--font-display);font-size:26rem;color:#9b1c2e0f;line-height:1;pointer-events:none}.reservation-inner{max-width:900px;margin:0 auto;position:relative;z-index:1}.reservation-header{text-align:center;margin-bottom:4rem}.reservation-header .section-label{justify-content:center}.reservation-header .section-label:before{display:none}.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full{grid-column:span 2}.form-group label{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.form-group input,.form-group select,.form-group textarea{background:#f7f0e30d;border:1px solid rgba(201,151,58,.25);color:var(--ivory);font-family:var(--font-serif);font-size:1rem;font-weight:300;padding:.85rem 1.2rem;outline:none;transition:border-color .3s,background .3s;width:100%;-webkit-appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:#f7f0e314}.form-group select option{background:var(--ink);color:var(--ivory)}.form-group textarea{resize:vertical;min-height:120px}.form-submit{grid-column:span 2;display:flex;justify-content:center;margin-top:1rem}.form-submit button{font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:var(--gold);border:1px solid var(--gold);padding:1.1rem 3.5rem;cursor:pointer;transition:background .35s,color .35s,transform .3s}.form-submit button:hover{background:transparent;color:var(--gold-light);transform:translateY(-2px)}.info-section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4rem;max-width:1400px;margin:0 auto;padding-top:4rem;padding-bottom:4rem;border-top:1px solid rgba(201,151,58,.15)}.info-block h3{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}.info-block p,.info-block address{font-family:var(--font-serif);font-size:1rem;font-weight:300;color:var(--mist);font-style:normal;line-height:2}.info-hours-row{display:flex;justify-content:space-between;font-family:var(--font-serif);font-size:.95rem;font-weight:300;color:var(--mist);line-height:2}.info-hours-row span:last-child{color:var(--ivory-dim)}footer{background:var(--ink);border-top:1px solid rgba(201,151,58,.2);padding:3rem 4rem;display:flex;align-items:center;justify-content:space-between}.footer-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--gold);letter-spacing:.1em}.footer-copy{font-family:var(--font-sans);font-size:.58rem;letter-spacing:.2em;color:var(--mist);text-align:center}.footer-social{display:flex;gap:1.5rem}.footer-social a{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);text-decoration:none;transition:color .3s}.footer-social a:hover{color:var(--gold-light)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.35s}.reveal-delay-4{transition-delay:.5s}.toast{position:fixed;bottom:2.5rem;right:2.5rem;background:var(--crimson);border:1px solid rgba(201,151,58,.4);color:var(--ivory);font-family:var(--font-sans);font-size:.7rem;letter-spacing:.12em;padding:1rem 1.8rem;z-index:9000;transform:translateY(120%);opacity:0;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .5s}.toast.show{transform:translateY(0);opacity:1}@media (max-width: 1024px){nav{padding:1.2rem 2rem}.nav-links{gap:1.5rem}.hero-content{padding:0 2rem 0 7rem}.hero-side-line{left:2rem}section{padding:6rem 2rem}.about{grid-template-columns:1fr;gap:3rem}.about-image-wrap img{height:400px}.menu-grid{grid-template-columns:1fr 1fr}.menu-card.featured{grid-column:span 2}.experience-inner{grid-template-columns:1fr 1fr;gap:2rem}.exp-divider{display:none}.gallery-item:nth-child(1){grid-column:span 12;height:300px}.gallery-item:nth-child(2){grid-column:span 12;height:260px}.gallery-item:nth-child(3){grid-column:span 6;height:240px}.gallery-item:nth-child(4){grid-column:span 6;height:240px}.info-section{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.nav-links,.nav-reserve{display:none}.hero-content{padding:0 1.5rem}.hero-side-line{display:none}.menu-grid{grid-template-columns:1fr}.menu-card.featured{grid-column:span 1;aspect-ratio:4/3}.menu-header{flex-direction:column;align-items:flex-start;gap:2rem}.reservation-form{grid-template-columns:1fr}.form-group.full,.form-submit{grid-column:span 1}footer{flex-direction:column;gap:1.5rem;text-align:center}}
