:root{--green:#234F49;--paper:#F5F7F4;--ink:#18322D;--muted:#53645D;--red:#9F493E;--line:#D7E1DC}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft JhengHei",sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}.inner{width:min(1280px,calc(100% - 80px));margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Songti SC","Noto Serif CJK TC","Yu Mincho","AppleMyungjo",serif;font-weight:400}h1{font-size:clamp(38px,3.4vw,50px);line-height:1.4;white-space:pre-line;letter-spacing:.01em}h2{font-size:36px;line-height:1.45}h3{font-size:21px;line-height:1.5;font-weight:500}p{line-height:1.8}.header{padding:18px 0;background:var(--paper)}.header-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:16px;font-family:Georgia,serif;letter-spacing:2px;font-size:22px}.brand img{width:64px;height:64px;object-fit:contain}.languages{display:flex;flex-wrap:wrap;gap:24px;font-size:16px}.languages a{padding:8px 0}.languages [aria-current]{border-bottom:2px solid var(--red)}.site-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-block:18px}.nav-links{display:flex;gap:28px;flex-wrap:wrap;font-size:16px}.nav-contact{display:flex;gap:22px;flex-wrap:wrap;font-size:17px;font-weight:600}.hero{display:grid;grid-template-columns:52% 48%;padding-block:36px;align-items:stretch}.hero-copy{padding:32px 60px 34px 0;display:flex;flex-direction:column;justify-content:center}.intro{max-width:560px;margin-top:20px;font-size:17px;color:var(--muted)}.hero-image{width:100%;height:100%;min-height:600px;object-fit:cover;object-position:52% center}.contacts{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.contact-label{font-size:16px;line-height:1.5;color:var(--muted);margin-bottom:12px}.phone{font-size:31px;font-weight:500;display:block;line-height:1.5;letter-spacing:-.4px}.phone span{font-size:18px;display:block;letter-spacing:0}.wechat{font-size:24px;line-height:1.5;margin-top:6px}.wechat strong{font-weight:500}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:22px}.button{background:var(--red);color:white;display:inline-block;padding:14px 26px;font-size:16px;line-height:1.5}.button:hover{background:var(--ink)}.official{font-size:16px;text-decoration:underline;text-underline-offset:5px}.welcome{text-align:center;padding:48px 64px 64px}.welcome p{max-width:870px;margin:22px auto 0;color:var(--muted);font-size:18px}.services{padding-block:24px 74px}.services>h2{margin-bottom:32px}.service-images{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-image{width:100%;height:340px;object-fit:cover}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:34px}.service-list h3{margin-bottom:12px}.service-list p,.principles p{color:var(--muted);font-size:16px}.aroma{background:#E6EEEA;padding-block:58px}.aroma-grid{display:grid;grid-template-columns:42% 58%;align-items:center}.aroma-image{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.aroma-copy{padding:44px 64px}.aroma-copy p{font-size:18px;margin-top:24px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--red);margin-top:28px;padding-bottom:7px;font-size:16px}.principles{padding-block:74px}.principles>h2{font-size:30px;text-align:center;margin-bottom:38px}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.principles-grid article{border-top:1px solid var(--line);padding-top:22px}.principles h3{margin-bottom:12px}.booking{background:var(--green);color:var(--paper);padding-block:64px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.booking h2{font-size:32px}.booking p{margin-top:20px}.booking .contacts{margin:0;border:0;padding:0}.booking .contact-label{color:var(--paper);margin-top:0}.booking .wechat{margin-top:8px}.footer{padding-block:30px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-brand{display:flex;gap:16px;align-items:center;font-family:Georgia,serif;letter-spacing:1px}.footer img{width:56px;height:56px;object-fit:contain}.footer>a{font-size:16px;text-decoration:underline}.footer>p{width:100%;color:var(--muted);font-size:16px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:1100px){.nav-row{display:block}.nav-contact{margin-top:15px}.hero-copy{padding-right:30px}h1{font-size:40px}.phone{font-size:28px}.aroma-copy{padding:32px}.booking-grid{gap:40px}.languages{gap:16px}.brand{font-size:20px}}
@media(max-width:760px){.inner{width:calc(100% - 48px)}.header{padding-block:16px}.header-row{display:block}.brand{font-size:19px;gap:14px}.brand img{width:52px;height:52px}.languages{margin-top:14px;gap:17px;justify-content:space-between}.languages a{font-size:16px}.nav-row{padding-block:16px}.nav-links{gap:18px;font-size:16px}.nav-contact{font-size:16px;gap:7px;flex-direction:column;margin-top:14px}.hero{display:flex;flex-direction:column;padding-block:26px 0}.hero-copy{padding:0 0 30px}h1{font-size:32px;line-height:1.45}.intro{font-size:16px;margin-top:17px}.contacts{margin-top:22px;padding-top:18px}.phone{font-size:28px}.phone span{font-size:16px}.wechat{font-size:23px}.actions{gap:20px;margin-top:18px}.button{padding:12px 22px}.hero-image{min-height:0;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}.welcome{padding:42px 0}.welcome h2{font-size:28px}.welcome p{font-size:16px;margin-top:18px}h2{font-size:29px}.services{padding-block:18px 42px}.service-images,.service-list,.aroma-grid,.booking-grid{grid-template-columns:1fr}.service-images{gap:20px}.service-image{height:auto;aspect-ratio:3/2}.service-list{margin-top:25px;gap:25px}.aroma{padding-block:30px}.aroma-image{max-height:510px;width:100%;object-fit:contain}.aroma-copy{padding:30px 0 10px}.aroma-copy p{font-size:16px;margin-top:18px}.principles{padding-block:46px}.principles>h2{font-size:28px;margin-bottom:30px}.principles-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.principles h3{font-size:19px}.booking{padding-block:40px}.booking-grid{gap:28px}.booking h2{font-size:29px}.booking p{font-size:16px}.footer{gap:20px}.footer-brand{font-size:15px}.footer-brand img{width:48px;height:48px}.footer>p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
