/* ============================================================
   redesign.css — GENSYN 視覺系統（深藍 × 金色・跨世代）
   最後載入，覆蓋 main.css。結構延續上一輪（全頁粒子、圓角 Hero、
   文章格線、靜態 story、統一卡片），色系維持品牌深藍＋金色：
   深藍底 + 漂浮金光粒子 + 淺紙內容卡 + navy 標題 + 金色點綴／主鈕。
   ============================================================ */

:root{
  --r-navy:#0F1C52;         /* 品牌深藍 */
  --r-navy-deep:#0B1024;    /* 霧黑深底 */
  --r-navy-2:#16265E;       /* 較亮深藍 */
  --r-gold:#C9A75C;         /* 低飽和金 */
  --r-gold-2:#b9944a;
  --r-gold-soft:rgba(201,167,92,.14);
  --r-paper:#fbfbfd;        /* 淺紙卡面 */
  --r-paper-2:#f4f5f8;
  --r-ink:#1d1d1f;          /* 淺底上的主文字 */
  --r-ink-2:#5a6072;        /* 次文字 */
  --r-ink-3:#8a90a2;
  --r-on-dark:#f3f5fb;      /* 深底上的文字 */
  --r-on-dark-2:#aab2cc;
  --r-line:rgba(15,28,82,.12);
  --r-line-2:rgba(15,28,82,.08);
  --r-line-gold:rgba(201,167,92,.4);
  --r-radius:22px;
  --r-radius-sm:14px;
  --r-shadow:0 22px 54px rgba(6,12,34,.30);
  --r-shadow-sm:0 10px 28px rgba(6,12,34,.14);
}

/* ── 全頁分散粒子層 ── */
#particles-canvas{
  position:fixed;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:0;display:block;
}
/* 防禦：徹底移除任何舊 3D/星座殘留 */
#ambient-canvas,#generation-orbit-canvas,
.gen-orbit,.gen-orbit-svg,.go-overlay{ display:none !important; }

/* ── 基底：深藍霧黑 ── */
body{ background:var(--r-navy-deep) !important; color:var(--r-on-dark); }
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 720px at 12% -6%, rgba(22,38,94,.85), transparent 60%),
    radial-gradient(1000px 640px at 100% 8%, rgba(201,167,92,.10), transparent 55%),
    radial-gradient(900px 700px at 50% 120%, rgba(15,28,82,.9), transparent 60%),
    var(--r-navy-deep);
}
main,#hero,section{ position:relative; z-index:1; }

/* ── 內容 section：淺紙浮於深藍底 ── */
.section{ background:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.section.alt{ background:rgba(255,255,255,.035) !important; }
.section-head .headline,.headline{ color:#fff !important; letter-spacing:-.01em; }
.section-head .lede,.lede{ color:var(--r-on-dark-2) !important; }

/* eyebrow → 金色膠囊徽章 */
.eyebrow,.section-head .eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 14px;border-radius:99px;
  background:var(--r-gold-soft) !important;
  border:1px solid var(--r-line-gold) !important;
  color:var(--r-gold-2) !important;font-weight:700;font-size:11.5px;letter-spacing:.16em;
}
.eyebrow::before{ content:"";width:5px;height:5px;border-radius:50%;background:var(--r-gold);flex:none; }

/* ── Header：深藍半透明浮動 ── */
#nav{
  background:rgba(11,16,36,.55) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:padding .3s var(--ease,ease),background .3s ease,box-shadow .3s ease;
}
#nav.scrolled{
  background:rgba(11,16,36,.85) !important;
  box-shadow:0 6px 24px rgba(6,12,34,.4);
  padding-top:8px;padding-bottom:8px;
}
#nav .nav-brand-text strong{ color:#fff; }
#nav .nav-brand-text small{ color:var(--r-on-dark-2); }
.nav-links a{ color:var(--r-on-dark-2) !important; font-weight:500; }
.nav-links a:hover{ color:#fff !important; }
.nav-lang{ color:var(--r-on-dark-2) !important; border:1px solid rgba(255,255,255,.14) !important; background:transparent; }
.nav-lang:hover{ color:#fff !important; border-color:var(--r-gold) !important; }
.nav-burger span{ background:#fff !important; }
.nav-btn.gold{ background:var(--r-gold) !important; color:var(--r-navy) !important; border-radius:99px; font-weight:700; }
.nav-btn.gold:hover{ filter:brightness(1.06); }

/* ── Hero：深藍圓角動態容器（金光流動，無球體）── */
#hero{
  min-height:100svh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:120px 24px 80px;text-align:center;background:transparent;
}
.hero-stage{
  position:relative;width:min(1120px,94vw);
  border-radius:var(--r-radius);overflow:hidden;
  padding:clamp(48px,8vw,110px) clamp(24px,5vw,80px);
  background:none;
  border:none;
  box-shadow:none;
}
.hero-flow{ display:none; }
.hero-flow span{ position:absolute;border-radius:50%; }
.hero-flow .flow-a{ width:48%;height:72%;left:-8%;top:-22%;background:radial-gradient(circle,rgba(201,167,92,.34),transparent 68%);animation:floatA 18s ease-in-out infinite; }
.hero-flow .flow-b{ width:42%;height:64%;right:-6%;top:8%;background:radial-gradient(circle,rgba(90,120,210,.4),transparent 66%);animation:floatB 22s ease-in-out infinite; }
.hero-flow .flow-c{ width:40%;height:60%;left:28%;bottom:-26%;background:radial-gradient(circle,rgba(120,90,190,.34),transparent 66%);animation:floatC 26s ease-in-out infinite; }
@keyframes floatA{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(6%,8%)} }
@keyframes floatB{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(-7%,6%)} }
@keyframes floatC{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(4%,-7%)} }
.hero-content{ position:relative;z-index:1;max-width:860px;margin:0 auto; }
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;
  padding:7px 16px;border-radius:99px;background:rgba(255,255,255,.06);
  border:1px solid var(--r-line-gold);color:var(--r-gold);
  font-size:12.5px;font-weight:700;letter-spacing:.14em;
}
.hero-eyebrow::before{ content:"";width:6px;height:6px;border-radius:50%;background:var(--r-gold); }
.hero-title{
  font-family:'Noto Serif TC','Noto Sans TC',serif !important;
  color:#fff !important;
  font-size:clamp(30px,5.4vw,60px) !important;font-weight:800 !important;
  line-height:1.2 !important;letter-spacing:-.01em;margin:0 0 26px !important;
}
.hero-sub{
  color:var(--r-on-dark-2) !important;font-size:clamp(15px,1.7vw,18.5px) !important;
  line-height:1.9 !important;max-width:680px;margin:0 auto 38px !important;
}
.hero-cta-row{ display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center; }
.hero-scroll-hint{ color:var(--r-on-dark-2) !important; }
.hero-scroll-hint .line{ background:var(--r-on-dark-2) !important; }

/* ── 按鈕：金色主鈕 + 文字次鈕 ── */
.btn-primary{
  background:var(--r-gold) !important;color:var(--r-navy) !important;
  border-radius:99px !important;padding:15px 32px !important;
  font-weight:700 !important;letter-spacing:.02em;border:none !important;
  box-shadow:0 12px 30px rgba(201,167,92,.28);transition:all .25s ease;
}
.btn-primary:hover{ filter:brightness(1.06);transform:translateY(-2px); }
.hero-content .btn-text{ color:#fff !important;border-bottom:1.5px solid var(--r-gold) !important;padding-bottom:2px; }
.hero-content .btn-text:hover{ color:var(--r-gold) !important; }
.btn-text{
  color:var(--r-navy) !important;font-weight:700 !important;
  border-bottom:1.5px solid var(--r-gold) !important;padding-bottom:2px;
  transition:color .2s ease,border-color .2s ease;
}
.btn-text:hover{ color:var(--r-gold-2) !important;border-color:var(--r-gold-2) !important; }

/* ── Story：靜態堆疊淺紙卡 ── */
#story{ min-height:auto !important;padding:clamp(40px,7vh,90px) 0 !important;background:transparent; }
#story .story-steps{ position:static !important;height:auto !important;display:grid;gap:16px;max-width:var(--maxw);margin:0 auto;padding:0 24px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch; }
#story .story-step{
  position:static !important;opacity:1 !important;transform:none !important;
  height:auto !important;min-height:0 !important;width:auto !important;inset:auto !important;
  display:block !important;padding:0 !important;pointer-events:auto !important;
}
#story .step-inner{
  background:var(--r-paper);border:1px solid var(--r-line-2);border-radius:var(--r-radius-sm);
  padding:22px 22px 20px;height:100%;box-shadow:var(--r-shadow-sm);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
#story .story-step:hover .step-inner{ transform:translateY(-3px);border-color:var(--r-line-gold);box-shadow:var(--r-shadow); }
#story .step-num{ color:var(--r-gold-2) !important;font-size:11.5px;letter-spacing:.2em;font-weight:700; }
#story .story-step h2{ color:var(--r-navy) !important;font-size:clamp(18px,2vw,22px) !important;margin:12px 0 10px !important; }
#story .story-step p{ color:var(--r-ink-2) !important;font-size:14.5px;line-height:1.8; }
#story .story-step.align-right{ text-align:left !important; }

/* ── 卡片統一（淺紙 + hover 轉金）── */
.geo-card,.prob-card,.fit-card,.mvc-card,.process-step,
.about-story-card,.contact-card,.quiet-item,.job-card{
  background:var(--r-paper) !important;
  border:1px solid var(--r-line-2) !important;
  border-radius:var(--r-radius-sm) !important;
  box-shadow:var(--r-shadow-sm);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease !important;
}
.geo-card:hover,.prob-card:hover,.fit-card:hover,.mvc-card:hover,
.process-step:hover,.about-story-card:hover,.job-card:hover{
  transform:translateY(-3px);border-color:var(--r-line-gold) !important;box-shadow:var(--r-shadow) !important;
}
.geo-card h3,.prob-card h3,.fit-card h3,.mvc-card h3,.process-step h3,
.about-story-card h3,.geo-card .headline{ color:var(--r-navy) !important; }
.geo-icon,.sys-ico,.pc-ico{ color:var(--r-navy) !important;opacity:.65; }
.geo-card:hover .geo-icon{ color:var(--r-gold) !important;opacity:1; }
.pc-num,.fit-index,.card-index,.step-num,.mvc-en,.svc-stage{ color:var(--r-gold-2) !important; }
.svc-stage{ background:var(--r-gold-soft) !important;border-color:var(--r-line-gold) !important; }
.svc-deliver .sd-label{ color:var(--r-gold-2) !important; }
.sf-step{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-2);color:var(--r-ink-2) !important; }

.about-pillars span,.gen-tags span{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-2) !important;color:var(--r-ink-2) !important; }
.about-def-panel,.gen-role{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-2) !important; }
.adp-label,.gr-label,.gi-key{ color:var(--r-gold-2) !important; }
.gt-role{ color:var(--r-gold-2) !important; }

/* ── 文章格線（淺紙卡）── */
.article-orbit-section .orbit-layout{ display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start; }
.article-orbit-section .orbit-layout.reverse{ grid-template-columns:minmax(0,1fr) minmax(0,340px); }
.article-orbit-section .orbit-layout.reverse .orbit-copy{ order:2; }
.art-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px; }
.art-card{
  display:flex;flex-direction:column;text-align:left;cursor:pointer;
  background:var(--r-paper);border:1px solid var(--r-line-2);border-radius:var(--r-radius-sm);
  overflow:hidden;padding:0;font:inherit;color:inherit;
  box-shadow:var(--r-shadow-sm);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.art-card:hover{ transform:translateY(-4px);box-shadow:var(--r-shadow);border-color:var(--r-line-gold); }
.art-card:focus-visible{ outline:2px solid var(--r-gold);outline-offset:2px; }
.art-thumb{ display:block;width:100%;aspect-ratio:16/10;background:var(--r-navy-2) center/cover no-repeat; }
.art-meta{ display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 0;font-size:11px; }
.art-tag{ color:var(--r-gold-2);font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.art-date{ color:var(--r-ink-3); }
.art-title{ padding:8px 16px 18px;font-size:15px;font-weight:600;line-height:1.55;color:var(--r-navy); }
.orbit-hint{ color:var(--r-ink-3) !important; }

/* ── FAQ：淺紙卡 + 金色 chevron ── */
.faq-item{ background:var(--r-paper) !important;border:1px solid var(--r-line-2) !important;border-radius:var(--r-radius-sm) !important; }
.faq-item:hover{ border-color:var(--r-line-gold) !important;box-shadow:var(--r-shadow-sm) !important; }
.faq-item summary h3{ color:var(--r-navy) !important; }
.faq-item summary::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A75C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}
.faq-a{ color:var(--r-ink-2) !important; }
.faq-cats button{ background:var(--r-paper-2);border:1px solid var(--r-line-2);color:var(--r-ink-2); }
.faq-cats button.active,.faq-cats button[aria-selected="true"]{ background:var(--r-navy);color:#fff;border-color:var(--r-navy); }

.faq-cta{ background:linear-gradient(160deg,var(--r-paper),var(--r-paper-2)) !important;border:1px solid var(--r-line-2) !important; }
.faq-cta:hover{ border-color:var(--r-line-gold) !important; }
.faq-cta .fc-ico{ color:var(--r-gold-2) !important; }
.faq-cta h3{ color:var(--r-navy) !important; }
.faq-cta .fc-btn.primary{ background:var(--r-gold) !important;color:var(--r-navy) !important; }
.faq-cta .fc-btn.outline{ border:1.5px solid var(--r-line) !important;color:var(--r-navy) !important;background:transparent !important; }
.faq-cta .fc-btn.outline:hover{ border-color:var(--r-gold) !important;color:var(--r-gold-2) !important; }

/* ── Contact / Process CTA ── */
.geo-btn,.process-cta{ background:var(--r-gold) !important;color:var(--r-navy) !important;border-radius:99px !important;border:none !important;font-weight:700; }
.geo-btn:hover,.process-cta:hover{ filter:brightness(1.06); }
.c-ico{ color:var(--r-gold-2) !important; }
.contact-card h3{ color:var(--r-navy) !important; }

/* ── Footer：深藍霧黑 ── */
footer{ background:var(--r-navy-deep) !important;color:var(--r-on-dark-2) !important; }
footer a{ color:rgba(255,255,255,.7) !important; }
footer a:hover{ color:var(--r-gold) !important; }
.f-copy{ color:rgba(255,255,255,.4) !important; }

@media (prefers-reduced-motion:reduce){ .hero-flow span{ animation:none !important; } }

@media (max-width:720px){
  .hero-stage{ padding:44px 22px;border-radius:18px; }
  .hero-title{ font-size:clamp(26px,8vw,34px) !important; }
  .article-orbit-section .orbit-layout,
  .article-orbit-section .orbit-layout.reverse{ grid-template-columns:1fr; }
  .article-orbit-section .orbit-layout.reverse .orbit-copy{ order:0; }
  .art-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px; }
  #story .story-steps{ grid-template-columns:1fr; }
}

/* ============================================================
   卡片密度收斂（v7.2.1）：服務/招募等 geo-card 過大過重 → 緊湊化
   ============================================================ */
.geo-card{ padding:24px 22px 20px !important; }
.geo-card .geo-corner{ display:none !important; }          /* 角落裝飾線：視覺雜訊，移除 */
.geo-icon{ width:26px !important;height:26px !important;margin-bottom:12px !important; }
.geo-icon svg{ width:26px;height:26px; }
.svc-stage{ font-size:10px !important;padding:2px 9px !important;margin-bottom:8px !important;letter-spacing:.1em !important; }
.geo-card h3{ font-size:16.5px !important;line-height:1.45 !important;margin:0 0 8px !important; }
.geo-card > p{ font-size:13.5px !important;line-height:1.72 !important;color:var(--r-ink-2) !important;margin:0 0 12px !important; }
.svc-flow{ gap:5px !important;margin:0 0 10px !important; }
.sf-step{ font-size:11px !important;padding:3px 8px !important;border-radius:7px !important; }
.sf-arrow{ font-size:10px !important;color:var(--r-ink-3) !important; }
.svc-deliver{ gap:5px !important;padding-top:10px !important;border-top:1px dashed var(--r-line-2) !important; }
.svc-deliver .sd-label{ font-size:10px !important;letter-spacing:.12em !important; }
.svc-deliver span:not(.sd-label){ font-size:11px !important;padding:3px 8px !important;
  background:var(--r-gold-soft);border:1px solid var(--r-line-gold);border-radius:7px;color:var(--r-ink-2); }
/* 服務網格：卡片頂對齊，不互相撐高 */
#services .geo-grid{ align-items:start; }
#careers .geo-grid{ align-items:start; }
/* fit / interview 卡同步微收 */
.fit-card{ padding:22px 20px 20px !important; }
.fit-card h3{ font-size:15.5px !important;margin-bottom:8px !important; }
.fit-card p{ font-size:13.5px !important;line-height:1.72 !important; }
.fit-index{ font-size:11px !important; }
/* problems 卡微收 */
.prob-card{ padding:24px 22px !important; }
.prob-card h3{ font-size:16.5px !important; }
.prob-card p{ font-size:13.5px !important;line-height:1.72 !important; }

/* ============================================================
   v7.3 修復層
   ① 淺色區文字安全網（治「白字在淺底看不到」）
   ② 媒體/洞察改深藍透明區（星座圖原生深底樣式復原發光）
   ③ gen 世代區完整卡片化（治「純 txt 貼上感」）
   ④ 球體背景層級
   ============================================================ */

/* ① 深藍 section 文字安全網（卡片內部由下方卡片規則覆寫回墨色） */
.section p,.section li{ color:var(--r-on-dark-2); }
.section h2,.section h3,.section h4{ color:#fff; }
.section .lede{ color:var(--r-on-dark-2); }

/* ② 媒體/洞察：透明深藍區，讓星座圖與球體共存 */
.article-orbit-section{ background:transparent !important; }
.article-orbit-section .headline{ color:#fff !important; }
.article-orbit-section .lede,.article-orbit-section p{ color:var(--r-on-dark-2) !important; }
.article-orbit-section .orbit-hint{ color:rgba(255,255,255,.4) !important; }
.article-orbit-section .eyebrow{ background:rgba(201,167,92,.12) !important;color:var(--r-gold) !important; }

/* ③ gen 世代區：兩代對照卡、角色面板、三步卡、標籤 */
.gen-grid{ display:block; }
.gen-tension{ display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 18px; }
.gen-tension>div{ background:var(--r-paper);border:1px solid var(--r-line-2);border-radius:12px;padding:18px 18px 16px;box-shadow:var(--r-shadow-sm); }
.gt-role{ display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--r-gold-2) !important;
  padding:3px 10px;border-radius:99px;background:var(--r-gold-soft);border:1px solid var(--r-line-gold);margin-bottom:10px; }
.gen-tension p{ font-size:13.5px;line-height:1.75;margin:0; }
.gen-role{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-2) !important;border-radius:12px;padding:18px 20px;margin:0 0 18px; }
.gr-label{ font-size:11.5px;font-weight:800;letter-spacing:.16em;color:var(--r-gold-2) !important;margin:0 0 8px; }
.gr-body{ font-size:14px;line-height:1.8;margin:0; }
.gen-insights{ display:grid;gap:12px;margin:0 0 18px; }
.gi-item{ display:flex;gap:14px;align-items:flex-start;background:var(--r-paper);border:1px solid var(--r-line-2);
  border-radius:12px;padding:14px 16px;box-shadow:var(--r-shadow-sm); }
.gi-key{ flex:0 0 auto;font-size:12px;font-weight:800;color:var(--r-navy);background:var(--r-gold-soft);
  border:1px solid var(--r-line-gold);border-radius:8px;padding:4px 10px; }
.gi-item h4{ font-size:14.5px;font-weight:700;margin:0 0 4px; }
.gi-item p{ font-size:13px;line-height:1.7;margin:0; }
.gen-tags{ display:flex;flex-wrap:wrap;gap:8px; }
.gen-tags span{ font-size:12px;padding:5px 13px;border-radius:99px; }
@media (max-width:640px){ .gen-tension{ grid-template-columns:1fr; } }

/* about 定義面板/支柱同步收整 */
.about-def-panel{ border-radius:12px;padding:18px 20px; }
.adp-label{ font-size:11.5px;letter-spacing:.16em;font-weight:800;margin-bottom:8px; }
.about-pillars{ display:flex;flex-wrap:wrap;gap:8px; }
.about-pillars span{ font-size:12px;padding:5px 13px;border-radius:99px; }

/* ④ 球體層級：最底層背景（main.css 已有 fixed + .live 淡入） */
#story-canvas{ z-index:-1 !important; }
/* icon 契約補強（belt & suspenders，inline 尺寸已寫死） */
.pc-ico,.pc-ico svg{ width:24px !important;height:24px !important;flex:0 0 24px; }
.geo-icon svg{ width:26px !important;height:26px !important; }

/* ============================================================
   v7.4 深藍全面化補丁：卡片內部回墨色、深底元件、圖示終極鎖定
   ============================================================ */
/* 淺紙卡內部：標題 navy、內文墨色（覆寫深底安全網） */
.geo-card :is(h3,h4){ color:var(--r-navy) !important; }
.geo-card p,.geo-card li{ color:var(--r-ink-2) !important; }
.prob-card :is(h3,h4){ color:var(--r-navy) !important; }
.prob-card p{ color:var(--r-ink-2) !important; }
.fit-card :is(h3,h4){ color:var(--r-navy) !important; }
.fit-card p{ color:var(--r-ink-2) !important; }
.mvc-card :is(h3,h4){ color:var(--r-navy) !important; }
.mvc-card p{ color:var(--r-ink-2) !important; }
.process-step :is(h3,h4){ color:var(--r-navy) !important; }
.process-step p{ color:var(--r-ink-2) !important; }
.about-story-card :is(h3,h4){ color:var(--r-navy) !important; }
.about-story-card p{ color:var(--r-ink-2) !important; }
.about-def-panel{ background:var(--r-paper-2) !important; }
.about-def-panel p{ color:var(--r-ink-2) !important; }
.gen-tension>div p{ color:var(--r-ink-2) !important; }
.gen-role p,.gen-role .gr-body{ color:var(--r-ink-2) !important; }
.gi-item :is(h4){ color:var(--r-navy) !important; }
.gi-item p{ color:var(--r-ink-2) !important; }
.faq-item summary h3{ color:var(--r-navy) !important; }
.faq-item .faq-a,.faq-item .faq-a p{ color:var(--r-ink-2) !important; }
.faq-cta h3{ color:var(--r-navy) !important; }
.faq-cta p{ color:var(--r-ink-2) !important; }
.contact-card :is(h3,h4){ color:var(--r-navy) !important; }
.contact-card p{ color:var(--r-ink-2) !important; }
.policy-item{ background:var(--r-paper) !important;border:1px solid var(--r-line-2) !important;border-radius:12px !important; }
.policy-item :is(h3,h4){ color:var(--r-navy) !important; }
.policy-item p{ color:var(--r-ink-2) !important; }
.quiet-item p,.quiet-item h4{ }
.job-card :is(h3,h4){ color:var(--r-navy) !important; }
.job-card p,.job-card li{ color:var(--r-ink-2) !important; }
.contact-loc{ background:var(--r-paper) !important;border:1px solid var(--r-line-2) !important;border-radius:14px !important; }
.contact-loc :is(h3,h4){ color:var(--r-navy) !important; }
.contact-loc p{ color:var(--r-ink-2) !important; }
.contact-loc li,.contact-loc span{ color:var(--r-ink-2); }

/* 深底上的獨立 chips（不在卡內） */
.about-pillars span,.gen-tags span{
  background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.14) !important;
  color:var(--r-on-dark-2) !important; }
.faq-cats button{ background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:var(--r-on-dark-2); }
.faq-cats button.active,.faq-cats button[aria-selected="true"]{ background:var(--r-gold);color:var(--r-navy);border-color:var(--r-gold); }

/* gen 兩代對照卡在深底維持淺紙（既有規則已設）；角色籤維持金 */

/* ③ FAQ CTA 聊天泡泡：終極鎖定 28px */
.faq-cta .fc-ico{ width:28px !important;height:28px !important;margin:0 auto 12px !important;flex:0 0 28px; }
.faq-cta .fc-ico svg{ width:28px !important;height:28px !important;display:block; }

/* ④ 聯絡卡與地址/營業/停車圖示：鎖定 22 / 18 */
.c-ico{ width:22px !important;height:22px !important;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center; }
.c-ico svg{ width:22px !important;height:22px !important;display:block; }
.li-ico{ width:18px !important;height:18px !important;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center; }
.li-ico svg{ width:18px !important;height:18px !important;display:block; }
.chat-opt svg,.chat-close-x svg{ width:18px !important;height:18px !important; }
.btn-arrow{ width:16px !important;height:16px !important;flex:0 0 16px; }

/* 辦公室照片空值：隱藏壞圖框（CMS 填入後自動顯示） */
.contact-loc img[src=""]{ display:none; }

/* ============================================================
   v7.4 深藍主體層：卡片浮島文字範疇 + 破圖防護 + icon 上鎖
   ============================================================ */
/* 卡片浮島內：標題 navy、內文墨色（覆蓋深色安全網） */
.geo-card h3,.prob-card h3,.fit-card h3,.mvc-card h3,.process-step h3,
.policy-item h3,.about-story-card h3,.faq-item h3,.faq-cta h3,
.contact-card h3,.loc-info h4,.gi-item h4,.job-card h3{ color:var(--r-navy) !important; }
.geo-card p,.prob-card p,.fit-card p,.mvc-card p,.process-step p,
.policy-item p,.about-story-card p,.faq-item p,.faq-a,.faq-cta p,
.contact-card p,.loc-info p,.gi-item p,.gen-tension>div p,
.about-def-panel p,.quiet-item p,.job-card p{ color:var(--r-ink-2) !important; }
.pc-kicker{ color:var(--r-ink-3) !important; }
/* policy 與 loc 補上浮島底 */
.policy-item{ background:var(--r-paper) !important;border:1px solid var(--r-line-2) !important;
  border-radius:var(--r-radius-sm) !important;box-shadow:var(--r-shadow-sm); }
.policy-note{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-gold) !important;
  border-radius:12px;color:var(--r-ink-2) !important; }
.policy-note p,.policy-note strong{ color:var(--r-ink-2) !important; }
.loc-info{ background:var(--r-paper);border:1px solid var(--r-line-2);border-radius:14px;
  padding:20px 22px;box-shadow:var(--r-shadow-sm); }
.loc-item{ display:flex;gap:12px;align-items:flex-start;padding:10px 0; }
.loc-item+.loc-item{ border-top:1px dashed var(--r-line-2); }
.li-sub{ color:var(--r-ink-3); }
/* about 支柱 chips 與 gen 標籤：深底上的亮色 chips */
.about-pillars span,.gen-tags span{ background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.16) !important;color:var(--r-on-dark-2) !important; }
/* about 定義面板維持浮島 */
.about-def-panel{ background:var(--r-paper-2) !important;border:1px solid var(--r-line-2) !important; }
.about-def-panel .adp-label{ color:var(--r-gold-2) !important; }
/* FAQ 分類 chips：深底樣式 */
.faq-cats button{ background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:var(--r-on-dark-2); }
.faq-cats button:hover{ border-color:var(--r-gold);color:#fff; }
.faq-cats button.active,.faq-cats button[aria-selected="true"]{ background:var(--r-gold);color:var(--r-navy);border-color:var(--r-gold); }
/* Hero 文字直接浮在球體上：微文字陰影保可讀 */
.hero-title{ text-shadow:0 2px 24px rgba(6,12,34,.55); }
.hero-sub{ text-shadow:0 1px 14px rgba(6,12,34,.5); }
/* 破圖防護：空 src 不顯示；about 若有配圖限寬圓角 */
img[src=""]{ display:none !important; }
#about img{ max-width:100%;height:auto;border-radius:14px;border:1px solid var(--r-line-2);display:block; }
/* icon 上鎖（雙保險）：聊天泡泡 28、地點 18 */
.fc-ico,.fc-ico svg{ width:28px !important;height:28px !important;flex:0 0 28px; }
.faq-cta .fc-ico{ margin:0 auto 14px; }
.li-ico,.li-ico svg{ width:18px !important;height:18px !important;flex:0 0 18px; }
.li-ico{ display:inline-flex;align-items:center;justify-content:center;margin-top:2px;color:var(--r-gold-2); }
/* 聯絡卡 c-type 標籤在浮島上 */
.c-type{ color:var(--r-gold-2) !important; }

/* ============================================================
   v7.5 深色玻璃卡層（最終覆蓋）
   截圖回饋：白色紙卡在深藍上太搶太刺、內距未生效文字貼邊、
   格線塌成全寬長條、洞察星座被半透明白板蓋住、地圖白框。
   → 卡片全面改為深色玻璃（半透明深藍 + 細邊框 + 亮字 + 金點綴）
   ============================================================ */
:root{
  --glass:rgba(255,255,255,.055);
  --glass-2:rgba(255,255,255,.035);
  --glass-line:rgba(255,255,255,.13);
  --glass-title:#F2F5FC;
}

/* ── 卡片本體：深色玻璃 ── */
.geo-card,.prob-card,.fit-card,.mvc-card,.process-step,.policy-item,
.about-story-card,.about-def-panel,.gen-tension>div,.gen-role,.gi-item,
.faq-item,.faq-cta,.contact-card,.loc-info,.quiet-item,.job-card,.policy-principle{
  background:var(--glass) !important;
  border:1px solid var(--glass-line) !important;
  box-shadow:0 10px 30px rgba(4,8,24,.35) !important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:14px !important;
}
.geo-card:hover,.prob-card:hover,.fit-card:hover,.mvc-card:hover,.process-step:hover,
.policy-item:hover,.about-story-card:hover,.faq-item:hover,.contact-card:hover,.job-card:hover{
  border-color:rgba(201,167,92,.5) !important;
  background:rgba(255,255,255,.075) !important;
}

/* ── 內距強制（治文字貼邊）── */
.prob-card{ padding:26px 26px 24px !important; }
.fit-card{ padding:24px 24px 22px !important; }
.geo-card{ padding:24px 24px 22px !important; }
.mvc-card{ padding:22px 24px !important; }
.policy-item{ padding:24px 26px 22px !important; }
.about-story-card{ padding:24px 26px 22px !important; }
.about-def-panel{ padding:22px 24px !important;background:var(--glass-2) !important; }
.process-step{ padding:22px 24px !important; }
.policy-principle{ padding:20px 24px !important;border-left:3px solid var(--r-gold) !important;margin-top:18px; }
.gen-role{ padding:20px 22px !important;background:var(--glass-2) !important; }
.faq-cta{ padding:clamp(28px,4vw,40px) 24px !important;background:var(--glass) !important; }
.loc-info{ padding:22px 24px !important; }
.contact-card{ padding:22px 22px !important; }

/* ── 卡片內文字：亮色系 ── */
.geo-card h3,.prob-card h3,.fit-card h3,.mvc-card h3,.process-step h3,
.policy-item h3,.about-story-card h3,.faq-item h3,.faq-item summary h3,.faq-cta h3,
.contact-card h3,.loc-info h4,.gi-item h4,.job-card h3{ color:var(--glass-title) !important; }
.geo-card p,.prob-card p,.fit-card p,.mvc-card p,.process-step p,
.policy-item p,.about-story-card p,.faq-item p,.faq-a,.faq-a p,.faq-cta p,
.contact-card p,.loc-info p,.gi-item p,.gen-tension>div p,
.about-def-panel p,.quiet-item p,.job-card p,.policy-principle p{ color:var(--r-on-dark-2) !important; }
.pc-kicker{ color:rgba(240,244,255,.55) !important; }
.li-sub{ color:rgba(240,244,255,.45) !important; }
.contact-card a,.loc-info a{ color:var(--glass-title); }
.about-def-panel .adp-label,.gr-label,.c-type{ color:var(--r-gold) !important; }
.gi-key{ color:var(--r-navy) !important; }  /* 金底籤上維持深字 */
.geo-icon,.sys-ico,.pc-ico{ color:rgba(233,213,163,.85) !important;opacity:1 !important; }
.sf-step{ background:rgba(255,255,255,.07) !important;border:1px solid rgba(255,255,255,.14) !important;color:var(--r-on-dark-2) !important; }
.sf-arrow{ color:rgba(255,255,255,.35) !important; }
.svc-deliver{ border-top:1px dashed rgba(255,255,255,.14) !important; }
.svc-deliver span:not(.sd-label){ background:rgba(201,167,92,.12);border-color:rgba(201,167,92,.35);color:var(--r-on-dark-2); }
.loc-item+.loc-item{ border-top:1px dashed rgba(255,255,255,.12) !important; }
.li-ico{ color:var(--r-gold) !important; }

/* policy 編號：清掉舊裝飾定位 → 金色小籤 */
.policy-index{ position:static !important;display:inline-block !important;font-size:11.5px !important;
  font-weight:800;letter-spacing:.14em;color:var(--r-gold) !important;opacity:1 !important;
  background:rgba(201,167,92,.12);border:1px solid rgba(201,167,92,.35);
  padding:2px 10px;border-radius:99px;margin:0 0 10px !important;transform:none !important; }
.pp-key{ color:var(--r-gold) !important;font-weight:800;letter-spacing:.1em;display:block;margin-bottom:8px; }

/* ── 格線強制（治全寬長條）── */
.prob-grid{ display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important; }
.policy-grid{ display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important; }
.mvc-grid{ display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important; }
.about-story-grid{ display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important; }
.fit-grid{ display:grid !important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;gap:16px !important; }
@media (max-width:760px){
  .prob-grid,.policy-grid,.mvc-grid,.about-story-grid{ grid-template-columns:1fr !important; }
}

/* ── FAQ CTA 按鈕（深玻璃上）── */
.faq-cta .fc-btn.primary{ background:var(--r-gold) !important;color:var(--r-navy) !important; }
.faq-cta .fc-btn.outline{ border:1.5px solid rgba(255,255,255,.3) !important;color:#fff !important;background:transparent !important; }
.faq-cta .fc-btn.outline:hover{ border-color:var(--r-gold) !important;color:var(--r-gold) !important; }
.faq-cta .fc-ico{ color:var(--r-gold) !important; }

/* ── 洞察星座：拆掉半透明白板、與媒體區同為深底 ── */
.insights-orbit .constellation-stage{
  background:
    radial-gradient(circle at 38% 28%, rgba(201,167,92,0.10) 0%, transparent 34%),
    rgba(8,13,34,0.72) !important;
  border-color:rgba(255,255,255,.08) !important;
}
.constellation-stage{ border-color:rgba(255,255,255,.08) !important; }
/* 星星提亮（金核 + 亮暈 + 亮連線 + 亮標籤） */
.star-node .star-core{ fill:#E9D5A3 !important;r:5px; }
.star-node .star-halo{ stroke:rgba(201,167,92,.5) !important; }
.star-node.is-active .star-core{ fill:#F5E6BE !important;r:6.5px; }
.constellation-svg text{ fill:rgba(240,244,255,.78) !important; }
.constellation-svg line,.constellation-svg path{ stroke:rgba(255,255,255,.2); }

/* ── 地圖：清除白框、iframe 滿版 ── */
.contact-loc{ display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:stretch; }
.loc-map{ background:transparent !important;border:1px solid rgba(255,255,255,.1) !important;
  box-shadow:none !important;padding:0 !important;border-radius:16px;overflow:hidden;min-height:340px; }
.loc-map iframe,#ct-map{ display:block;width:100% !important;height:100% !important;min-height:340px;border:0 !important;background:transparent; }
@media (max-width:860px){ .contact-loc{ grid-template-columns:1fr; } .loc-map{ min-height:260px; } }

/* ============================================================
   v7.6 ── ② FAQ CTA 橫排重設計 ③ 地圖霧色玻璃 ④ Footer 多欄重排
   ============================================================ */

/* ② FAQ CTA：icon 圓徽 + 左文右鈕 橫排卡 */
.faq-cta{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:22px;row-gap:4px;
  align-items:center;text-align:left !important;
  max-width:840px;margin:36px auto 0;
}
.faq-cta .fc-ico{
  grid-row:1 / 3;width:56px !important;height:56px !important;flex:none;
  margin:0 !important;border-radius:50%;
  background:rgba(201,167,92,.13);border:1px solid rgba(201,167,92,.4);
  display:flex;align-items:center;justify-content:center;
}
.faq-cta .fc-ico svg{ width:26px !important;height:26px !important; }
.faq-cta h3{ grid-column:2;margin:0 !important;font-size:19px !important; }
.faq-cta p{ grid-column:2;margin:0 !important;font-size:14px !important; }
.faq-cta .fc-btns{ grid-column:3;grid-row:1 / 3;display:flex;gap:10px;align-self:center;flex-wrap:wrap;justify-content:flex-end; }
.faq-cta .fc-btn{ display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:99px;
  font-size:14px;font-weight:700;letter-spacing:.03em;text-decoration:none;transition:all .25s ease;white-space:nowrap; }
.faq-cta .fc-btn.primary{ background:var(--r-gold) !important;color:var(--r-navy) !important;box-shadow:0 8px 22px rgba(201,167,92,.25); }
.faq-cta .fc-btn.primary:hover{ filter:brightness(1.07);transform:translateY(-1px); }
.faq-cta .fc-btn.outline{ border:1.5px solid rgba(255,255,255,.28) !important;color:#fff !important;background:transparent !important; }
.faq-cta .fc-btn.outline:hover{ border-color:var(--r-gold) !important;color:var(--r-gold) !important;transform:translateY(-1px); }
@media (max-width:760px){
  .faq-cta{ grid-template-columns:1fr;grid-template-rows:auto;text-align:center !important;row-gap:10px; }
  .faq-cta .fc-ico{ grid-row:auto;margin:0 auto !important; }
  .faq-cta h3,.faq-cta p{ grid-column:1; }
  .faq-cta .fc-btns{ grid-column:1;grid-row:auto;justify-content:center; }
}

/* ③ Google 地圖：霧色玻璃卡 + 深色濾鏡（與深藍主題一體） */
.loc-map{
  background:var(--glass) !important;
  border:1px solid var(--glass-line) !important;
  border-radius:14px !important;padding:10px !important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(4,8,24,.35) !important;
}
.loc-map iframe,#ct-map{
  border-radius:9px;
  filter:grayscale(.15) invert(.9) hue-rotate(190deg) contrast(.9) brightness(.95);
}

/* ④ Footer：多欄編排（品牌 | 導覽 | 資訊 | 聯絡），底部細線 © 列 */
footer{ padding:64px 24px 28px !important;text-align:left !important; }
.footer-cols{
  display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:36px;max-width:1180px;margin:0 auto 40px;align-items:start;
}
.fc-brand .f-logo{ width:auto !important;height:44px !important;margin:0 0 14px; }
.fc-brand p{ font-size:12.5px;line-height:2;color:rgba(240,244,255,.45) !important;max-width:34ch; }
.footer-cols h4{
  font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--r-gold) !important;
  margin:0 0 14px;text-transform:uppercase;
}
.fc-nav,.fc-legal,.fc-contact{ display:flex;flex-direction:column;gap:0; }
.fc-nav a,.fc-legal a,.fc-contact a{
  display:block;padding:6px 0;font-size:13.5px;color:rgba(240,244,255,.62) !important;
  text-decoration:none;transition:color .2s ease,transform .2s ease;
}
.fc-nav a:hover,.fc-legal a:hover,.fc-contact a:hover{ color:var(--r-gold) !important;transform:translateX(2px); }
.f-bottom{
  max-width:1180px;margin:0 auto;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.09);
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.f-bottom .f-copy{ margin:0 !important;font-size:12px !important;color:rgba(240,244,255,.35) !important; }
@media (max-width:900px){
  .footer-cols{ grid-template-columns:1fr 1fr;gap:28px; }
  .fc-brand{ grid-column:1 / -1; }
}
@media (max-width:520px){
  .footer-cols{ grid-template-columns:1fr; }
  .f-bottom{ flex-direction:column;align-items:flex-start; }
}

/* ============================================================
   v7.6.1 ── 地點資訊實心深底（不依賴透明度，快取混層也不會變白）
              + 地圖濾鏡壓暗
   ============================================================ */
.loc-info{
  background:#111A38 !important;             /* 實心深藍，玻璃感由邊框與陰影承擔 */
  border:1px solid rgba(255,255,255,.14) !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
.loc-info h4{ color:#F2F5FC !important; }
.loc-info p,.loc-info .li-sub{ color:rgba(199,207,232,.92) !important; }
.loc-info .li-sub{ color:rgba(199,207,232,.6) !important; }
.loc-map{ background:#111A38 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important; }
.loc-map iframe,#ct-map{
  filter:grayscale(.3) invert(.93) hue-rotate(196deg) contrast(.86) brightness(.78) !important;
}

/* ============================================================
   v7.6.2 FAQ 分類晶片：完整自給樣式（不依賴 main.css，快取混層免疫）
   ============================================================ */
.faq-cats{
  display:flex !important;flex-wrap:wrap;gap:10px !important;
  margin:26px 0 4px !important;padding:0 !important;list-style:none;
}
.faq-cats button{
  appearance:none;-webkit-appearance:none;
  display:inline-flex !important;align-items:center;justify-content:center;
  padding:9px 20px !important;border-radius:99px !important;
  font-size:13px !important;font-weight:600 !important;letter-spacing:.05em;
  line-height:1 !important;cursor:pointer;white-space:nowrap;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:rgba(240,244,255,.7) !important;
  transition:all .22s ease;
}
.faq-cats button:hover{
  border-color:var(--r-gold) !important;color:#fff !important;
  background:rgba(255,255,255,.1) !important;transform:translateY(-1px);
}
.faq-cats button.active,.faq-cats button[aria-selected="true"]{
  background:var(--r-gold) !important;color:var(--r-navy) !important;
  border-color:var(--r-gold) !important;font-weight:700 !important;
  box-shadow:0 6px 18px rgba(201,167,92,.28);
}

/* v7.6.3 地圖與資訊卡呼吸感：拉開間距 */
.contact-loc{ gap:32px !important;margin-top:34px !important; }
@media (max-width:860px){ .contact-loc{ gap:22px !important; } }

/* v7.6.4 FAQ 分類過濾隱藏規則（自給，不依賴 main.css） */
details.faq-item.faq-cat-hide,
.faq-item.faq-cat-hide{ display:none !important; }

/* ============================================================
   v7.8 導覽列連結置中（桌機 ≥1200px；品牌左、控制鈕右、選項正中）
   ============================================================ */
@media (min-width:1200px){
  #nav{ position:fixed; }
  #nav .nav-links{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    display:flex;align-items:center;
  }
}
