:root{--navy:#102e3b;--deep:#0b222d;--ivory:#f6f4ef;--gold:#d8c39f;--ink:#18323e;--muted:#5b6b70;--line:#d9dedb;--serif:Georgia,'Songti TC','Songti SC','Noto Serif CJK TC','Yu Mincho',serif;--sans:-apple-system,BlinkMacSystemFont,'PingFang TC','Hiragino Sans','Malgun Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:134px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.4;text-wrap:balance}h2{font-size:clamp(27px,3vw,42px);margin-bottom:22px}p{margin-bottom:22px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #af864a;outline-offset:5px}.shell{max-width:1240px;width:calc(100% - 96px);margin:auto}.section{padding-block:100px}.skip{position:fixed;left:16px;top:-100px;background:white;padding:10px;z-index:200}.skip:focus{top:10px}header{position:sticky;top:0;z-index:30;color:var(--ivory);background:var(--deep);border-bottom:1px solid #d8c39f35}.header-inner{max-width:1380px;margin:auto;padding:18px 40px;display:flex;align-items:center;gap:36px}.brand{display:flex;flex-direction:column;align-items:flex-start;color:var(--gold);line-height:1.12}.brand span{font:28px/1.1 Georgia,serif;letter-spacing:.12em}.brand small{font:9px/1.8 var(--sans);letter-spacing:.25em}.header-inner nav{display:flex;gap:32px;margin-left:auto;font-size:13px}.header-inner nav a:hover{color:var(--gold)}.header-phone{font:600 16px/1.2 var(--sans);letter-spacing:.04em;white-space:nowrap;color:var(--gold)}.languages{display:flex;justify-content:center;gap:26px;border-top:1px solid #ffffff10;padding:7px 20px;font:12px/1.6 var(--sans)}.languages a{opacity:.75}.languages a[aria-current],.languages a:hover{opacity:1;color:var(--gold);text-decoration:underline;text-underline-offset:5px}.hero{position:relative;min-height:660px;display:grid;place-items:center;background:var(--navy);overflow:hidden;color:var(--ivory);text-align:center}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center 55%}.hero-shade{background:linear-gradient(90deg,#081e2bc9,#0a26319c 50%,#0a26313b)}.hero-copy{position:relative;z-index:1;width:min(1080px,calc(100% - 48px));padding:75px 0 68px}.hero-brand{font:clamp(56px,7vw,110px)/1.1 Georgia,serif;letter-spacing:.13em;color:var(--gold);margin:0 0 14px}.hero-label{letter-spacing:.35em;font:clamp(14px,2vw,25px)/1.6 Georgia,serif;margin-bottom:27px;color:var(--gold)}.fine-rule{height:1px;width:110px;background:var(--gold);margin:0 auto 28px}.hero h1{font-size:clamp(23px,2.6vw,37px);margin-bottom:15px}.hero-sub{font-size:16px;color:#f6f4efe6;max-width:660px;margin:0 auto 30px}.contacts{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-button{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:248px;padding:12px 22px;background:var(--gold);border:1px solid var(--gold);color:var(--deep);line-height:1.6;transition:background .2s}.contact-button span{font-size:12px;letter-spacing:.07em}.contact-button strong{font:600 20px/1.5 var(--sans);letter-spacing:.04em}.contact-button.wechat{background:#102e3bd9;color:var(--ivory)}.contact-button:hover{background:#e7d7ba;color:var(--deep)}.services>h2,.services>.section-intro,.area h2,.area>.shell>.section-intro,.contact-section h2,.contact-section .section-intro{text-align:center}.section-intro{max-width:750px;margin:0 auto 48px;color:var(--muted);font-size:16px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.service-tile img{aspect-ratio:4/3;object-fit:cover;margin-bottom:24px;transition:filter .3s}.service-tile:hover img{filter:brightness(1.06)}.number{display:block;font:12px/1.5 var(--sans);letter-spacing:.15em;color:#8c7653;margin-bottom:13px}.service-tile h3{font-size:23px;margin-bottom:12px}.service-tile p{font-size:14px;color:var(--muted);line-height:1.9}.text-link{font-size:13px;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #9b875e;padding-bottom:5px}.about{background:#e7edea}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.about-grid>img{height:480px;object-fit:cover;object-position:right}.about-grid p{color:var(--muted)}.detail-section{padding-block:30px 70px}.detail{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:90px;padding-top:90px}.detail:nth-child(even){grid-template-columns:1fr 1.1fr}.detail:nth-child(even) .detail-image{order:2}.detail-image img{aspect-ratio:4/3;object-fit:cover}.detail-copy{padding:18px 0}.detail-copy p{color:var(--muted)}.detail-copy .lead{font-family:var(--serif);font-size:21px;color:var(--ink)}.area{background:#e7edea}.area-list{list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px;margin:0 0 30px}.area-list li{border-bottom:1px solid #b7c0bb;padding:10px;font-size:14px}.intro-line{max-width:790px;margin:auto;text-align:center;color:var(--muted)}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{font-size:17px;font-weight:500;cursor:pointer;line-height:1.6}.faq-list details p{font-size:15px;color:var(--muted);margin:15px 0 4px}.contact-section{background:var(--navy);color:var(--ivory);text-align:center}.contact-section h2{color:var(--gold)}.contact-section .section-intro{color:#d5dfde}.contact-section .contacts{margin-bottom:42px}.steps{list-style:none;padding:0;display:flex;justify-content:center;gap:40px;counter-reset:step;color:#d4dbd9}.steps li{counter-increment:step;font-size:14px}.steps li:before{content:'0' counter(step);display:block;color:var(--gold);font-size:18px;margin-bottom:9px}.email{display:inline-block;margin:20px auto;color:var(--gold)}.note{font-size:12px;color:#b4c5c9;margin:10px 0 0}footer{background:var(--deep);color:#bdc9c9;padding:45px 24px;text-align:center;font-size:13px}footer .brand{align-items:center;margin-bottom:20px}footer p{margin-bottom:12px}.copyright{font-size:10px;letter-spacing:.12em;margin-top:30px}.mobile-contact{display:none}dialog{border:1px solid var(--gold);background:var(--ivory);color:var(--ink);padding:50px 35px 30px;max-width:470px;width:calc(100% - 36px);text-align:center}dialog::backdrop{background:#06171cba}dialog h2{font:500 25px/1.5 var(--sans);white-space:nowrap}dialog p{font-size:14px}.dialog-close{position:absolute;right:10px;top:5px;background:none;border:0;font-size:30px;color:var(--ink)}#copy-number{background:var(--navy);color:var(--ivory);border:0;padding:12px 22px}#copy-status{font-size:12px;margin:14px 0 0}
@media(min-width:1600px){.hero{min-height:730px}.hero-copy{padding:95px 0}}@media(max-width:1000px){.header-inner{padding:16px 24px;gap:20px}.header-inner nav{gap:18px}.shell{width:calc(100% - 56px)}.services-grid{grid-template-columns:repeat(2,1fr);gap:38px 28px}.about-grid,.detail{gap:40px}.about-grid>img{height:420px}.faq{gap:40px}.hero{min-height:620px}.detail-copy .lead{font-size:19px}}@media(max-width:680px){html{scroll-padding-top:125px}body{font-size:15px;padding-bottom:72px}.header-inner{padding:14px 18px;justify-content:space-between;gap:10px}.brand span{font-size:23px}.brand small{font-size:8px}.header-inner nav{display:none}.header-phone{font-size:13px}.languages{gap:22px;font-size:11px}.shell{width:calc(100% - 40px)}.section{padding-block:62px}.hero{min-height:610px}.hero-photo{object-position:68% center}.hero-shade{background:#08233194}.hero-copy{width:calc(100% - 36px);padding:68px 0 60px}.hero-brand{font-size:clamp(40px,11vw,68px);letter-spacing:.09em}.hero-label{font-size:14px;letter-spacing:.28em}.hero h1{font-size:25px;line-height:1.55}.hero-sub{font-size:14px;margin-bottom:28px;max-width:340px}.contacts{gap:10px}.contact-button{min-width:0;width:min(100%,330px);padding:10px 16px}.contact-button strong{font-size:20px}.services-grid{gap:32px 17px}.service-tile h3{font-size:20px}.service-tile p{font-size:13px}.service-tile img{margin-bottom:17px}.service-tile .text-link{font-size:11px;gap:8px}.section-intro{font-size:15px;margin-bottom:32px}.about-grid,.detail,.detail:nth-child(even){grid-template-columns:1fr;gap:28px}.about-grid>img{height:310px}.detail{padding-top:60px}.detail:nth-child(even) .detail-image{order:0}.detail-copy{padding:0}.detail h2{margin-bottom:16px}.detail-section{padding-block:0 58px}.detail-image img{aspect-ratio:4/3}.faq{grid-template-columns:1fr;gap:15px}.faq-list summary{font-size:16px}.steps{gap:20px}.steps li{font-size:12px;flex:1}.area-list{gap:5px 12px}.area-list li{font-size:12px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--gold);padding-bottom:env(safe-area-inset-bottom);background:var(--gold)}.mobile-contact a,.mobile-contact button{border:0;padding:10px 5px;text-align:center;background:var(--gold);color:var(--deep);font-size:11px;line-height:1.5}.mobile-contact button{background:var(--navy);color:var(--ivory)}.mobile-contact strong{display:block;font-size:14px;font-weight:600;white-space:nowrap}h2{font-size:29px}footer{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the primary reservation actions in the first desktop viewport. */
@media(min-width:681px){.hero{min-height:560px}.hero-copy{padding:44px 0}.hero-brand{font-size:clamp(56px,6vw,96px)}}
