/* 995 全站共用區塊：諮詢項目索引、服務優勢（首頁與內頁都會用到） */

/* ---------- 諮詢項目：索引式列表 ---------- */
.consult-section{background:var(--paper)}
.consult-grid{border-top:1px solid var(--ink)}
.consult-card{
  position:relative;display:grid;grid-template-columns:5rem minmax(0,1.1fr) minmax(0,1fr);gap:1.5rem 2rem;align-items:start;
  padding-block:clamp(1.75rem,2.5vw,3rem);border-bottom:1px solid var(--line);
  isolation:isolate;
}
.consult-card::before{
  content:"";position:absolute;inset:0 calc(var(--gutter) * -1);z-index:-1;background:var(--mist);
  transform:scaleY(0);transform-origin:bottom;transition:transform var(--m-base) var(--m-ease-out);
}
.consult-num{font-family:var(--serif);font-size:1.125rem;font-weight:600;color:var(--gold-ink);line-height:2.6}
.consult-card h3{font-size:clamp(1.875rem,1.4rem + 2vw,3.25rem);font-weight:700}
.consult-card h3 a{transition:color var(--m-fast) var(--m-ease)}
.consult-desc{margin-top:.5rem;color:var(--muted)}
.consult-items{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem}
.consult-items a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 1.05rem;border:1px solid var(--line);border-radius:999px;
  background:var(--white);font-weight:500;font-size:.9375rem;
  transition:background-color var(--m-fast) var(--m-ease),color var(--m-fast) var(--m-ease),border-color var(--m-fast) var(--m-ease);
}
@media (hover:hover){
  .consult-card:hover::before{transform:scaleY(1)}
  .consult-card h3 a:hover{color:var(--gold-ink)}
  .consult-items a:hover{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
}

/* ---------- 情況選項（首頁主視覺與 404 共用） ---------- */
.hero-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.hero-chip{display:inline-flex;align-items:center;min-height:48px;padding:0 1.15rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(20,31,43,.22);font-weight:500;color:var(--white);transition:background-color var(--m-fast) var(--m-ease),color var(--m-fast) var(--m-ease),border-color var(--m-fast) var(--m-ease),scale var(--m-fast) var(--m-ease)}
.hero-chip:active{scale:.97}
.hero-chip-other{border-style:dashed}
@media (hover:hover){.hero-chip:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}}

@media (max-width:620px){.hero-chip{min-height:44px;padding:0 .95rem;font-size:.9375rem}.hero-chips{gap:.4rem}}

.sec-head h2,.tool-card h3,.tools-hub-card h2{word-break:keep-all}

/* ---------- 真實數字 ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2.5rem,4vw,4rem)}
.stat{padding-left:clamp(.75rem,1.5vw,1.5rem);border-left:1px solid var(--line-dark)}
.stat:first-child{padding-left:0;border-left:0}
.stat strong{display:block;font-family:var(--serif);font-weight:900;font-size:clamp(2.5rem,1.8rem + 2.6vw,4.5rem);line-height:1;color:var(--gold);font-variant-numeric:lining-nums tabular-nums}
.stat span{display:block;margin-top:.6rem;font-size:var(--fs-sm);color:var(--on-dark)}

/* ---------- 服務優勢 ---------- */
.service-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem clamp(2rem,6vw,7rem)}
.service-head{position:sticky;top:calc(var(--header-h) + 3rem);align-self:start;margin-bottom:0}
.service-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,2.5vw,2.25rem);padding-block:clamp(2rem,3.5vw,3.75rem);border-top:1px solid var(--line-dark)}
.service-item:last-child{border-bottom:1px solid var(--line-dark)}
.service-ico{display:grid;place-items:center;width:clamp(48px,5vw,64px);height:clamp(48px,5vw,64px);border:1px solid rgba(226,168,77,.55);border-radius:50%;color:var(--gold);font-size:clamp(1.125rem,1.6vw,1.375rem)}
.service-item h3{font-size:clamp(1.5rem,1.2rem + 1.5vw,2.5rem)}
.service-item p{margin-top:.9rem;max-width:34em;color:var(--on-dark-muted);font-size:var(--fs-lg)}

@media (max-width:820px){
  .service-layout{grid-template-columns:1fr}
  .service-head{position:static;margin-bottom:1rem}
  .consult-card{grid-template-columns:1fr;gap:.5rem}
  .consult-num{line-height:1.4}
  .consult-items{padding-top:.75rem}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 0}
  .stat:nth-child(odd){padding-left:0;border-left:0}
}
@media (prefers-reduced-motion:reduce){
  .consult-card::before{transition:none}
}

/* ---------- 內頁頁首金線插畫 ---------- */
.hero-art{display:none}
/* 手機只留有資訊的插畫（律師地圖、案件程序），放在標題下方；純裝飾的不放，內容才不會被推遠 */
@media (max-width:999px){
  .has-art{display:flex;flex-direction:column}
  .hero-art-map,.hero-art-route{display:block;order:9;width:100%;margin-top:1.5rem;pointer-events:none}
  .hero-art-map svg{display:block;width:auto;height:min(92vw,400px);max-width:100%;margin-inline:auto;overflow:visible}
  .hero-art-route svg{display:block;width:100%;max-width:400px;height:auto;overflow:visible}
  .hero-art-map .art-label{font-size:21px}
  .hero-art-map.is-linked{display:none} /* 列表頁已有縣市按鈕，地圖放在名冊前太佔空間 */
  .lawyer-hero .hero-art-map{display:none}
  .lawyer-map-inline{margin-bottom:2rem;padding:1.25rem 1rem;background:var(--navy);border-radius:var(--radius-lg)}
  .lawyer-map-inline .hero-art-map{margin-top:0}
  .hero-art-route .art-label{font-size:21px}
  .hero-art .art-link{pointer-events:none}
}
@media (min-width:1000px){
  .lawyer-map-inline{display:none}
  .has-art{position:relative;min-height:clamp(250px,22vw,320px);padding-right:calc(var(--gutter) + min(36%,29rem))}
  .hero-art{position:absolute;display:block;right:var(--gutter);top:50%;width:min(34%,27rem);transform:translateY(-50%);pointer-events:none}
  .hero-art::before{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(closest-side,rgba(226,168,77,.13),transparent);animation:art-fade var(--m-draw) var(--m-ease-out) both}
  .hero-art svg{position:relative;display:block;width:100%;height:auto;max-height:min(340px,46vh);overflow:visible}
  /* 工具頁的頁首已在 container 內，右緣不需再加 gutter */
  :is(.sev-hero,.calc-hero).has-art{padding-right:min(36%,29rem)}
  :is(.sev-hero,.calc-hero) .hero-art{right:0}
  .hero-art-map svg{max-height:min(400px,56vh)}
}
.art-line,.art-soft{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:art-draw var(--m-draw) var(--m-ease-out) 120ms forwards}
.art-line{stroke:var(--gold);stroke-width:1.75}
.art-soft{stroke:rgba(255,255,255,.42);stroke-width:1.25}
.art-dot{fill:var(--gold);animation:art-fade var(--m-slow) var(--m-ease-out) 500ms both}
.art-dot-soft{fill:rgba(255,255,255,.45)}
.art-dot-ring{fill:none;stroke:rgba(255,255,255,.42);stroke-width:1.25}
.art-label{fill:var(--on-dark);font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:.04em;animation:art-fade var(--m-slow) var(--m-ease-out) 600ms both}
.art-label-gold{fill:var(--gold-on-navy);font-weight:700}
.art-label-dim{fill:var(--on-dark-muted);font-weight:400}
.art-link{pointer-events:auto;cursor:pointer}
.art-hit{fill:transparent}
.art-link .art-dot,.art-link .art-label{transition:fill var(--m-fast) var(--m-ease)}
@media (hover:hover){
  .art-link:hover .art-dot{fill:var(--gold-on-navy)}
  .art-link:hover .art-label{fill:var(--gold-on-navy)}
}
@keyframes art-draw{to{stroke-dashoffset:0}}
@keyframes art-fade{from{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .art-line,.art-soft{animation:none;stroke-dashoffset:0}
  .art-dot,.art-label,.hero-art::before{animation:none}
}
