@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Sans+TC:wght@400;500&family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{--forest:#17251f;--forest-light:#22392d;--paper:#f0ebdf;--ink:#253129;--gold:#c1a478;--orange:#b85d35;--line:rgba(240,235,223,.22);--serif:'Cormorant Garamond','Noto Serif TC',Georgia,serif;--sans:'Noto Sans TC',Arial,sans-serif;--gutter:clamp(24px,5.5vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--paper);background:var(--forest);font:400 16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}h2{font-size:clamp(30px,3.5vw,56px);line-height:1.55;letter-spacing:.035em}h2 em{color:var(--orange);font-style:normal}.eyebrow{font:400 12px/1.7 var(--sans);letter-spacing:.18em}.short-line{display:inline-block;width:38px;height:1px;background:var(--orange);vertical-align:middle;margin-right:18px}.skip-link{position:fixed;top:-80px;left:12px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:12px}.preview-note{padding:5px 20px;text-align:center;font-size:12px;letter-spacing:.12em;color:#d7c8af;background:#101914}.preview-note span{margin-left:18px;letter-spacing:.06em}.site-header{height:102px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--forest)}.brand{display:inline-flex;flex-direction:column;text-align:center;line-height:1;flex-shrink:0}.brand>span{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;font-size:48px;font-weight:800;letter-spacing:-3px}.brand small{font:12px/1 var(--sans);letter-spacing:.34em;padding-top:10px;margin-left:6px}.site-header nav{display:flex;gap:38px;font-size:14px}.site-header nav a{position:relative;padding:10px 0}.site-header nav a:after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--gold);transition:width .25s}.site-header nav a:hover:after{width:100%}.book-button{border:1px solid #8f9b8e;padding:12px 19px;font-size:14px;display:flex;gap:26px;align-items:center;transition:background .25s}.book-button:hover{background:var(--paper);color:var(--forest)}.book-button span{font-size:22px}.menu-button,.mobile-nav{display:none}.hero{padding:50px var(--gutter) 0;display:grid;grid-template-columns:1fr 1fr;column-gap:7%;position:relative;overflow:hidden}.hero-copy{padding-top:42px;display:flex;flex-direction:column;position:relative;z-index:2}.hero-copy .eyebrow{color:#cdbda2}.hero h1{font-size:clamp(66px,7.8vw,132px);line-height:.98;letter-spacing:-.045em;margin-top:38px;white-space:nowrap}.hero h1 em{color:var(--gold)}.hero-chinese{font-family:'Noto Serif TC',serif;font-size:clamp(19px,1.6vw,26px);line-height:1.95;letter-spacing:.13em}.hero-bottom{display:flex;flex-direction:column;gap:42px;margin-top:38px;padding-bottom:25px}.discover-link{display:flex;align-items:center;gap:16px;font-size:14px;width:max-content}.discover-link small{display:block;font-size:12px;color:#baad93;letter-spacing:.15em;margin-top:3px}.circle-arrow{border:1px solid #8a957e;width:54px;height:54px;border-radius:50%;display:grid;place-content:center;font-size:22px;transition:transform .3s,background .3s}.discover-link:hover .circle-arrow{transform:translateY(4px);background:#2f4434}.hero-visual{position:relative;padding-right:30px}.arch-photo{height:clamp(520px,43vw,740px);border-radius:48% 48% 0 0;overflow:hidden;border:1px solid #c1a47855;padding:9px;position:relative}.arch-photo img{border-radius:48% 48% 0 0;object-position:50% 56%;animation:hero-reveal 1.5s cubic-bezier(.2,.8,.2,1) both}.hero-side-label{position:absolute;right:0;top:42%;writing-mode:vertical-rl;letter-spacing:.2em;font-size:12px;color:#baad93}.photo-caption{display:flex;justify-content:space-between;font-size:12px;padding-top:15px;letter-spacing:.08em;color:#c5c8b9;gap:18px}.hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding:23px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:.15em;color:#b8c1b4}.section-pad{padding:100px var(--gutter)}.story-intro{background:var(--paper);color:var(--ink)}.story-intro>.eyebrow{color:#6b7668}.story-intro .short-line{margin-left:16px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin-top:32px;align-items:center}.intro-grid p{line-height:2.05;color:#5b655a}.intro-signoff{font-family:var(--serif);font-size:32px;font-style:italic;margin-top:23px;color:var(--orange)!important}.journey{height:100svh;min-height:680px;position:relative;background:#111b16;scroll-margin-top:0}.journey-stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden}.journey-images,.journey-shade,.journey-image{position:absolute;inset:0}.journey-image{opacity:0;object-position:center 58%;transition:opacity .8s ease,transform 1s ease;transform:scale(1.04)}.journey-image.active{opacity:1;transform:scale(1)}.journey-image:nth-child(2){object-position:center 49%}.journey-image:nth-child(3){object-position:center}.journey-shade{background:linear-gradient(90deg,rgba(5,13,9,.7),rgba(5,13,9,.1) 75%),linear-gradient(0deg,rgba(6,16,10,.8),transparent 45%)}.journey-top{position:absolute;top:44px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center}.journey-top button{font-size:12px;padding:8px 14px;border:1px solid #e9e3d67a;border-radius:24px;background:#12201944}.journey-content{position:absolute;left:var(--gutter);top:39%;max-width:75%}.journey-content h2{font-size:clamp(40px,5vw,76px);line-height:1.45;margin:15px 0 20px;text-shadow:0 2px 24px #0004}.journey-content>p:last-child{color:#e1d9c9;font-size:16px}.journey-controls{position:absolute;left:var(--gutter);bottom:70px;width:50%;display:flex;gap:22px}.journey-controls button{position:relative;text-align:left;flex:1;font-size:14px;color:#fff9;padding:10px 0 15px}.journey-controls button span{font-size:12px;margin-right:10px}.journey-controls button[aria-pressed=true]{color:var(--paper)}.scene-track{height:1px;background:#fff5;position:absolute;bottom:0;left:0;width:100%}.scene-track:after{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s}.journey-controls button[aria-pressed=true] .scene-track:after{transform:scaleX(1)}.journey-hint{position:absolute;bottom:82px;right:var(--gutter);font-size:12px;color:#e2ddcf}.journey-hint span{margin-left:18px;font-size:18px}.rooms{background:var(--paper);color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-heading h2{margin-top:20px;font-size:clamp(28px,3.1vw,48px)}.section-caption{font-size:14px;color:#637060}.room-tabs{display:flex;margin-top:44px;border-bottom:1px solid #25312930;gap:30px}.room-tabs button{position:relative;padding:15px 0 22px;font-size:16px;text-align:left;flex:1}.room-tabs button>span{font-family:var(--serif);font-size:22px;color:#73816f;margin-right:10px}.room-tabs button small{display:block;font-size:12px;letter-spacing:.15em;margin:2px 0 0 34px;color:#73816f}.room-tabs button:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}.room-tabs button[aria-selected=true]:after{transform:scaleX(1)}.room-tabs button[aria-selected=true]{color:var(--orange)}.room-panel{display:grid;grid-template-columns:1.75fr 1fr;gap:5%;margin-top:35px;align-items:center}.room-photo{aspect-ratio:1.48;position:relative;overflow:hidden}.room-photo img{transition:opacity .18s}.image-note{position:absolute;bottom:15px;left:18px;font-size:12px;letter-spacing:.06em;background:#101c16c9;color:var(--paper);padding:4px 10px}.expand-photo{position:absolute;right:15px;bottom:15px;background:var(--paper);color:var(--ink);width:44px;height:44px;font-size:26px}.room-story .eyebrow{color:#7c684c}.room-story h3{font-family:'Noto Serif TC',serif;font-size:clamp(25px,2.7vw,42px);line-height:1.6;margin:15px 0 20px}.room-story>p:not(.eyebrow){color:#626a5f;line-height:1.9;max-width:360px}.palette{display:flex;align-items:center;gap:8px;margin:26px 0 30px}.palette i{width:22px;height:22px;border-radius:50%;background:var(--swatch);border:1px solid #0001}.palette span{font-size:12px;letter-spacing:.12em;margin-left:7px;color:#6b7565}.text-link{display:flex;width:max-content;gap:35px;font-size:14px;border-bottom:1px solid #7f8b75;padding-bottom:8px}.details{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;background:#e5dfd1;color:var(--ink);align-items:center}.details-image{aspect-ratio:.95;overflow:hidden}.details-image img{object-position:58% center}.details-copy h2{margin:25px 0}.details-copy>p:not(.eyebrow){line-height:2;color:#5d675a}.details-signature{font-family:var(--serif);font-style:italic;font-size:clamp(38px,4vw,60px);line-height:1.05;color:#977446;display:block;transform:rotate(-5deg);margin-top:35px;padding-left:25%}.site-footer{padding:65px var(--gutter) 0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:55px}.footer-top>p{font-family:var(--serif);font-size:clamp(30px,3vw,48px);line-height:1.2}.footer-top>p em{color:var(--gold)}.footer-book{font-size:16px;border-bottom:1px solid #b5bdac;padding:12px 0;white-space:nowrap}.footer-book span{margin-left:35px;font-size:22px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding:24px 0;font-size:12px;color:#b9c0b1}.footer-bottom>span:first-child{letter-spacing:.08em}dialog{padding:50px;max-width:min(90vw,510px);border:1px solid var(--gold);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#08130edd;backdrop-filter:blur(5px)}dialog h2{font-size:38px;margin:20px 0}dialog>p:not(.eyebrow){line-height:2;color:#52604f}.dialog-close{position:absolute;right:10px;top:6px;width:44px;height:44px;font:32px/1 Arial}.dialog-primary{background:var(--forest);color:var(--paper);padding:12px 25px;margin-top:28px}.image-dialog{padding:10px;background:#111c16;width:min(1200px,94vw);max-width:94vw;color:var(--paper);border:0}.image-dialog img{max-height:80svh;object-fit:contain}.image-dialog p{text-align:center;color:var(--paper)!important;font-size:12px;padding-top:10px}.image-dialog .dialog-close{background:var(--paper);color:var(--ink);z-index:2;right:18px;top:18px}.js-motion .journey{height:260svh}.reduced-motion .journey{height:100svh}.reduced-motion .journey-hint{display:none}.reduced-motion .journey-image{transition:none;transform:none}html.reduced-motion{scroll-behavior:auto}.reduced-motion .arch-photo img{animation:none}
@keyframes hero-reveal{from{transform:scale(1.04);opacity:.45}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero{column-gap:9%}.hero h1{font-size:140px}.hero-bottom{margin-top:52px;gap:55px}}
@media(max-width:1000px){.site-header{height:90px;gap:20px}.site-header nav{gap:22px}.book-button{padding:10px 12px;gap:12px}.hero{gap:4%;padding-top:35px}.hero-copy{padding-top:45px}.hero h1{font-size:clamp(64px,8vw,92px)}.arch-photo{height:520px}.hero-bottom{gap:28px}.section-pad{padding-top:75px;padding-bottom:75px}.intro-grid{gap:30px}.journey-controls{width:57%}.room-panel{grid-template-columns:1.5fr 1fr;gap:30px}.room-tabs{gap:20px}.details{gap:40px}.footer-bottom{flex-wrap:wrap}.section-caption{max-width:150px}}
@media(max-width:760px){html{scroll-padding-top:20px}.preview-note{font-size:11px;padding:7px 12px;letter-spacing:.05em}.preview-note span{font-size:11px;margin-left:10px}.site-header{height:84px;padding:0 24px;gap:14px}.brand>span{font-size:37px;letter-spacing:-2px}.brand small{font-size:10px;padding-top:8px}.site-header nav,.book-button{display:none}.menu-button{display:block;font-size:14px}.menu-button span{margin-left:10px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;background:var(--forest-light);padding:12px 24px 22px;border-bottom:1px solid var(--line);position:absolute;right:0;left:0;z-index:9}.mobile-nav a,.mobile-nav button{padding:12px 0;text-align:left;font-size:16px}.hero{padding:30px 24px 0;grid-template-columns:1fr;gap:0}.hero-copy{padding-top:0}.hero-copy>.eyebrow{font-size:11px}.hero h1{font-size:clamp(64px,13.6vw,101px);line-height:.98;margin-top:24px;letter-spacing:-.04em}.hero-bottom{flex-direction:row;justify-content:space-between;align-items:center;margin:26px 0 30px;padding:0;gap:15px}.hero-chinese{font-size:17px;letter-spacing:.07em}.discover-link{font-size:12px;gap:9px}.discover-link small{font-size:10px}.circle-arrow{width:41px;height:41px;font-size:19px}.hero-visual{padding-right:20px}.arch-photo{height:auto;aspect-ratio:.9;max-height:590px;padding:6px}.hero-side-label{font-size:10px;right:-1px}.photo-caption{font-size:10px;padding-top:12px;gap:8px}.hero-footer{margin-top:28px;padding:18px 0;font-size:10px}.hero-footer>span:last-child{display:none}.section-pad{padding:65px 24px}.intro-grid{grid-template-columns:1fr;gap:25px;margin-top:22px}.intro-grid h2{font-size:33px}.intro-grid p{font-size:15px}.intro-signoff{font-size:29px!important;margin-top:14px}.journey,.journey-stage{min-height:650px;height:100svh}.js-motion .journey{height:220svh}.reduced-motion .journey{height:100svh}.journey-top{top:25px;left:24px;right:24px}.journey-content{left:24px;top:38%;max-width:90%}.journey-content h2{font-size:42px}.journey-content>p:last-child{font-size:14px;max-width:280px}.journey-shade{background:linear-gradient(0deg,#08140df0 0%,#08140d38 80%)}.journey-controls{left:24px;right:24px;width:auto;gap:20px;bottom:66px}.journey-controls button{font-size:14px}.journey-hint{bottom:25px;left:24px;right:auto;font-size:11px}.journey-image:first-child{object-position:54% center}.journey-image:nth-child(2){object-position:54% center}.section-heading{display:block}.section-heading h2{font-size:30px;line-height:1.65;margin-top:15px}.section-caption{margin-top:16px;font-size:14px;max-width:none}.section-caption br{display:none}.room-tabs{gap:15px;margin-top:25px}.room-tabs button{font-size:12px;padding-bottom:16px}.room-tabs button>span{font-size:18px;display:block}.room-tabs button small{font-size:9px;letter-spacing:.08em;margin:4px 0 0}.room-panel{grid-template-columns:1fr;gap:26px;margin-top:24px}.room-photo{aspect-ratio:1.1}.room-photo img{object-position:58% center}.room-story h3{font-size:30px;line-height:1.5;margin:10px 0 16px}.room-story h3 br{display:none}.room-story>p:not(.eyebrow){font-size:15px;max-width:none}.palette{margin:20px 0 25px}.details{grid-template-columns:1fr;gap:33px}.details-image{aspect-ratio:1.1}.details-copy h2{font-size:32px;margin:20px 0}.details-copy>p:not(.eyebrow){font-size:15px}.details-signature{font-size:45px;margin-top:30px;padding-left:45%}.site-footer{padding:48px 24px 0}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:35px}.footer-top .brand{justify-self:start}.footer-top>p{font-size:28px;grid-column:1/-1;grid-row:2}.footer-book{font-size:12px;justify-self:end}.footer-book span{font-size:18px;margin-left:10px}.footer-bottom{flex-direction:column;gap:12px;padding:22px 0 30px;font-size:11px}.footer-bottom a{align-self:flex-start}dialog{padding:38px 27px}dialog h2{font-size:32px}.image-dialog{padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.journey-image{transform:none!important}.js-motion .journey{height:100svh}.journey-hint{display:none}}
@media(max-width:760px){.preview-note,.preview-note span,.brand small,.hero-copy>.eyebrow,.discover-link small,.hero-side-label,.photo-caption,.hero-footer,.journey-hint,.room-tabs button small,.footer-bottom{font-size:12px}.room-tabs button{font-size:14px}.room-tabs{gap:12px}.room-tabs button small{letter-spacing:.02em}.preview-note{letter-spacing:0}.preview-note span{letter-spacing:0;margin-left:8px}.hero-side-label{letter-spacing:.1em}}
