:root{--bg-color:#fdfbf7;--bg-light:#f6f3ec;--bg-dark:#1a1a1a;--text-color:#2c2c2c;--text-light:#666;--accent-color:#c0a9a0;--accent-hover:#b09990;--font-jp:"Microsoft JhengHei","微軟正黑體","PingFang TC","Apple LiGothic Medium",sans-serif;--font-en:"Playfair Display",serif;--transition-slow:.8s cubic-bezier(.25,1,.5,1);--transition-fast:.3s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-jp);line-height:1.8;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}ul{list-style:none}.section-title{color:var(--accent-color);font-family:var(--font-en);font-size:2.5rem;font-style:italic;margin-bottom:.5rem}.jp-heading{color:var(--text-color);font-size:1.5rem;letter-spacing:.1em;margin-bottom:2rem}.text-center{text-align:center}.section-padding{padding:8rem 0}.bg-light{background-color:var(--bg-light)}.bg-dark{background-color:var(--bg-dark);color:var(--bg-color)}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.fade-in-up.appear{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.2s}.delay-2{transition-delay:.4s}.navbar{left:0;padding:1.5rem 0;position:fixed;top:0;transition:all var(--transition-fast);width:100%;z-index:1000}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fdfbf7f2;box-shadow:0 4px 20px #0000000d;padding:1rem 0}.navbar.scrolled .logo,.navbar.scrolled .nav-links a:not(.btn-cta){color:var(--text-color)}.nav-container{justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.logo,.nav-container{align-items:center;display:flex}.logo{color:#fff;gap:1rem}.brand-logo{height:55px;transition:filter var(--transition-fast),transform var(--transition-fast);width:auto}.brand-logo:hover{transform:scale(1.05)}.navbar.scrolled .brand-logo{filter:none}.logo-text{display:flex;flex-direction:column}.en-logo{font-family:var(--font-en);font-size:1.35rem;letter-spacing:1.5px;line-height:1.2}.jp-logo{font-size:.95rem;letter-spacing:.2em;opacity:.8}.nav-links{align-items:center;display:flex;gap:2.5rem}.nav-links a{color:#fff;font-family:var(--font-en);font-size:.95rem;letter-spacing:1px}.nav-links a:hover{color:var(--accent-color)}.btn-cta{border:1px solid hsla(0,0%,100%,.5);border-radius:50px;padding:.5rem 1.5rem}.navbar.scrolled .btn-cta{border-color:var(--text-color);color:var(--text-color)}.navbar.scrolled .btn-cta:hover{background-color:var(--text-color);color:#fff!important}.has-dropdown{position:relative}.dropdown{background:#fff;border-radius:4px;box-shadow:0 10px 30px #0000001a;left:50%;min-width:200px;opacity:0;padding:1rem 0;position:absolute;top:100%;transform:translate(-50%) translateY(10px);transition:all .3s ease;visibility:hidden;z-index:100}.dropdown li{padding:0}.dropdown a{color:var(--text-color)!important;display:block;font-size:.9rem!important;padding:.8rem 1.5rem;text-align:center;white-space:nowrap}.dropdown a:hover{background-color:#f9f9f9;color:var(--accent-color)!important}.has-dropdown:hover .dropdown{opacity:1;transform:translate(-50%) translateY(0);visibility:visible}.navbar:not(.scrolled) .has-dropdown:hover>a{color:var(--accent-color)}.hero{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative}.hero-image{height:100%;left:0;position:absolute;top:0;width:100%}.hero-image img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;width:100%}.hero-overlay{background:linear-gradient(180deg,#0000004d 0,#0000001a 50%,#0006);height:100%;left:0;position:absolute;top:0;width:100%}.hero-content{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative;text-align:center;z-index:10}.hero-title{display:flex;gap:1.5rem;margin-bottom:2rem}.vertical-text{font-size:3rem;letter-spacing:.3em;text-orientation:upright;text-shadow:2px 2px 10px rgba(0,0,0,.3);writing-mode:vertical-rl}.hero-logo{filter:brightness(0) invert(1);height:90px;margin:2rem 0;opacity:.8;width:auto}.hero-subtitle{font-family:var(--font-en);font-size:1.1rem;font-style:italic;letter-spacing:2px;opacity:.9}.scroll-indicator{align-items:center;bottom:40px;color:#fff;display:flex;flex-direction:column;left:50%;position:absolute;transform:translate(-50%);z-index:10}.scroll-indicator span{font-family:var(--font-en);font-size:.95rem;letter-spacing:2px;margin-bottom:10px;text-transform:uppercase}.scroll-indicator .line{background-color:#ffffff4d;height:60px;overflow:hidden;position:relative;width:1px}.scroll-indicator .line:after{animation:scrollLine 2s ease-in-out infinite;background-color:#fff;content:"";height:50%;left:0;position:absolute;top:0;width:100%}@keyframes scrollLine{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.concept-grid{align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.concept-text{padding-right:2rem}.concept-text p{color:var(--text-light);letter-spacing:.05em;margin-bottom:1.5rem}.concept-image{position:relative}.concept-image:before{border:1px solid var(--accent-color);content:"";height:100%;position:absolute;right:-20px;top:-20px;width:100%;z-index:-1}.concept-image img{box-shadow:0 20px 40px #0000000d;display:block;height:auto;width:100%}.gallery-header{margin-bottom:4rem;text-align:center}.masonry-grid{display:grid;gap:1.5rem;grid-auto-flow:row dense;grid-auto-rows:250px;grid-template-columns:repeat(3,1fr)}.grid-item{border-radius:4px;cursor:pointer;overflow:hidden;position:relative}.grid-item img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease;width:100%}.item-portrait{grid-row:span 2}.item-square{grid-row:span 1}.hover-overlay{background-color:#2c2c2c66;height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity var(--transition-fast);width:100%}.grid-item:hover img{transform:scale(1.05)}.grid-item:hover .hover-overlay{opacity:1}.btn-outline{border:1px solid var(--text-color);color:var(--text-color);display:inline-block;font-family:var(--font-en);letter-spacing:2px;padding:.8rem 2.5rem;transition:all var(--transition-fast)}.btn-outline:hover{background-color:var(--text-color);color:var(--bg-color)}.btn-primary{background-color:var(--accent-color);color:#fff;display:inline-block;letter-spacing:1px;padding:.8rem 2.5rem;transition:all var(--transition-fast)}.btn-primary:hover{background-color:var(--accent-hover)}.plans-grid{align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-top:4rem}.plan-card{background:#fff;border:1px solid #eee;display:flex;flex-direction:column;overflow:hidden;padding:0;position:relative;transition:var(--transition-fast)}.plan-card:hover{box-shadow:0 20px 40px #0000000d;transform:translateY(-10px)}.plan-card.featured{border:1px solid var(--accent-color);box-shadow:0 10px 30px #c0a9a026;z-index:1}.plan-top{padding:3.5rem 2.5rem 2rem;position:relative;text-align:center}.plan-badge{background:var(--accent-color);border-radius:50px;color:#fff;font-size:.7rem;left:50%;letter-spacing:1.5px;padding:.3rem 1.2rem;position:absolute;text-transform:uppercase;top:15px;transform:translate(-50%)}.plan-name{color:var(--text-color);font-size:1.5rem;letter-spacing:1px;line-height:1.4;margin-bottom:2rem}.plan-itineraries{text-align:left}.itinerary{align-items:flex-end;border-bottom:1px solid rgba(0,0,0,.03);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.itinerary:last-child{border-bottom:none;margin-bottom:0}.itinerary .route{color:#666;flex:1;font-size:.85rem;line-height:1.5;text-align:left}.itinerary .price{color:var(--text-color);font-family:var(--font-en);font-size:1.25rem;font-weight:500;white-space:nowrap}.plan-body{display:flex;flex-direction:column;flex-grow:1;justify-content:flex-end;padding:2.5rem 2rem}.plan-features{list-style:none;margin:0;padding:0;text-align:left}.plan-features li{color:#777;font-size:.85rem;line-height:1.6;margin-bottom:1rem;padding-left:1.2rem;position:relative}.plan-features li:before{background-color:var(--accent-color);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:.7em;width:4px}.plans-cta-container{margin-top:5rem;text-align:center}.btn-solid-large{background-color:var(--accent-color);border-radius:4px;color:#fff;display:inline-block;font-size:1.35rem;font-weight:500;letter-spacing:2px;padding:1.2rem 4rem;transition:var(--transition-fast)}.btn-solid-large:hover{background-color:var(--accent-hover);box-shadow:0 10px 30px #c0a9a04d;transform:translateY(-5px)}.plans-bottom-note{margin-top:5rem}.upgrade-info{color:var(--text-color);font-size:1.35rem;font-weight:600;margin-bottom:1.2rem}.seasonal-note{color:#999;font-size:.85rem;font-style:italic}.footer{padding:6rem 0 3rem}.footer-grid{display:grid;gap:4rem;grid-template-columns:2fr 1.2fr 1fr;margin-bottom:4rem}.footer-brand h2{color:var(--accent-color);font-family:var(--font-en);font-size:2rem;margin-bottom:1.5rem}.footer-brand p{color:#ccc;letter-spacing:.1em;line-height:1.6}.footer-links h4{color:#fff;font-family:var(--font-en);font-size:1.2rem;letter-spacing:2px;margin-bottom:2rem}.footer-links ul li{margin-bottom:1rem}.footer-links ul li a{color:#ccc}.footer-links ul li a:hover{color:var(--accent-color)}.footer-bottom{border-top:1px solid #f0f0f0;color:#ccc;font-size:.95rem;letter-spacing:1px;padding-top:3rem;text-align:center}@media(max-width:900px){.nav-links{display:none}.concept-grid{gap:3rem;grid-template-columns:1fr}.masonry-grid{grid-template-columns:repeat(2,1fr)}.plans-grid{margin:4rem auto 0;max-width:500px}.footer-grid,.plans-grid{grid-template-columns:1fr}.footer-grid{gap:2rem;text-align:center}}@media(max-width:600px){.hero-title{gap:.5rem}.vertical-text{font-size:2.5rem}.masonry-grid{grid-template-columns:1fr}}.lightbox{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#1a1a1afa;display:none;height:100%;left:0;opacity:0;overflow:hidden;padding-top:60px;position:fixed;top:0;transition:opacity var(--transition-fast);width:100%;z-index:2000}.lightbox.active{align-items:center;display:flex;justify-content:center;opacity:1}.lightbox-content{border:10px solid #fff;box-shadow:0 0 50px #00000080;display:block;margin:auto;max-height:85vh;max-width:90%;transform:scale(.95);transition:transform var(--transition-fast)}.lightbox.active .lightbox-content{transform:scale(1)}.lightbox-close{color:#f1f1f1;cursor:pointer;font-size:40px;font-weight:300;position:absolute;right:45px;top:30px}.footer-brand h2{align-items:center;display:flex;gap:.8rem}.footer-logo-img{height:50px;width:auto}
