/* Isolated v2 design layer. Source pages remain unchanged. */
html{scroll-padding-top:100px}body{padding-top:88px}body>header.shell,body>header.site-header,.preview-bar,.motion-toggle{display:none!important}
.apc-shell{position:fixed;z-index:120;top:16px;left:max(18px,calc((100vw - 1460px)/2));right:max(18px,calc((100vw - 1460px)/2));display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:14px}.apc-shell>*{pointer-events:auto}.apc-shell-right{display:flex;align-items:center;gap:9px;flex-shrink:0}.apc-bubble{min-height:48px;border:0;border-radius:999px;background:#fffefefa;box-shadow:0 8px 24px #33204817;color:#291939;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;font:800 13px/1.2 Arial,'PingFang TC',sans-serif;letter-spacing:.07em;text-decoration:none;white-space:nowrap;backdrop-filter:blur(10px);cursor:pointer}.apc-bubble:hover{background:#f1e8fc}.apc-bubble:focus-visible,.apc-menu-content a:focus-visible,.apc-menu-content button:focus-visible,.apc-lang-pop a:focus-visible{outline:3px solid #f3ccff;outline-offset:4px}.apc-brand-bubble{padding:8px 24px;flex-shrink:0}.apc-brand-bubble img{width:78px;height:30px;object-fit:contain}.apc-icon-bubble{width:48px;padding:9px}.apc-icon-bubble svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none}.apc-work{font-weight:900}.apc-menu-trigger{background:#8051b2;color:#fff;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;flex-shrink:0}.apc-menu-trigger svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}.apc-menu-trigger .apc-menu-close-icon{display:none}.apc-menu-trigger[aria-expanded=true] .apc-menu-hamburger{display:none}.apc-menu-trigger[aria-expanded=true] .apc-menu-close-icon{display:block}.apc-menu-trigger:hover{background:#673c98}.apc-menu-open .apc-menu-trigger{background:#673c98;color:#fff}.apc-menu-open .apc-work,.apc-menu-open .apc-theme,.apc-menu-open .apc-lang-wrap{visibility:hidden;pointer-events:none}.apc-menu-open .apc-brand-bubble{background:#fff}
.apc-work,.apc-menu-trigger{border:0}.apc-menu-open .apc-menu-trigger{border:0}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.footer-socials{display:flex;align-items:center;gap:9px}.footer-socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eee4f8;color:#38244d;text-decoration:none;transition:background .18s,color .18s}.footer-socials a:hover{background:#8051b2;color:#fff}.footer-socials a:focus-visible{outline:3px solid #8051b2;outline-offset:3px}.footer-socials svg{width:20px;height:20px;fill:currentColor}.footer-socials a[aria-label="Instagram"] svg{fill:none;stroke:currentColor;stroke-width:2}.footer-socials .instagram-dot{fill:currentColor;stroke:none}html[data-theme=dark] .footer-socials a{background:#4e3862;color:#fff}html[data-theme=dark] .footer-socials a:hover{background:#a977dc;color:#1e1429}html[data-theme=dark] .footer-socials a:focus-visible{outline-color:#ddb3ff}@media(max-width:600px){.footer-top{flex-wrap:wrap}.footer-brand{gap:10px}}
.apc-lang-wrap{position:relative}.apc-lang-pop{position:absolute;top:calc(100% + 9px);right:0;min-width:162px;padding:8px;border:1px solid #d7c5ea;background:#fff;border-radius:16px;box-shadow:0 18px 40px #30203c30;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}.apc-lang-pop a{display:block;padding:10px 12px;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;color:#322344}.apc-lang-pop a:hover,.apc-lang-pop a[aria-current]{background:#f2e8fc}.apc-lang-wrap.is-open .apc-lang-pop{visibility:visible;opacity:1;transform:none}
.apc-menu-overlay{position:fixed;inset:0;z-index:110;background:radial-gradient(circle at 85% 11%,#a177d2 0,#7d4db2 39%,#603088 100%);clip-path:circle(0px at var(--ox,calc(100vw - 70px)) var(--oy,40px));visibility:hidden;pointer-events:none;transition:clip-path .52s cubic-bezier(.2,.7,.15,1),visibility .52s}.apc-menu-overlay.is-active{visibility:visible;pointer-events:auto}.apc-menu-overlay.is-open{clip-path:circle(var(--radius,150vw) at var(--ox) var(--oy))}.apc-menu-content{height:100%;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;padding:115px max(6vw,28px) 45px;color:#fff}.apc-menu-kicker{font:800 12px Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;margin:0 0 22px}.apc-menu-links{display:grid;gap:0}.apc-menu-links a{display:block;width:max-content;max-width:100%;font:900 clamp(43px,6vw,82px)/1.06 Arial,'PingFang TC',sans-serif;letter-spacing:-.06em;padding:5px 0;color:#fff;text-decoration:none}.apc-menu-links a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}.apc-menu-meta{margin-top:33px;font-size:13px;color:#f2e4ff}.apc-menu-meta a{color:#fff}.apc-menu-content>*{opacity:0;transform:translateY(18px);transition:opacity .32s ease,transform .32s ease}.apc-menu-overlay.is-open .apc-menu-content>*{opacity:1;transform:none}.apc-menu-overlay.is-open .apc-menu-kicker{transition-delay:.12s}.apc-menu-overlay.is-open .apc-menu-links{transition-delay:.18s}.apc-menu-overlay.is-open .apc-menu-meta{transition-delay:.25s}
.apc-logo-loop{background:#fff;padding:24px 0 29px;border-block:1px solid #eee4f5;overflow:hidden;position:relative}.apc-logo-loop p{margin:0 auto 16px;padding:0 5%;max-width:1440px;color:#624d75;font:700 12px/1.4 Arial,'PingFang TC',sans-serif;letter-spacing:.07em}.apc-logo-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.apc-logo-track{display:flex;align-items:center;width:max-content;gap:38px;animation:apc-loop 38s linear infinite}.apc-logo-track:hover,.apc-logo-track:focus-within{animation-play-state:paused}.apc-logo-set{display:flex;align-items:center;gap:38px;flex:none}.apc-logo-set img{display:block;width:150px;height:60px;object-fit:contain;filter:grayscale(1);opacity:.82}.apc-logo-set img:hover{filter:none;opacity:1}@keyframes apc-loop{to{transform:translateX(-50%)}}.experience-strip,.services-section{display:none!important}
.apc-service-spotlight,.apc-tailored,.apc-tools-hub,.apc-partner-note{width:min(1320px,90%);margin:82px auto}.apc-service-spotlight h2,.apc-tailored h2,.apc-tools-hub h2{font-size:clamp(32px,4vw,55px);margin:8px 0 25px;letter-spacing:-.05em}.apc-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.apc-service-grid a{display:flex;flex-direction:column;min-height:185px;padding:22px;border:1px solid #d9c7e9;border-radius:22px;background:#fff;box-shadow:0 15px 35px #52357610;text-decoration:none}.apc-service-grid a:first-child{grid-column:span 2;background:#eee4f9}.apc-service-grid a:hover{transform:translateY(-3px);box-shadow:0 20px 35px #52357622}.apc-service-grid svg{width:35px;height:35px;margin-bottom:auto;stroke:#7651a0;stroke-width:1.8;fill:none}.apc-service-grid h3{font:800 22px Arial,'PingFang TC',sans-serif;margin:12px 0 4px}.apc-service-grid p{font-size:13px;color:#63576b;margin:0;line-height:1.5}.apc-tailored-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.apc-tailored-grid article{padding:25px;border-radius:18px;background:#f2ebfa;border:1px solid #e0d0ef}.apc-tailored-grid h3{font:800 21px Arial,'PingFang TC',sans-serif;margin:0 0 13px}.apc-tailored-grid li{margin-bottom:10px;line-height:1.5}.apc-tailored-grid ul{padding-left:19px;margin:0}.apc-tailored-faq details{padding:19px 0;border-bottom:1px solid #d9cae7}.apc-tailored-faq summary{cursor:pointer;font-weight:800;font-size:18px}.apc-tailored-faq p{padding:12px 0 0;max-width:850px;color:#5d5267}.apc-mockups{width:min(1320px,90%);margin:55px auto 95px}.apc-mockups h2{font-size:clamp(30px,3vw,48px);margin-bottom:15px}.apc-mockup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.apc-mockup-grid figure{margin:0;padding:10px;background:#fff;border:1px solid #e0d2ea;border-radius:20px}.apc-mockup-grid img{width:100%;height:auto;border-radius:12px}.apc-mockup-grid figcaption{font-size:12px;color:#6b5c75;padding:10px 7px}.apc-tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.apc-tools-grid a{display:block;background:#fff;border:1px solid #d7c6e8;border-radius:20px;padding:30px;text-decoration:none}.apc-tools-grid a:hover{background:#f1e7fb}.apc-tools-grid h3{font-size:25px;margin:0 0 10px}.apc-partner-note{border-top:1px solid #d9c8e7;padding-top:30px}.apc-whatsapp{position:fixed;z-index:80;right:18px;bottom:18px;width:48px;height:48px;display:grid;place-items:center;background:#217a57;color:#fff;border-radius:50%;padding:0;box-shadow:0 12px 30px #123b2960;text-decoration:none}.apc-whatsapp svg{width:25px;height:25px;fill:currentColor}.apc-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:3px}.apc-whatsapp:hover{background:#15563e}
html[data-theme=dark] body{--paper:#171322;--ink:#f7f1ff;--muted:#c6b6d5;background:#171322!important;color:#f7f1ff!important}html[data-theme=dark] .apc-bubble:not(.apc-menu-trigger){background:#2c2338;color:#f7f1ff;border-color:#6a527c}html[data-theme=dark] .apc-lang-pop{background:#2c2338;border-color:#6a527c}html[data-theme=dark] .apc-lang-pop a{color:#fff}html[data-theme=dark] .apc-logo-loop{background:#211b2c;border-color:#41314e}html[data-theme=dark] .apc-logo-loop p,html[data-theme=dark] .apc-service-grid p,html[data-theme=dark] .apc-tailored-faq p{color:#d8c5e6}html[data-theme=dark] .apc-service-grid a,html[data-theme=dark] .apc-tailored-grid article,html[data-theme=dark] .apc-tools-grid a,html[data-theme=dark] .apc-mockup-grid figure{background:#2b2236;color:#f8f3ff;border-color:#584168}html[data-theme=dark] .apc-service-grid a:first-child{background:#423052}html[data-theme=dark] .service-card,html[data-theme=dark] .project-card,html[data-theme=dark] .filter-box,html[data-theme=dark] .contact-panel,html[data-theme=dark] .faq details{background:#2b2236!important;color:#f8f3ff!important;border-color:#584168!important}html[data-theme=dark] .case-copy,html[data-theme=dark] .section,html[data-theme=dark] .hero{color:#f7f1ff}html[data-theme=dark] .apc-logo-set img{filter:grayscale(1) brightness(1.8)}
@media(max-width:800px){.apc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apc-service-grid a:first-child{grid-column:span 2}.apc-tailored-grid{grid-template-columns:1fr}.apc-mockup-grid{grid-template-columns:1fr}}@media(max-width:600px){body{padding-top:78px}.apc-shell{top:10px;left:10px;right:10px;gap:6px}.apc-shell-right{gap:5px}.apc-bubble{min-height:43px;padding:8px 12px;font-size:11px}.apc-brand-bubble{padding:7px 16px}.apc-brand-bubble img{width:66px;height:26px}.apc-icon-bubble{width:43px;padding:8px}.apc-menu-trigger{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.apc-menu-content{padding:100px 23px 35px;justify-content:flex-start}.apc-menu-links a{font-size:clamp(39px,10vw,58px);padding:7px 0}.apc-logo-loop{padding:18px 0}.apc-logo-set img{width:120px;height:49px}.apc-service-grid{grid-template-columns:1fr}.apc-service-grid a:first-child{grid-column:auto}.apc-tools-grid{grid-template-columns:1fr}.apc-service-spotlight,.apc-tailored,.apc-tools-hub{margin:57px auto}.apc-whatsapp{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.apc-menu-overlay,.apc-menu-content>*,.apc-lang-pop,.apc-service-grid a{transition:none!important;animation:none!important}.apc-logo-track{animation:none;max-width:100vw;overflow-x:auto}.apc-logo-set[aria-hidden=true]{display:none}}
@media(max-width:380px){.apc-brand-bubble{padding-inline:14px}.apc-work{padding-inline:9px}}
html[data-theme=dark] .apc-brand-bubble{background:#fff!important;border-color:#d8c7e8!important}
html[data-theme=dark] .y01 .hero .impact{color:#bd91f2}
@media(max-width:600px){body.y01 .apc-whatsapp:not(.is-visible){opacity:0;visibility:hidden;pointer-events:none}}
html[data-theme=dark] .hero .intro,html[data-theme=dark] .section-top>p,html[data-theme=dark] .apc-tailored p,html[data-theme=dark] .apc-partner-note p{color:#dccfe8!important}
html[data-theme=dark] .apc-lang-pop a[aria-current],html[data-theme=dark] .apc-lang-pop a:hover{color:#23142f;background:#dcc5f1}
html[data-theme=dark] .y01 .hero .impact{color:#bd91f2!important}
.apc-menu-open .apc-menu-trigger{background:#673c98;color:#fff!important}
html[data-theme=dark] .filter-box input,html[data-theme=dark] .filter-box select,html[data-theme=dark] .brief input,html[data-theme=dark] .brief select,html[data-theme=dark] .brief textarea{background:#fff!important;color:#20152d!important;border-color:#cbb8db!important}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#65566e!important;opacity:1}
html[data-theme=dark] .filter-note,html[data-theme=dark] .disclosure,html[data-theme=dark] .crumb{color:#cdbedb!important}

#apc-focused .footer-socials a{color:#38244d}#apc-focused .footer-socials a:hover{color:#fff}html[data-theme=dark] #apc-focused .footer-socials a{color:#fff}html[data-theme=dark] #apc-focused .footer-socials a:hover{color:#1e1429}

html[data-theme=dark] .tag{background:#4e3862;color:#fff}html[data-theme=dark] .case-copy p,html[data-theme=dark] .source-note{color:#d2c1df}

.apc-menu-trigger{color:#fff!important}.apc-whatsapp,.apc-whatsapp svg,.apc-whatsapp path{color:#fff!important;fill:#fff}

/* Home footer and contact contrast in dark mode. */
html[data-theme=dark] :is(#apc-focused,.y01) .contact-section,html[data-theme=dark] :is(#apc-focused,.y01) .site-footer{background:#211b2c;color:#f7f1ff}
html[data-theme=dark] :is(#apc-focused,.y01) .contact-section .big-email,html[data-theme=dark] :is(#apc-focused,.y01) .contact-section label,html[data-theme=dark] :is(#apc-focused,.y01) .site-footer a{color:#f7f1ff}
html[data-theme=dark] :is(#apc-focused,.y01) .contact-top p,html[data-theme=dark] :is(#apc-focused,.y01) .contact-direct p,html[data-theme=dark] :is(#apc-focused,.y01) .brief-note,html[data-theme=dark] :is(#apc-focused,.y01) .footer-bottom{color:#d8c5e6}
html[data-theme=dark] :is(#apc-focused,.y01) .contact-section .section-title em{color:#bd91f2}
html[data-theme=dark] :is(#apc-focused,.y01) .contact-section .button{background:#bd91f2;color:#211329}
html[data-theme=dark] :is(#apc-focused,.y01) .site-footer,html[data-theme=dark] :is(#apc-focused,.y01) .footer-bottom,html[data-theme=dark] :is(#apc-focused,.y01) .back-top{border-color:#6a527c}

/* APC official logo: preserve SVG geometry and ensure light/dark legibility. */
html[data-theme="dark"] img[src*="apc-official-logo-v1.svg"]{filter:brightness(0) invert(1)!important}
html[data-theme="dark"] .apc-brand-bubble{background:#2c2338!important}
html[data-theme="dark"] #apc-focused .site-header{background:#2c2338!important}
html[data-theme="dark"] #apc-focused .desk-brand,html[data-theme="dark"] #apc-focused .desk-page{background:#2c2338;color:#fff}

/* Dark footer small text remains readable against the shared footer surface. */
html[data-theme=dark] :is(#apc-focused,.y01) .site-footer .footer-small{color:#cdbedb}
/* Keep enquiry text separate from the floating navigation while scrolling. */
body.apci-enquiry-page .apc-shell::before{content:"";position:fixed;z-index:-1;top:0;left:0;right:0;height:80px;background:#fcfbff;pointer-events:none}
html[data-theme=dark] body.apci-enquiry-page .apc-shell::before{background:#171322}
body.admin-bar.apci-enquiry-page .apc-shell::before{height:112px}
#apc-enquiry-form [data-review]{margin-top:24px}

/* Service content wrappers use surface color rather than inset outlines. */
body.apc-service-detail .apc-detail-solutions article{box-shadow:none!important}
/* Language selection, enquiry focus, and footer text contrast. */
html[data-theme=dark] #apc-focused .apc-lang-pop a[aria-current],html[data-theme=dark] #apc-focused .apc-lang-pop a:hover{color:#23142f}
html[data-theme=dark] body#apc-focused.apci-enquiry-page button:focus-visible{outline-color:#f3ccff}
html[data-theme=light] #apc-focused .site-footer .footer-small{color:#695875}
/* Keep the keyboard skip link above floating navigation. */
#apc-focused .skip:focus{z-index:130}
body.admin-bar#apc-focused .skip:focus{top:48px}
@media(max-width:782px){body.admin-bar#apc-focused .skip:focus{top:56px}}

/* Keep primary actions distinct from dark page and form surfaces without borders. */
html[data-theme=dark] body#apc-focused.apc-service-detail main a.button:not([aria-disabled=true]),
html[data-theme=dark] body#apc-focused.apci-enquiry-page main .apc-enquiry .button:not(:disabled):not([aria-disabled=true]){background:#bd91f2;color:#211329}
html[data-theme=dark] body#apc-focused.apc-service-detail main a.button:not([aria-disabled=true]):hover,
html[data-theme=dark] body#apc-focused.apci-enquiry-page main .apc-enquiry .button:not(:disabled):not([aria-disabled=true]):hover{background:#d2acf8;color:#211329}
html[data-theme=dark] body#apc-focused.apc-service-detail main a.button:focus-visible{outline-color:#f3ccff}
html[data-theme=dark] body#apc-focused.apc-about-detail main .cta a.button:not([aria-disabled=true]){background:#bd91f2;color:#211329}
html[data-theme=dark] body#apc-focused.apc-about-detail main .cta a.button:not([aria-disabled=true]):hover{background:#d2acf8;color:#211329}
html[data-theme=dark] body#apc-focused.apc-about-detail main .cta a.button:focus-visible{outline-color:#f3ccff}
/* Contact's filled email action shares the dark primary action palette. */
html[data-theme=dark] body#apc-focused.apci-enquiry-page main .contact-panel > a.button:not(.outline):not([aria-disabled=true]){background:#bd91f2;color:#211329}
html[data-theme=dark] body#apc-focused.apci-enquiry-page main .contact-panel > a.button:not(.outline):not([aria-disabled=true]):hover{background:#d2acf8;color:#211329}
html[data-theme=dark] body#apc-focused.apci-enquiry-page main .contact-panel > a.button:not(.outline):focus-visible{outline-color:#f3ccff}
/* Opaque theme surface keeps scrolling text behind floating navigation. */
body:is(.y01,.apc-about-detail) .apc-shell::before{content:"";position:fixed;z-index:-1;top:0;left:0;right:0;height:80px;background:#fcfbff;pointer-events:none}
html[data-theme=dark] body:is(.y01,.apc-about-detail) .apc-shell::before{background:#171322}
body.admin-bar:is(.y01,.apc-about-detail) .apc-shell::before{height:112px}
