/* 行銷頁共用 Header／手機選單／語系抽屜／FAQ／Footer 樣式（三頁共用）。
   使用同步 stylesheet；字型由 Google Fonts 載入；跳到主要內容連結只在鍵盤聚焦時出現。 */
/* ═══ 1. 共用元件 ═══ */
:root{--sc-chrome-font:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;--sc-chrome-sc:'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;--sc-chrome-jp:'Hiragino Sans','Yu Gothic','Noto Sans JP','Meiryo',sans-serif;--sc-chrome-ink:#043043;--sc-chrome-accent:#F97D1B;--sc-chrome-focus:#06445F;--sc-chrome-nav-h:72px}
html[data-locale="zh-CN"]{--sc-chrome-font:var(--sc-chrome-sc)}
html[data-locale="ja"]{--sc-chrome-font:var(--sc-chrome-jp)}
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language){font-family:var(--sc-chrome-font);font-size:1rem;font-weight:400;line-height:1.7;letter-spacing:0;font-synthesis:none;box-sizing:border-box}
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language) :is(button,a){font-family:inherit;font-synthesis:none;box-sizing:border-box}
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language) button{cursor:pointer;border:0;background:none;color:inherit}
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language) a{color:inherit;text-decoration:none}   /* 共用元件不依賴頁面的全域連結重設。 */
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language) :focus-visible{outline:3px solid var(--sc-chrome-focus);outline-offset:3px}
.sc-header{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;background:transparent;color:var(--sc-chrome-ink);box-shadow:none;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.sc-header[data-sc-position="sticky"]{position:sticky}
.sc-header[data-sc-tone="light"]{color:#FFFFFF}
.sc-header,.sc-language{font-family:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;-webkit-font-smoothing:antialiased}
/* 共用元件自行設定文字平滑，避免各頁 body 設定不同而產生字重差異。 */
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.sc-header.sc-is-scrolled{background:rgb(255 255 255 / 90%);color:var(--sc-chrome-ink);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 2px 16px rgb(4 48 67 / 7%)}
.sc-header :is(.nav-inner,.nav2-inner){width:100%;max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
.sc-header .logo{display:flex;align-items:center;gap:10px;flex:none;min-height:44px;min-width:44px;color:inherit;font-family:inherit;font-size:1.3125rem;font-weight:700;line-height:1.7;letter-spacing:.14em;white-space:nowrap;margin:-3px;padding:3px}
.sc-header .logo-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;box-shadow:0 8px 22px rgb(4 48 67 / 18%)}
.sc-header .logo-mark img{display:block;width:100%;height:100%;object-fit:contain}
.sc-header .sc-wordmark{font:inherit;letter-spacing:inherit}
.sc-header :is(.nav-links,.nav2-links){display:flex;align-items:center;gap:36px;flex-wrap:nowrap;min-width:0}
.sc-header :is(.nav-links,.nav2-links) a{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;font-size:.9375rem;font-weight:500;line-height:1.7;letter-spacing:0;color:inherit;white-space:nowrap;padding:9.25px 0;margin:-3.25px 0;transition:color .2s}
.sc-header[data-sc-tone="light"]:not(.sc-is-scrolled) :is(.nav-links,.nav2-links) a{color:rgb(255 255 255 / 90%)}
.sc-header :is(.nav-links,.nav2-links) a:hover{color:var(--sc-chrome-accent)}
.sc-header :is(.nav-links,.nav2-links) a.active{font-weight:500}
.sc-header :is(.nav-links,.nav2-links) a.active::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:-.75px;width:22px;height:3px;border-radius:2px;background:var(--sc-chrome-accent)}
.sc-header :is(.nav-links,.nav2-links) a::before{content:none}
.sc-header :is(.nav-actions,.nav2-actions){display:flex;align-items:center;gap:12px;flex:none}
.sc-header :is(.nav-demo-btn,.nav2-demo-btn){display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;white-space:nowrap;text-decoration:none;transition:background .2s;color:inherit;margin:0}
.sc-header :is(.nav-app-btn,.nav2-app-btn){padding:10px 16px;background:var(--sc-chrome-accent);color:#FFFFFF;font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:.02em}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn,.nav-burger,.nav2-burger){width:44px;height:44px;padding:2px;margin:-2px;display:grid;place-items:center;color:var(--sc-chrome-ink);border-radius:10px;background:none;transition:transform .2s}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn) .sc-control-face{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid rgb(4 48 67 / 12%);background:rgb(255 255 255 / 94%);box-shadow:0 8px 22px rgb(4 48 67 / 16%);transition:background .2s,border-color .2s}
.sc-header.sc-is-scrolled :is(.nav-lang-btn,.nav2-lang-btn) .sc-control-face{background:#FFFFFF;box-shadow:none}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn):hover{color:#FFFFFF;transform:translateY(-1px)}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn):hover .sc-control-face{background:var(--sc-chrome-accent);border-color:var(--sc-chrome-accent)}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn):focus-visible{outline-color:rgb(249 125 27 / 35%)}
.sc-header :is(.nav-burger,.nav2-burger){padding:1px;margin:-1px;color:inherit;border-radius:12px}
.sc-header :is(.nav-burger,.nav2-burger){display:none}
.sc-header :is(.nav-lang-btn,.nav2-lang-btn) svg{width:21px;height:21px;display:block}
.sc-header :is(.nav-burger,.nav2-burger) svg{width:23px;height:23px;display:block}
.sc-header :is(.nav-demo-btn,.nav2-demo-btn)::after{content:none}
.sc-header.sc-compact :is(.nav-links,.nav2-links,.nav-lang-btn,.nav2-lang-btn){display:none}
.sc-header.sc-compact :is(.nav-burger,.nav2-burger){display:grid}
.sc-header.sc-actions-overflow :is(.nav-app-btn,.nav2-app-btn){display:none}
.sc-mobile-menu .sc-menu-cta[hidden]{display:none}
.sc-mobile-menu{position:fixed;z-index:99;inset:72px 0 0;height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:20px 32px 32px;background:rgb(255 255 255 / 98%);backdrop-filter:blur(14px);color:var(--sc-chrome-ink);display:none}
.sc-mobile-menu.open{display:block}
.sc-mobile-menu :is(a,button){display:flex;align-items:center;width:100%;min-height:44px;padding:14px 4px;border-bottom:1px solid #E8EAEC;font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:0;text-align:left;color:inherit;background:none;margin:0}
.sc-mobile-menu a.active{font-weight:500}
body.sc-menu-open,body.sc-language-open{overflow-y:hidden}
.sc-footer{background:#06445F;padding:50px 0;color:#EFF2F4;font-size:.9375rem;line-height:1.6}
.sc-footer>.container{box-sizing:border-box;width:100%;max-width:1280px;padding:0 32px;margin:0 auto}
.sc-footer .foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr) minmax(0,1.5fr);gap:32px;align-items:start;margin:0 0 36px}
.sc-footer .foot-sitemap{display:contents}
.sc-footer .foot-col{display:flex;flex-direction:column;gap:16px;padding:0;min-width:0}
.sc-footer .foot-col h4{font-family:inherit;font-size:1.0625rem;font-weight:500;line-height:1.5;letter-spacing:.02em;color:#FF8310;margin:0;overflow-wrap:anywhere}
.sc-footer .foot-app h4{color:#F97D1B}
.sc-footer .foot-col .list{display:flex;flex-direction:column;gap:0;margin:0;padding:0}
.sc-footer .foot-col .list a{display:flex;align-items:center;min-height:44px;padding:10px 0;margin:0;font-size:.9375rem;font-weight:500;line-height:1.6;letter-spacing:0;color:#EFF2F4;white-space:normal;overflow-wrap:anywhere}
.sc-footer .foot-col .list a:hover{color:#FF8310}
.sc-footer :is(.foot-store-row,.store-row){display:flex;flex-wrap:wrap;gap:16px;margin:0}
.sc-footer :is(.foot-store-row,.store-row) a{display:flex;align-items:center;min-height:45px}
.sc-footer .store-badge{display:block;width:115px;height:45px;max-width:none}
.sc-footer .store-badge.gp{width:130px;background:#262626;border-radius:6px;display:flex;align-items:center;justify-content:center}
.sc-footer .store-badge.gp img{width:110px;height:26px;display:block}
.sc-footer .foot-divider{height:1px;background:#4D7586}
.sc-footer .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}
.sc-footer .social-row{display:flex;gap:12px;flex:none}
.sc-footer .social-row a{display:grid;place-items:center;width:44px;height:44px;position:relative}
.sc-footer .social-row a::after{content:none}
.sc-footer .social-row svg{width:38px;height:38px;display:block}
.sc-footer .foot-copy{font-size:.875rem;font-weight:500;line-height:1.4285714;letter-spacing:0;color:#A6C0D1;text-align:right;margin:0;overflow-wrap:anywhere}
.sc-footer :focus-visible{outline-color:#F97D1B}
.sc-faq{position:relative;padding:80px 0 90px;background:#FFFFFF;color:var(--sc-chrome-ink)}
.sc-faq>.container{width:100%;max-width:1040px;padding:0 32px;margin:0 auto;position:relative;z-index:1;box-sizing:border-box}
.sc-faq .faq-head{max-width:900px;margin:0 auto 42px;text-align:center;display:block}
.sc-faq .faq-head h2{font-family:inherit;font-size:2.25rem;font-weight:500;line-height:1.5;letter-spacing:.01em;color:#2F2F2F;margin:0}
.sc-faq .faq-head .lead{font-size:1.125rem;font-weight:400;line-height:1.5;letter-spacing:0;color:#645F5C;margin:20px 0 0;max-width:none}
.sc-faq .faq-head a{color:#F97D1B;text-decoration:underline}
.sc-faq :is(.faq-list,.faq-wrap){display:flex;flex-direction:column;gap:10px;max-width:900px;margin:0 auto;padding:0;border:0}
.sc-faq .faq-item{padding:0;background:#FFFFFF;border:1px solid #C2D1D9;border-radius:10px;overflow:hidden;margin:0;transition:border-color .25s}
.sc-faq .faq-item.open{border-color:#FFD3A8}
.sc-faq .faq-item h3{margin:0;line-height:1}
.sc-faq .faq-q{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;min-height:44px;padding:20px 20px 20px 30px;margin:0;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;color:#000;background:none;text-align:left;transition:color .2s}
.sc-faq .faq-q:hover{color:#FF8310}
.sc-faq .faq-item.open .faq-q{font-weight:500;color:#FF8310}
.sc-faq .faq-q .ico{position:relative;flex:none;display:grid;place-items:center;width:24px;height:24px;transform:none;background:none}
.sc-faq .faq-q .ico img{display:none}
.sc-faq .faq-q .ico::before{content:'';width:8px;height:8px;border-right:2px solid #C2D1D9;border-bottom:2px solid #C2D1D9;transform:rotate(45deg);margin-top:-4px}
.sc-faq .faq-item.open .faq-q .ico::before{transform:rotate(225deg);margin-top:4px;border-color:#FF8310}
.sc-faq .faq-a{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .25s ease;padding:0;max-height:none}
.sc-faq .faq-item.open .faq-a{grid-template-rows:1fr}
.sc-faq .sc-faq-answer{min-height:0;overflow:hidden}
.sc-faq .faq-a p{font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.7142857;letter-spacing:0;color:#000;padding:0 20px 20px 30px;margin:0;max-width:none;overflow-wrap:anywhere}
.sc-faq .jp-geometry,.sc-faq .faq-deco{display:none}
.sc-faq .reveal{opacity:1;transform:none}
.sc-language{position:fixed;z-index:1000;inset:0;visibility:hidden;pointer-events:none;color:var(--sc-chrome-ink)}
.sc-language.is-open{visibility:visible;pointer-events:auto}
.sc-language .language-backdrop{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:rgb(4 48 67 / 28%);opacity:0;transition:opacity .28s}
.sc-language.is-open .language-backdrop{opacity:1}
.sc-language .language-panel{position:absolute;top:0;right:0;box-sizing:border-box;width:min(390px,100%);height:100%;padding:28px;background:#FFFFFF;box-shadow:-24px 0 70px rgb(4 48 67 / 18%);transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain}
.sc-language.is-open .language-panel{transform:translateX(0)}
.sc-language .language-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid #DCE3E5}
.sc-language .language-panel-head h2{font-family:inherit;font-size:1.5rem;font-weight:500;line-height:1.3;letter-spacing:0;margin:0;color:var(--sc-chrome-ink)}
.sc-language .language-close{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;padding:1px;margin:-1px;border-radius:50%;background:none;color:var(--sc-chrome-ink)}
.sc-language .language-close .sc-control-face{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#EFF2F4;transition:background .2s}
.sc-language .language-close:hover .sc-control-face{background:#E5E8EA}
.sc-language .language-close::after{content:none}
.sc-language .language-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;display:block}
.sc-language .language-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.sc-language .language-list li{margin:0;padding:0}
.sc-language .language-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:44px;padding:17px 18px;margin:0;border:1px solid #DCE3E5;border-radius:14px;background:#FFFFFF;color:var(--sc-chrome-ink);font-family:inherit;font-size:.8333333333rem;font-weight:400;line-height:normal;letter-spacing:0;text-align:left;transition:border-color .2s,background .2s,transform .2s}
.sc-language .language-list a:hover,.sc-language .language-list a:focus-visible{border-color:var(--sc-chrome-accent);background:rgb(249 125 27 / 8%);transform:translateX(-2px);outline:0}
.sc-language .language-list a[aria-current="true"]{border-color:var(--sc-chrome-accent);background:rgb(249 125 27 / 12%);color:#D46A17;font-weight:400}
.sc-language .language-list small{font-size:.75rem;font-weight:500;line-height:normal;letter-spacing:.08em;color:#59666B}
.sc-language .language-list a[aria-current="true"] small{color:#D46A17}
@media(max-width:1199px){.sc-footer .foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){.sc-header :is(.nav-links,.nav2-links,.nav-lang-btn,.nav2-lang-btn){display:none}.sc-header :is(.nav-burger,.nav2-burger){display:grid}}
@media(max-width:767px){.sc-footer .foot-top{grid-template-columns:minmax(0,1fr)}.sc-footer .foot-bottom{flex-direction:column;align-items:flex-start}.sc-footer .foot-copy{text-align:left}}
@media(max-width:640px){.sc-header :is(.nav-inner,.nav2-inner),.sc-footer>.container,.sc-faq>.container{padding-left:16px;padding-right:16px}.sc-header :is(.nav-inner,.nav2-inner){gap:10px}.sc-header .logo{font-size:1rem;letter-spacing:.08em;gap:10px;padding:6px;margin:-6px}.sc-header .logo-mark{width:32px;height:32px}.sc-header :is(.nav-actions,.nav2-actions){gap:8px}.sc-mobile-menu{padding:16px}.sc-language .language-panel{width:min(360px,92vw);padding:22px}}
@media(max-width:480px){.sc-header :is(.nav-app-btn,.nav2-app-btn){padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){:is(.sc-header,.sc-faq,.sc-language) *,:is(.sc-header,.sc-faq,.sc-language){transition:none!important}}
/* FAQ 手機版：調整標題、說明、卡片內距與題目尺寸。 */
@media(max-width:640px){.sc-faq{padding:76px 0}.sc-faq .faq-head h2{font-size:1.625rem;line-height:1.4615385}.sc-faq .faq-head .lead{font-size:.9375rem;line-height:1.6666667}.sc-faq .faq-q{gap:16px;padding:16px 16px 16px 20px;font-size:.9375rem;line-height:1.6}.sc-faq .faq-a p{padding:0 16px 16px 20px}}
/* Footer 桌機版壓縮垂直間距；觸控裝置與窄螢幕維持 44px 觸控高度。
   連結熱區用 padding 與等量負 margin 撐滿行距，不重疊、不改變版面。 */
@media(hover:hover) and (pointer:fine) and (min-width:1025px){.sc-footer .foot-col{gap:20px}.sc-footer .foot-col .list{gap:10px}.sc-footer .foot-col .list a{display:block;min-height:0;padding:5px 0;margin:-5px 0}.sc-footer .foot-top{margin-bottom:55px}.sc-footer .social-row{gap:20px}.sc-footer .social-row a{width:38px;height:38px}}
/* 共用元件最粗 500；Logo 字樣維持品牌字重 700。 */
:is(.sc-header,.sc-mobile-menu,.sc-footer,.sc-faq,.sc-language) :is(b,strong){font-weight:500}

/* ═══ 2. 精確 Header 版型 ═══ */
/* 套用於指定頁面的精確 Header。Blog 使用 nav2-* 類別，因此選擇器同時涵蓋 nav-* 與 nav2-*。
   固定像素值避免受各頁根字級影響，並保留 44px 的隱形操作熱區。 */
body[data-nfc-header="exact"] .sc-header{height:72px;font-size:16px;line-height:1.7}
body[data-nfc-header="exact"] .sc-header :is(.nav-inner,.nav2-inner){max-width:1280px;padding:0 32px;gap:24px}
body[data-nfc-header="exact"] .sc-header .logo{position:relative;font-size:21px;line-height:1.7;letter-spacing:.14em;gap:10px;min-height:0;min-width:0;padding:0;margin:0}
body[data-nfc-header="exact"] .sc-header .logo-mark{width:38px;height:38px}
body[data-nfc-header="exact"] .sc-header :is(.nav-links,.nav2-links){gap:36px}
body[data-nfc-header="exact"] .sc-header :is(.nav-links,.nav2-links) a{display:block;font-size:15px;font-weight:500;line-height:1.7;letter-spacing:0;min-height:0;min-width:0;padding:6px 0;margin:0}
body[data-nfc-header="exact"] .sc-header :is(.nav-links,.nav2-links) a.active::after{bottom:-4px}
body[data-nfc-header="exact"] .sc-header :is(.logo,:is(.nav-links,.nav2-links) a)::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:max(100%,44px)}
body[data-nfc-header="exact"] .sc-header :is(.nav-actions,.nav2-actions){gap:12px}
body[data-nfc-header="exact"] .sc-header :is(.nav-app-btn,.nav2-app-btn){position:relative;height:40px;min-height:40px;padding:8px 16px;font-size:16px;line-height:24px;border-radius:10px}
body[data-nfc-header="exact"] .sc-header :is(.nav-app-btn,.nav2-app-btn)::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:44px}
body[data-nfc-header="exact"] .sc-header :is(.nav-lang-btn,.nav2-lang-btn) .sc-control-face{width:40px;height:40px;border-radius:10px}
body[data-nfc-header="exact"] .sc-header :is(.nav-lang-btn,.nav2-lang-btn) svg{width:21px;height:21px}
@media(max-width:640px){
 body[data-nfc-header="exact"] .sc-header :is(.nav-inner,.nav2-inner){padding:0 16px;gap:10px}
 body[data-nfc-header="exact"] .sc-header .logo{font-size:16px;letter-spacing:.08em}
 body[data-nfc-header="exact"] .sc-header .logo-mark{width:32px;height:32px}
 body[data-nfc-header="exact"] .sc-header :is(.nav-actions,.nav2-actions){gap:8px}
}
/* 跨頁固定 Header 元素的位置，避免切換頁面時 Logo、導覽與語系按鈕位移。
   右側區固定保留操作按鈕所需寬度，使 space-between 算出的導覽位置一致；
   文字按鈕靠右（flex-end），超出的部分往左延伸進導覽與右側之間的留白。沒有 absolute、沒有座標或語系寫死。
   按鈕碰到導覽時由 marketing-header.js 加 .sc-nfc-compact，改用手機選單。 */
/* 1025～1103px 使用手機選單，1104px 起顯示完整導覽。 */
@media(min-width:1025px) and (max-width:1103px){
 body[data-nfc-header="exact"] .sc-header :is(.nav-links,.nav2-links),body[data-nfc-header="exact"] .sc-header :is(.nav-lang-btn,.nav2-lang-btn){display:none}
 body[data-nfc-header="exact"] .sc-header :is(.nav-burger,.nav2-burger){display:grid}
}
@media(min-width:1025px){
 body[data-nfc-header="exact"] .sc-header :is(.nav-actions,.nav2-actions){width:calc(40px + 12px + 40px);justify-content:flex-end}
 body[data-nfc-header="exact"] .sc-header :is(.nav-actions,.nav2-actions)>*{flex:none}
 body[data-nfc-header="exact"] .sc-header.sc-nfc-compact :is(.nav-links,.nav2-links),body[data-nfc-header="exact"] .sc-header.sc-nfc-compact :is(.nav-lang-btn,.nav2-lang-btn){display:none}
 body[data-nfc-header="exact"] .sc-header.sc-nfc-compact :is(.nav-burger,.nav2-burger){display:grid}
}

/* ═══ 3. 跳到主要內容連結 ═══ */
.sc-skip-link{position:fixed;left:16px;top:-80px;z-index:1100;padding:10px 18px;border-radius:8px;background:#06445F;color:#fff;font:500 15px/1.5 var(--sc-chrome-font,sans-serif);text-decoration:none;transition:top .2s}
.sc-skip-link:focus{top:12px;outline:3px solid #F97D1B;outline-offset:2px}
