:root{color:#28413b;font-synthesis:none;text-rendering:optimizelegibility;--ink:#243b35;--moss:#6f8a72;--rose:#c78377;--clay:#b87958;--cream:#f7f1e8;--mist:#e5ebe1;--paper:#fffcf5d6;--line:#39494129;--shadow:0 24px 80px #352c242e;background:#f4efe6;font-family:Noto Serif TC,Songti TC,PingFang TC,Microsoft JhengHei,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 18%,#c7837733,#0000 26rem),radial-gradient(circle at 86% 62%,#6f8a7238,#0000 28rem),linear-gradient(#f5eee3 0%,#edf1e7 48%,#f7f1e8 100%);min-width:320px;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.nav{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:0;transition:inset .42s,transform .42s;animation:.9s cubic-bezier(.2,.8,.2,1) both nav-arrive;display:flex;position:fixed;inset:22px clamp(16px,4vw,54px) auto;transform:translateY(0)}.nav-compact{inset:14px clamp(14px,3vw,34px) auto}.nav:before{display:none}.nav-progress{width:190px;height:1px;transform:scaleX(var(--scroll-progress));transform-origin:0;opacity:.86;background:linear-gradient(90deg,#fffaf2e6,#fffaf21f);position:absolute;inset:calc(100% + 10px) auto auto 0}.brand{z-index:1;pointer-events:auto;color:#fffaf2;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:#131c1952;border:1px solid #fffaf252;border-radius:999px;align-items:center;gap:10px;min-width:0;min-height:54px;padding:8px 15px 8px 9px;display:inline-flex;position:relative;box-shadow:0 16px 48px #090d0c3d,inset 0 1px #ffffff29}.brand-mark{color:#e9f1df;background:#fffaf224;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;animation:4.8s ease-in-out infinite calm-pulse;display:inline-flex;box-shadow:0 0 0 8px #fffaf20d,inset 0 0 18px #ffffff2e}.brand-name{letter-spacing:0;text-shadow:0 8px 26px #0306053d;font-size:1.45rem;font-weight:700;line-height:1;display:block}.brand small,.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.72rem}.brand small{color:#fffaf2a8;margin-top:3px;font-size:.58rem;display:block}.nav nav{z-index:1;pointer-events:auto;align-items:center;gap:10px;font-family:Inter,PingFang TC,sans-serif;font-size:.94rem;display:flex;position:relative}.nav nav a{color:#fffaf2d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#131c1938;border:1px solid #fffaf23d;border-radius:999px;align-items:center;gap:10px;min-height:46px;padding:0 15px 0 11px;transition:color .26s,transform .26s,background .26s;display:inline-flex;position:relative;overflow:hidden}.nav nav a:before{content:"";z-index:-1;border-radius:inherit;opacity:0;background:#fffaf221;transition:opacity .28s,transform .42s cubic-bezier(.2,.8,.2,1);position:absolute;inset:4px;transform:scale(.82)}.nav nav a:hover,.nav nav a:focus-visible{color:#fffaf2;transform:translateY(-2px)}.nav nav a:hover:before,.nav nav a:focus-visible:before{opacity:1;transform:scaleX(1)}.nav nav span{background:#d8c08f;border-radius:999px;width:7px;height:7px;box-shadow:0 0 18px #d8c08fcc}.nav-cta,.primary,.sound{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.nav-cta{pointer-events:auto;color:#21362f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf2e0;border:1px solid #fffaf247;padding:0 18px;font-family:Inter,PingFang TC,sans-serif;transition:transform .26s,box-shadow .26s;box-shadow:0 18px 46px #03060538,inset 0 1px #ffffff85}.nav-cta:hover,.nav-cta:focus-visible{transform:translateY(-2px);box-shadow:0 22px 54px #03060547,inset 0 1px #ffffff94}.nav-actions{z-index:1;pointer-events:auto;align-items:center;gap:10px;display:flex;position:relative}.open-now{color:#fffaf2d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;background:#131c1942;border:1px solid #fffaf23d;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-family:Inter,PingFang TC,sans-serif;font-size:.8rem;display:inline-flex}.open-now svg{animation:2.8s ease-in-out infinite soft-twinkle}.hero{isolation:isolate;min-height:100svh;padding:142px clamp(22px,6vw,88px) 34px;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center 58%;filter:saturate(.82)contrast(.95)brightness(.82);width:100%;height:100%;animation:18s ease-in-out infinite alternate room-breathe;position:absolute;inset:0}.hero-wash{background:radial-gradient(circle at 72% 42%,#f3dbb514,#0000 28rem),linear-gradient(90deg,#0a0f0dd6 0%,#131c1894 42%,#201e1847 100%),linear-gradient(#0609083d 0%,#06090814 46%,#06090894 100%);position:absolute;inset:0}.ambient-field{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-field span{filter:blur(.4px);opacity:0;background:linear-gradient(90deg,#0000,#fffaf25c,#0000);width:min(54vw,720px);height:1px;animation:13s ease-in-out infinite room-scent;position:absolute;transform:translate(-30vw)rotate(-12deg)}.ambient-field span:first-child{top:28%;left:6%}.ambient-field span:nth-child(2){animation-duration:16s;animation-delay:-5s;top:58%;left:36%}.ambient-field span:nth-child(3){animation-duration:14s;animation-delay:-9s;top:74%;left:12%}.hero-content{z-index:2;color:#fffaf2;text-shadow:0 2px 34px #151c1980;width:min(760px,100%);animation:1.1s cubic-bezier(.2,.8,.2,1) .16s both content-rise;position:relative}.hero h1{letter-spacing:0;margin:16px 0 20px;font-size:clamp(5.4rem,13vw,11.4rem);line-height:.86}.lead{width:min(610px,100%);margin:0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.primary{color:var(--ink);background:#fff8ed;padding:0 23px;font-family:Inter,PingFang TC,sans-serif;font-weight:700;box-shadow:0 16px 36px #261d163d}.sound{color:#fffaf2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff73;padding:0 18px}.scene-caption{z-index:3;color:#fffaf2d1;letter-spacing:.08em;writing-mode:vertical-rl;gap:12px;font-family:Inter,PingFang TC,sans-serif;font-size:.82rem;display:grid;position:absolute;bottom:clamp(180px,21vh,260px);right:clamp(18px,5vw,70px)}.scene-caption span{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131c1938;border:1px solid #fffaf247;border-radius:999px;padding:12px 7px}.ritual-strip{z-index:3;grid-template-columns:repeat(3,1fr);gap:10px;animation:1s cubic-bezier(.2,.8,.2,1) .42s both strip-float;display:grid;position:absolute;bottom:26px;left:clamp(18px,4vw,54px);right:clamp(18px,4vw,54px);overflow:visible}.ritual-strip div{color:#fffaf2db;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:#11191657;border:1px solid #fffaf23d;border-radius:8px;min-height:108px;padding:20px;box-shadow:0 20px 60px #0407062e}.ritual-strip span{color:#dfc790;font-weight:700;display:block}.ritual-strip p{margin:8px 0 0;line-height:1.6}.section{padding:96px clamp(22px,6vw,88px)}.section-head{grid-template-columns:minmax(240px,.7fr) 1.2fr;align-items:end;gap:26px 60px;margin-bottom:34px;display:grid}.section-head h2,.space h2,.booking h2{color:var(--ink);letter-spacing:0;margin:8px 0 0;font-size:clamp(2.2rem,5vw,5.2rem);line-height:1.05}.section-head p,.space-copy p,.booking-copy p{color:#243b35c2;margin:0;font-size:1.05rem;line-height:1.85}.ritual-grid{grid-template-columns:360px 1fr;gap:24px;display:grid}.ritual-list{align-content:start;gap:12px;display:grid}.ritual-list button{border:1px solid var(--line);min-height:82px;color:var(--ink);cursor:pointer;background:#fffcf5a8;border-radius:8px;justify-content:space-between;align-items:center;padding:0 22px;display:flex}.ritual-list button.active{box-shadow:var(--shadow);background:#eef3e8;border-color:#6f8a728f}.ritual-list span,.ritual-meta span,.contact-lines span{align-items:center;gap:9px;display:inline-flex}.ritual-list small{color:var(--clay)}.ritual-card{background:var(--paper);min-height:510px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(280px,.92fr) 1fr;display:grid;overflow:hidden}.ritual-image img{object-fit:cover;width:100%;height:100%}.ritual-copy{flex-direction:column;justify-content:center;padding:clamp(28px,5vw,62px);display:flex}.pill{color:#754c41;background:#e7dcd0;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:9px 12px;font-family:Inter,PingFang TC,sans-serif;font-size:.85rem;display:inline-flex}.ritual-copy h3{margin:24px 0 14px;font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.05}.ritual-copy p{color:#243b35c2;margin:0;font-size:1.08rem;line-height:1.9}.ritual-meta{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;gap:14px;margin-top:34px;padding-top:20px;font-family:Inter,PingFang TC,sans-serif;font-weight:700;display:flex}.space,.booking{grid-template-columns:.85fr 1.15fr;align-items:center;gap:34px;padding:96px clamp(22px,6vw,88px);display:grid}.space{background:linear-gradient(135deg,#e1eadddb,#f6ede0eb)}.space-panels{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.space-panels div{background:#fffcf59e;border:1px solid #ffffffb8;border-radius:8px;flex-direction:column;justify-content:flex-end;gap:12px;min-height:230px;padding:24px;display:flex}.space-panels strong{font-size:1.35rem}.space-panels span{color:#243b35ad;line-height:1.7}.booking{align-items:start}.contact-lines{color:#5d6f63;gap:12px;margin-top:28px;font-family:Inter,PingFang TC,sans-serif;display:grid}.booking-form{box-shadow:var(--shadow);background:#fffcf5c7;border-radius:8px;gap:16px;padding:clamp(22px,4vw,42px);display:grid}.booking-form label{color:#53665c;gap:8px;font-size:.92rem;display:grid}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:50px;color:var(--ink);background:#ffffffb8;border:1px solid #53665c38;border-radius:8px;outline:none;padding:12px 14px}.booking-form textarea{resize:vertical;min-height:118px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#6f8a72c7;box-shadow:0 0 0 4px #6f8a721f}.wide{background:var(--ink);color:#fffaf2;width:100%;min-height:54px}.success{color:#54715e;margin:0;font-weight:700;display:none}.booking-form.sent .success{display:block}@keyframes nav-arrive{0%{opacity:0;transform:translateY(-18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scent-drift{0%{opacity:0;transform:translate(-120%)rotate(-4deg)}28%{opacity:.58}to{opacity:0;transform:translate(230%)rotate(-4deg)}}@keyframes calm-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 7px #6f8a720d,inset 0 0 18px #ffffffb8}50%{transform:scale(1.045);box-shadow:0 0 0 12px #c7837714,inset 0 0 24px #ffffffeb}}@keyframes soft-twinkle{0%,to{opacity:.62;transform:rotate(0)scale(1)}50%{opacity:1;transform:rotate(12deg)scale(1.16)}}@keyframes room-breathe{0%{transform:scale(1.02)translate(0,0)}to{transform:scale(1.085)translate(-1.7%,-1%)}}@keyframes room-scent{0%{opacity:0;transform:translate(-36vw)rotate(-12deg)}24%{opacity:.58}to{opacity:0;transform:translate(94vw)rotate(-12deg)}}@keyframes content-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes strip-float{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.nav{min-height:54px;inset:14px 14px auto}.nav nav{display:none}.brand{min-width:0}.open-now{display:inline-flex}.hero{min-height:940px;padding-top:128px}.ritual-strip,.section-head,.ritual-grid,.ritual-card,.space,.booking{grid-template-columns:1fr}.ritual-strip{left:18px;right:18px}.scene-caption{bottom:340px;right:18px}.ritual-card{min-height:auto}.ritual-image{aspect-ratio:16/10}.space-panels{grid-template-columns:1fr}.space-panels div{min-height:170px}}@media (width<=640px){.nav{align-items:flex-start;gap:8px}.brand{min-width:auto}.nav nav,.nav-cta{display:none}.brand small{display:block}.open-now{min-height:32px;padding:0 10px;font-size:.74rem;display:inline-flex}.brand-mark{width:34px;height:34px}.hero{min-height:960px;padding:122px 18px 26px}.hero h1{font-size:4rem;line-height:.92}.hero-actions{flex-direction:column;align-items:stretch}.ritual-strip{grid-template-columns:1fr;margin-top:56px;position:relative;bottom:auto;left:auto;right:auto}.ritual-strip div{min-height:92px}.scene-caption{display:none}.section,.space,.booking{padding:72px 18px}.ritual-meta{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
