/* === Approved Services Orbit v1 (embedded) === */

/* eHeading / Services Orbit v1: namespaced, drop-in safe. No dependencies. */
:root{--eho-navy:#0C214B;--eho-blue:#1262F3;--eho-cyan:#14B8F8;--eho-teal:#16BFAE;--eho-soft:#F6FAFF;--eho-muted:#627894}
.eho-services,.eho-services *{box-sizing:border-box}
.eho-services{position:relative;isolation:isolate;color:var(--eho-navy);font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;background:linear-gradient(125deg,#fff 6%,#f9fcff 39%,#ecf6ff 100%);height:305vh;min-height:2200px;--eho-intro:1;--eho-progress:0;--eho-mx:0px;--eho-my:0px;scroll-margin-top:0;overflow:clip}
.eho-services::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 37% 19% at 16% 19%,rgba(20,184,248,.13),transparent 80%),radial-gradient(ellipse 39% 28% at 87% 25%,rgba(18,98,243,.13),transparent 83%),radial-gradient(ellipse 27% 20% at 70% 80%,rgba(22,191,174,.12),transparent 79%);z-index:-1}
.eho-services::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.23;pointer-events:none;background-image:radial-gradient(#8ebdec 0.7px,transparent 0.7px);background-size:31px 31px;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 80%,transparent)}
.eho-sticky{height:100svh;min-height:760px;position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,2.4vh,28px) clamp(24px,4vw,68px) 20px;overflow:hidden}
.eho-shell{width:min(100%,1440px);margin:0 auto;position:relative}
.eho-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:14px;position:relative;z-index:2;transform:translateY(calc((1 - var(--eho-intro))*20px));opacity:calc(.55 + .45*var(--eho-intro))}
.eho-eyebrow{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:900;letter-spacing:.24em;color:#4380c1;text-transform:uppercase;margin:0 0 12px}
.eho-eyebrow:before{content:"";width:30px;height:2px;background:linear-gradient(90deg,var(--eho-blue),var(--eho-teal))}
.eho-header h2{margin:0;font-size:clamp(29px,2.7vw,46px);line-height:1.25;font-weight:850;letter-spacing:-.052em}
.eho-header h2 em{font-style:normal;background:linear-gradient(104deg,#1262f3 4%,#1599eb 61%,#14b8cf 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eho-lead{margin:12px 0 0;color:#637892;font-size:clamp(16px,1.26vw,18px);line-height:1.7;max-width:760px}
.eho-head-aside{align-self:center;max-width:176px;font-size:14px;line-height:1.7;letter-spacing:.07em;color:#7598c2;border-left:1px solid #bbd8f5;padding-left:18px}
.eho-head-aside b{display:block;color:#1262F3;letter-spacing:.2em;font-size:14px;margin-bottom:7px}
.eho-stage{display:grid;grid-template-columns:minmax(156px,205px) minmax(380px,1fr) minmax(340px,400px);align-items:center;gap:clamp(10px,1.8vw,26px);min-height:500px;position:relative;transform:translateY(calc((1 - var(--eho-intro))*32px));opacity:calc(.4 + .6 * var(--eho-intro));transition:filter .3s}
.eho-stage::before{content:"";position:absolute;width:58%;height:70%;left:19%;top:13%;border-radius:50%;background:radial-gradient(circle,rgba(66,154,255,.12),transparent 66%);filter:blur(22px);pointer-events:none}
.eho-sidebar{position:relative;z-index:2;align-self:center}
.eho-sidebar-title{font-size:14px;color:#7996b6;letter-spacing:.18em;font-weight:800;margin-bottom:17px}
.eho-service-tabs{display:grid;gap:7px}
.eho-service-tab{all:unset;box-sizing:border-box;width:100%;cursor:pointer;border-radius:13px;display:grid;grid-template-columns:23px 1fr 16px;align-items:center;gap:7px;padding:15px 11px;color:#657a95;background:transparent;border:1px solid transparent;font:inherit;transition:background .26s,border-color .26s,color .26s,box-shadow .26s,transform .26s}
.eho-service-tab:hover{color:#1262F3;background:#fff;border-color:#d4e7fe;transform:translateX(3px)}
.eho-service-tab.is-active{color:#1262F3;background:rgba(255,255,255,.88);border-color:#bedafd;box-shadow:0 9px 28px rgba(24,98,211,.1);transform:translateX(5px)}
.eho-service-tab:focus-visible,.eho-wedge:focus-visible,.eho-nav-btn:focus-visible,.eho-detail-link:focus-visible{outline:3px solid #23b7f8;outline-offset:4px}
.eho-tab-number{font-size:15px;color:#8ea6bf;font-weight:800;letter-spacing:.03em}
.eho-tab-name{font-weight:800;font-size:17px;white-space:nowrap}
.eho-tab-arrow{font-size:16px;opacity:.36;transition:opacity .3s,transform .3s}
.eho-service-tab.is-active .eho-tab-arrow{opacity:1;transform:translate(1px,-1px)}
.eho-sidebar-hint{font-size:14px;color:#8da4bb;line-height:1.9;padding:21px 3px 0}
.eho-visual{position:relative;z-index:1;align-self:center;min-width:0;display:grid;place-items:center}
.eho-orbit-glow{position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle at 37% 33%,rgba(255,255,255,.85),rgba(74,146,249,.14) 62%,transparent 73%);filter:blur(12px);pointer-events:none;transform:translate(var(--eho-mx),var(--eho-my))}
.eho-wheel-shell{position:relative;width:min(100%,580px);aspect-ratio:1;filter:drop-shadow(0 26px 32px rgba(23,82,177,.12));user-select:none;touch-action:pan-y}
.eho-wheel{display:block;width:100%;height:100%;overflow:visible;transform:rotate(calc((1 - var(--eho-intro))*-17deg)) scale(calc(.84 + .16*var(--eho-intro)));transition:transform .1s linear}
.eho-spin-ring{transform-origin:310px 310px;animation:eho-orbit-rotate 75s linear infinite}
.eho-dash-ring{transform-origin:310px 310px;animation:eho-orbit-rotate 100s linear infinite reverse}
@keyframes eho-orbit-rotate{to{transform:rotate(360deg)}}
.eho-wedge{cursor:pointer;transform:translate(0,0);transition:transform .55s cubic-bezier(.2,1,.25,1),opacity .42s,filter .55s;outline:none}
.eho-wedge:not(.is-active){opacity:.84;filter:saturate(.84)}
.eho-wedge:is(:hover,:focus-visible,.is-active){opacity:1;transform:translate(var(--dx),var(--dy));filter:drop-shadow(0 12px 16px rgba(22,98,200,.2))}
.eho-wedge-face{stroke:#fff;stroke-opacity:.88;stroke-width:2}
/* 選中扇形：背景改用更實心、帶流動高光的專用漸層（其餘視覺維持原樣） */
.eho-wedge[data-index="0"].is-active .eho-wedge-face{fill:url(#eho-grad-0-on)}
.eho-wedge[data-index="1"].is-active .eho-wedge-face{fill:url(#eho-grad-1-on)}
.eho-wedge[data-index="2"].is-active .eho-wedge-face{fill:url(#eho-grad-2-on)}
.eho-wedge[data-index="3"].is-active .eho-wedge-face{fill:url(#eho-grad-3-on)}
.eho-wedge[data-index="4"].is-active .eho-wedge-face{fill:url(#eho-grad-4-on)}
.eho-wedge-label{font-family:Inter,"Noto Sans TC","PingFang TC",sans-serif;fill:white;font-size:18px;font-weight:900;paint-order:stroke;stroke:rgba(12,33,75,.1);stroke-width:1px;letter-spacing:1px;pointer-events:none}
.eho-wheel-wordmark{font-weight:850;letter-spacing:-1px;font-size:29px;fill:#0C214B;font-family:Inter,"Arial",sans-serif}


.eho-wheel-caption{font-size:14px;letter-spacing:.07em;color:#7a98b9;text-align:center;margin-top:-2px}
.eho-wheel-caption strong{color:#1262F3}
.eho-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#16BFAE;box-shadow:0 0 0 8px rgba(22,191,174,.12);animation:eho-float 3.8s ease-in-out infinite alternate;pointer-events:none}
.eho-dot.a{left:12%;top:16%;width:7px;height:7px;background:#14B8F8;box-shadow:0 0 0 7px rgba(20,184,248,.1)}
.eho-dot.b{right:9%;bottom:23%;animation-delay:1.2s}
@keyframes eho-float{to{transform:translate3d(4px,-9px,0)}}
.eho-focus{position:relative;z-index:2;background:rgba(255,255,255,.86);border:1px solid rgba(187,215,247,.9);border-radius:26px;min-height:456px;padding:clamp(20px,2.3vw,32px);box-shadow:0 22px 60px rgba(25,87,163,.09),inset 0 1px rgba(255,255,255,.98);backdrop-filter:blur(18px);overflow:hidden;align-self:center}
.eho-focus::before{content:"";position:absolute;top:-85px;right:-90px;width:225px;height:225px;border-radius:50%;background:radial-gradient(circle,#dceeff 5%,rgba(227,242,255,0) 70%);z-index:-1}
.eho-focus-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:6px;color:#83a0bd;font-size:15px;font-weight:900;letter-spacing:.12em;padding-bottom:15px;border-bottom:1px solid #e2edf9}
.eho-status{display:inline-flex;align-items:center;gap:7px;color:#0daea0;letter-spacing:.09em}
.eho-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#1bc7b1;box-shadow:0 0 0 4px rgba(27,199,177,.12)}
.eho-detail{padding-top:15px;animation:eho-detail-in .43s cubic-bezier(.16,1,.3,1) both}
.eho-detail[hidden]{display:none}
@keyframes eho-detail-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.eho-detail-head{display:flex;align-items:center;gap:11px}
.eho-detail-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--service-accent) 9%,white);color:var(--service-accent);border:1px solid color-mix(in srgb,var(--service-accent) 18%,white)}
.eho-icon{display:block;width:27px;height:27px}
.eho-detail-en{font-weight:850;color:#8aa2bf;letter-spacing:.06em;font-size:15px;line-height:1.5;min-width:0}
.eho-detail-count{font-size:15px;font-weight:900;letter-spacing:.17em;color:#90a6c0;margin:14px 0 6px}
.eho-detail-count strong{font-size:15px;color:#1262F3}
.eho-detail h3{font-size:clamp(29px,2.45vw,38px);font-weight:900;letter-spacing:-.05em;margin:0 0 6px;line-height:1.4}
.eho-detail h4{font-weight:850;color:#1262f3;line-height:1.5;font-size:17px;letter-spacing:-.02em;margin:0 0 11px}
.eho-detail-desc{font-size:16px;line-height:1.72;color:#657b96;margin:0 0 15px}
.eho-detail-list{list-style:none;display:grid;gap:9px;padding:0;margin:0 0 15px}
.eho-detail-list li{position:relative;padding-left:21px;font-size:15.5px;line-height:1.45;color:#3e5878;font-weight:700}
.eho-detail-list li:before{content:"";width:7px;height:7px;border:2px solid #14b8f8;border-radius:50%;position:absolute;top:5px;left:2px}
.eho-detail-actions{margin-top:8px}
.eho-detail-link{display:flex;text-decoration:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;border-radius:12px;background:linear-gradient(103deg,#1262F3,#148DF2 60%,#13B6D5);box-shadow:0 10px 22px rgba(18,98,243,.18);font-size:15px;color:white;font-weight:850;transition:transform .22s,box-shadow .22s}
.eho-detail-link:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(18,98,243,.25)}
.eho-detail-link span{font-size:17px}
.eho-focus-nav{border-top:1px solid #e1ebf7;margin-top:16px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.eho-focus-nav-label{font-size:14px;color:#7b96b5;font-weight:800;letter-spacing:.04em}
.eho-nav-btns{display:flex;gap:7px}
.eho-nav-btn{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:17px;cursor:pointer;background:white;border:1px solid #dbe8f7;color:#1262F3;transition:background .2s,transform .2s}
.eho-nav-btn:hover{background:#e9f3ff;transform:translateY(-1px)}
.eho-bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:5px;margin-top:5px}
.eho-bottom-left{display:flex;align-items:center;gap:10px;color:#8ba3bd;letter-spacing:.12em;font-size:14px;font-weight:850}
.eho-progress-line{height:3px;background:#dfebfb;position:relative;overflow:hidden;width:min(24vw,195px);border-radius:10px}
.eho-progress-line:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1262f3,#16bfae);transform:scaleX(var(--eho-progress));transform-origin:left;transition:transform .15s ease-out}
.eho-bottom-right{display:flex;align-items:center;gap:11px;color:#7f9bb8;letter-spacing:.08em;font-size:14px;font-weight:850}
.eho-scroll-icon{height:23px;width:15px;border:1.5px solid #86a9d3;border-radius:9px;position:relative}
.eho-scroll-icon:after{content:"";position:absolute;left:5px;top:5px;width:3px;height:6px;background:#1262f3;border-radius:3px;animation:eho-mouse 1.5s ease-in-out infinite}
@keyframes eho-mouse{to{top:10px;opacity:.2}}
.eho-a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Standalone demo shell only; does not affect the drop-in section */
.eho-demo-body{padding:0;margin:0;overflow-x:hidden;font-family:Inter,"Noto Sans TC","PingFang TC",system-ui,sans-serif;background:#fff;color:#0C214B}
.eho-demo-nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);position:absolute;top:0;left:0;right:0;z-index:10}
.eho-demo-nav img{width:172px;height:auto;max-height:42px;object-fit:contain;object-position:left center}
.eho-demo-nav span{color:#7594b4;font-size:14px;font-weight:750;letter-spacing:.1em}
.eho-demo-end{height:82svh;min-height:550px;background:linear-gradient(125deg,#fff 15%,#f4faff 56%,#e7f3ff);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center}
.eho-demo-end:before{content:"";position:absolute;inset:auto -14% -70% -12%;height:115%;background:radial-gradient(ellipse,rgba(18,98,243,.18),transparent 67%);pointer-events:none}
.eho-demo-end-main{position:relative;padding:0 20px}
.eho-demo-kicker{font-size:14px;color:#1262f3;letter-spacing:.28em;font-weight:850}
.eho-demo-end h1{font-size:clamp(32px,5vw,73px);letter-spacing:-.06em;line-height:1.24;margin:20px 0 14px}
.eho-demo-end h1 span{color:#1262f3}
.eho-demo-end p{color:#7088a5;font-size:16px;line-height:1.8}
.eho-demo-arrow{margin:56px auto 0;height:42px;width:42px;border:1px solid #a8cef8;border-radius:50%;display:grid;place-items:center;color:#1262f3;animation:eho-float 2.3s ease-in-out infinite alternate;text-decoration:none}
.eho-demo-note{position:absolute;bottom:23px;font-size:14px;color:#a1b5cb;left:0;right:0;text-align:center;letter-spacing:.06em}
.eho-demo-end-deco{position:absolute;border:1px solid rgba(26,134,246,.1);border-radius:50%;width:30vw;height:30vw;min-width:300px;min-height:300px;left:-13vw;top:25%;background:radial-gradient(circle,rgba(66,176,250,.07),transparent 70%)}
.eho-demo-end-deco.b{left:auto;right:-17vw;top:4%;width:38vw;height:38vw}
.eho-demo-contact{padding:105px 25px;text-align:center;position:relative;background:linear-gradient(112deg,#0c214b,#155bd1);color:white}
.eho-demo-contact h2{font-size:clamp(24px,3vw,43px);letter-spacing:-.04em;margin:0 0 15px}
.eho-demo-contact p{color:#c2d9fd;font-size:15px;margin:0 0 30px}
.eho-demo-contact a{display:inline-flex;color:#155cd7;background:white;border-radius:100px;padding:15px 25px;text-decoration:none;font-size:15px;font-weight:850;gap:12px}
.eho-demo-contact small{display:block;color:#98bde8;font-size:14px;margin-top:30px}
@media(max-width:1290px){.eho-stage{grid-template-columns:170px minmax(340px,1fr) 350px;gap:10px}.eho-sticky{padding-left:23px;padding-right:23px}.eho-focus{padding:20px;min-height:420px}.eho-detail-desc{font-size:15.5px}.eho-detail-list{gap:8px}}
@media(max-width:1080px){.eho-services{height:auto;min-height:0;overflow:hidden}.eho-sticky{position:relative;min-height:0;height:auto;padding:88px 28px 86px}.eho-header{margin-bottom:27px}.eho-stage{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);grid-template-areas:"nav nav" "wheel focus";gap:22px;align-items:center}.eho-sidebar{grid-area:nav}.eho-service-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.eho-service-tab{grid-template-columns:1fr;gap:8px;text-align:center;padding:13px 5px}.eho-tab-arrow{display:none}.eho-sidebar-title,.eho-sidebar-hint,.eho-head-aside,.eho-bottom-right{display:none}.eho-visual{grid-area:wheel}.eho-focus{grid-area:focus;min-height:440px}.eho-header h2{font-size:36px}.eho-stage{transform:none;opacity:1}.eho-wheel{transform:none;transition:none}.eho-bottom{margin-top:25px}}
@media(max-width:720px){.eho-sticky{padding:72px 19px 64px}.eho-header{display:block;margin-bottom:7px}.eho-eyebrow{font-size:14px}.eho-header h2{font-size:clamp(29px,6.6vw,39px)}.eho-lead{font-size:17px}.eho-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"wheel" "nav" "focus";gap:11px}.eho-visual{margin:0 -15px}.eho-wheel-shell{max-width:480px;width:min(100%,470px)}.eho-wheel-caption{margin-top:9px;font-size:14px}.eho-service-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:7px 3px 11px}.eho-service-tab{flex:0 0 auto;width:auto;display:flex;gap:7px;justify-content:center;padding:11px 12px;white-space:nowrap;border:1px solid #e0eafa;background:rgba(255,255,255,.7)}.eho-service-tab.is-active{transform:none}.eho-tab-number{font-size:15px}.eho-tab-name{font-size:16px}.eho-focus{border-radius:24px;padding:25px;min-height:0;margin-top:6px}.eho-focus-top{padding-bottom:15px}.eho-detail h3{font-size:32px}.eho-detail h4{font-size:16px}.eho-bottom{margin-top:24px}.eho-bottom-left{font-size:14px}.eho-demo-nav{height:68px}.eho-demo-nav img{width:145px}.eho-demo-nav span{font-size:14px}.eho-demo-end{height:76svh}.eho-demo-end p{font-size:15px}.eho-demo-contact{padding:85px 24px}}
@media(prefers-reduced-motion:reduce){{.eho-services *,.eho-services *::before,.eho-services *::after{animation:none!important;transition:none!important}.eho-services{--eho-intro:1!important}.eho-wheel{transform:none!important}.eho-stage,.eho-header{transform:none!important;opacity:1!important}}
