:root{--mp-primary:#141414;--mp-primary-dark:#0a0a0a;--mp-primary-light:#6b6b6b;--mp-accent:#6b6b6b;--mp-primary-pale:#1414141f;--mp-ink:#171717;--mp-ink-2:#4d4d4d;--mp-muted:#8a8a8a;--mp-line:#e4e4e4;--mp-soft:#f2f2f2;--mp-cream:#f6f6f6;--mp-bg:#fdfdfd;--mp-font-sans:"Plus Jakarta Sans", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang HK", "Microsoft JhengHei", sans-serif;--mp-font-display:"Fraunces", "Noto Serif TC", "Times New Roman", serif;--mp-font-mono:"JetBrains Mono", "SF Mono", monospace;--mp-container:1240px;--mp-radius:4px;--mp-radius-sm:2px;--mp-radius-lg:8px;--mp-shadow-sm:0 1px 2px #0000000d, 0 4px 14px #0000000a;--mp-shadow:0 8px 28px #00000012, 0 20px 48px #0000000d;--mp-shadow-lg:0 16px 40px #00000017, 0 32px 64px #00000012;--mp-section-py:clamp(80px, 10vw, 140px);--mp-ease:cubic-bezier(.32, .72, 0, 1);--mp-ease-fluid:cubic-bezier(.32, .72, 0, 1);--mp-duration:.7s;--seg:var(--mp-primary);--seg-soft:#1414141f;--glass-bg:#fff9;--glass-bg-strong:#ffffffd1;--glass-border:#14141424;--glass-blur:saturate(1.3) blur(14px);--glass-shadow:0 8px 32px #00000014, 0 2px 8px #0000000d}[data-lang=zh]{--mp-font-display:"Noto Serif TC", "Songti TC", "Fraunces", serif}body[data-segment=b2c]{--seg:var(--mp-primary);--seg-soft:#1414141f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--mp-font-sans);color:var(--mp-ink);background:var(--mp-bg);line-height:1.6}html,body{overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}:focus-visible{outline:2px solid var(--mp-primary);outline-offset:2px;border-radius:var(--mp-radius-sm)}.seg-only{display:none}body[data-segment=b2c] .seg-only.b2c{display:block}body[data-segment=b2c] .seg-only.b2c.inline{display:inline-flex}.mp-container{width:100%;max-width:var(--mp-container);margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px}.mp-section{padding-top:var(--mp-section-py);padding-bottom:var(--mp-section-py)}.section{padding:clamp(40px,5.5vw,72px) 0}.mp-display{font-family:var(--mp-font-display);letter-spacing:-.01em;font-weight:600;line-height:1.1}.mp-h1{font-family:var(--mp-font-display);letter-spacing:-.01em;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:600;line-height:1.08}.mp-h2{font-family:var(--mp-font-display);letter-spacing:-.01em;font-size:clamp(1.875rem,3.5vw,2.75rem);font-weight:600;line-height:1.15}.mp-h3{font-family:var(--mp-font-display);font-size:1.3rem;font-weight:600;line-height:1.35}.mp-body{color:var(--mp-ink-2);font-size:1.0625rem;line-height:1.75}.mp-body-sm{color:var(--mp-muted);font-size:.9375rem;line-height:1.65}.mp-kicker{font-family:var(--mp-font-sans);text-transform:uppercase;letter-spacing:.18em;color:var(--seg);font-size:.75rem;font-weight:600}.mp-pill{font-family:var(--mp-font-sans);text-transform:uppercase;letter-spacing:.14em;color:var(--seg);background:var(--seg-soft);border-radius:var(--mp-radius-sm);border:1px solid;align-items:center;gap:.5rem;padding:.375rem .875rem;font-size:.6875rem;font-weight:600;display:inline-flex}.mp-btn{letter-spacing:.01em;border-radius:var(--mp-radius-sm);transition:transform .2s var(--mp-ease), box-shadow .3s var(--mp-ease), background .3s var(--mp-ease);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.9375rem 1.875rem;font-size:.9375rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.mp-btn:after{content:"";pointer-events:none;width:100%;height:100%;transition:transform .7s var(--mp-ease);background:linear-gradient(120deg,#0000 22%,#fff6 50%,#0000 78%);position:absolute;top:0;left:0;transform:translate(-130%)skew(-18deg)}.mp-btn:hover:after{transform:translate(130%)skew(-18deg)}.mp-btn:hover{animation:.95s cubic-bezier(.16,1,.3,1) forwards mp-lift-sm}.mp-btn-primary{background:var(--seg);color:var(--mp-bg);box-shadow:var(--mp-shadow-sm)}.mp-btn-primary:hover{filter:brightness(1.1);box-shadow:0 12px 30px #1414144d}.mp-btn-secondary{color:var(--mp-ink);border:1.5px solid var(--mp-line);background:0 0}.mp-btn-secondary:hover{background:var(--mp-ink);color:var(--mp-bg);border-color:var(--mp-ink)}.mp-btn-ghost{color:inherit;background:0 0;border:1px solid #ffffff59}.mp-btn-ghost:hover{background:#ffffff1f;border-color:#ffffff8c}.mp-btn-light{color:var(--mp-primary-dark);box-shadow:var(--mp-shadow-sm);background:#fff}.mp-btn-light:hover{box-shadow:0 12px 30px #00000038}.mp-btn-sm{padding:.625rem 1.25rem;font-size:.875rem}.mp-btn-icon{width:2rem;height:2rem;transition:transform .3s var(--mp-ease);background:#0000000f;border-radius:50%;justify-content:center;align-items:center;margin-left:.25rem;display:inline-flex}.mp-btn:hover .mp-btn-icon{transform:translate(2px)translateY(-1px)}@keyframes mp-lift{0%{transform:translateY(0)}65%{transform:translateY(-9px)}to{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.mp-btn:hover{animation:none}.mp-btn:after{display:none}}@keyframes mp-lift-sm{0%{transform:translateY(0)}65%{transform:translateY(-4px)}to{transform:translateY(-3px)}}.topbar{background:var(--mp-bg);color:var(--mp-muted);border-bottom:1px solid var(--mp-line);font-size:.8125rem}.topbar .mp-container{justify-content:space-between;align-items:center;gap:1rem;height:38px;display:flex}.topbar a{color:var(--mp-ink);font-weight:600}.topbar .tb-right{align-items:center;gap:1.25rem;display:flex}.header{z-index:50;transition:padding .3s var(--mp-ease);background:0 0;padding:14px 0;position:sticky;top:0}.nav-pill{z-index:2;border-radius:var(--mp-radius);-webkit-backdrop-filter:blur(18px);height:64px;transition:background .4s var(--mp-ease), box-shadow .4s var(--mp-ease), border-color .4s var(--mp-ease);background:#ffffffbd;border:1px solid #14141429;justify-content:space-between;align-items:center;gap:1rem;padding:0 .75rem 0 1.25rem;display:flex;position:relative;box-shadow:0 1px #ffffff80,0 6px 28px #0000001a}.header.scrolled .nav-pill{border-color:var(--mp-line);box-shadow:var(--mp-shadow);background:#fffffff0}.header.menu-open .nav-pill{background:var(--mp-bg);box-shadow:none;border-color:#0000}.nav-pill .brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand{font-family:var(--mp-font-display);letter-spacing:-.01em;color:var(--mp-ink);white-space:nowrap;align-items:center;gap:.4rem;font-size:1.25rem;font-weight:600;display:flex}.brand .brand-en{font-family:var(--mp-font-sans);letter-spacing:.2em;opacity:.65;font-size:.5em;font-weight:600}.brand small{font-family:var(--mp-font-mono);letter-spacing:.18em;color:var(--mp-muted);text-transform:uppercase;font-size:.58rem;font-weight:500;display:block}.nav-toggle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;gap:.65rem;margin:-12px;padding:12px;display:inline-flex;position:relative}.nav-toggle .bars{flex:none;width:22px;height:14px;position:relative}.nav-toggle .bars span{background:var(--mp-ink);width:100%;height:1.5px;transition:top .3s var(--mp-ease), transform .3s var(--mp-ease);position:absolute;left:0}.nav-toggle .bars span:first-child{top:0}.nav-toggle .bars span:nth-child(2){top:12.5px}.header.menu-open .nav-toggle .bars span:first-child{top:6.25px;transform:rotate(45deg)}.header.menu-open .nav-toggle .bars span:nth-child(2){top:6.25px;transform:rotate(-45deg)}.nav-toggle .label{font-family:var(--mp-font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mp-ink);font-size:.72rem;font-weight:600}.header-cta{z-index:2;align-items:center;gap:1rem;display:flex;position:relative}.header.menu-open .header-cta{visibility:hidden;opacity:0;pointer-events:none}.menu-overlay{z-index:1;background:var(--mp-bg);opacity:0;visibility:hidden;transition:opacity .5s var(--mp-ease), visibility .5s;position:fixed;inset:0;overflow-y:auto}.header.menu-open .menu-overlay{opacity:1;visibility:visible}.menu-overlay-inner{max-width:var(--mp-container);flex-direction:column;min-height:100vh;margin:0 auto;padding:132px 32px 2rem;display:flex}.menu-col{flex-direction:column;max-width:480px;display:flex}.menu-rule{border:0;border-top:1px solid var(--mp-line);width:100%;height:0;margin:clamp(.4rem,1.4vh,.9rem) 0}.menu-col a{font-family:var(--mp-font-display);color:var(--mp-ink);opacity:0;transition:color .3s var(--mp-ease);align-items:baseline;gap:1.1rem;padding:clamp(.25rem,1vh,.6rem) 0;font-size:clamp(1.05rem,3.2vh,1.4rem);font-weight:500;line-height:1.25;display:flex;position:relative;overflow:hidden;transform:translateY(14px)}.menu-col a:after{content:"";background:var(--mp-ink);transform-origin:0;width:100%;height:1px;transition:transform .4s var(--mp-ease);position:absolute;bottom:.1rem;left:0;transform:scaleX(0)}.menu-col a:hover:after{transform:scaleX(1)}.header.menu-open .menu-col a{opacity:1;transition:color .3s var(--mp-ease), opacity .5s var(--mp-ease), transform .5s var(--mp-ease);transform:translateY(0)}.header.menu-open .menu-col a:first-of-type{transition-delay:.1s}.header.menu-open .menu-col a:nth-of-type(2){transition-delay:.15s}.header.menu-open .menu-col a:nth-of-type(3){transition-delay:.2s}.header.menu-open .menu-col a:nth-of-type(4){transition-delay:.25s}.header.menu-open .menu-col a:nth-of-type(5){transition-delay:.3s}.header.menu-open .menu-col a:nth-of-type(6){transition-delay:.35s}.header.menu-open .menu-col a:nth-of-type(7){transition-delay:.4s}.header.menu-open .menu-col a:nth-of-type(8){transition-delay:.45s}.header.menu-open .menu-col a:nth-of-type(9){transition-delay:.5s}.header.menu-open .menu-col a:nth-of-type(10){transition-delay:.55s}@media (max-width:760px){.topbar .tb-right span,.nav-toggle .label{display:none}.menu-overlay-inner{text-align:center;align-items:center;padding:132px 20px 2rem}.menu-col a{justify-content:center;font-size:clamp(1.05rem,3.2vh,1.2rem)}}@media (max-width:640px){.header-cta .mp-btn{padding:.55rem .85rem;font-size:.82rem}}@media (max-width:460px){.brand{font-size:1.05rem}}@media (max-width:360px){.nav-pill .brand-en{display:none}}@media (prefers-reduced-motion:reduce){.nav-toggle .bars span,.menu-overlay,.menu-col a{transition:none}}.footer{background:var(--mp-bg);color:var(--mp-muted);border-top:1px solid var(--mp-line);padding:4rem 0 2rem;position:relative;overflow:hidden}.footer:before{content:"";pointer-events:none;background:url(/images/services/b2c/post-renovation-job-references/post-renovation-cleaning-range-hood-hong-kong.jpg) 50% 25%/cover no-repeat;width:min(60%,920px);position:absolute;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 45%);mask-image:linear-gradient(90deg,#0000 0,#000 45%)}.footer:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fdfdfdf0 0%,#fdfdfdcc 55%,#fdfdfd8c 100%);position:absolute;inset:0}.footer>.mp-container{z-index:1;position:relative}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:2.5rem;display:grid}.footer h5{color:var(--mp-ink);font-size:.78rem;font-family:var(--mp-font-sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem;font-weight:700}.footer a{margin-bottom:.6rem;font-size:.9rem;display:block}.footer a:hover{color:var(--mp-ink)}.footer .brand{color:var(--mp-ink);margin-bottom:1rem;display:flex}.footer .brand small{color:var(--mp-muted)}.footer .legal{border-top:1px solid var(--mp-line);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.82rem;display:flex}.fab{z-index:60;width:58px;height:58px;box-shadow:var(--mp-shadow-lg);transition:transform .3s var(--mp-ease);background:#25d366;border-radius:50%;place-items:center;font-size:1.6rem;display:grid;position:fixed;bottom:24px;right:24px}.fab:hover{transform:scale(1.08)}.refs{margin-top:2rem}.refs-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:1.4rem;display:flex}.refs-head h3{font-size:1.15rem;font-weight:700}.refs-head span{font-family:var(--mp-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mp-muted);font-size:.66rem}.refs-marquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%);mask:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%)}.refs-track{will-change:transform;width:max-content;animation:55s linear infinite refs-scroll;display:flex}@media (hover:hover){.refs-marquee:hover .refs-track{animation-play-state:paused}}.refs-marquee.is-paused .refs-track{animation-play-state:paused}@keyframes refs-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ref-card{aspect-ratio:4/3;border-radius:var(--mp-radius);width:340px;box-shadow:var(--mp-shadow-sm);background:var(--mp-soft);flex:none;margin-right:1rem;position:relative;overflow:hidden}.ref-card img{object-fit:cover;transition:transform .6s var(--mp-ease)}.ref-card:hover img{transform:scale(1.06)}@media (max-width:640px){.ref-card{width:74vw}}.ba-marquee .refs-track{animation-duration:80s}.ba-card{flex:none;width:400px;margin:0 1rem 0 0}.ba-pair{aspect-ratio:4/3;border-radius:var(--mp-radius);box-shadow:var(--mp-shadow-sm);background:var(--mp-soft);grid-template-columns:1fr 1fr;gap:3px;display:grid;overflow:hidden}.ba-half{position:relative}.ba-half img{object-fit:cover}.ba-tag{z-index:1;letter-spacing:.04em;color:#fff;background:#0a0a0a9e;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.ba-tag.is-after{background:var(--mp-primary)}.ba-card figcaption{color:var(--mp-ink);margin-top:.65rem;font-size:.92rem;font-weight:600}@media (max-width:640px){.ba-card{width:86vw}}.ba-ctrl{border:1px solid var(--mp-line);background:var(--mp-bg);color:var(--mp-ink);font:inherit;cursor:pointer;transition:background .2s var(--mp-ease),color .2s var(--mp-ease);border-radius:999px;align-self:center;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.ba-ctrl:hover{background:var(--mp-ink);color:var(--mp-bg)}.ba-ctrl:focus-visible{outline:2px solid var(--mp-ink);outline-offset:2px}.ba-ctrl svg{fill:currentColor;width:11px;height:11px}@media (prefers-reduced-motion:reduce){.refs-marquee:not(.is-playing){overflow-x:auto;-webkit-mask:none;mask:none}.refs-marquee:not(.is-playing) .refs-track{animation:none}.refs-marquee.is-playing .refs-track{animation-duration:80s!important;animation-iteration-count:infinite!important}}.cta{background:linear-gradient(135deg,var(--mp-primary),var(--mp-primary-dark));color:#fff;border-radius:var(--mp-radius-lg);grid-template-columns:1.2fr 1fr;align-items:center;gap:3rem;padding:clamp(2.5rem,5vw,4rem);display:grid}.cta h2{color:#fff}.cta p{color:#ffffffd1;margin:1rem 0 0;font-size:1.02rem}.cta .perks{flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;display:flex}.cta .perks span{border-radius:var(--mp-radius-sm);background:#ffffff1f;padding:.4rem .85rem;font-size:.8rem}.quote-card{border-radius:var(--mp-radius);color:var(--mp-ink);padding:2rem}.quote-card label{color:var(--mp-muted);margin-bottom:.4rem;font-size:.78rem;font-weight:600;display:block}.quote-card input,.quote-card select,.quote-card textarea{border:1px solid var(--mp-line);border-radius:var(--mp-radius-sm);width:100%;color:var(--mp-ink);background:#fff;margin-bottom:1rem;padding:.8rem .9rem;font-family:inherit;font-size:.9rem}.quote-card input::placeholder,.quote-card textarea::placeholder{color:var(--mp-muted)}.quote-card select option{color:var(--mp-ink)}.quote-card .row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.quote-card button{width:100%;margin-top:.25rem}.cta .mp-pill{color:#fff;background:#ffffff26}.quote-card{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.quote-card input,.quote-card select,.quote-card textarea{border-color:var(--mp-line);background:#fff}@media (max-width:980px){.cta{grid-template-columns:1fr}}@media (max-width:640px){.quote-card .row{grid-template-columns:1fr}.cta{padding:2rem 1.5rem}}.quote-status{border-radius:10px;margin-top:1rem;padding:.9rem 1.05rem;font-size:.86rem;line-height:1.6;display:none}.quote-status a{font-weight:600;text-decoration:underline}.quote-status.is-ok{color:#0b5c33;background:#25d36624;border:1px solid #128c4b59;display:block}.quote-status.is-err{color:#8a2020;background:#c83c3c1a;border:1px solid #aa2d2d59;display:block}.quote-card .quote-hint{color:var(--mp-ink-2);opacity:.82;text-align:center;margin:.55rem 0 0;font-size:.76rem;line-height:1.5}@keyframes mp-reveal-up{0%{opacity:0;filter:blur(4px);transform:translateY(40px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes mp-reveal-fade{0%{opacity:0}to{opacity:1}}.mp-reveal{opacity:0}.mp-reveal.is-visible{animation:mp-reveal-up var(--mp-duration) var(--mp-ease-fluid) forwards}.mp-reveal-delay-1.is-visible{animation-delay:80ms}.mp-reveal-delay-2.is-visible{animation-delay:.16s}.mp-reveal-delay-3.is-visible{animation-delay:.24s}.mp-reveal-delay-4.is-visible{animation-delay:.32s}.mp-reveal-delay-5.is-visible{animation-delay:.4s}.mp-service-card{transition:transform .35s var(--mp-ease), box-shadow .35s var(--mp-ease)}.mp-service-card:hover{box-shadow:var(--mp-shadow);transform:translateY(-6px)}.mp-service-card .card-image{transition:transform .6s var(--mp-ease)}.mp-service-card:hover .card-image{transform:scale(1.04)}.mp-link-hover{display:inline-block;position:relative}.mp-link-hover:after{content:"";width:0;height:1px;transition:width .4s var(--mp-ease);background:currentColor;position:absolute;bottom:-2px;left:0}.mp-link-hover:hover:after{width:100%}@media (max-width:980px){.mp-container{padding-left:24px;padding-right:24px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>:first-child{grid-column:1/-1}}@media (max-width:768px){.mp-about-grid,.mp-services-bento{grid-template-columns:1fr!important}.mp-services-bento .bento-large{grid-area:auto!important}}@media (max-width:640px){.mp-container{padding-left:18px;padding-right:18px}.footer-grid{gap:2.25rem 1.25rem}.footer .legal{flex-direction:column;gap:.5rem}.footer:before{background-position:50% 20%;width:100%;height:480px;bottom:auto;-webkit-mask-image:none;mask-image:none}.footer:after{background:linear-gradient(180deg, #fdfdfdcc 0, #fdfdfdf0 300px, var(--mp-bg) 480px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
