/* AI Services page skin. Elementor owns all copy, imagery, section order and spacing. */
body:is(.em-design-ai, :has(.em-ai-hero)) { overflow-x:clip; }
body:is(.em-design-ai, :has(.em-ai-hero)) .site-content > .ast-container { display:block; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .site-content #primary,
body:is(.em-design-ai, :has(.em-ai-hero)) .site-content #primary.content-area { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero { position:relative; isolation:isolate; overflow:hidden; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero::before { position:absolute; z-index:0; inset:0; background:radial-gradient(ellipse at 76% 36%,rgba(230,0,18,.045),transparent 38%); content:""; pointer-events:none; animation:em-ai-agent-signal 8s ease-in-out infinite alternate; }
@keyframes em-ai-agent-signal { from { opacity:.38; transform:scale(.99); } to { opacity:.88; transform:scale(1.015); } }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero .elementor-background-overlay { z-index:0; opacity:1!important; background:linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.95) 31%,rgba(250,249,247,.72) 50%,rgba(250,249,247,.20) 72%,rgba(250,249,247,.04) 100%)!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__inner { position:relative; z-index:1; width:100%; max-width:1220px; margin-inline:auto; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__copy { flex:1 1 58%; min-width:0; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card { flex:0 1 34%; min-width:0; border:1px solid rgba(255,255,255,.76); border-left:2px solid var(--em-brand-red,#e60012); border-radius:3px; background:rgba(255,255,255,.80)!important; box-shadow:0 20px 58px rgba(32,36,42,.13); -webkit-backdrop-filter:blur(13px); backdrop-filter:blur(13px); }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card-label .elementor-heading-title { color:var(--em-brand-red,#e60012)!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card-index { max-width:100%; padding-top:10px; border-top:1px solid rgba(32,36,42,.13); letter-spacing:.08em; line-height:1.9!important; overflow-wrap:anywhere; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__note { max-width:660px; line-height:1.9!important; overflow-wrap:anywhere; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__title .elementor-heading-title,
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__accent .elementor-heading-title { font-size:clamp(38px,5vw,60px)!important; line-height:1.2!important; overflow-wrap:anywhere; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__actions { margin-top:10px; }

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-eyebrow .elementor-heading-title { display:flex; align-items:center; gap:10px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-eyebrow .elementor-heading-title::before { display:inline-block; width:22px; height:1px; flex:0 0 22px; background:var(--em-brand-red,#e60012); content:""; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button { display:inline-flex!important; min-height:49px; align-items:center; justify-content:center; padding:12px 22px!important; border:1px solid transparent!important; border-radius:3px!important; box-shadow:none!important; font:700 14px/1.5 var(--em-font-body,"Noto Sans TC",sans-serif)!important; text-decoration:none; transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button--primary .elementor-button { background:var(--em-brand-red,#e60012)!important; color:#fff!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button--secondary .elementor-button,
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button--light .elementor-button { background:#fff!important; color:var(--em-brand-ink,#20242a)!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button--light .elementor-button { min-width:172px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button-content-wrapper { display:inline-flex!important; align-items:center; flex-wrap:nowrap!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button-text { display:inline-flex; align-items:center; white-space:nowrap; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button-text::after { display:inline-block; margin-left:12px; color:currentColor; content:"→"; font:600 17px/1 Arial,sans-serif; transition:transform .25s ease; }
@media(hover:hover) and (pointer:fine) {
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button:hover { transform:translateY(-2px); box-shadow:0 9px 22px rgba(32,36,42,.13)!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button:hover .elementor-button-text::after { transform:translateX(4px); }
}

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__inner,
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__inner,
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__inner,
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__inner { width:100%; max-width:1220px; margin-inline:auto; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__intro-row { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__title { flex:0 1 61%; min-width:0; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__lead { flex:0 1 34%; padding-bottom:5px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__grid { display:flex; align-items:stretch; gap:16px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability { position:relative; overflow:hidden; flex:1 1 calc(25% - 12px); min-width:0; border-radius:4px; box-shadow:0 8px 24px rgba(32,36,42,.035); transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability::after { position:absolute; right:0; bottom:0; left:0; height:2px; transform:scaleX(.12); transform-origin:left; background:var(--em-brand-red,#e60012); content:""; transition:transform .38s cubic-bezier(.2,.7,.25,1); }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability__top { width:100%; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability__glyph .elementor-heading-title { display:grid; width:42px; height:42px; place-items:center; border:1px solid #efdcdd; border-radius:50%; background:#fffafa; transition:transform .35s ease,background-color .35s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability__tag .elementor-heading-title { letter-spacing:.12em; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability__title { margin-top:2px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability__link { margin-top:auto; padding-top:10px; font-weight:700; }
@media(hover:hover) and (pointer:fine) {
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability:hover { transform:translateY(-5px); border-color:#dfb9bc!important; box-shadow:0 17px 36px rgba(32,36,42,.09); }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability:hover::after { transform:scaleX(1); }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability:hover .em-ai-capability__glyph .elementor-heading-title { transform:rotate(-8deg); background:#fff; }
}

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__intro { position:relative; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__intro::before { position:absolute; top:-34px; left:-38px; width:140px; height:140px; border:1px solid rgba(255,255,255,.09); border-radius:50%; content:""; pointer-events:none; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__intro::after { position:absolute; top:-22px; left:-26px; width:116px; height:116px; border:1px solid rgba(230,0,18,.25); border-radius:50%; content:""; pointer-events:none; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__title .elementor-heading-title { white-space:pre-line; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) { flex-wrap:nowrap!important; transition:border-color .25s ease,padding-inline .25s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row):first-child { border-top-color:rgba(255,255,255,.25)!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) > .em-ai-usecase__number { flex:0 0 20px!important; width:20px!important; max-width:20px!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) > .em-ai-usecase__copy { flex:1 1 0%!important; width:auto!important; max-width:none!important; min-width:0; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) > .em-ai-usecase__arrow { flex:0 0 34px!important; width:34px!important; max-width:34px!important; margin-left:auto; align-self:center; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) .em-ai-usecase__title .elementor-heading-title { margin:0!important; color:#fff!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) .em-ai-usecase__description { margin:0!important; color:rgba(255,255,255,.68)!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecase__number .elementor-heading-title { padding-top:3px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecase__copy { flex:1 1 auto; min-width:0; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecase__arrow .elementor-heading-title { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; transition:transform .25s ease,border-color .25s ease; }
@media(hover:hover) and (pointer:fine) {
 body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row):hover { border-color:rgba(255,255,255,.5)!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row):hover .em-ai-usecase__arrow .elementor-heading-title { transform:translate(2px,-2px); border-color:var(--em-brand-red,#e60012); }
}

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__heading { max-width:720px; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__title .elementor-heading-title { white-space:pre-line; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__steps { display:flex; align-items:stretch; border-top:1px solid #dfe2e3; border-bottom:1px solid #dfe2e3; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step { position:relative; flex:1 1 33.333%; min-width:0; border-color:#dfe2e3; transition:transform .3s ease,background-color .3s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step:first-child { border-left:0!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step:last-child { border-right:0!important; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__icon .elementor-heading-title { display:grid; width:44px; height:44px; place-items:center; border:1px solid #e7cbcd; border-radius:50%; transition:transform .35s ease,background-color .3s ease; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step-title { margin-top:5px; }
@media(hover:hover) and (pointer:fine) {
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step:hover { transform:translateY(-4px); background:rgba(255,255,255,.55); }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step:hover .em-ai-process__icon .elementor-heading-title { transform:rotate(-8deg); background:#fff; }
}

body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__inner { display:flex; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__copy { flex:1 1 auto; min-width:0; }
body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__eyebrow .elementor-heading-title { color:#f08088!important; }

.em-ai-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.25,1); transition-delay:var(--em-ai-reveal-delay,0ms); }
.em-ai-reveal.is-visible { opacity:1; transform:translateY(0); }
.em-ai-hero__card.em-ai-reveal { transform:translate(15px,12px); }
.em-ai-hero__card.em-ai-reveal.is-visible { transform:translate(0,0); }
@media(max-width:1024px) {
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__inner { flex-direction:column; align-items:stretch; gap:25px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__copy,body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card { width:100%; flex-basis:auto; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card { max-width:540px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__grid { flex-wrap:wrap; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability { flex-basis:calc(50% - 8px); }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__inner { gap:36px; }
}
@media(max-width:767px) {
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero .elementor-background-overlay { background:linear-gradient(0deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.96) 45%,rgba(250,249,247,.56) 76%,rgba(250,249,247,.16) 100%)!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__inner { gap:20px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__title .elementor-heading-title,
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__accent .elementor-heading-title { font-size:clamp(34px,9vw,42px)!important; line-height:1.2!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__lead { font-size:14px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__note { font-size:11px!important; line-height:2!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card-index { letter-spacing:.04em; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__actions { width:100%; gap:9px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-button .elementor-button { min-height:45px; padding:11px 16px!important; font-size:13px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card { padding:20px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero__card-title .elementor-heading-title { font-size:21px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__intro-row { display:block; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__title,body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__lead { width:100%; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__lead { margin-top:12px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capabilities__grid { flex-direction:column; gap:12px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-capability { flex:1 1 auto; width:100%!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__inner { gap:28px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__intro::before { top:-22px; left:-20px; width:92px; height:92px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecases__intro::after { top:-14px; left:-12px; width:76px; height:76px; }
 body:is(.em-design-ai, :has(.em-ai-hero)) :is(.em-ai-usecases__row,.em-ai-usecase__row) { gap:12px; padding-block:17px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-usecase__copy { flex:1 1 auto; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__steps { flex-direction:column!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step { flex:1 1 auto; min-height:0; padding:19px 0!important; border-right:0!important; border-bottom:1px solid #dfe2e3!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-process__step:last-child { border-bottom:0!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__inner { flex-direction:column!important; align-items:stretch!important; gap:20px!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__copy,body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__inner>.elementor-widget-button { width:100%!important; flex:0 0 100%; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-cta__inner>.elementor-widget-button .elementor-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .em-ai-reveal,.em-ai-reveal.is-visible,.em-ai-capability,.em-ai-capability::after,.em-ai-button .elementor-button,
 .em-ai-button .elementor-button-text::after,.em-ai-process__step,.em-ai-process__icon .elementor-heading-title { animation:none!important; transition:none!important; transform:none!important; }
 .em-ai-reveal { opacity:1!important; }
 body:is(.em-design-ai, :has(.em-ai-hero)) .em-ai-hero::before { animation:none!important; }
}
