/* ============================================================
   和勝網路科技 — 全站設計系統重定調
   Tech-Luxury · Advanced Dark Mode · Slate #0f172a × 電光青 #06b6d4
   本檔全站載入，於 theme.css 之後覆寫 token 與關鍵區塊。
   ============================================================ */

/* ---------- 字型：Inter(英) + Noto Sans TC(中)，精品雜誌字距 ---------- */
:root{
  --font-sans:"Inter","Noto Sans TC","PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;
}
body{letter-spacing:-.003em}
/* 固定/黏性頁首下的錨點捲動偏移，避免標題被頁首遮住 */
html{scroll-padding-top:88px}
h1,h2,h3,h4{letter-spacing:-.022em}
.eyebrow{letter-spacing:.2em}

/* ---------- 調色盤重映射：預設「進階深色模式」 ---------- */
/* 預設(未指定 data-theme)= 深色，品牌主視覺 */
:root,
:root[data-theme="dark"]{
  --cyan:#22d3ee; --azure:#06b6d4; --deep:#0891b2; --deep-ink:#0b1120;
  --grad:linear-gradient(120deg,#0891b2 0%,#22d3ee 100%);
  --grad-soft:linear-gradient(120deg,rgba(34,211,238,.12),rgba(6,182,212,.06));
  --bg:#0f172a; --bg-alt:#0b1120; --surface:#141d33; --surface-2:#111a2e; --surface-3:#1e293b;
  --ink:#e8eef7; --ink-soft:#9fb0c6; --ink-faint:#6b7c93;
  --line:#22304a; --line-soft:#1a2438;
  --accent:#22d3ee; --accent-ink:#67e8f9;
  --ok:#34d399; --warn:#fbbf24; --crit:#f87171;
  --shadow-sm:0 1px 2px rgba(0,0,0,.45);
  --shadow:0 4px 14px rgba(0,0,0,.4),0 26px 60px -30px rgba(0,0,0,.85);
  --shadow-lg:0 40px 100px -44px rgba(0,0,0,.9);
  --header-bg:rgba(15,23,42,.72);
  --glow:0 0 0 1px rgba(34,211,238,.18),0 0 28px -6px rgba(34,211,238,.5);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){ color-scheme:dark; }}
:root[data-theme="dark"]{ color-scheme:dark; }

/* 淺色模式（使用者切換）：冷白 + 冷灰，accent 用可達 AA 的深青 */
:root[data-theme="light"]{
  color-scheme:light;
  --cyan:#06b6d4; --azure:#0891b2; --deep:#0e7490; --deep-ink:#0f172a;
  --grad:linear-gradient(120deg,#0891b2 0%,#06b6d4 55%,#22d3ee 100%);
  --grad-soft:linear-gradient(120deg,rgba(6,182,212,.10),rgba(8,145,178,.07));
  --bg:#ffffff; --bg-alt:#f1f5f9; --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#eef2f7;
  --ink:#0f172a; --ink-soft:#475569; --ink-faint:#64748b;
  --line:#e2e8f0; --line-soft:#eef2f7;
  --accent:#0891b2; --accent-ink:#0e7490;
  --ok:#0f9d6b; --warn:#b45309; --crit:#dc2626;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow:0 4px 12px rgba(15,23,42,.06),0 22px 48px -26px rgba(15,23,42,.28);
  --shadow-lg:0 40px 90px -42px rgba(15,23,42,.5);
  --header-bg:rgba(255,255,255,.9);
  --glow:0 0 0 1px rgba(6,182,212,.2),0 8px 26px -8px rgba(6,182,212,.4);
}

/* 全站一致的 LOGO：同一顆橫式標誌、統一高度與陰影（深色頁首加細陰影助辨識，淺色移除） */
.site-header .brand img{height:38px;width:auto}
.site-header .brand-logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
:root[data-theme="light"] .site-header .brand-logo{filter:none}
/* 主題感知 LOGO：深色頁首用亮版、淺色頁首用彩色版 */
.brand-logo--onlight{display:none}
:root[data-theme="light"] .brand-logo--ondark{display:none}
:root[data-theme="light"] .brand-logo--onlight{display:inline-block}

/* 顯示深/淺切換鈕（先前被單一主題隱藏）；深色顯示太陽、淺色顯示月亮 */
.theme-toggle{display:inline-flex}
.theme-toggle .ic-moon{display:none}
.theme-toggle .ic-sun{display:inline-flex}
:root[data-theme="light"] .theme-toggle .ic-sun{display:none}
:root[data-theme="light"] .theme-toggle .ic-moon{display:inline-flex}

/* ---------- 內頁標題橫幅 subhero → 深空 slate（雙主題皆深色，與首頁一致） ---------- */
.subhero{background:radial-gradient(120% 120% at 82% -10%,#132441 0%,#0d1730 46%,#0b1120 100%);
  color:#e8eef7;border-bottom:1px solid #1b2942;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 80% at 90% 20%,rgba(34,211,238,.14),transparent 60%);}
.subhero .container{position:relative;z-index:2;padding:clamp(40px,4.4vw,60px) 0 clamp(22px,2.4vw,32px)}
/* 橫幅後第一個區塊：收斂上緣間距（原 section 上內距 124px + 橫幅下內距 疊起來過空） */
.subhero + .section,.subhero + .section-alt{padding-top:clamp(30px,3.6vw,46px)}
.subhero .hero-grid{opacity:.5;
  background-image:linear-gradient(rgba(103,232,249,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.06) 1px,transparent 1px);
  background-size:44px 44px}
.subhero .breadcrumb{color:#7f93ac}
.subhero .breadcrumb a{color:#7f93ac}
.subhero .breadcrumb a:hover{color:#67e8f9}
.subhero .breadcrumb .sep{color:#4a5c74}
.subhero .breadcrumb [aria-current="page"]{color:#c4d2e4;font-weight:500}
.subhero .eyebrow{color:#67e8f9;margin-top:20px}
.subhero .eyebrow::before{background:linear-gradient(90deg,#06b6d4,#22d3ee)}
.subhero h1{color:#fff;margin:16px 0 0;letter-spacing:-.028em}
.subhero .lead{color:#c4d2e4;margin:16px 0 0;max-width:58ch}
.subhero .article-meta{color:#8ea1b8}

/* ---------- CTA 帶：改為 token 化（深色底不再是淺藍） ---------- */
.cta-band{background:linear-gradient(120deg,var(--surface-2),var(--surface));color:var(--ink);
  border:1px solid var(--line)}
:root[data-theme="light"] .cta-band{background:linear-gradient(120deg,#ecfeff,#e0f7fb)}
.cta-band h2{color:var(--ink)}
.cta-band p{color:var(--ink-soft)}

/* ---------- 卡片統一精緻化：細邊框 + 大圓角 + hover 霓虹青發光 ---------- */
.svc,.why,.guar,.stat-c,.step,.aside-card,.info-panel,.news-card,.proj,.spec-list .item,.faq details{
  border-radius:16px;border:1px solid var(--line);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1)}
.svc:hover,.why:hover,.news-card:hover,.proj:hover,.step:hover{
  transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--glow),var(--shadow)}
/* 細線圖標 hover 變色（禁實心，統一線性風） */
.svc-ico,.why .k{transition:color .3s ease,background .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.svc:hover .svc-ico,.why:hover .k{color:var(--accent-ink);transform:translateY(-2px) scale(1.06)}

/* 連結與強調色跟隨新 accent */
a{color:var(--accent-ink)}
a:hover{color:var(--accent)}

/* 選取色 */
::selection{background:rgba(34,211,238,.28);color:#fff}
:root[data-theme="light"] ::selection{background:rgba(6,182,212,.22);color:#0f172a}

/* 鍵盤焦點（不覆寫各元素自身圓角，outline 自動吻合按鈕/晶片形狀） */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* 交錯淡入上滑（強化既有 .rv：更慢、更高級，尊重 reduced-motion） */
.rv{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
@media (prefers-reduced-motion:reduce){.rv{transition:none}}

/* ---------- 最新消息：工具列（分類導覽 + 搜尋）+ 精選文章 ---------- */
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-bottom:30px}
.news-toolbar .case-filter{margin:0;flex:1 1 auto}
.news-toolbar .news-search{margin:0;flex:0 0 auto}
.chip-n{margin-left:7px;font-family:var(--font-mono);font-size:.72em;opacity:.65;font-variant-numeric:tabular-nums}
.chip.on .chip-n{opacity:.9}
@media (max-width:640px){.news-toolbar{flex-direction:column;align-items:stretch}.news-toolbar .news-search{max-width:none}}
/* 控制項統一高度 42px（分類晶片 / 搜尋框 / 搜尋鈕，與分頁按鈕同高）→ 修正工具列同列高度不一致 */
.case-filter .chip{min-height:42px}
.news-search input{height:42px;padding:0 16px}
.news-search button{height:42px}

.news-feat{display:grid;grid-template-columns:1.15fr 1fr;background:var(--surface);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;margin-bottom:26px;text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s}
.news-feat:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent),var(--shadow)}
.news-feat__cover{position:relative;min-height:300px;overflow:hidden}
.news-feat__cover .cover-svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s ease}
.news-feat:hover .news-feat__cover .cover-svg{transform:scale(1.04)}
.news-feat__body{padding:clamp(24px,3.5vw,44px);display:flex;flex-direction:column;justify-content:center}
.news-feat__body h2{font-family:var(--font-sans);font-weight:700;font-size:clamp(1.4rem,2.6vw,2.05rem);
  line-height:1.32;letter-spacing:-.02em;margin:12px 0 0;color:var(--ink)}
.news-feat__body p{color:var(--ink-soft);line-height:1.85;margin:14px 0 20px;font-size:1rem}
@media (max-width:760px){.news-feat{grid-template-columns:1fr}.news-feat__cover{min-height:210px}}

/* ---------- 公司簡介 幾何面板（取代不合適的插圖） ---------- */
.ds-geo{position:relative;border-radius:20px;overflow:hidden;border:1px solid #1e293b;
  background:radial-gradient(120% 120% at 80% 8%,#132441,#0d1730 55%,#0b1120);
  min-height:300px;display:grid;place-items:center;padding:24px;box-shadow:inset 0 0 60px -20px rgba(6,182,212,.25)}
.ds-geo svg{width:100%;height:auto;max-width:420px}
.ds-geo__pulse{transform-origin:200px 150px;animation:dsGeoPulse 3s ease-out infinite}
@keyframes dsGeoPulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(2.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.ds-geo__pulse{animation:none;opacity:0}}

/* ---------- 服務項目卡片 hover 精緻化 + keyvisual 電光青一致 ---------- */
.spec-list .item{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s}
.spec-list .item:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--glow),var(--shadow-sm)}
.keyvisual .kv-en{color:#67e8f9}

/* ---------- 頁尾：品牌欄 + 3 導覽欄（4 欄平衡編排） ---------- */
.site-footer .foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.3fr;align-items:start}
.foot-ident-col{display:flex;flex-direction:column;gap:7px}
.foot-ident__name{font-family:var(--font-sans);font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--ink)}
.foot-ident__tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);line-height:1.8}
@media (max-width:820px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}.foot-ident-col{grid-column:1/-1}}
@media (max-width:520px){.site-footer .foot-grid{grid-template-columns:1fr}}

/* 頁尾「聯絡我們」欄：連結列(Email/Tel)與純文字列(時間/範圍/地址)統一治理
   —— 消除連結多吃的 .foot-col a padding/block 與顏色差，五列列高一致、圖示對齊、鬆緊協調 */
.foot-contact .row{align-items:flex-start;gap:10px;padding:5px 0;line-height:1.55;color:var(--ink-soft);font-size:.9rem}
.foot-contact .row a{display:inline;padding:0;color:var(--ink-soft);text-decoration:none;font-size:inherit;font-weight:400}
.foot-contact .row a:hover{color:var(--accent-ink)}
.foot-contact .row span{color:var(--ink-soft)}
.foot-contact .row svg{width:16px;height:16px;margin-top:3px}
/* 頁尾底列：隱私權政策等法務連結（走 token，hover 轉青） */
.foot-bottom__meta{font-size:.82rem;color:var(--ink-faint)}
.foot-bottom a{color:var(--ink-faint);text-decoration:none;transition:color .3s ease}
.foot-bottom a:hover{color:var(--accent-ink)}
.foot-bottom .dot{color:var(--line);margin:0 9px}

/* ============================================================
   打磨稽核修正（全站一致性 / 對比 / 排版節奏）
   ============================================================ */

/* [高] 青底控制項白字改深墨字，達 WCAG AA */
.btn-primary{background:var(--grad);color:var(--deep-ink);box-shadow:0 8px 22px -10px rgba(6,182,212,.5)}
.btn-primary:hover{background:var(--grad);color:var(--deep-ink);box-shadow:0 14px 30px -10px rgba(6,182,212,.6)}
.case-filter .chip.on{background:var(--grad);color:var(--deep-ink);border-color:transparent}
.pagination .page-numbers.current{color:var(--deep-ink)}
.news-search button{color:var(--deep-ink)}
.news-search button svg{stroke:var(--deep-ink)}

/* [高] 設備品牌帶 token 化，修深色破版（保留淺色漸層） */
.brand-band{background:linear-gradient(120deg,var(--surface-2),var(--surface-3))}
:root[data-theme="light"] .brand-band{background:linear-gradient(120deg,#eef4fb,#e3edf9)}

/* [中] 卡片填色改用 surface-3，恢復深色浮起層次 */
.svc,.why,.guar,.stat-c,.step,.aside-card,.info-panel,.news-card,.news-feat,.proj,.brand-card,.spec-list .item{background:var(--surface-3)}

/* [中] 深色 --ink-faint 提亮達 AA（小字/標籤/日期/版權） */
:root[data-theme="dark"]{--ink-faint:#8496ae}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink-faint:#8496ae}}

/* [中] 相鄰同底色 section 加髮絲線，恢復交錯節奏 */
.section + .section,.section-alt + .section-alt{border-top:1px solid var(--line)}

/* [中] 關聯服務 grid-3 只有 2 卡時改置中兩欄，不留空欄 */
.grid-3:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr);max-width:820px;margin-left:auto;margin-right:auto}

/* [低] 舊藍投影/格線 → 電光青 */
.chat-btn{box-shadow:0 10px 26px -8px rgba(6,182,212,.5)}
.keyvisual .kv-grid,.cta-band .hero-grid{background-image:linear-gradient(rgba(103,232,249,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.06) 1px,transparent 1px)}

/* [低] 整卡 hover 帶動箭頭位移 */
.why:hover .arrow-link svg,.svc:hover .arrow-link svg,.news-card:hover .arrow-link svg,.news-feat:hover .arrow-link svg{transform:translateX(4px)}

/* [低] 表單 placeholder 一致清晰 */
.field input::placeholder,.field textarea::placeholder,.news-search input::placeholder{color:var(--ink-faint);opacity:1}

/* [低] 卡片鍵盤焦點框吻合 16px 圓角 */
.news-card:focus-visible,.news-feat:focus-visible,.why:focus-visible,.proj:focus-visible,.svc:focus-visible{border-radius:16px}

/* [低] 麵包屑分隔符提亮、FAQ 標題 hover 回饋 */
.subhero .breadcrumb .sep{color:#5a6d86}
.faq summary:hover{color:var(--accent-ink)}

/* [中] 聯絡頁 LINE 卡（取代破圖感的斜紋占位塊） */
.contact-line{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:15px 18px;
  border-radius:14px;background:#06c755;color:#fff;font-weight:600;text-decoration:none;
  box-shadow:0 8px 22px -10px rgba(6,199,85,.6);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.contact-line:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(6,199,85,.7);color:#fff}
.contact-line svg{width:20px;height:20px;flex:none}

/* ============ 打磨稽核修正批次（r2）============ */

/* #2 略過連結 skip-link：鍵盤 Tab 第一個焦點可直接跳到主要內容 */
.skip-link{position:absolute;left:-9999px;top:auto;z-index:1000}
.skip-link:focus{position:fixed;left:12px;top:12px;padding:10px 18px;background:var(--surface);color:var(--ink);border:2px solid var(--accent);border-radius:10px;font-weight:600;text-decoration:none}

/* #4 行動選單內的免費諮詢 CTA（桌機隱藏，漢堡展開時顯示，補 641–900px 主 CTA 缺口） */
.nav-cta{display:none}
@media (max-width:900px){
  .nav-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:11px 18px;border-radius:11px;background:var(--grad);color:var(--deep-ink);font-weight:650;text-decoration:none}
}

/* #5 極窄視窗（≤400px）縮小頁首 LOGO 與間距，避免右側漢堡貼邊擁擠 */
@media (max-width:400px){
  .site-header .brand img{height:31px}
  .site-header .container{gap:12px}
}

/* #17 / #18 微互動節奏統一：控制項與浮動選單過場對齊卡片系統曲線 */
.btn,.case-filter .chip,.bchip,.audience .a,.pagination a.page-numbers,.news-search button{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),background-color .3s ease,color .3s ease,border-color .3s ease}
.chat-item{transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s ease}

/* #23 收費參考表金額數字等寬對齊 */
.hs-table td{font-variant-numeric:tabular-nums}

/* #14 表單／搜尋框焦點：保留透明外框，Windows 高對比模式仍看得見焦點 */
.field input:focus,.field textarea:focus,.field select:focus,.news-search input:focus{outline:2px solid transparent;outline-offset:2px}

/* #7 置底 CTA 預留空間計入安全區，避免瀏海機遮住版權列 */
@media (max-width:640px){.site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}}

/* #24 單篇文章／案例：上一篇／下一篇導覽 */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.post-nav__i{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);text-decoration:none;color:var(--ink);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s}
.post-nav__i:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--glow),var(--shadow)}
.post-nav__i--r{text-align:right;align-items:flex-end}
.post-nav__i--empty{border:0;background:none;pointer-events:none}
.post-nav__d{font-size:12.5px;color:var(--accent-ink);font-weight:600;letter-spacing:.02em}
.post-nav__t{font-size:14.5px;color:var(--ink-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:520px){.post-nav{grid-template-columns:1fr}.post-nav__i--r{text-align:left;align-items:flex-start}}

/* 聯絡表單：蜜罐（螢幕外）+ 送出結果提示 */
.hs-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.form-alert{padding:14px 18px;border-radius:12px;margin-bottom:18px;font-weight:500;font-size:14.5px;border:1px solid;line-height:1.5}
.form-alert--ok{background:color-mix(in srgb,#22c55e 14%,var(--surface));border-color:color-mix(in srgb,#22c55e 42%,var(--line));color:var(--ink)}
.form-alert--err{background:color-mix(in srgb,#ef4444 12%,var(--surface));border-color:color-mix(in srgb,#ef4444 42%,var(--line));color:var(--ink)}

/* 交錯進場（原生 ds-motion.js；.hs-reveal 由 JS 加上，reduced-motion/無 JS 時不加 → 卡片直接顯示，不會空白） */
.hs-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.hs-reveal.hs-in{opacity:1;transform:none}
