
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#08090b;color:#ececec;font-family:Arial,"Microsoft YaHei",sans-serif}body{overflow-x:hidden;background:radial-gradient(ellipse at 65% 35%,#202126 0%,#111216 36%,#08090b 76%);background-attachment:fixed;min-height:100vh}canvas.stage3d{position:fixed;inset:0;display:block;width:100vw!important;height:100vh!important;pointer-events:none}.overlay{position:relative;z-index:1;transition:opacity .25s}a{color:inherit;text-decoration:none}.site-header{width:100%;max-width:none;margin:0;padding:8px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:52px;height:52px;object-fit:contain}.brand strong{font-size:18px;letter-spacing:.14em}.brand small{display:block;font-size:9px;letter-spacing:.25em;color:#999;margin-top:7px}.nav{display:flex;align-items:center;gap:30px;font-size:13px;color:#c2c2c6}.nav a{padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current]{color:#fff;border-color:#b69a65}.hero{width:100%;max-width:1440px;margin:0 auto;min-height:calc(100vh - 165px);padding:70px 32px 110px;display:grid;grid-template-columns:minmax(310px,.85fr) minmax(0,2.3fr);gap:42px;align-items:end}.eyebrow{color:#b69a65;font-size:10px;letter-spacing:.25em}h1{font-weight:400;font-size:clamp(32px,2.7vw,50px);line-height:1.25;letter-spacing:-.045em;margin:24px 0}p{color:#a9a9ad;font-size:14px;line-height:1.9;margin:0}.intro{max-width:480px;min-height:50vh;display:flex;flex-direction:column;align-items:flex-start}.intro .description{margin-top:auto;padding-top:30px}.description{margin-top:20px;font-size:13px;color:#939398}.module-heading{display:flex;justify-content:flex-end;align-items:baseline;gap:18px;text-align:right;margin-bottom:44px}.module-heading h2{font-size:18px;font-weight:400;margin:0}.module-heading span{font-size:10px;letter-spacing:.15em;color:#b69a65}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.card{display:flex;flex-direction:column;background:#121316ed;border:1px solid #ffffff20;border-radius:10px;overflow:hidden;transition:border-color .2s,transform .2s}.card:hover{border-color:#b69a6588;transform:translateY(-24px)}.card-image{height:132px;flex-shrink:0;overflow:hidden;background:#17191d}.card-image img{width:100%;height:100%;object-fit:cover;display:block;opacity:.83}.card-body{padding:17px 16px 18px;display:flex;flex-direction:column;flex:1}.card-bottom{padding-top:13px}.card-body .card-bottom{margin-top:auto}.card-label{font-size:9px;color:#aaa;letter-spacing:.17em}.card h3{font-size:17px;font-weight:400;margin:10px 0 8px}.card p{font-size:12px;line-height:1.8;color:#a8a8ac}.card-bottom{margin-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#bfc0c5}.card-bottom span:last-child{color:#b69a65}.toolbar{position:fixed;bottom:22px;right:5vw;display:flex;gap:8px;align-items:center;z-index:3}button,select{border:1px solid #ffffff35;background:#151518;color:#ccc;border-radius:24px;padding:9px 13px;font-size:11px;cursor:pointer}button:hover{border-color:#b69a65;color:white}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #b69a65;outline-offset:4px}.toolbar label{font-size:11px;color:#aaa}footer{position:fixed;bottom:28px;left:32px;z-index:2;color:#777;font-size:10px;line-height:1.7}.hidden-copy .overlay,.hidden-copy footer{opacity:0;visibility:hidden;pointer-events:none}#error{position:fixed;z-index:4;left:5vw;bottom:90px;max-width:80vw;color:#ffc7b0}#error[hidden]{display:none}@media(max-width:1100px){.hero{grid-template-columns:280px minmax(0,1fr);gap:26px}.cards{grid-template-columns:repeat(4,210px);overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}.card{scroll-snap-align:start}.hero>section{min-width:0}.nav{gap:16px}.card-image{height:95px}.card-body{padding:14px}.card h3{font-size:15px}h1{font-size:42px}}@media(max-width:760px){.site-header{padding:22px 6vw;flex-wrap:wrap;gap:18px}.brand img{width:40px;height:40px}.brand strong{font-size:16px}.nav{justify-content:space-between;gap:12px;width:100%;font-size:12px}.hero{display:block;padding:48px 6vw 80px;min-height:0}.intro{margin-bottom:48px;min-height:0}.intro .description{margin-top:20px;padding-top:0}h1{font-size:clamp(32px,8.5vw,52px)}.cards{grid-template-columns:repeat(4,220px);gap:12px}.card-image{height:90px}.card h3{font-size:14px}.card p{font-size:11px}.card-body{padding:13px 12px}.toolbar{left:0;right:0;bottom:0;justify-content:center;padding:16px 5px;background:#0b0b0cf5;border-top:1px solid #ffffff15}.toolbar label{display:none}footer{position:relative;bottom:auto;left:auto;margin:0 6vw 24px;font-size:9px}.module-heading h2{font-size:17px}}

/* Static development layout: wrapping service cards and a quiet contact footer. */
.hero{min-height:calc(100vh - 280px);padding-top:40px;padding-bottom:60px}
.intro h1{font-size:clamp(42px,4.1vw,62px);line-height:1.2;letter-spacing:-.04em;display:flex;flex-direction:column;gap:8px;margin:25px 0 24px}
.intro .service-line{font-size:12px;color:#b7b0a5;letter-spacing:.04em}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:0;scroll-snap-type:none}.card-image{height:115px}.intro h1{font-size:46px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.footer-qr{justify-self:start}}
@media(max-width:760px){.hero{padding:35px 6vw 55px}.intro{min-height:0}.intro h1{font-size:clamp(42px,10vw,62px);gap:4px}.intro .description{margin-top:24px}.site-footer{margin:0;padding:0 6vw 24px}.footer-top{gap:26px 18px}.footer-contact .footer-phone{font-size:17px}.footer-qr{gap:10px}.footer-qr img{width:72px;height:72px}.footer-qr p{font-size:11px}.footer-bottom{flex-direction:column;gap:8px}.module-heading{gap:12px}}
@media(max-width:480px){.cards{grid-template-columns:minmax(0,1fr)}.card-image{height:170px}.card h3{font-size:18px}.card p{font-size:13px}.card-body{padding:20px}.footer-top{grid-template-columns:minmax(0,1fr)}.footer-qr img{width:96px;height:96px}}

/* Minimal footer: one quiet line; QR is available on demand. */
.site-footer{position:relative;bottom:auto;left:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1440px;margin:0 auto;padding:18px 32px 24px;border:0;color:#88857e;font-size:10px;line-height:1.8;letter-spacing:.025em}
.footer-inline{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.site-footer a:hover,.footer-wechat summary:hover{color:#b69a65}.footer-wechat{position:relative}.footer-wechat summary{cursor:pointer;list-style:none}.footer-wechat summary::-webkit-details-marker{display:none}.footer-wechat summary:focus-visible{outline:1px solid #b69a65;outline-offset:5px}.wechat-popover{position:absolute;right:0;bottom:calc(100% + 14px);z-index:5;padding:12px;background:#18191b;border:1px solid #b69a6540;border-radius:4px;width:160px;text-align:center;box-shadow:0 8px 24px #0006}.wechat-popover img{display:block;width:128px;height:128px;background:white}.wechat-popover span{display:block;font-size:9px;margin-top:8px;white-space:nowrap}
@media(max-width:760px){.site-footer{padding:16px 6vw 24px;flex-wrap:wrap;gap:10px}.footer-inline{gap:10px 18px}.footer-copyright{width:100%}}

/* Footer sits at the viewport bottom on short pages and follows tall content. */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
body>.overlay{flex:1 0 auto}
body>.site-footer{flex-shrink:0;margin-top:auto}

/* Full-width minimal footer, aligned with the header gutters. */
body>.site-footer{width:100%;max-width:none;padding-left:32px;padding-right:32px}
.footer-copyright,.footer-inline>a,.footer-wechat summary{display:inline-flex;align-items:center;gap:7px}
.footer-icon{width:13px;height:13px;flex-shrink:0;color:#b69a65;opacity:.85}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){body>.site-footer{padding-left:6vw;padding-right:6vw}}

/* Reserve a compact banner below navigation; anchor the hero near the footer. */
body>.overlay{display:flex;flex-direction:column}
.banner-slot{width:calc(100% - 64px);max-width:1376px;min-height:76px;margin:12px auto 0;padding:18px 24px;display:flex;align-items:center;gap:20px;border:1px dashed #b69a652b;border-radius:4px;background:linear-gradient(100deg,#b69a6509,transparent);color:#827e75;font-size:12px}
.banner-label{font-size:9px;letter-spacing:.2em;color:#b69a65}.banner-hint{margin-left:auto;font-size:10px;color:#64635e}
.hero{flex:1 0 auto;min-height:0;padding-top:48px;padding-bottom:36px;align-items:end}
@media(max-width:760px){.banner-slot{width:88%;margin-top:8px;min-height:66px;padding:15px;gap:14px}.banner-hint{display:none}.hero{padding-top:38px;padding-bottom:36px}}

.banner-slot{border-color:transparent;background:none}
