:root{--ink:#101e34;--ink2:#1b3049;--blue:#315c85;--sky:#bad5db;--paper:#f7f8f5;--white:#fff;--gold:#e6b65e;--muted:#657385;--line:#d9e1e2;--max:1160px;--sans:'Noto Sans TC','Microsoft JhengHei','PingFang TC',Arial,sans-serif;--mono:'Cascadia Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--max),calc(100% - 56px));margin-inline:auto}.header{height:76px;position:sticky;top:0;z-index:20;background:rgba(16,30,52,.97);border-bottom:1px solid rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(12px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:800}.brand-mark{width:35px;height:35px;border:1px solid rgba(230,182,94,.7);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:500 13px var(--mono)}.brand-name{font-size:18px;line-height:1.15}.brand-name small{display:block;margin-top:4px;font:400 9px var(--mono);letter-spacing:.16em;color:#aab8c6}.nav-links{display:flex;align-items:center;gap:25px;font-size:13px;color:#d4dce4}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--gold)}.nav-links .nav-cta{border:1px solid rgba(230,182,94,.65);color:var(--gold);padding:7px 13px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px;padding:8px}.eyebrow{display:flex;align-items:center;gap:11px;color:#7b929e;font:500 11px var(--mono);letter-spacing:.11em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:1px;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:0 19px;border:1px solid transparent;border-radius:2px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#f0c775}.btn-outline{border-color:#8299a9;color:#fff;background:transparent}.btn-outline:hover{background:#22384f}.arrow{font-size:18px}.section{padding:88px 0}.section-head{display:grid;grid-template-columns:1fr minmax(230px,390px);gap:40px;align-items:end;margin-bottom:38px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.28;letter-spacing:-.04em;margin:15px 0 0}.section-head p{color:var(--muted);margin:0 0 5px;font-size:15px}.page-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:77px 0 80px}.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(79,128,152,.22),transparent 38%),linear-gradient(110deg,transparent 55%,rgba(255,255,255,.025) 55.1%,transparent 55.3%)}.page-hero:after{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 20%,black 100%)}.page-hero .wrap{position:relative;z-index:1}.crumb{font-size:12px;color:#aab8c6;margin-bottom:28px}.crumb a:hover{color:var(--gold)}.page-hero .eyebrow{color:#b8c7d1}.page-hero h1{font-size:clamp(38px,6vw,66px);line-height:1.18;letter-spacing:-.05em;max-width:810px;margin:18px 0}.page-hero p{font-size:17px;color:#c2ced7;line-height:1.9;max-width:730px;margin:0}.page-no{position:absolute;right:0;bottom:2px;color:#718399;font:11px var(--mono);letter-spacing:.13em}.intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:76px}.intro-title h2{font-size:clamp(28px,3.6vw,43px);line-height:1.4;letter-spacing:-.035em;margin:14px 0}.intro-copy{font-size:16px;color:#526274;line-height:2}.intro-copy p{margin:0 0 18px}.intro-copy strong{color:var(--ink)}.soft-panel{background:#eaf0ef;padding:28px 30px;border-left:3px solid var(--gold)}.soft-panel h3{margin:0 0 8px;font-size:18px}.soft-panel p{margin:0;color:#526274;font-size:14px;line-height:1.9}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{background:#fff;border:1px solid #e2e7e6;padding:24px;min-height:212px}.card .num{font:11px var(--mono);letter-spacing:.08em;color:#8395a3}.card h3{font-size:19px;margin:25px 0 8px}.card p{font-size:14px;line-height:1.85;color:#657385;margin:0}.card-link{display:inline-flex;margin-top:16px;font-size:13px;font-weight:700;color:#315c85}.cap-strip{background:#edf2f1}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccd8d8;border-bottom:1px solid #ccd8d8}.cap{padding:26px 22px 30px 0;border-right:1px solid #ccd8d8}.cap:not(:first-child){padding-left:22px}.cap:last-child{border-right:0}.cap .num{font:11px var(--mono);color:#81919c}.cap h3{font-size:18px;margin:18px 0 6px}.cap p{font-size:13px;color:#687786;line-height:1.8;margin:0}.dark-band{background:var(--ink);color:white}.dark-band h2{font-size:clamp(29px,4vw,46px);line-height:1.25;letter-spacing:-.04em;margin:13px 0}.dark-band .lede{color:#b4c0ca;max-width:740px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#37495e;border:1px solid #37495e;margin-top:30px}.value{background:var(--ink);padding:23px}.value b{display:block;color:var(--gold);font-size:16px;margin-bottom:7px}.value span{font-size:13px;color:#b7c4cf;line-height:1.85}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.service{position:relative;background:#fff;padding:28px;border:1px solid #e1e7e7;min-height:282px}.service-top{display:flex;justify-content:space-between;align-items:flex-start}.service-no{font:12px var(--mono);color:#8194a3}.service h2{font-size:23px;line-height:1.45;margin:24px 0 12px;max-width:470px}.service p{font-size:14px;color:#657385;line-height:1.9;margin:0;max-width:550px}.service ul{padding:0;margin:15px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}.service li{background:#edf2f1;color:#506273;font-size:12px;padding:4px 9px}.case-list{display:grid;gap:22px}.case{display:grid;grid-template-columns:.62fr 1.38fr;background:#fff;border:1px solid #e1e7e7}.case-side{background:#e8efee;padding:27px 26px;display:flex;flex-direction:column;justify-content:space-between}.case-side.dark{background:#1c3048;color:white}.case-label{font:11px var(--mono);letter-spacing:.08em;opacity:.72}.case-side h2{font-size:23px;line-height:1.48;margin:22px 0}.case-loc{font-size:12px;line-height:1.8;opacity:.72}.case-body{padding:28px 34px}.case-body>p{color:#556476;margin:0 0 21px}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 26px}.case-detail h3{font-size:13px;margin:0 0 5px;color:#315c85}.case-detail p{font-size:13px;line-height:1.8;color:#667385;margin:0}.case-detail ul{margin:0;padding-left:17px;color:#667385;font-size:13px;line-height:1.85}.list-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.list-cloud span{padding:7px 11px;border:1px solid #d5dfe0;background:#fbfcfa;font-size:13px;color:#526274}.case-note{font-size:12px;color:#748394;margin-top:12px}.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.app-card{padding:26px;background:#fff;border:1px solid #e0e6e5}.app-card h2{font-size:21px;margin:0 0 10px}.app-card p{font-size:14px;color:#627182;line-height:1.9;margin:0}.app-kicker{font:11px var(--mono);color:#7d929f;letter-spacing:.08em}.app-card ul{padding-left:18px;color:#5c6d7c;font-size:13px;line-height:1.9;margin-bottom:0}.notice{padding:17px 20px;border:1px solid #d6e0df;background:#edf3f1;color:#596b7a;font-size:13px;line-height:1.8;margin-top:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step{border-top:2px solid #a6bdc4;padding:17px 13px 0 0}.step .n{font:11px var(--mono);color:#8a9eaa}.step h3{font-size:16px;margin:13px 0 6px}.step p{font-size:13px;color:#6b7887;line-height:1.8;margin:0}.cta{background:#dce7e8;padding:70px 0}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.cta h2{font-size:clamp(29px,4vw,46px);line-height:1.3;margin:13px 0}.cta p{color:#596b78;margin:0}.cta-actions{display:flex;flex-direction:column;gap:10px;min-width:225px}.cta .btn-outline{color:var(--ink);border-color:#98adb4}.cta .btn-outline:hover{background:rgba(255,255,255,.55)}.footer{background:#0b1728;color:#aab6c2;padding:30px 0}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-info{text-align:right;font-size:12px;line-height:1.9}.footer-info a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:21px;padding-top:16px;border-top:1px solid #25374b;color:#718195;font:10px var(--mono)}.reveal{opacity:1;transform:none}html.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}html.js .reveal.in{opacity:1;transform:none}
@media(max-width:850px){.nav-links{gap:15px}.intro-grid{gap:38px}.cards{grid-template-columns:1fr 1fr}.case{grid-template-columns:.72fr 1.28fr}.cap-grid{grid-template-columns:1fr 1fr}.cap:nth-child(2){border-right:0}.cap:nth-child(n+3){border-top:1px solid #ccd8d8}.cap:nth-child(3){padding-left:0}}
@media(max-width:640px){.wrap{width:calc(100% - 38px)}.header{height:66px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;padding:10px 20px 20px;background:#101e34;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-links .nav-cta{text-align:center;margin-top:9px}.page-hero{padding:56px 0 58px}.page-hero h1{font-size:clamp(36px,10vw,52px)}.page-hero p{font-size:15px}.page-no{bottom:-31px}.section{padding:63px 0}.section-head{grid-template-columns:1fr;gap:13px}.intro-grid{grid-template-columns:1fr;gap:10px}.intro-copy{font-size:15px}.cards,.service-list,.app-grid{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr}.cap,.cap:not(:first-child),.cap:nth-child(3){padding:19px 0;border:0;border-top:1px solid #ccd8d8}.cap:first-child{border-top:0}.value-grid{grid-template-columns:1fr}.value{padding:18px}.case{grid-template-columns:1fr}.case-side{min-height:155px;padding:20px}.case-side h2{font-size:20px;margin:14px 0}.case-body{padding:21px}.case-detail-grid{grid-template-columns:1fr;gap:13px}.steps{grid-template-columns:1fr 1fr}.step{padding-top:12px}.cta{padding:55px 0}.cta-grid{grid-template-columns:1fr}.cta-actions{flex-direction:row;flex-wrap:wrap}.cta-actions .btn{flex:1 1 150px}.footer-main,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-info{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}
@media(max-width:640px){.contact-details{grid-template-columns:1fr!important}.proof-strip{grid-template-columns:1fr 1fr!important}}

/* Official company wordmark */
.brand-logo{display:block;width:clamp(184px,22vw,250px);height:48px;object-fit:contain;object-position:left center;flex:none}
@media(max-width:640px){.brand-logo{width:185px;height:43px}}

/* Low-motion background parallax, driven by the shared scroll position */
.page-hero:before,.page-hero:after{will-change:transform;transform:translate3d(0,var(--parallax-shift,0px),0) scale(1.08)}
.dark-band,.cap-strip{position:relative;isolation:isolate;overflow:hidden}
.dark-band:before{content:"";position:absolute;inset:-5%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 82% 24%,rgba(79,128,152,.2),transparent 38%),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:auto,70px 70px,70px 70px;will-change:transform;transform:translate3d(0,var(--parallax-shift,0px),0)}
.cap-strip:before{content:"";position:absolute;inset:-6%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 78% 32%,rgba(82,133,145,.12),transparent 36%),linear-gradient(rgba(37,79,101,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(37,79,101,.04) 1px,transparent 1px);background-size:auto,76px 76px,76px 76px;will-change:transform;transform:translate3d(0,var(--parallax-shift,0px),0)}
.dark-band>.wrap,.cap-strip>.wrap{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.page-hero:before,.page-hero:after,.dark-band:before,.cap-strip:before{transform:none!important;will-change:auto}}
