@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Serif+SC:wght@400;500&family=Noto+Serif+TC:wght@400;500&display=swap');
:root{--ink:#29243f;--dark:#211d35;--paper:#faf8f4;--soft:#eeeaf1;--gold:#b99562;--line:#d8cfcb;--muted:#756c7c;--serif:'Cormorant Garamond','Noto Serif TC','Noto Serif SC',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.shell{width:min(1240px,88%);margin:auto}.skip{position:fixed;top:-100px;background:#fff;padding:10px;z-index:100}.skip:focus{top:0}.site-header{position:relative;z-index:10;background:var(--paper)}.header-row{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:var(--serif);font-size:32px;letter-spacing:.13em;line-height:1.25;white-space:nowrap}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.25em;margin-top:10px}.main-nav{display:flex;gap:36px;font-size:12px;letter-spacing:.08em}.main-nav a:hover{color:var(--gold)}.header-contact{border-left:1px solid var(--line);padding-left:28px;line-height:1.6}.header-contact span{display:block;font-size:10px;letter-spacing:.15em;color:var(--muted)}.header-contact strong{font-size:19px;font-weight:500;letter-spacing:.05em}.language-band{border-top:1px solid #eee8e3;border-bottom:1px solid #e5ded9}.languages{display:flex;align-items:center;justify-content:center;gap:34px;font-size:11px;letter-spacing:.08em;min-height:39px}.languages a{padding:6px 1px;border-bottom:1px solid transparent}.languages a[aria-current]{border-bottom-color:var(--gold);color:#8c6d44}.hero{height:min(740px,calc(100svh - 148px));min-height:580px;position:relative;display:grid;place-items:center;isolation:isolate;color:#fff;text-align:center;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,16,32,.25),rgba(21,16,32,.45),rgba(21,16,32,.3));z-index:-1}.hero-content{width:min(970px,88%);padding:44px 0 55px}.hero-wordmark{font-family:var(--serif);font-size:clamp(54px,7.8vw,118px);letter-spacing:.15em;line-height:1.2;margin-left:.15em}.edition{font-size:11px;letter-spacing:.42em;margin:13px 0 34px;color:#e4cfaf}.hero h1{font-family:var(--serif);font-size:clamp(22px,2.7vw,38px);font-weight:400;letter-spacing:.07em;margin:0;line-height:1.5}.divider{width:52px;height:1px;background:var(--gold);display:block;margin:26px 0}.hero .divider{margin:25px auto}.hero p{font-size:14px;letter-spacing:.12em;margin:0 auto 20px;color:#f4e9df}.hero-contact{margin:20px auto 28px;line-height:1.6}.hero-contact>span{display:block;font-size:11px;letter-spacing:.18em;color:#eddbc4}.number{display:block;font-family:var(--sans);font-size:clamp(25px,2.7vw,37px);line-height:1.5;letter-spacing:.06em;font-weight:500;white-space:nowrap}.button{border:1px solid #dcc29d;display:inline-flex;align-items:center;gap:25px;min-height:49px;padding:9px 27px;font-size:12px;letter-spacing:.12em;color:#fff;background:rgba(46,34,55,.25)}.button:hover{background:#b99562;color:#211d35}.arrow{width:21px;height:21px;flex-shrink:0}.section{padding-block:100px}.section-heading{text-align:center;max-width:850px;margin:0 auto 48px}.section-heading h2,h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,42px);line-height:1.5;letter-spacing:.025em;margin:0 0 20px}.section-heading p{font-size:14px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.service-card{position:relative}.photo-frame{overflow:hidden;aspect-ratio:3/2}.photo-frame img{transition:transform .8s}.service-card a:hover img{transform:scale(1.035)}.service-card h3{font-weight:400;font-family:var(--serif);font-size:22px;line-height:1.5;margin:16px 0 9px}.service-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.n{font-family:var(--serif);font-size:13px;color:var(--gold);display:block;padding-top:19px;border-top:1px solid var(--line);margin-top:21px;letter-spacing:.12em}.about{background:var(--soft);padding:100px 0}.about>.shell{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.about .photo-frame{aspect-ratio:1.22}.about .photo-frame img{object-position:left center}.overline{font-size:10px;letter-spacing:.26em;color:#94764d;margin-bottom:22px}.about p,.detail p{font-size:14px;line-height:2.05;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.09em;border-bottom:1px solid var(--gold);padding-bottom:9px;margin-top:22px}.text-link:hover{color:#94764d}.detail-band{padding:90px 0 100px}.intro{max-width:730px;margin:0 auto 65px;text-align:center;font-family:var(--serif);font-size:20px;line-height:2;letter-spacing:.035em}.details{display:grid;gap:80px}.detail{display:grid;grid-template-columns:1.12fr 1fr;gap:85px;align-items:center}.detail:nth-child(even){grid-template-columns:1fr 1.12fr}.detail:nth-child(even) .detail-image{order:2}.detail .photo-frame{aspect-ratio:1.42}.detail h2{font-size:clamp(28px,3vw,39px);margin-bottom:12px}.tagline{font-family:var(--serif);font-size:18px;line-height:1.75}.detail p{margin-bottom:0}.booking{background:var(--soft)}.booking .section-heading{max-width:830px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;padding:0;margin:50px 0 35px}.step-number{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1.4}.steps h3{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.55;margin:15px 0}.steps p{font-size:13px;line-height:1.9;color:var(--muted)}.availability{font-size:12px;line-height:1.85;color:var(--muted);text-align:center}.contact{background:var(--dark);color:#f9f4ee}.contact>.shell{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact h2{max-width:530px}.contact p{color:#c5bbcb;font-size:12px;text-align:left}.contact-box{text-align:center;border-left:1px solid #66546b;padding-left:60px}.contact-box>span{font-size:11px;letter-spacing:.15em;color:#e8cfac}.copy-number{background:#cfb086;color:#211d35;border:0;padding:10px 23px;margin-top:20px;font-size:12px;letter-spacing:.06em}.copy-number:hover{background:#e8cfac}.copy-status{min-height:20px!important;text-align:center!important;margin-bottom:0}.footer{padding-block:55px 105px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:30px}.footer p{font-size:10px;line-height:2;color:var(--muted)}.footer .text-link{margin:0;font-size:10px}.footer .brand{font-size:26px}.floating-contact{position:fixed;bottom:22px;right:25px;z-index:25;display:flex;background:#faf8f4;box-shadow:0 5px 24px #211d3526;border:1px solid #d3b88e}.floating-contact a{display:block;text-align:center;padding:8px 18px;line-height:1.6;font-size:10px}.floating-contact a:first-child{background:var(--dark);color:#fff}.floating-contact strong{display:block;font-size:13px;letter-spacing:.04em;font-weight:500}.photo-back img{object-position:60% center}html[lang=en] .hero h1,html[lang=ja] .hero h1{font-size:clamp(23px,2.6vw,37px)}html[lang=en] .detail h2{font-size:35px}@media(min-width:1700px){.shell{width:min(1360px,86%)}}@media(max-width:1050px){.shell{width:90%}.main-nav{gap:18px}.header-row{gap:16px}.header-contact{padding-left:16px}.hero{min-height:570px}.service-grid{gap:18px}.service-card h3{font-size:20px}.about>.shell,.detail{gap:45px}.detail:nth-child(even){gap:45px}.contact>.shell{gap:30px}.contact-box{padding-left:25px}.steps{gap:30px}}@media(max-width:760px){html{scroll-padding-top:20px}.header-row{min-height:89px;gap:10px}.brand{font-size:24px;letter-spacing:.1em}.brand small{font-size:6px;letter-spacing:.17em;margin-top:7px}.main-nav{display:none}.header-contact{padding-left:12px;min-width:0}.header-contact span{font-size:9px}.header-contact strong{font-size:13px;letter-spacing:0}.languages{gap:20px;font-size:10px;min-height:38px}.hero{height:670px;min-height:0;max-height:calc(100svh - 95px)}.hero-image{object-position:53% center}.hero-content{width:90%;padding:35px 0}.hero-wordmark{font-size:57px;letter-spacing:.08em;margin-left:.08em}.edition{font-size:8px;letter-spacing:.27em;margin:15px 0 30px}.hero h1{font-size:23px;line-height:1.6;max-width:490px;margin:auto}.hero p{font-size:12px;line-height:1.9;max-width:88%;letter-spacing:.08em}.hero .number{font-size:27px}.hero-contact{margin:23px auto}.button{font-size:11px;padding-inline:20px}.section{padding-block:65px}.section-heading{margin-bottom:35px}.section-heading h2,h2{font-size:29px}.section-heading p{font-size:12px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.service-card h3{font-size:18px;margin:10px 0 7px}.service-card p{font-size:11px}.n{margin-top:13px;padding-top:13px}.about{padding:65px 0}.about>.shell{display:block}.about .photo-frame{aspect-ratio:1.25;margin-bottom:38px}.about h2{font-size:29px}.about p,.detail p{font-size:13px}.overline{font-size:9px;margin-bottom:15px}.detail-band{padding:60px 0}.intro{font-size:17px;margin-bottom:50px}.details{gap:55px}.detail,.detail:nth-child(even){display:flex;flex-direction:column;gap:26px;align-items:stretch}.detail:nth-child(even) .detail-image{order:0}.detail h2,html[lang=en] .detail h2{font-size:29px}.detail .photo-frame{aspect-ratio:1.4}.tagline{font-size:16px}.divider{margin:20px 0}.steps{display:block;margin:35px 0}.steps li{display:flex;gap:20px;border-top:1px solid #d6cbd4;padding:22px 0}.steps h3{font-size:21px;margin:0 0 10px}.steps p{font-size:12px;margin:0}.step-number{font-size:29px;min-width:35px}.availability{font-size:11px}.contact>.shell{display:block}.contact h2{font-size:28px}.contact-box{border-left:0;border-top:1px solid #66546b;padding:30px 0 0;margin-top:30px}.contact-box .number{font-size:29px}.footer{padding:45px 0 100px}.footer-top{display:block;margin-bottom:20px}.footer-top .brand{display:block}.footer p{margin:20px 0}.footer .languages{gap:16px}.floating-contact{bottom:0;right:0;left:0;box-shadow:0 -2px 15px #211d3518;border:0;border-top:1px solid #b99562}.floating-contact a{flex:1;padding:9px 8px;font-size:10px}.floating-contact strong{font-size:14px}.photo-frame img{transition:none}html[lang=en] .hero h1,html[lang=ja] .hero h1{font-size:24px}html[lang=en] .hero-wordmark{font-size:54px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
