@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&display=swap');
:root{--paper:#f4f0e9;--ink:#302b24;--muted:#797268;--line:#d8d0c5;--accent:#6d4630;--serif:'Noto Serif TC','Songti TC',serif;--sans:-apple-system,BlinkMacSystemFont,'Noto Sans TC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button{border:0;background:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cc8a49;outline-offset:5px}button:hover,a:hover{opacity:.83}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.4}button img{transition:transform .5s}button:hover img{transform:scale(1.025)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.proposal{height:58px;background:#242723;color:#fafaf4;display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10;gap:20px;font-size:12px}.proposal-label{letter-spacing:.1em}.design-tabs{display:flex;gap:6px;height:100%;align-items:center}.design-tabs button{padding:9px 18px;border-radius:4px;color:#babfb5;min-height:40px}.design-tabs button[aria-pressed=true]{background:#f3f1e8;color:#22251f}.notes-button{color:#eeeee4;min-height:44px}.site-header{height:110px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand>span{font-family:var(--serif);font-size:32px;letter-spacing:.16em;white-space:nowrap}.brand small{font-size:10px;letter-spacing:.17em;width:70px;line-height:1.6}.site-header nav{display:flex;gap:35px;font-size:13px;letter-spacing:.08em}.nav-book{border-bottom:1px solid currentColor;padding:10px 0;font-size:13px}.nav-book span{margin-left:35px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:20px 26px;background:var(--ink);color:var(--paper);font-size:14px;letter-spacing:.04em;min-height:58px}.button span{font-size:22px;line-height:1}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.2em;margin-bottom:22px}.hero{position:relative}.cinema-hero{min-height:730px;height:calc(100svh - 58px);max-height:1050px;color:white;background:#322d25}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 53%}.cinema-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,8,.66),rgba(15,12,8,.13) 75%),linear-gradient(0deg,rgba(15,12,8,.55),transparent 55%);pointer-events:none}.cinema-hero .site-header{position:relative;z-index:1;border-color:#ffffff45}.hero-copy{position:relative;z-index:1;padding:8vh 8% 0}.hero-copy h1{font-size:clamp(42px,4.6vw,76px);letter-spacing:.07em;line-height:1.55;font-weight:400}.hero-copy>p:last-child{margin-top:24px;line-height:1.9;color:#fff9eb;font-size:14px;letter-spacing:.08em}.hero-bottom{position:absolute;z-index:1;bottom:58px;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-location{font-size:10px;letter-spacing:.15em;line-height:2}.hero-location small{font-size:12px;letter-spacing:.08em}.hero-discover{display:flex;gap:45px;align-items:center;font-size:13px}.hero-discover span{font-size:22px}.hero-bottom .button{background:var(--paper);color:var(--ink);min-width:265px}.photo-number{position:absolute;right:28px;bottom:15px;z-index:1;font-size:8px;letter-spacing:.15em}.section{padding:90px 8%}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:48px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(30px,3.3vw,50px);letter-spacing:.035em}.story h2 span{color:#9a785d}.story-text{max-width:510px;font-size:14px;line-height:2.1}.story-text p+p{margin-top:20px;color:var(--muted)}.amenities{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:30px;font-size:12px}.amenities span:before{content:'✦';font-size:10px;margin-right:9px}.rooms{background:#e9e2d7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:45px}.filters{display:flex;gap:15px}.filters button{font-size:12px;padding:12px 3px;border-bottom:1px solid transparent;min-height:44px;color:var(--muted)}.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.room-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:52px 28px}.room-card{grid-column:span 2}.room-card:nth-child(-n+2){grid-column:span 3}.room-image{position:relative;display:block;padding:0;width:100%;aspect-ratio:1.25;overflow:hidden;text-align:left;background:#d4cbbd}.room-image img{height:100%}.room-index{position:absolute;top:16px;left:16px;color:#fff;background:#27221c8c;border:1px solid #ffffff65;font:14px Georgia,serif;width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.room-open{position:absolute;bottom:15px;right:15px;color:white;text-shadow:0 1px 5px black;font-size:11px;background:#302b24c9;padding:8px 12px}.room-info{padding-top:21px}.room-en{text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:var(--muted)}.room-info h3{font-size:24px;margin-top:6px}.room-info h3 button{font:inherit;text-align:left;padding:0}.room-info>p{font-size:12px;margin-top:11px}.room-info>p span{padding:0 8px;color:#ab9e8c}.room-info .room-copy{color:var(--muted);font-size:13px}.room-note{margin-top:38px;font-size:11px;color:var(--muted)}.photo-caption{font-size:10px;color:var(--muted);display:block;margin-top:14px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:25px}.gallery-heading p{font-size:12px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:26px}.photo-grid button{padding:0;overflow:hidden}.photo-grid img{height:330px}.photo-grid button:nth-child(2) img{height:460px}.visit{background:#333e34;color:#f0efe2;--line:#ffffff30;--muted:#bac4b8}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.visit h2{font-size:60px;line-height:1.6;margin-bottom:30px}.visit h2 em{font-style:normal;color:#c6cda8}.visit .button{background:#f0efe2;color:#333e34}.visit-detail{padding-top:10px}.visit-detail h3{font-size:22px;margin-bottom:20px}.visit-detail p{font-size:13px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;padding:12px 0}.times{display:flex;gap:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:32px}.times span{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:6px;color:var(--muted)}.times strong{font:23px Georgia,serif}.visit details{padding:23px 0;font-size:13px}.visit summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;min-height:30px}.visit details p{margin:16px 0;color:#d2d8cc;line-height:2}.visit-detail>small{font-size:10px;color:var(--muted)}footer{padding:45px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:9px;letter-spacing:.12em}footer>small,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(900px,94vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#131b18bd;backdrop-filter:blur(6px)}.close{position:sticky;top:12px;float:right;margin:12px 14px 0 0;z-index:2;background:#f4f0e9eb;border-radius:50%;width:44px;height:44px;box-shadow:0 2px 15px #0002}.photo-view{margin:0;padding:65px 25px 25px}.photo-view img{object-fit:contain;max-height:72svh}.photo-view figcaption{font-size:11px;margin-top:16px;text-align:center}.room-dialog,.notes-content{padding:55px}.room-dialog>p{margin:20px 0}.dialog-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.dialog-photos img{object-fit:contain;background:#e4ded4;height:270px}.notes-content{line-height:2;font-size:14px}.notes-content h2{font-size:36px;margin-bottom:25px}.notes-content h3{font-size:22px;margin:30px 0 10px}.notes-content p+p{margin-top:16px}.notes-content a{text-decoration:underline;text-underline-offset:4px}
/* Direction 02: airy, photo-led boutique */
body[data-design=light]{--paper:#fffefb;--ink:#353c35;--muted:#7b8377;--line:#dedfd6;--accent:#798168}.light-hero{padding:55px 5% 0}.light-title{display:flex;justify-content:space-between;align-items:end;margin:0 3% 42px}.light-title h1{font-size:clamp(38px,4vw,60px);line-height:1.5;letter-spacing:.05em}.light-title>p{color:var(--muted);font-size:13px;line-height:2.1;padding-bottom:10px}.light-title>p a{display:inline-block;color:var(--ink);margin-top:18px;border-bottom:1px solid}.light-mosaic{display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:210px 210px;gap:14px;position:relative}.light-mosaic button{overflow:hidden;padding:0;border-radius:3px}.light-mosaic button:first-child{grid-row:span 2}.light-mosaic img{height:100%;width:100%}.mosaic-label{position:absolute;bottom:18px;left:20px;background:#ffffffdd;padding:9px 15px;font-size:9px;letter-spacing:.11em}.light-book{display:flex;justify-content:space-between;align-items:center;padding:28px 3%;border-bottom:1px solid var(--line);gap:20px}.light-book p{display:flex;flex-direction:column;gap:6px}.light-book strong{font:21px var(--serif)}.light-book p span{font-size:12px;color:var(--muted)}[data-design=light] .rooms{background:#f1f3ec}[data-design=light] .room-grid{grid-template-columns:repeat(3,1fr)}[data-design=light] .room-card,[data-design=light] .room-card:nth-child(-n+2){grid-column:span 1}[data-design=light] .room-image{aspect-ratio:1.25;border-radius:3px}[data-design=light] .room-info h3{font-size:22px}[data-design=light] .photo-grid{gap:15px}[data-design=light] .photo-grid img{height:330px}[data-design=light] .visit{background:#e6ebdf;color:var(--ink);--line:#c3cbbb;--muted:#727d67}[data-design=light] .visit h2 em{color:#7b895f}[data-design=light] .visit .button{background:var(--ink);color:white}[data-design=light] .visit details p{color:var(--muted)}
/* Direction 03: travel journal */
body[data-design=journal]{--paper:#f0e9da;--ink:#713b2d;--muted:#927967;--line:#cbb8a5;--accent:#713b2d}[data-design=journal] .site-header{height:92px}.journal-hero{padding:25px 5% 60px}.journal-kicker{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em}.journal-hero>h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(65px,12vw,192px);font-weight:400;letter-spacing:-.055em;line-height:1.15;text-align:center;margin:28px 0 42px;white-space:nowrap}.journal-hero h1 i{font-weight:400}.journal-cover{display:grid;grid-template-columns:1fr 1.7fr .8fr;gap:40px;align-items:start;padding:0 3%}.journal-intro{padding:30px 0;position:relative}.journal-intro h2{font-size:36px;line-height:1.7}.journal-intro>p{font-size:13px;line-height:2;margin:28px 0}.vertical-note{font-size:9px;letter-spacing:.2em;display:block;margin-bottom:30px}.journal-main{padding:0;text-align:left;position:relative}.journal-main img{height:440px}.journal-main>span{display:block;font-size:9px;letter-spacing:.13em;margin-top:12px}.journal-side{margin-top:80px}.journal-side img{height:280px}.journal-side p{font-size:8px;line-height:1.8;letter-spacing:.1em;margin-top:18px}.journal-hero+.story{border-top:1px solid var(--line)}[data-design=journal] .rooms{background:#713b2d;color:#f0e9da;--muted:#d5bca5;--line:#ffffff30;--ink:#f0e9da}[data-design=journal] .room-grid{display:block}[data-design=journal] .room-card{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;border-bottom:1px solid var(--line);padding:35px 0}[data-design=journal] .room-card:first-child{padding-top:0}[data-design=journal] .room-image{aspect-ratio:1.55}[data-design=journal] .room-info h3{font-size:32px}[data-design=journal] .room-info>p{font-size:14px}[data-design=journal] .room-en{font-size:10px}[data-design=journal] .room-index{border:0;background:#f0e9da;color:#713b2d;width:45px;height:45px;font-size:20px;border-radius:0}[data-design=journal] .photo-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start}[data-design=journal] .photo-grid button:nth-child(2){margin-top:90px}[data-design=journal] .photo-grid button:nth-child(3){margin-top:180px}[data-design=journal] .photo-grid img{height:360px}[data-design=journal] .visit{background:#dfd4bc;color:#713b2d;--muted:#927967;--line:#cbb8a5}[data-design=journal] .visit h2 em{color:#a37450}[data-design=journal] .visit .button{background:#713b2d;color:#f0e9da}[data-design=journal] .visit details p{color:#927967}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.site-header nav{gap:18px}.site-header{gap:15px}.section{padding:65px 6%}.room-grid{gap:35px 20px}.room-card,.room-card:nth-child(-n+2){grid-column:span 3}[data-design=light] .room-grid{grid-template-columns:1fr 1fr}.gallery-heading{display:block}.gallery-heading p{margin-top:15px}.photo-grid img{height:260px}.photo-grid button:nth-child(2) img{height:350px}.journal-cover{gap:24px;grid-template-columns:1fr 1.6fr}.journal-side{display:none}.journal-main img{height:400px}.hero-bottom{left:6%;right:6%}.hero-discover{display:none}.visit-grid{gap:8%}footer>span{display:none}}
@media(max-width:600px){html{scroll-padding-top:66px}.proposal{height:62px;padding:0 10px;gap:5px}.proposal-label{display:none}.design-tabs{gap:0;flex:1}.design-tabs button{padding:10px 9px;font-size:10px;white-space:nowrap}.notes-button{font-size:10px;padding:8px 5px}.site-header{height:85px;margin:0 6%}.brand>span{font-size:27px}.brand{gap:8px}.brand small{font-size:8px;width:54px}.site-header nav{display:none}.nav-book{font-size:12px}.nav-book span{margin-left:15px}.cinema-hero{height:calc(100svh - 62px);min-height:670px;max-height:900px}.hero-image{object-position:61% 50%}.cinema-hero:after{background:linear-gradient(90deg,#17130eb8,#17130e20),linear-gradient(0deg,#17130eaa,transparent 75%)}.hero-copy{padding:65px 8% 0}.hero-copy h1{font-size:38px;line-height:1.7;letter-spacing:.03em}.hero-copy>p:last-child{font-size:12px;line-height:2}.eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:18px}.hero-bottom{bottom:50px;left:8%;right:8%;flex-direction:column;align-items:stretch;gap:22px}.hero-location{font-size:8px;display:flex;justify-content:space-between;align-items:center}.hero-location br{display:none}.hero-location small{font-size:10px}.hero-bottom .button{min-width:0}.button{padding:17px 22px;font-size:12px;min-height:56px}.photo-number{font-size:7px;right:8%}.section{padding:54px 7%}.section-label{font-size:8px;letter-spacing:.06em;margin-bottom:32px;padding-bottom:19px}.section-label>span:last-child{font-size:9px;letter-spacing:0}.story-grid{grid-template-columns:1fr;gap:28px}.story h2{font-size:31px;line-height:1.6}.story-text{font-size:13px}.amenities{gap:15px;font-size:10px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:32px}.filters{margin-top:18px}.filters button{font-size:11px}.room-grid,[data-design=light] .room-grid{grid-template-columns:1fr;gap:35px}.room-card,.room-card:nth-child(-n+2){grid-column:span 1}.room-image{aspect-ratio:1.25}.room-info{padding-top:15px}.room-info h3{font-size:23px}.room-copy{margin-top:8px!important}.room-note{font-size:10px;margin-top:25px}.gallery-heading{margin-bottom:25px}.gallery-heading h2{font-size:29px}.gallery-heading p{font-size:11px}.photo-grid{gap:12px;grid-template-columns:1fr 1fr}.photo-grid button:first-child{grid-column:span 2}.photo-grid img,.photo-grid button:nth-child(2) img{height:210px}.photo-grid button:first-child img{height:250px}.visit-grid{grid-template-columns:1fr;gap:50px}.visit h2{font-size:46px}.visit-detail h3{font-size:21px}.visit-detail p{font-size:12px}.times{gap:40px}.times strong{font-size:22px}footer{padding:30px 7%;flex-wrap:wrap;gap:24px}footer .brand{width:100%}footer>small,footer>a:last-child{font-size:9px}.light-hero{padding:35px 6% 0}.light-title{display:block;margin:0 1% 28px}.light-title h1{font-size:33px;line-height:1.6}.light-title>p{font-size:11px;margin-top:20px}.light-title>p br{display:none}.light-title>p a{display:block;width:max-content;margin-top:12px}.light-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 145px;gap:9px}.light-mosaic button:first-child{grid-row:auto;grid-column:span 2}.mosaic-label{bottom:auto;top:215px;left:12px;font-size:7px}.light-book{padding:25px 1%;display:block}.light-book strong{font-size:21px}.light-book p span{font-size:10px}.light-book .button{display:flex;margin-top:22px}[data-design=light] .photo-grid img{height:210px}[data-design=light] .photo-grid button:first-child img{height:250px}[data-design=journal] .site-header{height:85px}.journal-hero{padding:20px 6% 40px}.journal-kicker{font-size:7px;letter-spacing:.04em}.journal-kicker>span:last-child{display:none}.journal-hero>h1{font-size:12vw;margin:24px 0 28px;letter-spacing:-.04em}.journal-cover{grid-template-columns:1fr;gap:24px;padding:0}.journal-intro{padding:0}.vertical-note{margin-bottom:15px;font-size:8px}.journal-intro h2{font-size:29px;line-height:1.5}.journal-intro>p{font-size:11px;position:absolute;right:0;top:20px;line-height:2.3}.journal-intro .text-link{font-size:10px;margin-top:12px}.journal-main img{height:320px}.journal-main>span{font-size:8px}[data-design=journal] .room-card{grid-template-columns:1fr;gap:22px;padding:28px 0}[data-design=journal] .room-info{padding:0}[data-design=journal] .room-info h3{font-size:25px}[data-design=journal] .room-info>p{font-size:12px}[data-design=journal] .photo-grid{grid-template-columns:1fr 1fr}[data-design=journal] .photo-grid button:nth-child(2){margin-top:0}[data-design=journal] .photo-grid button:nth-child(3){margin-top:45px}[data-design=journal] .photo-grid img{height:210px}[data-design=journal] .photo-grid button:first-child img{height:270px}.room-dialog,.notes-content{padding:60px 22px 25px}.notes-content h2{font-size:28px}.notes-content{font-size:12px}.room-dialog h2{font-size:27px}.room-dialog>p{font-size:12px}.dialog-photos{grid-template-columns:1fr;gap:12px}.dialog-photos img{height:auto;max-height:400px}.room-dialog .button{gap:15px}.photo-view{padding:65px 14px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button img{transition:none}}
