:root{--cream:#f7f3ed;--paper:#fffcf7;--purple:#382939;--muted:#827981;--rose:#a87c69;--line:#ded6cd;--serif:'Noto Serif SC','Songti SC','STSong','SimSun',serif;--sans:'Microsoft YaHei','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--purple);font:16px/1.8 var(--sans);overflow-x:clip}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--rose);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.45}h2{font-size:clamp(30px,3.1vw,48px);letter-spacing:2px}h3{font-weight:500;font-size:23px;line-height:1.6}p{color:var(--muted)}.container{width:min(1400px,calc(100% - 112px));margin:auto}.section{padding:110px 0}.eyebrow{font:11px/1.7 var(--sans);letter-spacing:3px;color:var(--rose);margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:50px;padding:13px 25px;background:var(--purple);color:white;font-size:14px;letter-spacing:1px;border:1px solid var(--purple);border-radius:2px;transition:background .25s,transform .25s}.button:hover{background:#60465b;transform:translateY(-2px)}.button-light{background:rgba(255,255,255,.08);border-color:#e8ddd0;color:white}.button-light:hover{background:var(--paper);color:var(--purple)}.text-link{display:inline-flex;justify-content:space-between;gap:24px;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:1px}.skip-link{position:fixed;left:20px;top:-100px;z-index:200;background:white;padding:12px}.skip-link:focus{top:10px}.header{position:fixed;inset:0 0 auto;z-index:90;color:white;transition:background .3s,color .3s;border-bottom:1px solid rgba(255,255,255,.2)}.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand>img{width:42px;height:42px;object-fit:contain}.brand>span{font-family:var(--serif);font-size:23px;letter-spacing:2px}.brand small{display:block;font:9px/1.5 var(--sans);letter-spacing:3px;opacity:.75;margin-top:4px}.nav{display:flex;gap:27px;align-items:center;font-size:13px;letter-spacing:1px}.nav a{display:block;padding:12px 0}.nav a:hover,.nav a.active{color:#d5ab90}.nav-item{position:relative}.dropdown{position:absolute;top:100%;left:-18px;min-width:170px;padding:12px 18px;background:var(--paper);color:var(--purple);z-index:100;visibility:hidden;opacity:0;transform:translateY(6px);transition:.2s}.dropdown:empty{display:none}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{visibility:visible;opacity:1;transform:none}.header-cta{background:transparent;border-color:rgba(255,255,255,.6);padding:10px 20px;min-height:44px}.header.scrolled,body:not(.home) .header{background:var(--cream);color:var(--purple);border-bottom-color:var(--line)}.header.scrolled .header-cta,body:not(.home) .header-cta{background:var(--purple);border-color:var(--purple);color:white}.hamburger{display:none;border:0;background:none;width:48px;height:48px;color:inherit;position:relative;z-index:110}.hamburger span{display:block;width:25px;height:1px;background:currentColor;margin:7px auto;transition:.25s}.mobile-nav{position:fixed;right:0;top:0;width:min(360px,88vw);height:100dvh;background:var(--cream);z-index:100;padding:110px 32px 30px;transform:translateX(100%);transition:.3s;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.mobile-nav>a{padding:10px 0}.mobile-nav .button{margin-top:16px;padding:12px}.nav-backdrop{position:fixed;inset:0;background:#21182388;z-index:95}.menu-open .mobile-nav{transform:none}.menu-open .header{z-index:105;background:var(--cream);color:var(--purple)}.hero{height:min(980px,100svh);min-height:680px;position:relative;color:white;background:var(--purple)}.hero .swiper-slide{position:relative;height:100%;display:grid;place-items:center}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover}.hero .swiper-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,22,29,.42),rgba(36,22,30,.24) 45%,rgba(26,17,27,.6))}.hero-copy{position:relative;z-index:2;text-align:center;max-width:960px;padding:140px 25px}.hero-copy .eyebrow{color:#e6cfb9;letter-spacing:5px;margin-bottom:30px}.hero h1{font-size:clamp(38px,5.6vw,78px);letter-spacing:7px;text-shadow:0 2px 20px #21172344}.hero-subtitle{color:#eee5dd;font-size:17px;letter-spacing:2px;margin:24px 0 42px}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;color:#ded2c9}.hero-controls{display:flex;align-items:center;gap:16px}.hero-controls button{width:44px;height:44px;background:none;border:1px solid #ffffff33;color:white}.hero-pagination{display:flex;gap:10px;width:auto!important}.hero-pagination .swiper-pagination-bullet{background:white;opacity:.4;width:6px;height:6px}.hero-pagination .swiper-pagination-bullet-active{opacity:1}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:110px;align-items:center}.intro-visual{padding:0 35px 35px 0;position:relative}.intro-visual:after{content:'';position:absolute;inset:45px 0 0 45px;background:#ede4da;z-index:-1}.intro-visual img{width:100%;height:500px;object-fit:cover}.image-note{display:block;font:10px/1 var(--sans);letter-spacing:3px;margin-top:22px}.intro-copy{padding-top:45px}.intro-copy h2{max-width:480px}.intro-copy>p:not(.eyebrow){margin:28px 0 30px;max-width:480px;line-height:2.2}.services{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:52px}.section-heading h2{margin-bottom:14px}.section-heading .eyebrow{margin-bottom:16px}.section-heading>div>p:last-child{max-width:580px}.section-heading>.text-link{white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card{background:#fffdf9;border-radius:3px;overflow:hidden}.card-picture{display:block;position:relative;overflow:hidden}.card-picture img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .65s}.service-card:hover img,.case-card:hover img{transform:scale(1.035)}.card-number{position:absolute;left:20px;bottom:14px;font:italic 30px var(--serif);color:white}.card-copy{padding:28px 30px}.category{font-size:11px;letter-spacing:2px;color:var(--rose)}.card-copy h3{margin:7px 0 10px}.card-copy>p{font-size:14px;line-height:1.9;min-height:54px}.card-copy .text-link{display:flex;margin-top:22px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 32px;align-items:start}.case-card:nth-child(3n+2){padding-top:70px}.case-picture{display:block;position:relative;overflow:hidden}.case-picture img{width:100%;height:360px;object-fit:cover;transition:transform .7s}.case-card:nth-child(3n+2) img{height:470px}.case-card:nth-child(3n+3) img{height:410px}.case-arrow{position:absolute;bottom:20px;right:20px;width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffff88;background:#38293933;color:white;font-size:24px}.case-caption{padding-top:20px}.case-caption h3{font-size:21px}.case-caption>span{display:block;font-size:12px;color:var(--muted);margin-top:7px;letter-spacing:1px}.flow-summary{background:var(--purple);color:var(--cream)}.flow-summary p{color:#c3b5c3}.flow-summary .eyebrow{color:#d1a98e}.flow-summary .text-link{border-color:#ffffff33}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:45px}.steps article{position:relative;border-top:1px solid #ffffff33;padding-top:34px}.steps article>span{position:absolute;right:0;top:23px;font:italic 40px var(--serif);color:#8d7386}.steps i{font-size:28px;color:#d0b196}.steps h3{margin:20px 0 10px}.steps p{font-size:14px;max-width:240px}.news-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0 70px}.news-card:first-child{grid-row:span 3;display:block;border:0;padding:0}.news-card{display:grid;grid-template-columns:145px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:22px 0;align-items:center}.news-card:nth-child(2){padding-top:0}.news-image{display:block;overflow:hidden}.news-image img{width:100%;aspect-ratio:1.2;object-fit:cover}.news-card:first-child img{aspect-ratio:1.6}.news-card time{font-size:11px;color:var(--rose);letter-spacing:2px}.news-card h3{font-size:19px;margin-top:7px}.news-card p{font-size:13px;margin:12px 0}.news-card:first-child h3{font-size:27px;margin-top:12px}.news-card:first-child>div{padding-top:24px}.news-card:not(:first-child) .text-link,.news-card:not(:first-child) p{display:none}.cta{padding:85px 0;background:linear-gradient(105deg,#eee0d2,#f5ebdd 55%,#ead8ca)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{font-size:clamp(28px,3vw,43px)}.cta p:not(.eyebrow){margin-top:20px;font-size:14px}.partners{padding:55px 0 65px;text-align:center;background:var(--cream)}.marquee{overflow:hidden}.partner-track{display:flex;align-items:center;gap:70px;width:max-content;animation:marquee 35s linear infinite}.partner-track:hover{animation-play-state:paused}.partner-track a{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:150px;height:65px}.partner-track img{max-height:55px;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.7}@keyframes marquee{to{transform:translateX(-50%)}}.footer{background:#2c242e;color:#d1c5d0;padding:80px 0 25px;font-size:13px}.footer p{color:#b3a5b3}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:100px}.footer-brand{font:27px var(--serif);color:var(--cream);letter-spacing:3px}.footer-intro{margin-top:24px;line-height:2}.footer .eyebrow{color:#c5a28e}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-search{display:flex;margin-top:25px;border-bottom:1px solid #ffffff33}.footer-search input{background:none;border:0;color:white;min-width:0;width:100%;padding:12px 0;font-size:12px}.footer-search button{background:none;border:0;color:white;width:44px}.footer-contact{position:relative}.phone{display:block;font:27px var(--serif);color:var(--cream);margin-bottom:14px}.qrcode{width:72px;height:72px;object-fit:contain;margin-top:20px}.footer-bottom{margin-top:55px;padding-top:23px;border-top:1px solid #ffffff22;display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:#a395a3}.friend-links{display:flex;gap:15px;margin-left:auto}.floating-service{position:fixed;right:22px;bottom:26px;z-index:40;display:flex;flex-direction:column;gap:5px}.floating-service>a,.floating-service>button{border:1px solid #bda394;background:var(--paper);color:var(--purple);width:44px;height:44px;display:grid;place-items:center;font-size:19px}.inner-hero{height:460px;position:relative;background:var(--purple);color:white;padding-top:100px;display:flex;align-items:center}.inner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.inner-hero .container{position:relative;z-index:1}.inner-hero .eyebrow{color:#dfc6b4}.inner-hero h1{font-size:50px;letter-spacing:5px}.inner-hero p:last-child{color:#e2d7dd;max-width:620px;margin-top:18px}.breadcrumb{font-size:12px;color:var(--muted);padding:25px 0;border-bottom:1px solid var(--line)}.listing{padding:65px 0 100px}.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:60px}.pagination a,.pagination span{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--line);padding:5px 10px}.pagination .page-num-current{background:var(--purple);color:white}.empty{text-align:center;padding:70px}.article-wrap{max-width:980px;margin:auto;padding:60px 0 90px}.article-heading{text-align:center;margin-bottom:40px}.article-heading h1{font-size:40px}.article-heading p{margin-top:15px;font-size:13px}.article-cover{width:100%;max-height:650px;object-fit:cover;margin-bottom:40px}.richtext{font-size:17px;line-height:2.1;overflow-wrap:anywhere}.richtext p{margin-bottom:22px;color:#665c65}.richtext h2,.richtext h3{margin:30px 0 20px}.richtext img{height:auto!important;max-width:100%!important;margin:25px auto}.richtext table{max-width:100%;display:block;overflow-x:auto}.prev-next{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-top:50px;font-size:14px}.detail-gallery{margin:25px 0 40px}.detail-gallery img{width:100%;height:550px;object-fit:cover}.detail-gallery .swiper-pagination{position:relative;margin-top:16px}.tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin:35px 0}.tabs button{border:0;background:none;color:var(--muted);padding:16px 25px;min-height:50px}.tabs button[aria-selected=true]{color:var(--purple);border-bottom:2px solid var(--purple)}.tab-panel[hidden]{display:none}.gallery-preview{border:0;background:none;padding:0;width:100%;cursor:zoom-in}.lightbox{border:0;background:transparent;padding:0;max-width:94vw;max-height:94vh;overflow:visible}.lightbox::backdrop{background:#1a121eea}.lightbox img{max-width:90vw;max-height:86vh;object-fit:contain}.lightbox-close{position:absolute;right:0;top:-44px;width:44px;height:44px;border:0;background:none;color:white;font-size:32px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.contact-info h2{margin-bottom:30px}.contact-info dl{margin:30px 0}.contact-info dt{font-size:12px;color:var(--rose);margin-top:20px}.contact-info dd{margin:5px 0 0}.consult-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.consult-form label{display:block;font-size:13px}.consult-form input,.consult-form select,.consult-form textarea{display:block;width:100%;min-height:50px;background:white;border:1px solid var(--line);border-radius:2px;padding:12px 15px;color:var(--purple);font-size:16px;margin-top:9px}.consult-form textarea{min-height:140px;resize:vertical}.full{grid-column:1/-1}.captcha{display:flex;gap:12px;align-items:center}.captcha input{max-width:220px}.captcha button{border:0;background:none;padding:0;margin-top:9px}.captcha img{width:120px;height:42px}.form-note{font-size:12px;grid-column:1/-1}.map-panel{height:430px;border:1px solid var(--line);margin-top:60px;position:relative;background:#f0e9df}.map-panel iframe{width:100%;height:100%;border:0}.map-status{position:absolute;inset:0;display:grid;place-content:center;padding:30px;text-align:center}.map-status a{margin-top:20px}.map-status[hidden]{display:none}.search-form{display:flex;max-width:700px;margin:0 auto 45px;gap:15px}.search-form input{width:100%;min-width:0;padding:12px 15px;border:1px solid var(--line);font-size:16px}
@media(min-width:1600px){.hero{max-height:none}.hero-copy{padding-top:160px}}@media(max-width:1200px){.container{width:calc(100% - 64px)}.nav{gap:17px}.header-inner{gap:20px}.brand>span{font-size:19px}.brand>img{width:34px}.intro-grid{gap:65px}.footer-grid{gap:50px}.contact-grid{gap:55px}.news-grid{gap:0 35px}}@media(max-width:1024px){.header-inner{height:80px}.nav,.header-cta{display:none}.hamburger{display:block}.section{padding:80px 0}.intro-grid{gap:45px}.intro-visual img{height:400px}.service-grid{gap:22px}.card-copy{padding:22px}.case-picture img{height:290px}.case-card:nth-child(3n+2) img{height:390px}.case-card:nth-child(3n+3) img{height:330px}.steps{gap:25px}.footer-grid{gap:35px}.news-card{grid-template-columns:100px 1fr;gap:18px}.news-card h3{font-size:17px}.hero{min-height:620px}.hero-bottom>span{display:none}.inner-hero{padding-top:80px}}@media(max-width:767px){.container{width:calc(100% - 40px)}.header-inner{height:76px}.brand>span{font-size:18px;letter-spacing:1px}.brand small{font-size:8px;letter-spacing:1px}.brand>img{width:32px;height:32px}.hero{height:92svh;min-height:590px}.hero h1{font-size:38px;letter-spacing:3px}.hero-copy{padding:100px 22px}.hero-subtitle{font-size:14px;margin:23px 0 32px}.hero-copy .eyebrow{font-size:9px;letter-spacing:3px}.hero-bottom{bottom:25px;font-size:10px}.hero-controls{gap:9px}.hero-controls button{width:44px}.hero-pagination{gap:5px}.section{padding:62px 0}.intro-grid{grid-template-columns:1fr;gap:35px}.intro-visual{padding-right:25px;padding-bottom:25px}.intro-visual img{height:370px}.intro-copy{padding:0}.intro-copy h2{max-width:none}.intro-copy>p:not(.eyebrow){margin:22px 0}.section-heading{gap:20px;align-items:start;flex-direction:column;margin-bottom:32px}.section-heading h2{font-size:32px}.section-heading>div>p:last-child{font-size:14px}.service-grid,.case-grid{grid-template-columns:1fr;gap:28px}.card-picture img{aspect-ratio:1.5}.card-copy{padding:25px}.case-card:nth-child(n){padding:0}.case-card:nth-child(n) img{height:auto;aspect-ratio:1.25}.case-caption{padding-top:15px}.case-caption h3{font-size:21px}.steps{grid-template-columns:1fr 1fr;gap:38px 25px}.steps article{padding-top:25px}.steps article>span{font-size:32px}.steps h3{font-size:20px}.steps p{font-size:13px}.news-grid{grid-template-columns:1fr;gap:25px}.news-card:first-child{grid-row:auto}.news-card:not(:first-child){grid-template-columns:110px 1fr}.news-card:first-child h3{font-size:24px}.cta{padding:55px 0}.cta-inner{align-items:start;flex-direction:column;gap:30px}.cta .eyebrow{font-size:10px}.cta h2{font-size:30px}.partners{padding:40px 0}.partners .eyebrow{font-size:9px;letter-spacing:1.5px}.partner-track{gap:40px}.footer{padding:55px 0 25px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-intro{max-width:450px}.footer-contact .qrcode{position:absolute;right:0;top:55px}.footer-contact>p:not(.eyebrow){max-width:calc(100% - 85px)}.footer-bottom{margin-top:35px;display:block;font-size:10px}.footer-bottom>span{display:block;margin:10px 0}.friend-links{flex-wrap:wrap;margin-top:15px}.floating-service{right:10px;bottom:15px}.inner-hero{height:380px;padding-top:76px}.inner-hero h1{font-size:36px}.inner-hero p:last-child{font-size:14px}.inner-hero .eyebrow{font-size:10px}.listing{padding:40px 0 65px}.article-wrap{padding:35px 0 65px}.article-heading h1{font-size:29px}.richtext{font-size:16px}.richtext h2{font-size:28px}.prev-next{flex-direction:column;gap:15px}.detail-gallery img{height:320px}.tabs{gap:0;justify-content:space-between}.tabs button{padding:13px 9px;font-size:14px}.contact-grid{grid-template-columns:1fr;gap:40px}.consult-form{gap:20px;grid-template-columns:1fr}.consult-form .full{grid-column:auto}.map-panel{height:350px;margin-top:40px}.article-cover{margin-bottom:25px}.search-form{gap:10px}.search-form .button{padding:12px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-aos]{opacity:1!important;transform:none!important}}
.contact-info .phone{color:var(--purple)}
.map-canvas{width:100%;height:100%}.map-canvas[hidden]{display:none}.map-status .map-navigation{justify-self:center}.map-panel{background:#eee6db}
.hero h1{text-wrap:balance}.menu-open .hamburger span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .hamburger span:last-child{transform:translateY(-4px) rotate(-45deg)}@media(max-width:767px){.hero h1{font-size:35px;letter-spacing:1px}}
.hero-pagination .swiper-pagination-bullet{width:44px;height:44px;background:transparent;display:grid;place-items:center;margin:0!important}.hero-pagination .swiper-pagination-bullet:after{content:"";width:6px;height:6px;border-radius:50%;background:white}.detail-gallery .swiper-pagination-bullet{width:44px;height:44px;background:transparent;display:inline-grid;place-items:center;margin:0!important}.detail-gallery .swiper-pagination-bullet:after{content:"";width:7px;height:7px;background:var(--purple);border-radius:50%}@media(max-width:767px){.header-inner{gap:12px}.hamburger{flex-shrink:0}.hero-bottom{justify-content:center}.hero-bottom>a{display:none}.hero-pagination{gap:4px}.hero-pagination .swiper-pagination-bullet{width:44px;height:44px}}
.inner-hero h2{font-size:50px;letter-spacing:5px}@media(max-width:767px){.inner-hero h2{font-size:36px}}
.hero{height:100svh}@media(max-width:767px){.hero{height:100svh}}
