.contact-hero-grid{gap:64px;align-items:start}.contact-hero-copy{display:flex;flex-direction:column}.visit-landscape{position:relative;overflow:hidden;margin-bottom:30px;aspect-ratio:16/8;border-radius:2px}.visit-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 65%;animation:visit-arrive 1.2s ease-out both}.visit-landscape:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#17271dcc)}.visit-landscape span{position:absolute;bottom:24px;left:26px;color:#fff;z-index:1;font-size:14px;letter-spacing:.1em}.contact-hero-copy .eyebrow{margin-bottom:16px}.contact-hero-copy h1{font-size:clamp(38px,4vw,58px);line-height:1.4}.contact-hero-copy h1 br{display:none}.contact-hero-copy .body-copy{margin-top:18px}.contact-actions{margin-top:24px}.wechat-card{padding:30px;gap:0}.wechat-code{width:min(100%,250px)}.wechat-card .official-account-hint{width:100%;font-size:13px;line-height:1.8}.wechat-card .official-account-hint img{max-width:210px}.contact-store-photo{overflow:hidden}.contact-store-photo img{object-position:65% center;transition:transform 1s ease}.contact-store-photo:hover img{transform:scale(1.035)}@keyframes visit-arrive{from{transform:scale(1.045);opacity:.4}to{transform:scale(1);opacity:1}}@media(max-width:760px){.contact-hero-grid{gap:28px}.visit-landscape{aspect-ratio:16/10;margin-bottom:24px}.visit-landscape span{left:18px;bottom:18px;font-size:12px}.contact-hero-copy h1{font-size:39px}.wechat-card{padding:26px 20px}.contact-store-photo img{object-position:70% center}}@media(prefers-reduced-motion:reduce){.visit-landscape img{animation:none}.contact-store-photo img{transition:none}.contact-store-photo:hover img{transform:none}}
/* 2026-10-04: contained contact panel, matched to the visit section */
.contact-details.wrap{
 width:min(1380px,calc(100% - 112px));margin:56px auto 72px;
 padding:48px 52px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
 gap:clamp(32px,4vw,64px);align-items:start;border-radius:4px;
}
.contact-details-heading{padding-top:8px;min-width:0}
.contact-details-heading h2{font-size:clamp(30px,2.7vw,40px);line-height:1.55;letter-spacing:.01em}
.contact-details-heading .eyebrow{margin-bottom:16px}
.contact-details-heading .body-copy{font-size:15px;line-height:1.95;margin-top:20px;max-width:27em}
.contact-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:0;min-width:0}
.contact-detail-list>a,.contact-detail-list>div{
 display:flex;flex-direction:column;align-items:flex-start;gap:9px;
 min-width:0;padding:20px 0;border-top:1px solid #82967b6b;border-bottom:0;
}
.contact-detail-list>a>span,.contact-detail-list>div>span{font-size:12px;color:#c2a181;letter-spacing:.1em}
.contact-detail-list strong,.contact-detail-list>div strong{font-size:22px;font-family:var(--serif);font-weight:500;line-height:1.6;overflow-wrap:anywhere}
.contact-detail-list em,.contact-detail-list>div em{font-style:normal;font-size:13px;line-height:1.8;color:#d5dbd0;align-self:auto;margin-top:auto;padding-top:2px}
.contact-detail-list>a:last-child strong{font-size:18px}
.contact-store-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:1100px){
 .contact-details.wrap{width:calc(100% - 64px);padding:36px;gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .contact-detail-list{gap:0 20px}
 .contact-detail-list strong,.contact-detail-list>div strong{font-size:20px}
 .contact-hero-grid{gap:32px}
 .contact-store-card{padding:36px 32px}
 .contact-store-card h2{font-size:30px}
}
@media(max-width:900px){
 .contact-details.wrap{grid-template-columns:1fr;gap:28px}
 .contact-details-heading .body-copy{max-width:42em}
 .contact-details-heading h2 br{display:none}
}
@media(max-width:760px){
 .contact-details.wrap{width:calc(100% - 40px);margin:32px auto 44px;padding:28px 24px;gap:26px}
 .contact-details-heading{padding-top:0}
 .contact-details-heading h2{font-size:29px}
 .contact-details-heading h2 br{display:block}
 .contact-detail-list{grid-template-columns:1fr;gap:0}
 .contact-detail-list>a,.contact-detail-list>div{padding:18px 0;gap:6px}
 .contact-detail-list>a:last-child{padding-bottom:0}
 .contact-detail-list strong,.contact-detail-list>div strong{font-size:21px}
 .contact-detail-list>a:last-child strong{font-size:19px}
 .contact-details-heading .body-copy{font-size:15px}
 .contact-hero-copy h1{font-size:clamp(30px,8.8vw,39px)}
 .contact-actions{gap:12px}
 .contact-actions .button{padding-inline:16px;gap:18px}
 .contact-store-card{padding:30px 24px 34px}
 .contact-store-card h2{font-size:clamp(25px,7vw,30px)}
}
@media(max-width:370px){.contact-details.wrap{width:calc(100% - 32px);padding-inline:20px}}

