/* Homepage header/footer rules, synchronized 2026-10-08. */
.header,footer{--green:#25262c;--ink:#292a2d;--gold:#b39a67;--paper:#f7f5f0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}footer{display:block}footer p,footer h3{margin:0}footer h3{font-family:inherit;line-height:1.8;font-weight:500}.header .brand b,footer .brand b{border:0;padding:0}.header .brand,footer .brand{line-height:1.8}footer .brand span,.header .brand span{letter-spacing:1.2px}
.wrap{width:min(1140px,86%);margin-inline:auto}
.header{height:88px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding-inline:6%;gap:25px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand svg{width:29px;height:39px;color:#d3c28d}
.brand span{font:12px/1.2 Arial;letter-spacing:1.2px}
.brand b{font-size:18px;font-weight:400;letter-spacing:3px}
.brand i{width:1px;height:30px;background:#ffffff35;margin-inline:5px}
.header nav{display:flex;gap:28px;align-items:center;font-size:12px;white-space:nowrap}
.header nav a{transition:color .25s}
.header nav a:hover{color:#dac899}
.nav-contact{border-bottom:1px solid #c1ad7d;padding-block:8px}
footer{background:var(--green);color:#d6dbce;padding:48px 0 25px}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:22px}
.footer-main p{font:italic 22px Georgia;color:#afbdab}
.footer-main>a:last-child{font-size:12px}
.footer-bottom{border-top:1px solid #ffffff1a;margin-top:38px;padding-top:24px;display:flex;justify-content:space-between;font-size:10px;color:#9aa594}
@media(min-width:1700px){.wrap{width:1250px}
}
@media(max-width:1050px){.header{padding-inline:4%;gap:20px;flex-wrap:wrap;height:auto;min-height:100px;padding-block:17px}
.header nav{gap:20px}
.brand b{font-size:16px}
.footer-main p{display:none}
}
@media(max-width:700px){.header{display:block;padding:18px 6% 10px}
.brand svg{width:24px;height:32px}
.brand span{font-size:10px}
.brand b{font-size:15px}
.header nav{gap:24px;overflow-x:auto;margin-top:16px;padding-bottom:10px;font-size:11px;scrollbar-width:none}
.header nav a{flex-shrink:0}
.wrap{width:86%}
.footer-main{flex-wrap:wrap}
.footer-bottom{flex-direction:column;gap:8px}
}
.wrap{width:min(1480px,86%)}
.company-logo{width:45px;height:45px;object-fit:contain;background:white;padding:3px}
.header{position:absolute;inset:0 0 auto;z-index:10;background:transparent;height:94px;padding-inline:5.5%}
footer{background:#25262c}
.footer-main p{color:#c1b59c}
.footer-bottom{color:#aaa}
.header:has(~ #temporary:not([hidden])){background:#25262c}
@media(min-width:1700px){.wrap{width:min(1520px,86%)}
}
@media(max-width:1050px){.header{height:auto;min-height:95px}
}
@media(max-width:700px){.header{padding:16px 6%;background:#25262c;height:120px}
.company-logo{width:34px;height:34px}
.footer-main .brand b{font-size:14px}
}
@media(max-width:360px){.header nav{gap:18px}
}
.footer-company{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-top:40px;margin-top:35px;border-top:1px solid #ffffff1a}
.footer-company h3{font-size:13px;color:#e5ddcb;margin-bottom:16px;letter-spacing:1px}
.footer-company p,.footer-company a{font-size:12px;color:#b6b8bb;line-height:2.2}
.footer-company a{display:block;overflow-wrap:anywhere}
.footer-company a:hover{color:white}
@media(max-width:700px){.footer-company{grid-template-columns:1fr;gap:25px}
}
.footer-company h3 small{font-size:10px;font-weight:400;color:#a8a8a8;margin-left:6px}
.mobile-menu{display:none}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}
.header{position:absolute;top:12px;left:12px;right:12px;height:64px;min-height:0;padding:10px 13px;display:flex;flex-wrap:nowrap;gap:8px;background:#20332942;backdrop-filter:blur(16px);border:1px solid #ffffff28;border-radius:18px;z-index:20}
.header .brand{gap:7px}
.header .company-logo{width:31px;height:31px;padding:2px;border-radius:7px}
.header .brand span{font-size:8px;letter-spacing:.5px}
.header .brand i{height:24px;margin-inline:2px}
.header .brand b{font-size:13px;letter-spacing:1px}
.mobile-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;flex-shrink:0;margin-left:auto;border:0;border-radius:50%;background:#f5f5eb;color:#344631}
.mobile-menu span{display:block;width:17px;height:1px;background:currentColor;transition:transform .25s}
.menu-open .mobile-menu span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-open .mobile-menu span:last-child{transform:translateY(-3px) rotate(-45deg)}
.header nav{display:none;position:absolute;top:73px;left:0;right:0;padding:12px;margin:0;border-radius:18px;background:#f7f7f0fa;color:#29392e;box-shadow:0 12px 35px #0003;overflow:visible;white-space:normal}
.header.menu-open nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.header nav a{display:flex;align-items:center;min-height:46px;font-size:13px;padding:10px 14px;border-radius:10px;background:#e8eadf}
.header .nav-contact{border:0;background:#485537;color:white}
footer{background:#f7f7f1;color:#344631;padding:32px 0 25px}
.footer-main{gap:20px}
.footer-main .brand{gap:8px}
.footer-main .company-logo{width:32px;height:32px;border-radius:7px}
.footer-main .brand span{font-size:9px}
.footer-main .brand b{font-size:14px}
.footer-main .brand i{background:#34463125}
.footer-main>a:last-child{min-height:44px;display:flex;align-items:center;font-size:12px}
.footer-company{border-color:#34463120;gap:20px;padding-top:24px;margin-top:15px}
.footer-company h3{color:#3c4934;font-size:12px;margin-bottom:8px}
.footer-company p,.footer-company a{color:#75806d;font-size:11px}
.footer-company a{min-height:36px;display:flex;align-items:center}
.footer-bottom{border-color:#34463120;color:#8d9585;margin-top:24px;font-size:9px}
.footer-company h3 small{color:#858f7c}
.header:has(~ #temporary:not([hidden])){background:#334531}
}
@media(max-width:360px){.header .brand b{font-size:12px}
.header .brand span{font-size:7px}
.header .brand{gap:5px}
}
@media(max-width:700px){.footer-main>a:last-child:not(.brand),.footer-company>div:first-child>h3,.footer-company>div:last-child>p,.footer-company>div:last-child>a:last-child,.footer-bottom>span:last-child{display:none}
.footer-main{padding-bottom:0}
.footer-company{margin-top:20px}
}
.header,footer{font-size:15px;line-height:1.8}.header a:focus-visible,footer a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
@media(max-width:700px){.header,footer{font-size:14px}}@media(min-width:701px){.mobile-menu{color:#000}}
/* Latest requested dark homepage-style diagonal gradient texture. */
footer{background-color:#24252f;background-image:linear-gradient(150deg,#32344012,transparent 45%,#11121b24),repeating-linear-gradient(135deg,#14151e20 0px,#14151e20 24px,#282a3400 73px,#34364210 115px,#14151e20 166px);color:#e3e4dc}footer .brand i{background:#ffffff30}.footer-company,.footer-bottom{border-color:#ffffff20}.footer-company h3{color:#e3e4dc}.footer-company p,.footer-company a,.footer-company h3 small{color:#b3b9ad}.footer-bottom{color:#a0a99b}
@media(max-width:700px){footer{padding:12px 0 10px}footer .wrap{width:calc(100% - 32px)}.footer-main{margin:0 auto;gap:0}.footer-main .company-logo{width:25px;height:25px}.footer-main .brand span{font-size:7px}.footer-main .brand b{font-size:11px}.footer-main .brand i{height:19px}.footer-company{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-top:8px;padding-top:7px}.footer-company>div:first-child{display:none}.footer-company h3{font-size:9px;margin:0 0 3px}.footer-company h3 small{font-size:7px}.footer-company p,.footer-company a{font-size:9px;line-height:1.6;margin:0;min-height:0}.footer-company a{padding:1px 0}.footer-bottom{margin-top:7px;padding-top:6px;font-size:8px}.footer-company>div:last-child>a:last-child,.footer-company>div:last-child>p{display:none}}
/* Listing footer shares the composition with the lower part of the oversized wheel. */
@media(max-width:700px){.listing-page .mobile-wheel{overflow:visible}.listing-page .mobile-wheel-window{bottom:-170px;z-index:1}.listing-page .mobile-wheel-copy{z-index:2}.listing-page .wheel-controls{bottom:10px}.listing-page>footer{position:relative;min-height:170px;height:170px;padding:10px 16px 8px;overflow:hidden;background:linear-gradient(180deg,#17281e,#24252f 85%)}.listing-page>footer .wrap{width:auto;margin-left:48%;margin-right:0;position:relative;z-index:2}.listing-page>footer .footer-main .brand{gap:5px;flex-wrap:wrap}.listing-page>footer .footer-main .brand i,.listing-page>footer .footer-main .brand b{display:none}.listing-page>footer .footer-main .company-logo{width:23px;height:23px}.listing-page>footer .footer-main .brand span{font-size:7px}.listing-page>footer .footer-company{display:block;margin-top:7px;padding-top:0;border:0}.listing-page>footer .footer-company>div:nth-child(2){display:none}.listing-page>footer .footer-company h3{display:none}.listing-page>footer .footer-company>div:last-child:before{content:'Melbourne · 设计 / 施工 / 养护';display:block;font-size:8px;color:#c3cbbd;margin-bottom:4px;white-space:nowrap}.listing-page>footer .footer-company a{font-size:8px;line-height:1.7;padding:1px 0;white-space:nowrap}.listing-page>footer .footer-bottom{margin-top:8px;padding-top:6px;font-size:7px;border-color:#ffffff20}.listing-page .mobile-wheel-window{pointer-events:none}.listing-page .mobile-ring [data-mobile-index]{pointer-events:auto}.listing-page main{position:relative;z-index:1}}
@media(max-width:700px){.listing-page .mobile-wheel-overlay{background:linear-gradient(180deg,transparent calc(100% - 200px),#24252f 100%),linear-gradient(180deg,#00130a55,transparent 45%),linear-gradient(90deg,#07191650,#07191610)}.listing-page>footer{height:min(170px,25svh);min-height:0;background-color:#24252f;background-image:linear-gradient(150deg,#32344012,transparent 45%,#11121b24),repeating-linear-gradient(135deg,#14151e20 0px,#14151e20 24px,#282a3400 73px,#34364210 115px,#14151e20 166px)}.listing-page>footer .wrap{margin-left:50%}.listing-page .mobile-wheel-window{z-index:1}.listing-page .mobile-wheel-bg,.listing-page .mobile-wheel-overlay{pointer-events:none}.listing-page>footer .footer-company a{font-size:8px}}

/* Keep the contact block outside the wheel at every viewport aspect ratio. */
@media(max-width:700px){.listing-page>footer{height:auto;min-height:min(170px,25svh);padding-top:var(--footer-safe-top,40px);padding-bottom:16px}.listing-page .wheel-hit{pointer-events:all;touch-action:none}.listing-page>footer .footer-company a{white-space:normal;overflow-wrap:anywhere}}
/* Review 27: finish the wheel at the shared footer, without the old protruding tail. */
@media(max-width:700px){.listing-page .mobile-wheel{overflow:hidden}.listing-page .mobile-wheel-window{bottom:0;overflow:hidden}.listing-page .mobile-wheel-overlay{background:linear-gradient(90deg,#07191650,#07191610)}.listing-page .mobile-wheel:after{height:95px;background:linear-gradient(transparent,#091015)}.listing-page .site-ending{position:relative;background-color:#091015}.listing-page .site-ending:before{content:'';position:absolute;top:0;left:0;right:0;height:55px;background:linear-gradient(#091015,transparent);pointer-events:none}}

@media(max-width:700px){.listing-page main{z-index:3}.listing-page .mobile-wheel{overflow:visible}.listing-page .mobile-wheel-window{bottom:-130px;overflow:visible;z-index:6;pointer-events:none}.listing-page .mobile-ring{position:relative;z-index:6}.listing-page .mobile-wheel:after{z-index:0}.listing-page .site-ending{z-index:1}.listing-page .site-ending #H9{padding-top:145px!important}.listing-page .mobile-wheel-copy{z-index:7}}
@media(max-width:700px){.listing-page .mobile-wheel-window{overflow:hidden;bottom:-130px}.listing-page .mobile-wheel-copy{transform:none!important}.listing-page .wheel-copy-content{padding-top:12px}}
