:root{--paper:#f7f5ee;--cream:#eeeadf;--ink:#27342b;--olive:#344b3b;--muted:#686d62;--gold:#ae8853;--line:#d9dccf;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:"Noto Sans TC",-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:auto}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:16px;top:-100px;z-index:50;background:white;padding:10px 18px}.skip:focus{top:12px}.announcement{background:var(--olive);color:#f7f5ee;text-align:center;font-size:11px;letter-spacing:1.6px;padding:8px 16px}.announcement a{border-bottom:1px solid #d5c8ac;margin-left:15px}.header{position:sticky;top:0;z-index:20;background:rgba(247,245,238,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{font-family:var(--serif);font-size:26px;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--olive)}.brand-name{font-family:var(--serif);letter-spacing:4px;font-size:23px;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:5px;color:var(--muted)}.nav{display:flex;gap:26px;align-items:center;font-size:13px}.nav a{position:relative;white-space:nowrap}.nav a:not(.button):after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}.nav a:hover:after,.nav a[aria-current="page"]:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 24px;background:var(--olive);color:white;border:1px solid var(--olive);font-size:13px;letter-spacing:1px;transition:background .2s,transform .2s;border-radius:2px}.button:hover{background:#253a2c;transform:translateY(-2px)}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.button.light:hover{background:var(--cream)}.button.white{background:var(--paper);color:var(--olive);border-color:var(--paper)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:22px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:600;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding:48px 0 60px}.hero-copy{padding:20px 0}.hero h1{font-size:clamp(40px,4.5vw,65px);letter-spacing:3px;line-height:1.45;margin:24px 0}.hero h1 em{font-style:normal;color:#75846a}.hero-text{color:var(--muted);font-size:14px;line-height:2;max-width:365px}.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.hero-place{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:45px;padding-top:21px;font-size:11px;color:var(--muted)}.hero-place .number{font-family:Georgia,serif;color:var(--gold);font-size:28px}.hero-visual{position:relative;margin:0;padding:0 0 22px 22px}.hero-visual:before{content:"";position:absolute;left:0;bottom:0;width:78%;height:77%;border:1px solid #c4cabb;z-index:-1}.hero-visual img{height:590px;object-fit:cover;border-radius:180px 180px 3px 3px}.image-caption{position:absolute;right:13px;bottom:36px;font-size:10px;color:white;background:#253a2c80;padding:3px 8px}.hero-quote{position:absolute;top:58%;left:-46px;border:1px solid #c4cabb;border-radius:50%;background:#f7f5eef5;width:119px;height:119px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:16px;letter-spacing:3px;line-height:1.9;transform:rotate(-9deg)}.benefits{border-block:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.benefit{display:flex;align-items:center;justify-content:center;gap:18px}.benefit svg{width:30px;height:30px;color:var(--gold);flex-shrink:0}.benefit strong{font-size:13px;font-weight:500;letter-spacing:1px}.benefit span{display:block;color:var(--muted);font-size:11px;letter-spacing:.5px}.section{padding:96px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:36px}.section h2,.section-head h2{font-size:35px;letter-spacing:3px;margin-top:12px;line-height:1.6}.section-head p{font-size:13px;color:var(--muted);max-width:350px}.store-filters{display:flex;gap:7px;margin-bottom:30px}.filter{border:1px solid var(--line);background:transparent;font-size:12px;padding:10px 18px;border-radius:30px}.filter[aria-pressed="true"]{background:var(--olive);color:white;border-color:var(--olive)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{display:flex;flex-direction:column;border:1px solid var(--line);padding:30px 28px;background:#fbfaf6;position:relative;transition:transform .25s,border-color .25s}.service:hover{transform:translateY(-5px);border-color:var(--gold)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.service-number{font-family:Georgia,serif;font-size:34px;font-weight:400;color:#b6bba9}.service svg{width:42px;height:42px;color:var(--gold)}.service .tag{align-self:flex-start;background:#e9ecdf;color:#526147;font-size:10px;padding:3px 9px;letter-spacing:1px;margin-bottom:15px}.service h3{font-family:var(--serif);font-size:21px;letter-spacing:1px;line-height:1.6;margin-bottom:6px}.service-en{font-size:9px;letter-spacing:1.3px;color:var(--gold)}.service .desc{font-size:13px;color:var(--muted);line-height:1.95;margin-top:18px;flex:1}.service-bottom{margin-top:26px;padding-top:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.price{font-family:Georgia,serif;font-size:25px;line-height:1.5}.price small{font:10px var(--sans);color:var(--muted);display:block}.price.branch{font:12px var(--sans)}.text-link{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap;display:inline-flex;gap:13px;align-items:center}.price-note{font-size:11px;color:var(--muted);margin-top:18px}.story{background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.story-art{position:relative;padding:25px 24px;border:1px solid #c2c8b7}.story-art img{height:365px;object-fit:cover;object-position:50% 82%;filter:brightness(.93);border-radius:3px}.story-art .art-label{position:absolute;bottom:12px;right:40px;background:var(--cream);padding:4px 15px;font-size:9px;letter-spacing:2px;color:var(--muted)}.story-copy h2{font-size:34px;line-height:1.7;margin:18px 0 22px}.story-copy p{font-size:13px;color:var(--muted);line-height:2.05}.story-sign{font-family:Georgia,serif;font-size:24px;font-style:italic;color:var(--gold);margin-top:26px;letter-spacing:1px}.promotion-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.promo{position:relative;padding:38px 35px;min-height:260px;border:1px solid var(--line);background:#eeeadf;overflow:hidden}.promo.points{background:#e8ebdf}.promo:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #b6bda550;border-radius:50%;right:-90px;bottom:-90px;pointer-events:none}.promo h3{font-family:var(--serif);font-size:26px;margin:13px 0;letter-spacing:2px}.promo p{color:var(--muted);font-size:13px;max-width:330px;margin-bottom:28px}.promo .text-link{position:relative;z-index:1}.stores{background:#e9eddf}.stores-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.store{background:var(--paper);border:1px solid #d4d9c8;padding:36px}.store h3{font-family:var(--serif);font-size:24px;letter-spacing:1px;margin:12px 0 7px}.store .store-services{font-size:12px;color:var(--muted);margin-bottom:25px}.store-info{display:grid;gap:13px;font-size:13px;margin:24px 0 30px}.store-info a{display:flex;gap:12px;align-items:center}.store-info svg{width:17px;height:17px;flex-shrink:0;color:var(--gold)}.store-actions{display:flex;gap:11px;flex-wrap:wrap}.store-actions .button{padding:11px 16px;font-size:12px}.faq{max-width:790px;margin:auto}.faq h2{text-align:center;margin-bottom:30px}.faq .eyebrow{text-align:center}details{border-bottom:1px solid var(--line)}summary{padding:24px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:"＋";color:var(--gold);font-size:20px;line-height:1}details[open] summary:after{content:"－"}details p{padding:0 34px 24px 0;font-size:13px;color:var(--muted)}.cta{background:var(--olive);color:var(--paper);padding:54px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.cta h2{font-family:var(--serif);font-size:30px;letter-spacing:3px}.cta p{color:#c7d0bf;font-size:12px;margin-top:12px}.footer{padding:48px 0 20px;background:#f0eee5}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer .brand{margin-bottom:18px}.footer p{font-size:11px;color:var(--muted)}.footer h3{font-size:12px;letter-spacing:1px;margin-bottom:16px}.footer-links{display:flex;flex-wrap:wrap;gap:11px 24px;font-size:11px;color:var(--muted)}.footer-links a:hover{color:var(--olive);text-decoration:underline}.footer-bottom{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.mobile-bar{display:none}.backtop{position:fixed;right:22px;bottom:24px;width:42px;height:42px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font-size:20px;z-index:10}.page-banner{padding:70px 0 46px;border-bottom:1px solid var(--line);background:var(--cream)}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:25px}.breadcrumbs a{border-bottom:1px solid var(--line)}.page-banner h1{font-size:42px;letter-spacing:3px;margin:14px 0}.page-banner p{font-size:13px;color:var(--muted);max-width:520px}.page-content{padding:56px 0 90px;min-height:350px}.prose{max-width:850px;margin-inline:auto}.prose h2,.prose h3{font-family:var(--serif);font-size:23px;letter-spacing:1px;margin:32px 0 16px}.prose p{font-size:14px;line-height:2.1;margin:0 0 20px;color:#525b4e;overflow-wrap:anywhere}.prose a{color:var(--olive);text-decoration:underline;text-underline-offset:4px}.prose ol,.prose ul{padding-left:22px;color:var(--muted);font-size:14px;line-height:2.1}.prose li{margin-bottom:12px}.note-box{border-left:3px solid var(--gold);padding:20px 24px;background:var(--cream);font-size:13px;color:var(--muted);margin:26px 0}.page-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0}.step-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.step{background:#fbfaf6;padding:27px;border:1px solid var(--line)}.step .step-num{color:var(--gold);font-family:Georgia,serif;font-size:32px}.step h2{font-family:var(--serif);font-size:21px;margin:12px 0}.step p{font-size:13px;color:var(--muted)}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.about-system{border-top:1px solid var(--line);margin-top:50px;padding-top:32px}.about-system h2{font-size:25px;margin-bottom:16px}.about-system p{font-size:13px;color:var(--muted)}.highlight-stat{font:50px Georgia,serif;color:var(--olive);margin-bottom:15px}.skeleton-free{border:1px solid var(--line);padding:30px;background:var(--cream)}
@media(min-width:1600px){.hero{padding-top:70px;padding-bottom:80px}.hero-visual img{height:640px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav{gap:18px;font-size:12px}.nav .button{padding:11px 15px;gap:14px}.hero{gap:36px}.hero-visual img{height:535px}.hero h1{font-size:46px}.story-grid{gap:50px}.service{padding:25px 22px}.service h3{font-size:19px}}
@media(max-width:900px){.header-inner{min-height:78px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 32px 26px;border-bottom:1px solid var(--line);box-shadow:0 16px 24px #27342b0d}.nav.open{display:grid;gap:0}.nav a{padding:12px 0}.nav .button{margin-top:12px;padding:12px}.hero{gap:30px}.hero h1{font-size:37px}.hero-visual img{height:460px}.hero-quote{width:92px;height:92px;font-size:13px;left:-25px}.services{grid-template-columns:repeat(2,1fr)}.benefit{gap:12px}.benefit strong{font-size:12px}.benefit svg{width:24px;height:24px}.section{padding:72px 0}.story-grid{gap:35px}.story-copy h2{font-size:29px}.story-art{padding:16px}.story-art img{height:365px}.footer-top{gap:25px}.store{padding:27px}.store h3{font-size:21px}}
@media(max-width:640px){html{scroll-padding-top:86px}.container{width:calc(100% - 40px)}.announcement{font-size:9px;letter-spacing:.8px}.announcement a{margin-left:8px}.header-inner{min-height:72px}.brand-symbol{width:39px;height:39px;font-size:22px}.brand-name{font-size:20px}.brand small{font-size:8px;letter-spacing:1.6px}.hero{grid-template-columns:1fr;gap:28px;padding:32px 0 39px}.hero-copy{padding:0}.hero h1{font-size:40px;letter-spacing:2px;margin:18px 0}.hero-text{font-size:13px;max-width:100%}.hero-actions{margin-top:23px;gap:10px}.hero-actions .button{padding:13px 19px;font-size:12px;gap:17px}.hero-place{margin-top:25px;padding-top:16px}.hero-visual{padding:0 0 14px 14px;margin-left:12px}.hero-visual img{height:395px;border-radius:130px 130px 2px 2px;object-position:50% 69%}.hero-quote{top:56%;left:-25px;width:92px;height:92px;font-size:13px}.image-caption{bottom:25px;font-size:9px}.benefits{gap:0;padding:18px 0}.benefit{display:block;text-align:center;padding:0 5px}.benefit:not(:last-child){border-right:1px solid var(--line)}.benefit svg{display:block;margin:0 auto 10px;width:25px;height:25px}.benefit strong{font-size:11px;letter-spacing:0}.benefit span{font-size:9px;letter-spacing:0;margin-top:2px}.section{padding:57px 0}.section-head{display:block;margin-bottom:28px}.section h2,.section-head h2{font-size:29px;letter-spacing:2px}.section-head p{margin-top:17px;font-size:12px}.services{grid-template-columns:1fr;gap:16px}.service{padding:25px}.service-top{margin-bottom:20px}.service h3{font-size:23px}.service .desc{font-size:13px}.store-filters{gap:5px;flex-wrap:wrap}.filter{font-size:11px;padding:8px 12px}.story-grid,.promotion-grid,.stores-grid,.booking-options{grid-template-columns:1fr;gap:24px}.story-art{order:2;margin-top:8px}.story-art img{height:280px}.story-copy h2{font-size:29px}.promo{padding:30px 27px;min-height:240px}.promo h3{font-size:25px}.store{padding:27px}.store h3{font-size:22px}.faq h2{text-align:left}.faq .eyebrow{text-align:left}summary{font-size:13px;padding:22px 0}.cta{padding:39px 0}.cta-inner{display:block}.cta h2{font-size:26px;letter-spacing:2px}.cta .button{margin-top:24px}.footer{padding:38px 0 96px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;margin-top:30px}.footer-bottom span{display:block;margin-top:8px}.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--paper);padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:10px;box-shadow:0 -5px 20px #27342b08}.mobile-bar a{flex:1;text-align:center;font-size:12px;padding:10px 8px;border:1px solid var(--olive);line-height:1.5}.mobile-bar a:last-child{flex:1.5;background:var(--olive);color:white}.backtop{bottom:89px;right:15px;width:36px;height:36px;font-size:17px}.page-banner{padding:40px 0 30px}.page-banner h1{font-size:32px}.page-content{padding:35px 0 60px}.step-grid{grid-template-columns:1fr}.step{padding:24px}.prose p{font-size:13px}.prose h2,.prose h3{font-size:22px}.note-box{padding:18px}.page-actions .button{font-size:12px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* 2026 十月周年慶：保留原海報完整比例，手機直排。 */
.anniversary-promo{padding:25px;background:#f2eade}.anniversary-mini{display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;gap:24px}.anniversary-mini img{border:1px solid #e1cba9;border-radius:3px}.anniversary-mini h3{font-size:25px;margin:10px 0}.anniversary-mini p{font-size:12px;margin-bottom:14px}.anniversary-mini .campaign-dates{color:#7b392f;font-weight:600}.anniversary-mini .limited-note{color:#7b392f;margin-bottom:16px}.anniversary-mini strong{font-weight:600;color:var(--ink)}
.anniversary-banner{background:#eee7d9}.anniversary-banner .eyebrow{color:#995b39}.anniversary-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px;align-items:start}.anniversary-poster{margin:0}.anniversary-poster img{height:auto;border:1px solid #e3d1b6;border-radius:4px;box-shadow:0 12px 35px #55422412}.anniversary-poster figcaption{font-size:11px;text-align:center;color:var(--muted);margin-top:12px}.campaign-intro h2{font-size:29px;line-height:1.6;letter-spacing:2px;margin:14px 0 20px}.campaign-intro p{font-size:13px;color:var(--muted)}.campaign-badge{display:inline-block;background:#eee2d1;color:#7b392f;font-size:12px;letter-spacing:1px;padding:6px 14px;margin:18px 0 25px;border-radius:20px}.ticket-card{padding:25px 28px;border:1px solid #cfb68e;background:#fcf9f1;margin-bottom:20px;border-radius:3px}.ticket-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;letter-spacing:1px;color:#8a5838}.ticket-duration{font-size:11px;color:var(--muted);letter-spacing:0}.ticket-card h3{font-family:var(--serif);font-size:22px;letter-spacing:1px;margin:9px 0 14px}.ticket-original{font-size:12px;color:var(--muted);margin-bottom:7px}.ticket-price{display:flex;gap:20px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.ticket-price>span{font-size:17px}.ticket-price strong{font:44px Georgia,serif;color:#8d352d;white-space:nowrap}.ticket-price small{font:12px var(--sans);margin-right:7px}.ticket-unit{font-size:11px;color:var(--muted);margin-top:8px;text-align:right}.foot-ticket{background:#eff1e7;border-color:#c8d1bd}.foot-ticket .ticket-heading,.foot-ticket .ticket-price strong{color:var(--olive)}.campaign-contact p{font-size:13px;color:var(--muted);margin:24px 0 15px}.campaign-contact .button{width:100%}.campaign-contact .text-link{margin-top:18px}
@media(max-width:1100px){.anniversary-mini{grid-template-columns:105px minmax(0,1fr);gap:18px}.anniversary-layout{gap:35px}}
@media(max-width:900px){.anniversary-mini{grid-template-columns:1fr}.anniversary-mini img{width:130px}.anniversary-layout{gap:26px}.ticket-card{padding:23px}.ticket-price strong{font-size:36px}.campaign-intro h2{font-size:25px}}
@media(max-width:640px){.anniversary-mini{grid-template-columns:105px minmax(0,1fr);gap:16px}.anniversary-mini img{width:100%}.anniversary-mini h3{font-size:22px}.anniversary-mini .eyebrow{font-size:8px;letter-spacing:1px}.anniversary-mini p{font-size:11px}.anniversary-promo{padding:23px 20px}.anniversary-layout{grid-template-columns:1fr;gap:30px}.anniversary-details{order:1}.anniversary-poster{order:2}.anniversary-banner h1{font-size:29px}.campaign-intro h2{font-size:27px}.ticket-price strong{font-size:42px}.ticket-heading{font-size:13px}.campaign-contact .button{font-size:12px;padding:14px}.announcement{font-size:9px;letter-spacing:0}}
@media(max-width:360px){.anniversary-mini{grid-template-columns:1fr}.anniversary-mini img{width:125px}.ticket-price strong{font-size:36px}}
