/* WZX FIX9-E1 | Visual refinement | 2026-10-30
   Photo elements are original-user-photo crops, not synthetic case evidence.
   No SEO, CMS, URL, database or Nginx modifications. */
:root{--wzx-e-navy:#142943;--wzx-e-deep:#10243b;--wzx-e-gold:#b8945c;--wzx-e-cream:#f8f5ef}
/* Site footer: one premium visual closing section on all pages. */
.site-footer{background:var(--wzx-e-deep)!important;color:#f4f6fa!important;border-top:3px solid #b8945c!important}
.site-footer .footer-top{padding-top:38px!important;padding-bottom:28px!important;gap:20px!important;align-items:start}
.site-footer .footer-brand h2{color:#fff!important;letter-spacing:.035em}
.site-footer .footer-brand p,.site-footer .footer-brand small,.site-footer .footer-contact,.site-footer .footer-contact span{color:#d8e1ed!important}
.site-footer a,.site-footer .footer-contact a{color:#f7f7fa!important;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:#e5ba79!important}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:12px 21px!important;line-height:1.8}
.site-footer .footer-bottom{color:#aebdce!important;border-top:1px solid rgba(255,255,255,.18)!important;font-size:12px!important;line-height:1.75!important}
.site-footer .footer-bottom span{color:#aebdce!important}
/* About: two factual photos are intentionally different contexts (professional / office). */
.about-photo,.credibility-photo{overflow:hidden;border-radius:12px}
.about-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;aspect-ratio:4/5}
.credibility-photo>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
/* Case narrative: prevent distorted tall portrait and oversized sidebar. */
.case-story-layout,.case-story-grid{align-items:start!important}
.case-story-aside{position:static!important;align-self:start!important;display:flex!important;flex-direction:column;gap:14px!important;min-width:0;max-width:100%}
.case-story-aside img{width:100%!important;height:auto!important;max-height:none!important;display:block;object-fit:contain!important;object-position:center;background:#f5f1e9;border-radius:9px;box-shadow:0 9px 24px rgba(16,36,59,.10)}
.case-story-aside img:first-of-type{aspect-ratio:4/3}
.case-story-aside img:nth-of-type(2){aspect-ratio:3/2}
.case-story-aside p,.case-story-aside figcaption{font-size:12px!important;line-height:1.8;color:#667487}
.case-story-copy{min-width:0;overflow-wrap:anywhere}
.case-story-copy :is(img,video){max-width:100%;height:auto}
.article-visual{overflow:hidden}
.article-visual img{display:block;width:100%;height:100%;object-fit:cover}
/* Touch affordances */
a:focus-visible,button:focus-visible{outline:3px solid #ca9d60;outline-offset:3px}
@media(max-width:980px){
 .site-footer .footer-top{gap:22px}
 .case-story-aside img{max-width:100%}
}
@media(max-width:690px){
 html,body{max-width:100%;overflow-x:clip}
 .site-footer .footer-top{display:flex!important;flex-direction:column!important;gap:18px!important;padding:29px 0 24px!important}
 .site-footer .footer-brand h2{font-size:25px!important;line-height:1.32!important;margin:0 0 9px!important}
 .site-footer .footer-brand p{font-size:13px!important;margin:0 0 6px!important;line-height:1.7!important}
 .site-footer .footer-brand small{font-size:12px!important;line-height:1.7!important;letter-spacing:0}
 .site-footer .footer-contact{width:100%;display:grid!important;gap:12px!important;padding:16px 0!important;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
 .site-footer .footer-contact>span{display:flex;gap:10px;align-items:start;font-size:13px!important;line-height:1.8!important}
 .site-footer .footer-contact a{font-size:19px!important;font-weight:750!important;letter-spacing:.015em}
 .site-footer .footer-links{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px!important;row-gap:6px!important}
 .site-footer .footer-links a{min-height:38px;display:flex;align-items:center;font-size:12px!important;white-space:normal}
 .site-footer .footer-bottom{display:block!important;padding:14px 0 calc(96px + env(safe-area-inset-bottom,0px))!important;font-size:11px!important;line-height:1.85!important}
 .site-footer .footer-bottom span{display:block!important;margin:0 0 7px!important}
 /* Keep existing working WeChat-copy button & telephone click handlers; hide duplicate first action. */
 .mobile-bar{height:auto!important;min-height:67px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:9px 13px calc(9px + env(safe-area-inset-bottom,0px))!important;background:#fff!important;box-shadow:0 -8px 30px rgba(17,38,61,.10)!important;z-index:999!important}
 .mobile-bar>*{min-width:0!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;text-align:center!important;font-size:14px!important;font-weight:650!important;line-height:1.3!important;white-space:nowrap}
 .mobile-bar>a:first-child{display:none!important}
 .mobile-bar>button[data-copy-wechat]{background:#f4f0ea!important;color:var(--wzx-e-navy)!important;border:1px solid #e2d5c4!important;padding:10px 12px!important;cursor:pointer}
 .mobile-bar>a.r5-mobile-call,.mobile-bar>a[href^="tel:"]{background:var(--wzx-e-navy)!important;color:#fff!important;border:1px solid var(--wzx-e-navy)!important;padding:10px 12px!important;text-decoration:none!important}
 .mobile-bar>button[data-copy-wechat]:before{content:"✦";margin-right:7px;color:var(--wzx-e-gold)}
 .case-story-body{padding:20px 0 38px!important}
 .case-story-copy{padding:20px 16px!important}
 .case-story-aside{margin-top:18px!important;gap:9px!important}
 .case-story-aside img:first-of-type{aspect-ratio:4/3!important}
 .case-story-aside img:nth-of-type(2){aspect-ratio:3/2!important}
 .about-photo{max-width:100%!important}
 .about-photo img{aspect-ratio:4/5;object-position:center 30%}
}
@media(min-width:691px){
 .case-story-aside{max-width:450px;margin:0 auto}
 .site-footer .footer-bottom{padding-bottom:20px!important}
}
@media(prefers-reduced-motion:reduce){.mobile-bar *{transition:none!important}}
