/* 僅追加：品牌 token 與首頁覆寫；selector 以 HTML 既有 class 為準，不新增結構 */
:root{
  --brand-primary:#0f2027;
  --brand-secondary:#203a43;
  --brand-accent-dark:#2c5364;
  --brand-cta-1:#ff8a3d;
  --brand-cta-2:#ff6b2c;
  --brand-title:#10293e;
  --brand-text:#5c7383;
  --brand-text-light:#6c7f8d;
  --brand-bg-soft:#f4f8fb;
  --brand-white:#ffffff;
  --brand-line:#dce8f3;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:16px;
  --radius-pill:999px;
  --shadow-card:0 14px 30px rgba(17,38,60,.06);
  --shadow-hero:0 20px 44px rgba(16,42,63,.12);
  --shadow-cta:0 14px 26px rgba(255,117,49,.28);
  --fs-h1:36px;
  --fs-h2:30px;
  --fs-h3:22px;
  --fs-body:16px;
  --fs-small:13px;
  --fs-btn:15px;
}
@media (max-width:767px){
  :root{
    --fs-h1:28px;
    --fs-h2:24px;
    --fs-h3:19px;
  }
}

/* 1 — .home-cta-primary, .hero-cta a, .top-call-action */
html.page-home .home-cta-primary,
html.page-brand .home-cta-primary,
html.page-home .hero-cta a,
html.page-brand .hero-cta a,
html.page-home .top-call-action,
html.page-brand .top-call-action{
  background:linear-gradient(135deg,var(--brand-cta-1),var(--brand-cta-2)) !important;
  color:var(--brand-white) !important;
  box-shadow:var(--shadow-cta) !important;
  border-radius:var(--radius-sm);
  font-size:var(--fs-btn);
  font-weight:900;
}
html.page-home .top-call-action,
html.page-brand .top-call-action{
  border-radius:var(--radius-pill);
}
html.page-home .top-call-action .cta-main,
html.page-brand .top-call-action .cta-main{
  font-size:var(--fs-btn);
  font-weight:900;
}
html.page-home .hero-cta a .cta-main,
html.page-brand .hero-cta a .cta-main{
  font-size:var(--fs-btn);
  font-weight:900;
}
html.page-home .hero-cta a .cta-sub,
html.page-brand .hero-cta a .cta-sub{
  font-size:var(--fs-small);
  font-weight:800;
}

/* 2 — .home-intro-panel h1, .hero-main, .hero-title */
html.page-home .home-intro-panel h1,
html.page-brand .home-intro-panel h1,
html.page-home .hero-title,
html.page-brand .hero-title{
  font-size:var(--fs-h1);
  font-weight:900;
  line-height:1.22;
  color:var(--brand-title);
}
html.page-home .hero-main,
html.page-brand .hero-main{
  font-size:inherit !important;
  line-height:1.22;
  background:linear-gradient(135deg,var(--brand-title) 0%,var(--brand-accent-dark) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* 3 — .home-section, .home-section h2 */
html.page-home .home-section,
html.page-brand .home-section{
  background:linear-gradient(180deg,var(--brand-white),var(--brand-bg-soft));
  border:1px solid var(--brand-line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
html.page-home .home-section h2,
html.page-brand .home-section h2{
  font-size:var(--fs-h2);
  font-weight:900;
  color:var(--brand-title);
}

/* 4 — .home-intro-panel, .home-contact-panel */
html.page-home .home-intro-panel,
html.page-brand .home-intro-panel,
html.page-home .home-contact-panel,
html.page-brand .home-contact-panel{
  background:rgba(255,255,255,.96);
  border:1px solid var(--brand-line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-hero);
}

/* 5 — .home-card, .home-trust-card, .home-problem-card */
html.page-home .home-card,
html.page-brand .home-card,
html.page-home .home-trust-card,
html.page-brand .home-trust-card,
html.page-home .home-problem-card,
html.page-brand .home-problem-card{
  background:var(--brand-white);
  border:1px solid var(--brand-line) !important;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}

/* 6 — .home-card h3, .home-trust-card h3, .home-problem-card h3 */
html.page-home .home-card h3,
html.page-brand .home-card h3,
html.page-home .home-trust-card h3,
html.page-brand .home-trust-card h3,
html.page-home .home-problem-card h3,
html.page-brand .home-problem-card h3{
  font-size:var(--fs-h3);
  font-weight:800;
  color:var(--brand-title);
}

/* 7 — .home-cta-secondary, .home-btn, .home-btn-call */
html.page-home .home-cta-secondary,
html.page-brand .home-cta-secondary,
html.page-home .home-btn,
html.page-brand .home-btn{
  border-radius:var(--radius-sm);
  font-size:var(--fs-btn);
  font-weight:900;
}
html.page-home .home-cta-secondary,
html.page-brand .home-cta-secondary{
  background:var(--brand-white);
  color:var(--brand-title);
  border:1px solid var(--brand-line);
}
html.page-home .home-btn-call,
html.page-brand .home-btn-call{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  color:var(--brand-white) !important;
  border:1px solid transparent;
  box-shadow:0 14px 28px rgba(15,32,39,.2);
}

/* 8 — .top-call-bar, .top-call-action-alt */
html.page-home .top-call-bar,
html.page-brand .top-call-bar{
  background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary) 45%,var(--brand-accent-dark));
}
html.page-home .top-call-action-alt,
html.page-brand .top-call-action-alt{
  background:var(--brand-white);
  color:var(--brand-title);
  border:1px solid var(--brand-line);
}
html.page-home .top-call-action-alt:hover,
html.page-brand .top-call-action-alt:hover{
  background:var(--brand-bg-soft);
  color:var(--brand-title);
}

/* 9 — .conv-service-edge h2（.conv-service-edge 本體與 .home-section 併用，此處只收斂標題） */
html.page-home .conv-service-edge h2,
html.page-brand .conv-service-edge h2{
  font-size:var(--fs-h2);
  font-weight:900;
  color:var(--brand-title);
  margin:0 0 16px;
}

/* 10 — .home-note, .home-intro-panel p, .home-card p, .home-trust-card p */
html.page-home .home-note,
html.page-brand .home-note,
html.page-home .home-intro-panel p,
html.page-brand .home-intro-panel p,
html.page-home .home-card p,
html.page-brand .home-card p,
html.page-home .home-trust-card p,
html.page-brand .home-trust-card p{
  font-size:var(--fs-body);
  line-height:1.8;
  color:var(--brand-text);
}

/* ===== 第二層精修：page-brand 版型 + index 補強（僅 html.page-brand / html.page-home 子代） ===== */

/* —— 1 卡片圓角／陰影（page-brand：服務／FAQ／縣市等內嵌版型） —— */
html.page-brand .panel{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-hero);
  border-color:var(--brand-line);
  padding:28px 24px;
}
html.page-brand header.site-header{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  border-color:var(--brand-line);
}
html.page-brand .navbar-wrap{
  border-radius:var(--radius-md);
}
html.page-brand .section{
  margin:20px 24px 0;
  padding:28px 24px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  border:1px solid var(--brand-line);
  background:linear-gradient(180deg,var(--brand-white),var(--brand-bg-soft));
}
html.page-brand .card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  border:1px solid var(--brand-line);
  padding:24px;
}
html.page-brand .kpi,
html.page-brand .notice-item,
html.page-brand .faq-item,
html.page-brand .step{
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
  border:1px solid var(--brand-line);
}
html.page-brand .footer-box{
  border-radius:var(--radius-lg);
}
html.page-brand .links-2col a,
html.page-brand .quick-links a,
html.page-brand .city-links a{
  border-radius:var(--radius-md);
}
html.page-brand #page-banner{
  border-radius:var(--radius-lg);
  box-shadow:none;
}
html.page-brand header.clearfix{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
html.page-brand .content-sections > .company-mission,
html.page-brand .content-sections > .clients-section,
html.page-brand .item.news-item{
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}
html.page-brand .fixpa-bottom-cta{
  border-radius:var(--radius-lg);
  box-shadow:none;
  padding:28px 24px;
}

/* —— 1 補強 index：大／中卡片白面 —— */
html.page-home .home-trust-intro{
  border-radius:var(--radius-lg);
  box-shadow:none;
  padding:28px 24px;
  margin-bottom:20px;
}
html.page-home .home-emergency-band,
html.page-home .fixpa-bottom-cta{
  border-radius:var(--radius-lg);
  box-shadow:none;
  padding:28px 24px;
}
html.page-home .home-visual-card,
html.page-home .home-service-highlight,
html.page-home .home-process-card,
html.page-home .home-faq-item,
html.page-home .home-city-card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  border:1px solid var(--brand-line);
}

/* —— 2 標題層級 —— */
html.page-brand .section h2{
  font-size:var(--fs-h2);
  font-weight:900;
  color:var(--brand-title);
}
html.page-brand .hero h1{
  font-size:var(--fs-h1);
  font-weight:900;
  color:var(--brand-title);
}
html.page-brand .card h3,
html.page-brand .faq-item h3,
html.page-brand .step strong{
  font-size:var(--fs-h3);
  font-weight:800;
  color:var(--brand-title);
}
html.page-brand .header-logo{
  color:var(--brand-title);
}
html.page-brand .clients-section > h3{
  font-size:var(--fs-h3);
  font-weight:800;
  color:var(--brand-title);
}
html.page-brand .item.news-item h2{
  font-size:var(--fs-h2);
  font-weight:900;
  color:var(--brand-title);
}
html.page-home .home-section h2,
html.page-home .conv-service-edge h2{
  font-size:var(--fs-h2);
}
html.page-home .home-trust-intro h2{
  font-size:var(--fs-h2);
  font-weight:900;
}
html.page-home .home-emergency-band h2{
  font-size:var(--fs-h2);
  font-weight:900;
}
html.page-home .fixpa-bottom-cta h3{
  font-size:var(--fs-h3);
  font-weight:800;
}
html.page-home .home-visual-card:not(.dark) h3,
html.page-home .home-service-highlight h3,
html.page-home .home-faq-item h3{
  font-size:var(--fs-h3);
  font-weight:800;
  color:var(--brand-title);
}
html.page-home .home-process-card h4{
  font-size:var(--fs-h3);
  font-weight:800;
  color:var(--brand-title);
}

/* —— 3 內文色／行高 —— */
html.page-brand .hero p,
html.page-brand .section p,
html.page-brand .section li,
html.page-brand .card p,
html.page-brand .faq-item p,
html.page-brand .panel p{
  color:var(--brand-text);
  line-height:1.8;
}
html.page-brand .kpi span,
html.page-brand .step span,
html.page-brand .badge-note,
html.page-brand .chip{
  color:var(--brand-text-light);
}
html.page-brand .kpi strong{
  color:var(--brand-title);
}
html.page-brand .item.news-item p{
  color:var(--brand-text);
  line-height:1.8;
}
html.page-brand .company-mission p{
  color:var(--brand-text);
  line-height:1.8;
}
html.page-home .home-visual-card:not(.dark) p,
html.page-home .home-service-highlight p,
html.page-home .home-process-card p,
html.page-home .home-faq-item p{
  color:var(--brand-text);
  line-height:1.8;
}

/* —— 4 CTA（page-brand） —— */
html.page-brand .cta-primary{
  background:linear-gradient(135deg,var(--brand-cta-1),var(--brand-cta-2)) !important;
  color:var(--brand-white) !important;
  box-shadow:var(--shadow-cta) !important;
  border-radius:var(--radius-sm);
}
html.page-brand .cta-secondary{
  background:var(--brand-white);
  color:var(--brand-title);
  border:1px solid var(--brand-line);
  border-radius:var(--radius-sm);
}
html.page-brand .btn-call{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  color:var(--brand-white) !important;
  box-shadow:0 14px 28px rgba(15,32,39,.2);
  border-radius:var(--radius-sm);
}
html.page-brand .fixpa-btn.call{
  background:linear-gradient(135deg,var(--brand-cta-1),var(--brand-cta-2)) !important;
  color:var(--brand-white) !important;
  box-shadow:var(--shadow-cta);
  border-radius:var(--radius-sm);
}
html.page-brand .fixpa-btn.report{
  background:var(--brand-white);
  color:var(--brand-title) !important;
  border:1px solid var(--brand-line);
  border-radius:var(--radius-sm);
}

/* —— 5 區塊間距 —— */
html.page-brand .hero{
  margin:0 24px 24px;
  gap:20px;
}
html.page-brand footer{
  margin:24px;
}
html.page-home .home-section,
html.page-home .home-trust-intro,
html.page-home .home-emergency-band,
html.page-home .fixpa-bottom-cta{
  margin-top:20px;
}
html.page-home .home-floating-intro{
  margin-bottom:24px;
}

/* ===== 全站導覽列：淡藍風格（僅覆寫，不變更檔案上方既有規則） ===== */
header.site-header{
  background:#eef6fb !important;
  border-radius:24px !important;
  box-shadow:0 14px 30px rgba(17,38,60,.06) !important;
}
header.site-header .navbar-wrap{
  background:#dfeef7 !important;
  border-radius:999px !important;
  padding:6px !important;
}
header.site-header ul.main-menu > li > a{
  background:#ffffff !important;
  color:#10293e !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  font-size:15px !important;
  font-weight:800 !important;
  box-shadow:0 4px 10px rgba(16,42,63,.08) !important;
  transition:all .2s ease !important;
}
header.site-header ul.main-menu > li > a:hover,
header.site-header ul.main-menu > li > a.active,
header.site-header ul.main-menu > li > a:focus-visible{
  background:linear-gradient(135deg,#ff8a3d,#ff6b2c) !important;
  color:#fff !important;
  box-shadow:0 14px 26px rgba(255,117,49,.28) !important;
  transform:translateY(-1px);
}

header.clearfix{
  background:#eef6fb !important;
  border-radius:24px !important;
  box-shadow:0 14px 30px rgba(17,38,60,.06) !important;
}
header.clearfix .navbar-vertical{
  background:#dfeef7 !important;
  border-radius:999px !important;
  padding:6px !important;
}
header.clearfix ul.main-menu > li > a{
  background:#ffffff !important;
  color:#10293e !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  font-size:15px !important;
  font-weight:800 !important;
  box-shadow:0 4px 10px rgba(16,42,63,.08) !important;
  transition:all .2s ease !important;
}
header.clearfix ul.main-menu > li > a:hover,
header.clearfix ul.main-menu > li > a.active,
header.clearfix ul.main-menu > li > a:focus-visible{
  background:linear-gradient(135deg,#ff8a3d,#ff6b2c) !important;
  color:#fff !important;
  box-shadow:0 14px 26px rgba(255,117,49,.28) !important;
  transform:translateY(-1px);
}

/* 移除中間灰條（需與 header 內較高 specificity 一併寫入，才能蓋過上方導覽覆寫） */
.navbar-wrap,
header.site-header .navbar-wrap,
header.clearfix .navbar-vertical,
.navbar,
.main-nav{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* 強制移除導覽底條 */
header.site-header .navbar-wrap,
header.clearfix .navbar-vertical,
header.site-header .navbar-wrap::before,
header.clearfix .navbar-vertical::before{
  background:transparent !important;
  box-shadow:none !important;
}

/* 這一條最重要：把整條 bar 拿掉 */
header.site-header .navbar-wrap,
header.clearfix .navbar-vertical{
  height:auto !important;
}

/* 🔥 真正來源：header 本體壓掉 */
header.clearfix,
header.site-header{
  background:transparent !important;
  box-shadow:none !important;
}

/* header 本體去除多餘底色與陰影 */
header.clearfix,
header.site-header{
  background:transparent !important;
  box-shadow:none !important;
}

/* 若 main-menu 或 ul 本身還有底色，一起清掉 */
header .main-menu,
header .main-menu ul{
  background:transparent !important;
  box-shadow:none !important;
}

/* 清掉 main-menu 本體可能殘留的底色 */
header ul.main-menu{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* 弱化上方電話條（降低存在感） */
.top-call-bar{
  background:transparent !important;
}

/* 弱化上方電話條：去掉陰影與底線 */
.top-call-bar{
  box-shadow:none !important;
  border-bottom:none !important;
}

/* ===== 主 CTA 微動效（末尾追加；覆寫內嵌 hover 需 !important） ===== */
@keyframes brand-cta-breathe{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.055);}
}

html.page-home .home-cta-primary,
html.page-brand .home-cta-primary,
html.page-home .hero-cta a,
html.page-brand .hero-cta a,
html.page-home .top-call-action,
html.page-brand .top-call-action,
html.page-brand .cta-primary,
.cta-primary,
html.page-brand .fixpa-btn.call,
.fixpa-btn.call,
html.page-brand .btn-call,
.btn-call{
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

@media (hover:hover) and (pointer:fine){
  .cta-primary:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 18px 38px rgba(17,46,72,.22) !important;
    filter:brightness(1.05);
    animation:none !important;
  }
  html.page-home .home-cta-primary:hover,
  html.page-brand .home-cta-primary:hover,
  html.page-home .hero-cta a:hover,
  html.page-brand .hero-cta a:hover,
  html.page-home .top-call-action:hover,
  html.page-brand .top-call-action:hover,
  html.page-brand .cta-primary:hover,
  html.page-brand .fixpa-btn.call:hover,
  .fixpa-btn.call:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 18px 34px rgba(255,117,49,.34) !important;
    filter:brightness(1.04);
    animation:none !important;
  }
  html.page-brand .btn-call:hover,
  .btn-call:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 18px 36px rgba(15,32,39,.3) !important;
    filter:brightness(1.06);
    animation:none !important;
  }
}

html.page-home .home-cta-primary:active,
html.page-brand .home-cta-primary:active,
html.page-home .hero-cta a:active,
html.page-brand .hero-cta a:active,
html.page-home .top-call-action:active,
html.page-brand .top-call-action:active,
html.page-brand .cta-primary:active,
.cta-primary:active,
html.page-brand .fixpa-btn.call:active,
.fixpa-btn.call:active,
html.page-brand .btn-call:active,
.btn-call:active{
  transform:translateY(0) scale(.98) !important;
  filter:brightness(1) !important;
  animation:none !important;
}

html.page-home .home-cta-primary:active,
html.page-brand .home-cta-primary:active,
html.page-home .hero-cta a:active,
html.page-brand .hero-cta a:active,
html.page-home .top-call-action:active,
html.page-brand .top-call-action:active,
html.page-brand .cta-primary:active,
html.page-brand .fixpa-btn.call:active,
.fixpa-btn.call:active{
  box-shadow:0 10px 22px rgba(255,117,49,.22) !important;
}

.cta-primary:active{
  box-shadow:0 12px 28px rgba(17,46,72,.18) !important;
}

html.page-brand .btn-call:active,
.btn-call:active{
  box-shadow:0 12px 28px rgba(15,32,39,.2) !important;
}

html.page-home .home-cta-primary:focus-visible,
html.page-brand .home-cta-primary:focus-visible,
html.page-home .hero-cta a:focus-visible,
html.page-brand .hero-cta a:focus-visible,
html.page-home .top-call-action:focus-visible,
html.page-brand .top-call-action:focus-visible,
html.page-brand .cta-primary:focus-visible,
.cta-primary:focus-visible,
html.page-brand .fixpa-btn.call:focus-visible,
.fixpa-btn.call:focus-visible,
html.page-brand .btn-call:focus-visible,
.btn-call:focus-visible{
  outline:2px solid rgba(255,138,61,.5);
  outline-offset:3px;
}

@media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.page-home .home-cta-primary,
  html.page-brand .home-cta-primary,
  html.page-home .hero-cta a,
  html.page-brand .hero-cta a,
  html.page-home .top-call-action,
  html.page-brand .top-call-action,
  html.page-brand .cta-primary,
  .cta-primary,
  html.page-brand .fixpa-btn.call,
  .fixpa-btn.call,
  html.page-brand .btn-call,
  .btn-call{
    animation:brand-cta-breathe 5s ease-in-out infinite;
  }
}
