:root{--bg:#141111;--panel:#1c1717;--ink:#f5eee8;--muted:#aaa09b;--rose:#efb4bd;--line:#3a3030;--serif:'Noto Serif TC',serif;--sans:'DM Sans','Noto Sans TC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button,dialog{border:0}h1,h2,h3,p,figure{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:6px}button:disabled{cursor:default}::selection{background:var(--rose);color:var(--bg)}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-70px;left:20px;padding:10px 18px;z-index:200;background:var(--rose);color:var(--bg)}.skip-link:focus{top:10px}.site-header{height:96px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;z-index:30;border-bottom:1px solid #ffffff1c;transition:background .3s}.site-header.is-scrolled{background:#141111f5;position:fixed;height:80px;box-shadow:0 3px 15px #0002}.brand{display:inline-flex;gap:10px;align-items:center}.brand-mark{color:var(--rose);width:36px;height:44px}.brand-type{font-family:var(--serif);font-size:28px;line-height:1.3;letter-spacing:5px;font-weight:600;white-space:nowrap}.brand-type>span{display:block;font:8px/1.8 var(--sans);letter-spacing:2px;margin-top:5px}.site-nav{display:flex;align-items:center;gap:30px}.site-nav>a{font-size:12px;letter-spacing:1px;color:#e3dcd8;transition:color .2s}.site-nav>a:hover{color:var(--rose)}.button{background:var(--rose);color:#251619;border:1px solid var(--rose);padding:17px 24px;display:inline-flex;align-items:center;justify-content:center;gap:24px;line-height:1.5;font-weight:600;font-size:14px;letter-spacing:1px;transition:background .2s,transform .2s}.button:hover{background:#f7cbd1;transform:translateY(-2px)}.button svg{width:19px;height:19px}.button-small{font-size:12px;padding:12px 18px;gap:17px}.menu-toggle{display:none}.hero{height:min(840px,100svh);min-height:720px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center center;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,9,9,.86),rgba(12,9,9,.32) 58%,rgba(12,9,9,.1)),linear-gradient(0deg,#141111 0%,transparent 25%,transparent 75%,#100c0c55 100%)}.hero-content{padding:190px 0 90px 8.4%;max-width:900px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:3px;display:flex;align-items:center;gap:12px;color:var(--rose)}.little-line{width:30px;height:1px;background:var(--rose)}h1{font:500 clamp(60px,6vw,88px)/1.4 var(--serif);letter-spacing:5px;margin:24px 0 22px}h1 span{color:var(--rose)}.hero-description{font-size:14px;color:#d2c7c0;line-height:2;letter-spacing:1.5px}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:35px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;letter-spacing:1px;background:none;border:0;padding:5px 0;transition:color .2s}.text-link:hover{color:var(--rose)}.hero-stamp{position:absolute;right:8.5%;bottom:140px;border:1px solid #f0d7cd75;width:128px;height:128px;border-radius:100%;display:flex;align-items:center;justify-content:center;gap:7px;flex-direction:column;transform:rotate(12deg);color:#f4dfd5}.hero-stamp span{font-size:8px;letter-spacing:2px}.hero-stamp svg{height:35px;width:57px;stroke-width:1.5}.hero-bottom{position:absolute;bottom:29px;left:5.2%;right:5.2%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2.5px;color:#c3b8b2}.hero-bottom>a{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;display:flex;gap:20px}.hero-bottom .image-note{font-size:9px;letter-spacing:1px;color:#b6a6a0}.slogan-strip{min-height:70px;display:flex;align-items:center;justify-content:center;gap:5vw;border-block:1px solid var(--line);color:#b8a6a1;background:#191313;overflow:hidden}.slogan-strip span{font-size:11px;letter-spacing:3px;white-space:nowrap}.slogan-strip span:nth-of-type(2){font-size:12px;letter-spacing:4px}.slogan-strip svg{width:18px;height:18px;color:var(--rose);stroke-width:1}.section{max-width:1440px;margin:auto;padding:104px 8.4%}.section-kicker{color:var(--rose);font:500 10px/1.6 var(--sans);letter-spacing:2.5px;display:flex;justify-content:space-between;margin-bottom:28px}.section-kicker>span:nth-child(2){color:var(--muted);font-size:11px;letter-spacing:2px}h2{font:500 clamp(31px,3.05vw,45px)/1.65 var(--serif);letter-spacing:2px}.serif-rose{color:var(--rose)}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.about-copy{padding-top:4px}.about-copy>p:first-child{font-size:17px;line-height:1.9;letter-spacing:1px;margin-bottom:20px}.muted{color:var(--muted);font-size:13px;line-height:2;letter-spacing:.5px}.values{display:flex;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.values span{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:11px;letter-spacing:1px}.values svg{color:var(--rose);width:19px;height:19px;stroke-width:1.4}.occasions-section{padding-top:65px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px;gap:30px}.section-heading .section-kicker{margin-bottom:22px}.section-description{font-size:12px;line-height:2;color:var(--muted);letter-spacing:1px;margin-bottom:12px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.occasion{text-align:left;border-radius:0;background:transparent;padding:31px 30px 28px;transition:background .25s;position:relative}.occasion:first-child{padding-left:0}.occasion:last-child{padding-right:0}.occasion+ .occasion{border-left:1px solid var(--line)}.occasion:hover{background:#251b1d}.occasion-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.occasion-top>span{font:400 13px var(--serif);color:#8d7874}.occasion-top svg{width:35px;height:35px;stroke-width:1.2;color:var(--rose)}.english-label{font-size:8px!important;letter-spacing:2px!important;color:var(--rose)!important;margin-bottom:9px}.occasion h3{font:500 27px/1.4 var(--serif);letter-spacing:2px;margin-bottom:17px}.occasion>p{font-size:12px;line-height:2;color:var(--muted);letter-spacing:.3px}.occasion-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1px;margin-top:36px;color:#e6d9d4}.occasion-link svg{width:20px;height:20px;transition:transform .2s}.occasion:hover .occasion-link svg{transform:translate(3px,-3px)}.atmosphere-section{padding-top:40px}.image-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:24px}.image-grid figure{position:relative;overflow:hidden;background:#291b1d}.image-grid img{height:435px;transition:transform .7s}.image-grid figure:hover img{transform:scale(1.035)}.space-photo img{object-position:70% center}.detail-photo img{object-position:center}.image-grid figure:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#100909cc);pointer-events:none}.image-grid figcaption{position:absolute;bottom:25px;left:26px;right:26px;display:flex;flex-direction:column;gap:4px;z-index:1}.image-grid figcaption span:first-child{font-family:var(--serif);font-size:19px;letter-spacing:1px}.image-grid figcaption span:last-child{font-size:8px;letter-spacing:2px;color:#d1b7ad}.visual-note{font-size:10px;color:#948680;letter-spacing:.3px;margin-top:15px;text-align:right}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.3fr;gap:8%;padding-top:80px;padding-bottom:90px}.faq-intro .muted{margin-top:22px}.faq-list{padding-top:8px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;list-style:none;font-size:13px;letter-spacing:.6px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-family:var(--sans);font-size:21px;font-weight:400;line-height:1;color:var(--rose);transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:var(--muted);line-height:2;padding:0 30px 24px 0}.closing-section{text-align:center;background:#2a1b1e;padding:70px 20px 76px;position:relative;overflow:hidden;border-block:1px solid #493136}.closing-section .eyebrow{justify-content:center;font-size:9px}.closing-section h2{font-size:56px;letter-spacing:4px;margin:14px 0 17px}.closing-section h2 span{color:var(--rose)}.closing-section>p:not(.eyebrow){font-size:12px;letter-spacing:1px;color:#c0aba8}.closing-section .button{margin-top:30px;min-width:220px}.closing-section small{display:block;font-size:9px;color:#a88e8b;margin-top:17px;letter-spacing:1px}.closing-spark{position:absolute;width:230px;height:230px;color:#674147;stroke-width:.25;left:5%;top:92px;transform:rotate(12deg)}.site-footer{padding:50px 5.2% 22px}.footer-top{display:flex;align-items:center;gap:40px;padding-bottom:35px}.footer-top .brand-type{font-size:25px}.footer-top .brand-type>span{font-size:7px}.footer-top>p{font-size:11px;color:var(--muted);letter-spacing:1px}.back-top{margin-left:auto;font-size:11px;letter-spacing:1px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8c817d;letter-spacing:.5px}.footer-bottom .domain{letter-spacing:1px}.booking-dialog{position:fixed;padding:42px;width:min(560px,calc(100% - 32px));max-height:calc(100svh - 36px);background:#1d1718;color:var(--ink);border:1px solid #594045;box-shadow:0 20px 100px #0008;overflow:auto}.booking-dialog::backdrop{background:#080405cc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:10px;background:none;font:300 32px var(--sans);color:#c8b4ae;width:35px;height:35px}.booking-dialog .section-kicker{font-size:8px;margin-bottom:13px}.booking-dialog h2{font-size:27px;letter-spacing:1px}.booking-intro{color:var(--muted);font-size:12px;margin:15px 0 26px;line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px;margin-bottom:20px}#booking-form label{display:block;font-size:12px;letter-spacing:.5px}input,select,textarea{display:block;width:100%;color-scheme:dark;background:#281f21;border:1px solid #594246;border-radius:0;color:var(--ink);padding:11px 12px;margin-top:9px;font-size:13px;min-width:0}input:focus,select:focus,textarea:focus{outline:1px solid var(--rose);outline-offset:1px}textarea{resize:vertical}.optional{color:var(--muted);font-size:10px}.form-note{font-size:10px;line-height:1.8;color:var(--muted);margin:17px 0}.full-width{width:100%;font-size:12px}.result-label{font-size:14px;color:var(--rose);margin:25px 0 15px}.result-label>span{margin-right:7px}#booking-summary{font:12px/2 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:#271f21;border:1px solid var(--line);padding:20px;color:#e5d6cf}.result-actions{display:flex;gap:12px}.result-actions .button{font-size:12px;padding:12px 18px;flex:1;letter-spacing:.5px}.button-outline{background:transparent;color:var(--rose);border-color:#825b63}.button-outline:hover{background:#37262b}#copy-status{font-size:11px;color:var(--rose);min-height:28px;margin:9px 0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero-content{padding-left:calc((100% - 1200px)/2)}.site-header{padding-inline:calc((100% - 1280px)/2)}.hero{height:850px}.hero-content{padding-top:195px}}
@media(max-width:1100px){.site-nav{gap:20px}.hero-content{padding-left:7%}.section{padding-left:7%;padding-right:7%}.hero{min-height:680px}.hero-content{padding-top:175px}.about-layout{gap:6%}.values{gap:16px}.occasion{padding-inline:24px}.occasion>p{font-size:11px}.image-grid img{height:380px}.closing-spark{left:-50px}.slogan-strip{gap:3.5vw}}
@media(max-width:800px){html{scroll-padding-top:85px}.site-header,.site-header.is-scrolled{height:80px;padding-inline:6%}.brand-type{font-size:25px}.brand-mark{width:30px;height:38px}.brand-type>span{font-size:7px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:42px;height:42px;z-index:2;background:none}.menu-toggle span{height:1px;width:23px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#171112;padding:25px 6% 35px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav>a{padding:14px 0;font-size:14px}.site-nav>.button{margin-top:16px;align-self:flex-start}.hero{height:780px;min-height:660px;max-height:1000px}.hero-image{object-position:60% center}.hero-content{padding:170px 6% 80px}.hero-shade{background:linear-gradient(90deg,#0c0909d9,#0c09095c 85%),linear-gradient(0deg,#141111,transparent 30%)}h1{font-size:69px;line-height:1.45;letter-spacing:3px}.hero-stamp{width:105px;height:105px;right:7%;bottom:105px}.hero-stamp span{font-size:6px}.hero-stamp svg{width:45px;height:29px}.hero-bottom{left:6%;right:6%}.hero-bottom>a{display:none}.section{padding:75px 6%}.section-kicker>span:nth-child(2){display:none}.about-layout{grid-template-columns:1fr;gap:30px}.about-copy{max-width:540px}.about-copy>p:first-child{font-size:15px}.values{gap:32px}.section-heading{align-items:flex-start;gap:22px}.section-heading h2{font-size:35px}.section-description{font-size:11px}.occasion-grid{grid-template-columns:1fr}.occasion,.occasion:first-child,.occasion:last-child{padding:27px 5px;display:grid;grid-template-columns:1fr 1.3fr;column-gap:25px}.occasion+.occasion{border-left:0;border-top:1px solid var(--line)}.occasion-top{grid-row:1/4;display:none}.occasion .english-label{grid-column:1;margin-bottom:10px}.occasion h3{grid-column:1;margin-bottom:0}.occasion>p:not(.english-label){grid-column:2;grid-row:1/3;align-self:center}.occasion-link{grid-column:1/3;margin-top:24px;padding-top:15px;border-top:1px solid #342a2a}.image-grid{gap:16px;grid-template-columns:1.4fr 1fr}.image-grid img{height:320px}.image-grid figcaption{left:18px;right:15px;bottom:20px}.image-grid figcaption span:first-child{font-size:15px}.visual-note{font-size:9px}.atmosphere-section{padding-top:25px}.atmosphere-section .section-heading{flex-direction:column;gap:18px}.atmosphere-section .section-heading h2{font-size:32px}.faq-section{grid-template-columns:1fr;gap:25px}.faq-intro h2 br{display:none}.faq-intro .muted{display:none}.faq-list{padding-top:0}.closing-section h2{font-size:44px}.closing-spark{width:150px;height:150px;left:-60px;top:110px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top>p{width:100%;order:3}.footer-bottom{gap:15px;flex-wrap:wrap}.footer-bottom .domain{margin-left:auto}.footer-bottom>span:last-child{width:100%}.slogan-strip{height:60px;min-height:60px;justify-content:flex-start;padding-inline:6%;gap:30px}.slogan-strip span{font-size:9px;letter-spacing:2px}.slogan-strip span:nth-of-type(2){font-size:10px;letter-spacing:2px}.slogan-strip span:nth-of-type(3),.slogan-strip svg:last-child{display:none}}
@media(max-width:480px){.hero{height:730px;min-height:700px}.hero-content{padding-top:155px}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:57px;line-height:1.5;margin-top:26px;margin-bottom:22px;letter-spacing:2px}.hero-description{font-size:12px;letter-spacing:1px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:32px}.hero-actions .button{padding:15px 19px;font-size:12px;gap:18px}.hero-actions .text-link{font-size:10px;gap:10px}.hero-stamp{width:87px;height:87px;bottom:82px}.hero-stamp span{font-size:5px;letter-spacing:1.5px}.hero-stamp svg{width:37px;height:24px}.hero-bottom{bottom:26px}.hero-bottom>span{font-size:7px;letter-spacing:1.5px}.hero-bottom .image-note{font-size:8px}.section-heading{flex-direction:column}.section-description{margin-bottom:0}.section h2{font-size:30px;letter-spacing:1px}.section-kicker{font-size:9px;letter-spacing:2px}.values{gap:24px}.values span{font-size:10px;gap:7px}.values svg{width:17px}.about-copy .muted{font-size:12px}.desktop-break{display:none}.occasion h3{font-size:24px}.occasion .english-label{font-size:7px!important;letter-spacing:1.1px!important}.occasion{column-gap:18px}.occasion>p{font-size:10px}.image-grid{grid-template-columns:1fr;gap:20px}.image-grid img{height:320px}.detail-photo{width:76%;margin-left:auto}.detail-photo img{height:330px}.image-grid figcaption span:first-child{font-size:18px}.visual-note{text-align:left;font-size:9px;line-height:1.8}.faq-list summary{font-size:12px;letter-spacing:.2px}.faq-list details p{font-size:11px}.closing-section h2{font-size:35px;letter-spacing:1px}.closing-section>p:not(.eyebrow){font-size:11px}.closing-spark{left:-80px}.site-footer{padding:40px 6% 25px}.footer-top .brand-type{font-size:23px}.back-top{font-size:10px}.footer-bottom{font-size:8px;letter-spacing:0}.booking-dialog{padding:32px 23px}.booking-dialog h2{font-size:23px}.form-grid{gap:16px 12px}.booking-dialog .booking-intro{font-size:11px}.result-actions{flex-direction:column}.dialog-close{right:10px;top:7px}.slogan-strip{gap:22px}.slogan-strip svg{width:14px;height:14px}}
.occasion-link{width:100%;background:transparent;border:0;padding-inline:0;padding-bottom:0;text-align:left;min-height:44px;color:var(--ink)}.occasion-link:hover{color:var(--rose)}.hero>.hero-image{display:block}.hero>.hero-image img{height:100%;width:100%;object-fit:cover;object-position:inherit}.hero .eyebrow{flex-wrap:wrap;letter-spacing:2px}.about-copy .muted{max-width:42em}
@media(max-width:480px){.occasion>p{font-size:12px}.faq-list details p{font-size:13px}.visual-note{font-size:11px}.form-note{font-size:12px}.legal-content section p,.legal-content li{font-size:14px}}
.hero-note{font-size:11px;line-height:1.8;color:#c9b8b2;margin-top:17px;letter-spacing:.3px}
@media(max-width:800px){input,select,textarea{font-size:16px}.menu-toggle{width:44px;height:44px}.hero-description{font-size:14px}.about-copy .muted{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
