/* Shared alignment and measured spacing for the single-page layout. */
.section{max-width:1360px;padding:76px 60px}.section-heading{margin-bottom:32px;align-items:center}.section-heading h2{font-size:34px;line-height:1.45;margin-top:12px}.section-heading>p{font-size:13px}.about-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:stretch}.about-visual{position:relative;min-height:440px;margin:0;overflow:hidden}.about-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.about-visual figcaption{position:absolute;left:22px;bottom:20px;background:#243f35b8;color:#fff;padding:6px 13px;font-size:12px}.about-prose{display:flex;flex-direction:column;gap:18px}.about-prose p{font-size:15px;line-height:2.1;color:#657268;margin:0;text-align:justify}.about-address{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:7px 18px;font-size:13px}.about-address small{font-size:12px;color:var(--muted)}.gallery-item img{height:245px}.collection .section-heading>p{max-width:340px}.product-grid{gap:28px}.product-card{display:flex;flex-direction:column;border-color:#dfe4d9}.product-photo{aspect-ratio:3/2;background:#edf1e7}.product-photo img{width:100%;height:100%;object-fit:cover}.product-body{padding:23px 24px 0;display:flex;flex-direction:column;flex:1}.product-category{font-size:11px;color:#748368;display:flex;justify-content:space-between;letter-spacing:1px}.product-category span{letter-spacing:0}.product-body h3{font-family:"Songti SC",serif;font-weight:500;font-size:24px;line-height:1.5;margin:12px 0 5px}.product-type{font-size:14px;color:var(--muted);margin-bottom:22px}.price{margin-top:auto;padding:17px 0 18px;border-top:1px solid #e5e8df}.price small{font-size:10px;color:#7b8277;display:block;margin-bottom:5px}.price>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.price strong{font:500 29px/1.3 Georgia,serif;color:#5c6545}.price em{font-style:normal;font-size:18px;margin-right:5px}.price span{font-size:11px;color:#7b8277}.product-call{font-size:13px;padding:15px 0;border-top:1px solid #e5e8df;display:flex;justify-content:space-between;align-items:center}.product-call:hover{color:#937c4e}.source-note{font-size:12px;max-width:none}.visit-layout{display:grid;grid-template-columns:1.45fr 1fr;border:1px solid #dfe4d8;background:#f1f3eb}.route-panel{margin:0;padding:24px;background:#eef1e7;display:flex;flex-direction:column;justify-content:center}.route-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:14px}.route-title small{font-size:11px;color:var(--muted)}.route-panel .image-open{background:white;border:8px solid white}.route-panel img{width:100%;height:auto;object-fit:contain;transform:none}.route-panel figcaption{font-size:11px;color:var(--muted);margin-top:14px}.visit-info{padding:36px 34px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.panel-kicker{font-size:11px;color:#849177;letter-spacing:2px}.visit-info h3{font-family:"Songti SC",serif;font-size:28px;line-height:1.65;font-weight:500;margin-top:13px}.visit-info dl{margin:20px 0 26px}.visit-info dl>div+div{margin-top:18px}.visit-info dt{font-size:11px;color:#89917f;margin-bottom:6px}.visit-info dd{margin:0;font-size:14px;color:#56675b;line-height:1.9}.visit-info .button{width:100%;font-size:13px}.visit-info .text-link{margin-top:17px;font-size:12px}.visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:30px 0 0}.visit-steps li,.visit-steps li:first-child{padding:0 25px 0 0;border:0;border-right:1px solid var(--line);gap:18px}.visit-steps li:last-child{border-right:0;padding-right:0}.visit-steps h3{font-size:16px}.visit-steps p{font-size:12px;margin-top:8px}.visit-steps li>span{font-size:23px}.contact{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;margin:60px auto;padding:40px 48px;max-width:1240px;width:calc(100% - 120px);align-items:center;background:#243f35}.contact h2{font-size:33px;margin:12px 0}.contact-services{font-size:13px;color:#cbd4c5}.contact-phone{margin-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 23px}.contact-phone small{width:100%;font-size:11px;color:#bfcbb5;letter-spacing:1px}.phone-number{font:500 36px/1.5 Arial,sans-serif;letter-spacing:1px}.call-button{font-size:12px;padding:9px 17px;border:1px solid #c5ceb4;color:#e6eddb}.contact .wechat{display:block;border-left:1px solid #ffffff30;padding-left:42px;text-align:center;margin:0}.contact .wechat a{width:168px;padding:10px;margin:auto;display:block;background:#fff}.contact .wechat img{width:148px;height:auto;display:block}.contact .wechat p{font-size:13px;margin:11px 0 3px;color:#f4f1e4}.contact .wechat small{font-size:10px;line-height:1.7;color:#c1cbbb;white-space:normal}.skip{left:10px;transform:translateY(-150%);top:0}.skip:focus{transform:none;top:10px}.culture{height:320px}.culture h2{font-size:34px}
@media(max-width:1100px){.section{padding:60px 36px}.about-layout{gap:30px;grid-template-columns:1.2fr 1fr}.about-prose p{font-size:14px}.product-grid{gap:20px}.product-body{padding:20px 18px 0}.product-body h3{font-size:21px}.gallery-item img{height:200px}.visit-info{padding:25px}.visit-info h3{font-size:25px}.contact{width:calc(100% - 72px);padding:34px;gap:30px;grid-template-columns:minmax(0,1fr) 220px}.contact .wechat{padding-left:28px}.phone-number{font-size:30px}}
@media(max-width:760px){.section{padding:50px 24px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:29px}.section-heading>p{margin-top:10px;font-size:12px}.about-layout{grid-template-columns:1fr;gap:24px}.about-visual{min-height:0;aspect-ratio:4/3}.about-prose{gap:16px}.about-prose p{font-size:14px;line-height:2}.about-address{font-size:12px;padding-top:16px}.gallery-item img{height:auto;aspect-ratio:3/2}.product-grid{gap:24px}.product-body{padding:22px 22px 0}.product-body h3{font-size:24px}.product-photo img{height:100%;max-height:none}.price strong{font-size:28px}.visit-layout{grid-template-columns:1fr}.route-panel{padding:18px}.route-title{font-size:13px}.route-title small{font-size:10px}.route-panel .image-open{border-width:5px}.route-panel figcaption{font-size:10px}.visit-info{padding:25px}.visit-info h3{font-size:26px}.visit-info h3 br{display:none}.visit-info dl{margin:20px 0}.visit-info .button{max-width:360px}.visit-steps{grid-template-columns:1fr;gap:0;padding-top:12px}.visit-steps li,.visit-steps li:first-child,.visit-steps li:last-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.visit-steps li:last-child{border-bottom:0}.visit-steps p{font-size:13px}.contact{width:calc(100% - 48px);padding:28px 24px;display:block;margin:36px auto}.contact h2{font-size:28px}.contact .eyebrow{font-size:10px}.contact-services{font-size:12px;line-height:1.9}.contact-phone{gap:10px;margin-top:24px}.phone-number{font-size:28px;letter-spacing:0}.call-button{padding:8px 14px}.contact .wechat{border-left:0;border-top:1px solid #ffffff30;padding:25px 0 0;margin-top:25px}.contact .wechat a{width:180px}.contact .wechat img{width:160px}.culture{height:300px}.culture h2{font-size:27px}.faq h2{font-size:28px}}

/* v7: integrate section descriptions with their headings. */
.about-section .section-heading,.landscape .section-heading,.collection .section-heading{display:block;border-bottom:1px solid #dce1d5;padding-bottom:22px;margin-bottom:30px;position:relative}
.about-section .section-heading:after,.landscape .section-heading:after,.collection .section-heading:after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:2px;background:#7c8e6b}
.about-section .section-heading h2,.landscape .section-heading h2,.collection .section-heading h2{margin:10px 0 0}
.landscape .section-heading>p,.collection .section-heading>p{max-width:none;margin:12px 0 0;font-size:13px;line-height:1.8;color:#77816f}
.collection .filters{border-bottom:0;padding-bottom:0;margin-bottom:26px}
@media(max-width:760px){.about-section .section-heading,.landscape .section-heading,.collection .section-heading{padding-bottom:18px;margin-bottom:24px}.landscape .section-heading>p,.collection .section-heading>p{font-size:12px;margin-top:10px}.collection .filters{margin-bottom:22px}}
