:root{--ivory:#f4f6ee;--paper:#fcfcf7;--jade:#c5d1c3;--ink:#22382f;--muted:#57625a;--red:#a44337;--line:#22382f33;--serif:Georgia,"Songti SC","Songti TC","Noto Serif CJK SC","Yu Mincho",serif;--sans:Arial,"PingFang SC","Hiragino Sans","Malgun Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:118px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}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}h1{font-size:clamp(34px,3.8vw,58px);line-height:1.35;letter-spacing:.015em}h2{font-size:clamp(28px,2.8vw,43px);line-height:1.4;margin-bottom:20px}h3{font-size:23px;line-height:1.5;margin-bottom:10px}p{color:var(--muted);margin-bottom:18px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}a:hover{color:var(--red)}.skip{position:absolute;top:-200px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.site-header{position:relative;z-index:10;background:var(--ivory);border-bottom:1px solid var(--line)}.header-main{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 5.2% 16px}.brand{font-family:var(--serif);font-size:28px;line-height:1.2;letter-spacing:.18em;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;margin-top:9px}.main-nav{display:flex;gap:28px;font-size:14px}.header-phone{color:var(--red);font-family:var(--serif);font-size:25px;line-height:1.2;white-space:nowrap}.header-phone span{display:block;color:var(--muted);font:11px var(--sans);margin-bottom:5px}.languages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:25px;font-size:12px;line-height:1.4}.site-header>.languages{padding:9px 20px 12px;background:#e9eee4}.languages a{padding:3px 0;border-bottom:1px solid transparent}.languages a[aria-current]{color:var(--red);border-color:var(--red)}.hero{position:relative;min-height:680px;display:flex;align-items:center;padding:50px 5.2%;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-panel{position:relative;width:480px;max-width:45%;padding:38px 40px 28px;background:#f4f6eef7}.eyebrow{font:10px/1.4 var(--sans);letter-spacing:.22em;display:block;margin-bottom:18px;color:var(--muted)}.hero-panel h1{margin-bottom:22px}.rule{display:block;width:52px;height:1px;background:var(--ink);margin:25px 0}.hero-sub{font-family:var(--serif);font-size:20px;line-height:1.7}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;background:var(--red);color:#fff;padding:12px 25px;min-width:185px;font-size:15px}.button:hover{background:#823329;color:white}.contact-block>span{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.phone{font-family:var(--serif);font-variant-numeric:lining-nums;display:block;white-space:nowrap;line-height:1.3;letter-spacing:-.025em;color:var(--red);font-size:clamp(26px,2.7vw,40px)}.hero-contact{margin-top:28px}.copy-number{border:0;background:none;padding:6px 0;color:var(--ink);font-size:12px;border-bottom:1px solid var(--line)}.copy-number:hover{color:var(--red)}.copy-status{margin:4px 0 0;font-size:11px;line-height:1.4}.copy-status:empty{display:none}.hero-note{position:absolute;right:3.5%;bottom:27px;color:#fff;font:10px var(--sans);letter-spacing:.3em;text-shadow:0 1px 6px #000}.section{padding:80px 5.2%}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:30px}.section-heading h2{margin:0}.section-heading p{max-width:420px;margin:0;font-size:14px}.section-heading .eyebrow{margin-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.service-photo{aspect-ratio:1.42;object-fit:cover;margin-bottom:20px}.service-card .eyebrow{margin-bottom:8px;font-size:11px}.service-card h3{font-size:23px}.service-card p{font-size:14px;line-height:1.9;margin:0}.crop-2{object-position:75% 30%}.split{display:grid;grid-template-columns:1fr 1fr}.split-image{min-height:510px;overflow:hidden}.split-image img{width:100%;height:100%;object-fit:cover}.about .split-image img{object-position:65% center}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:65px 12%;background:var(--paper)}.split-copy h2{max-width:520px;margin-bottom:0}.split-copy .eyebrow{margin-bottom:16px}.split-copy p{font-size:15px;line-height:1.95}.split-copy h3{font-size:20px;margin:0 0 8px}.split-copy .rule{margin:24px 0}.text-link{font-size:13px;display:inline-block;align-self:flex-start;border-bottom:1px solid var(--line);padding-bottom:4px;margin-top:8px}.detail .split-image img{object-position:center}.detail.reverse .split-copy{background:#ecf0e7}.booking{background:var(--jade)}.steps{list-style:none;margin:38px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.steps li{display:flex;gap:20px}.step-no{flex:none;width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--ivory);border-radius:50%;font-family:var(--serif)}.steps h3{font-size:23px;margin:2px 0 8px}.steps p{font-size:14px;line-height:1.9}.availability{font-size:12px;margin:25px 0 0;padding-top:20px;border-top:1px solid var(--line)}.contact-section{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;background:var(--ink);color:var(--ivory)}.contact-section h2{max-width:600px}.contact-section p{color:#d1d9cf;max-width:580px;font-size:13px}.contact-section .eyebrow{color:#d1d9cf}.final-contact{border-left:1px solid #ffffff40;padding-left:60px}.final-contact>span{color:#d1d9cf}.final-contact .phone{color:var(--ivory);font-size:clamp(26px,3.3vw,48px)}.final-contact .copy-number{color:var(--ivory);border-color:#ffffff60}.site-footer{padding:42px 5.2% 24px;background:#1b2d25;color:#e2e8dd}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-top .brand{font-size:26px}.footer-top p{font-size:12px;color:#c5d1c3;max-width:300px;margin:0}.footer-top .text-link{margin:0;border-color:#c5d1c355;align-self:center;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #c5d1c333;padding-top:20px;font-size:10px}.footer-bottom .languages{font-size:11px}.site-footer a:hover{color:#fff}.mobile-contact{display:none}
@media(min-width:1700px){.hero{min-height:780px}.hero-panel{width:570px;max-width:40%;padding:50px}.section{padding:100px 8%}.split-copy{padding:80px 15%}}
@media(max-width:1100px){.main-nav{gap:16px;font-size:12px}.header-main{gap:18px;padding-left:4%;padding-right:4%}.header-phone{font-size:23px}.brand{font-size:24px}.hero{min-height:620px;padding:35px 4%}.hero-panel{max-width:53%;width:450px;padding:30px}.hero h1{font-size:40px}.phone{font-size:30px}.section{padding:60px 4%}.service-grid{gap:18px}.service-card h3{font-size:21px}.split-copy{padding:45px 9%}.split-image{min-height:490px}.steps{gap:25px}.steps li{gap:12px}.final-contact{padding-left:30px}.contact-section{gap:30px}.footer-top{gap:20px}}
@media(max-width:760px){html{scroll-padding-top:20px}body{font-size:15px;padding-bottom:67px}.header-main{padding:16px 5%;gap:10px}.brand{font-size:21px;letter-spacing:.14em}.brand span{font-size:7px;margin-top:7px}.main-nav{display:none}.header-phone{font-size:20px}.header-phone span{font-size:9px}.site-header>.languages{gap:22px;padding:10px 10px;font-size:11px}.hero{padding:0;min-height:0;display:flex;flex-direction:column}.hero-image{position:relative;height:330px;object-position:64% center}.hero-panel{max-width:none;width:calc(100% - 40px);padding:30px 26px 25px;margin:-45px 20px 25px;background:var(--ivory)}.hero h1{font-size:34px;max-width:400px;margin-bottom:0}.hero-panel .eyebrow{font-size:9px;margin-bottom:16px}.hero-panel .rule{margin:20px 0}.hero-sub{font-size:17px;margin-bottom:22px}.hero-contact{margin-top:24px}.phone{font-size:31px}.hero-note{display:none}.button{font-size:14px;padding:11px 20px}.section{padding:45px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:29px}.section-heading p{font-size:12px;margin-top:12px}.service-grid{grid-template-columns:repeat(2,1fr);column-gap:18px;row-gap:30px}.service-photo{aspect-ratio:1.18;margin-bottom:14px}.service-card h3{font-size:20px}.service-card p{font-size:12px;line-height:1.8}.service-card .eyebrow{font-size:9px}.split{display:flex;flex-direction:column}.split-image{min-height:0;height:320px}.split-copy{padding:40px 7%}.split-copy h2{font-size:31px}.split-copy p{font-size:14px}.detail.reverse .split-image{order:-1}.split-copy .eyebrow{font-size:9px}.steps{display:flex;flex-direction:column;gap:20px;margin-top:30px}.steps li{gap:18px}.steps h3{font-size:23px}.steps p{font-size:13px;margin-bottom:0}.step-no{width:38px;height:38px}.availability{font-size:11px}.contact-section{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding-top:48px;padding-bottom:48px}.contact-section h2{font-size:31px}.contact-section p{font-size:12px}.final-contact{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff40}.final-contact .phone{font-size:35px}.footer-top{display:block}.footer-top p{margin-top:23px}.footer-top .text-link{margin-top:10px}.footer-bottom{display:block}.footer-bottom>.languages{justify-content:flex-start;gap:18px;margin-top:20px}.site-footer{padding:36px 6% 25px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:2fr 1fr;background:var(--ivory);border-top:1px solid var(--line);box-shadow:0 -4px 20px #22382f10}.mobile-contact a{padding:9px 15px;text-align:center;font-size:11px;line-height:1.4}.mobile-contact a:first-child{background:var(--red);color:white}.mobile-contact strong{display:block;font-size:18px;font-weight:400;letter-spacing:.02em}.mobile-contact a:last-child{align-self:center;font-size:15px}}
@media(max-width:370px){.brand{font-size:18px}.header-phone{font-size:18px}.hero-panel{padding:26px 20px}.hero h1{font-size:30px}.hero-contact .phone{font-size:28px}.languages{gap:18px}.final-contact .phone{font-size:30px}.service-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
