*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#203c38;background:#fff;font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:15px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #548c7a;outline-offset:5px}img{display:block;max-width:100%}.wrap{max-width:1240px;margin:auto;padding:0 48px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #e7ece8}.bar{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:7px;line-height:1.3}.brand img{width:60px;height:60px;object-fit:contain}.brand strong{display:block;font-size:20px;font-weight:500;letter-spacing:.12em}.brand small{display:block;font-size:10px;letter-spacing:.22em;margin-top:5px}.nav{display:flex;align-items:center;gap:29px;font-size:12px}.nav a:hover,.foot a:hover{color:#628777}.languages{display:flex;gap:11px;border-left:1px solid #d5dfd9;padding-left:22px}.languages [aria-current]{border-bottom:1px solid #194f47}.menu{display:none;background:none;border:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#6c8179}.hero{padding:78px 0 0}.hero-top{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:46px}h1{font-size:47px;line-height:1.5;font-weight:400;letter-spacing:.035em;margin:16px 0 0}h1 em{font-style:normal;color:#638879}.intro{font-size:14px;color:#6a7770;max-width:390px;margin:0 0 10px}.hero-img{height:365px;width:100%;object-fit:cover;object-position:center 54%;border-radius:2px}.hero-bottom{display:flex;justify-content:space-between;padding:17px 0;font-size:10px;color:#819087;letter-spacing:.12em}.entry-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce5df;border-bottom:1px solid #dce5df;margin-top:33px}.entry{padding:27px 28px 27px 0;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.entry+ .entry{border-left:1px solid #dce5df;padding-left:42px}.entry:hover{background:#f6f8f5}.entry strong{display:block;font-size:21px;font-weight:400;margin-top:4px}.arrow{font-size:23px;color:#527a69}.section{padding:100px 0}.section-title{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:42px}h2{font-size:33px;line-height:1.55;font-weight:400;margin:12px 0 0}h3{font-size:19px;font-weight:500;line-height:1.55;margin:0 0 12px}.section-title>p{max-width:425px;margin:26px 0 0;color:#6a7770;font-size:14px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.service-img{height:470px;width:100%;object-fit:cover}.caption{font-size:10px;color:#8a978e;margin:8px 0 0}.service-list article{padding:22px 0;border-bottom:1px solid #dce5df}.service-list article:first-child{padding-top:0}.service-list article p{color:#6a7770;font-size:13px;margin:0}.num{font-size:10px;letter-spacing:.1em;color:#8c9f93;margin-bottom:9px}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:13px;border-bottom:1px solid #688677;padding:16px 0 6px;margin-top:12px}.tint{background:#f4f7f3}.personal .service-layout{grid-template-columns:1fr 1fr}.personal .service-img{height:420px}.note{font-size:11px;color:#738079;line-height:1.8;margin-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:44px}.step{border-top:1px solid #cbd8cf;padding-top:23px}.step h3{font-size:17px}.step p{font-size:13px;color:#6a7770}.process{padding-top:62px;margin-top:55px;border-top:1px solid #d9e2d9}.process h2{font-size:25px}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.company{margin:0}.company div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid #e1e7e1;font-size:13px}.company div:first-child{padding-top:0}.company dt{color:#819087}.company dd{margin:0}.faq{margin-top:65px;max-width:800px;margin-left:auto}.faq h3{font-size:18px;margin-bottom:20px}details{border-top:1px solid #e1e7e1}summary{cursor:pointer;padding:18px 28px 18px 0;font-size:13px}details p{font-size:13px;color:#6a7770;margin:0 0 22px}.contact{background:#1e4941;color:#fff;padding:70px 0}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:50px}.contact .eyebrow{color:#a7c5b4}.contact h2{font-size:30px;margin-bottom:13px}.contact p{color:#c4d4c9;font-size:13px}.contact-link{display:block;font-size:21px;border-bottom:1px solid #84a295;padding:15px 0;white-space:nowrap}.foot{padding:35px 0 22px}.foot-top{display:flex;justify-content:space-between;align-items:center}.foot .brand img{width:45px;height:45px}.foot .brand strong{font-size:16px}.foot p{font-size:10px;color:#85958a}.foot details{border:0;max-width:820px;margin-top:18px}.foot summary{font-size:11px;padding:8px 0}.foot details p{font-size:12px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:100}.en h1{font-size:52px;line-height:1.2;letter-spacing:-.025em}.en h2{letter-spacing:-.02em}.en .brand strong{font-size:17px;letter-spacing:.08em}.en .entry strong{font-size:23px}.en .nav{gap:23px}.en .hero-top{grid-template-columns:1.25fr 1fr}.en .service-list article p{font-size:14px}.en .section-title>p{font-size:15px}
@media(min-width:1500px){.wrap{max-width:1360px}.hero-img{height:420px}}
@media(max-width:1000px){.wrap{padding:0 30px}.nav{gap:16px}.hero-top{gap:35px}h1{font-size:37px}.en h1{font-size:43px}.service-layout{gap:35px}.about-grid{gap:45px}.nav .nav-contact{display:none}.contact-link{font-size:18px}}
@media(max-width:720px){.wrap{padding:0 22px}.bar{height:78px}.brand img{width:46px;height:46px}.brand strong{font-size:17px}.brand small{font-size:8px}.en .brand strong{font-size:14px}.menu{display:block;font-size:12px;color:#214b40;padding:10px}.nav{display:none;position:absolute;left:0;right:0;top:78px;padding:20px 24px;background:#fff;border-bottom:1px solid #ddd;flex-wrap:wrap}.nav.open{display:flex}.nav .nav-contact{display:block}.languages{padding-left:16px}.hero{padding-top:43px}.hero-top,.en .hero-top{grid-template-columns:1fr;gap:22px;margin-bottom:30px}h1{font-size:34px;line-height:1.5}.en h1{font-size:42px}.intro{font-size:13px;max-width:none}.hero-img{height:270px}.hero-bottom{font-size:8px;gap:15px}.entry-grid{margin-top:20px;grid-template-columns:1fr}.entry{padding:21px 0}.entry+.entry{border-left:0;border-top:1px solid #dce5df;padding-left:0}.entry strong{font-size:20px}.section{padding:65px 0}.section-title{display:block;margin-bottom:30px}h2{font-size:28px}.section-title>p{margin-top:20px}.service-layout,.personal .service-layout{grid-template-columns:1fr;gap:35px}.service-img,.personal .service-img{height:290px}.personal .image-block{order:-1}.steps{grid-template-columns:1fr;gap:10px;margin-top:30px}.step{padding-top:18px}.step p{margin-bottom:14px}.process{margin-top:38px;padding-top:35px}.about-grid{grid-template-columns:1fr;gap:30px}.company div{grid-template-columns:82px 1fr;gap:16px;font-size:12px}.faq{margin-top:40px}.contact{padding:45px 0}.contact .wrap{display:block}.contact h2{font-size:25px}.contact-link{font-size:19px;display:inline-block;margin-top:12px}.foot-top{align-items:start;gap:15px}.foot-top>p{text-align:right;font-size:9px}.foot .brand strong{font-size:13px}.foot .brand img{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.reservation{background:#fafbf8}.reservation form{max-width:820px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid #c7d4cc;background:#fff;border-radius:3px;color:#203c38;font:inherit;font-size:16px;padding:13px}.form-grid textarea{resize:vertical}.form-grid :focus{outline:2px solid #548c7a;outline-offset:2px}.form-hint{font-size:12px;color:#65776b;margin:18px 0}.form-hint a,.form-consent a{text-decoration:underline}.form-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;margin:24px 0}.form-consent input{flex-shrink:0;width:18px;height:18px;accent-color:#1e4941}.submit-enquiry{background:#1e4941;color:white;padding:16px 24px;border:0;border-radius:3px;cursor:pointer}.submit-enquiry span{margin-left:25px}.form-honey{display:none!important}@media(max-width:720px){.form-grid{grid-template-columns:1fr;gap:18px}.submit-enquiry{width:100%}}
.enquiry-panel{max-width:820px;margin:50px auto 0;border-top:1px solid #dce5df;padding-top:35px;scroll-margin-top:110px}.enquiry-panel h3{font-size:25px;margin-top:12px}.enquiry-shortcuts{display:flex;flex-wrap:wrap;gap:20px;max-width:820px;margin:auto}.enquiry-shortcuts a{border-bottom:1px solid #658675;padding:8px 0;font-size:14px}

/* Consistent three-language navigation and typography. */
.nav{gap:20px}.languages{gap:12px;padding-left:17px;white-space:nowrap}.languages a{font-size:11px}.en .nav{gap:17px}.en .brand strong{font-size:15px;letter-spacing:.055em}.zh{font-family:Arial,'Microsoft YaHei','PingFang SC',sans-serif}.zh h1{font-size:45px;line-height:1.5}.zh h2{font-size:32px}.zh p{line-height:1.95}.zh .entry strong{font-size:22px}.zh .brand strong{font-size:20px}.reservation input,.reservation textarea{font-family:inherit}.submit-enquiry:hover{background:#2b5f52}.submit-enquiry:focus-visible{outline:3px solid #8caf9c;outline-offset:4px}
@media(max-width:1100px){.nav{gap:12px}.en .nav{gap:12px}.bar{gap:16px}.languages{padding-left:12px}.nav .nav-contact{display:none}}
@media(max-width:720px){.nav .nav-contact{display:block}.nav{gap:18px}.languages{width:100%;border-left:0;padding:12px 0 0;border-top:1px solid #e1e7e1;gap:24px}.languages a{font-size:13px}.zh h1{font-size:34px}.zh h2{font-size:28px}.zh .entry strong{font-size:20px}.en .brand strong{font-size:13px}.zh .brand strong{font-size:17px}}
.about-copy{margin-top:24px;color:#61736b;font-size:14px;line-height:1.95}.about-copy p{margin:0 0 18px}.about-grid{grid-template-columns:1.15fr 1fr;gap:65px}.company{align-self:start}.en .about-copy{line-height:1.8}@media(max-width:720px){.about-grid{grid-template-columns:1fr;gap:30px}.about-copy{font-size:14px}}
