/* 留遊學百科文章內容；只作用於 compass-article。 */
.compass-article { color:#283442; line-height:1.95; overflow-wrap:anywhere; }
.compass-article p { margin:0 0 1.15em; }
.compass-article h2 { margin:2.1em 0 .7em; padding:0 0 .45em; border-bottom:2px solid #f2c32e; color:#172b41; font-size:clamp(28px,3vw,34px); line-height:1.45; }
.compass-article h3 { margin:1.6em 0 .55em; color:#173e5a; font-size:28px; line-height:1.5; }
.compass-article ul,.compass-article ol { padding-left:1.5em; margin:0 0 1.3em; }
.compass-article li { margin:.35em 0; }
.compass-article a { color:#a83728; text-decoration:underline; text-underline-offset:.2em; }
.compass-article__image { margin:1.8em 0; }
.compass-article__image img { display:block; width:100%; max-width:800px; height:auto; border-radius:12px; }
.compass-article__table { max-width:100%; overflow-x:auto; margin:1.5em 0; }
.compass-article table { border-collapse:collapse; width:100%; min-width:480px; font-size:1em; }
.compass-article th,.compass-article td { border:1px solid #d7e0e7; padding:.75em .9em; text-align:left; vertical-align:top; }
.compass-article th { background:#eaf2f5; color:#173e5a; }
.compass-article tbody tr:nth-child(even) td { background:#f8fafb; }
@media (max-width:767px) { .compass-article { line-height:1.85; } .compass-article h2 { margin-top:1.7em; } .compass-article h3 { font-size:28px; } .compass-article th,.compass-article td { padding:.65em; } }

/* 百科文章結尾預約諮詢卡片：淡橘流體波浪 */
.compass-article .compass-cta { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:28px; align-items:center; margin:3rem 0 1rem; padding:clamp(26px,4vw,40px); overflow:hidden; border:1px solid #f7c2a2; border-radius:16px; background:#fff0e5; text-align:left; }
.compass-article .compass-cta::before,.compass-article .compass-cta::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:105%; height:190%; left:-25%; bottom:-140%; border-radius:42% 58% 55% 45% / 47% 43% 57% 53%; background:rgba(255,109,18,.13); transform-origin:50% 50%; animation:compass-wave 18s ease-in-out infinite alternate; }
.compass-article .compass-cta::after { left:15%; bottom:-150%; width:110%; background:rgba(255,109,18,.1); border-radius:57% 43% 44% 56% / 43% 60% 40% 57%; animation-duration:23s; animation-direction:alternate-reverse; }
.compass-article .compass-cta h2 { grid-column:1; margin:0 0 .45em; padding:0; border:0; color:#512816; font-size:clamp(28px,3vw,34px); line-height:1.4; }
.compass-article .compass-cta p { grid-column:1; margin:0; max-width:38em; color:#613b28; }
.compass-article .compass-cta .compass-cta__button { grid-column:2; grid-row:1 / span 2; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 22px; border-radius:8px; background:#06c755; color:#fff; font-weight:700; text-decoration:none; line-height:1.4; white-space:nowrap; }
.compass-article .compass-cta .compass-cta__button:hover,.compass-article .compass-cta .compass-cta__button:focus-visible { background:#05a947; color:#fff; }
.compass-article .compass-cta .compass-cta__button:focus-visible { outline:3px solid #163d2b; outline-offset:3px; }
.compass-article .compass-cta__button img { width:36px; height:36px; flex:0 0 36px; object-fit:contain; }
@keyframes compass-wave { from { transform:translate3d(-3%,0,0) rotate(-3deg); } to { transform:translate3d(4%,-4%,0) rotate(4deg); } }
@media (max-width:767px) { .compass-article .compass-cta { grid-template-columns:1fr; gap:0; } .compass-article .compass-cta .compass-cta__button { grid-column:1; grid-row:auto; justify-self:start; margin-top:20px; } }
@media (prefers-reduced-motion:reduce) { .compass-article .compass-cta::before,.compass-article .compass-cta::after { animation:none; } }
/* WordPress 自動段落包覆按鈕時，將該段落放在右側。 */
.compass-article .compass-cta > p:has(> .compass-cta__button) { grid-column:2; grid-row:1 / span 2; margin:0; justify-self:end; }
@media (max-width:767px) { .compass-article .compass-cta > p:has(> .compass-cta__button) { grid-column:1; grid-row:auto; justify-self:start; margin-top:20px; } .compass-article .compass-cta > p .compass-cta__button { margin-top:0; } }

/* 百科文章：以白底、綠色標題與清楚留白建立閱讀層級。 */
.compass-article { color:#303b37; }
.compass-article .compass-lead { margin:0 0 1.5em; color:#303b37; font-size:1.08em; font-weight:600; line-height:1.95; }
.compass-article > h2 { display:flex; flex-wrap:wrap; align-items:baseline; gap:.12em; margin:2.4em 0 .8em; padding:0 0 .55em; border-bottom:1px solid #d8e4dc; line-height:1.5; }
#brxe-bowdci .compass-article > h2,#brxe-bowdci .compass-article > h3,#brxe-bowdci #brxe-wvsvto { color:#2e6b50 !important; }
.compass-article .compass-chapter { color:#2e6b50; font-size:.64em; font-weight:700; letter-spacing:2px; }
.compass-article .compass-article__image { margin:1.8em 0 2.2em; }
.compass-article .compass-update { margin:2em 0 2.5em; padding:clamp(22px,3vw,30px); border-radius:12px; background:#f2f7f3; color:#303b37; }
.compass-article .compass-update__title { display:block; margin-bottom:.8em; color:#2e6b50; font-size:1.15em; }
.compass-article .compass-update p { margin:0; }
.compass-article .compass-update p + p { margin-top:.85em; padding-top:.85em; border-top:1px solid #dce7df; }
.compass-article .compass-pathways { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:1.5em 0; }
.compass-article .compass-pathway,.compass-article .compass-pathway:nth-child(even) { padding:20px 22px; border:1px solid #dce7df; border-radius:10px; background:#fff; }
.compass-article .compass-pathway h3 { margin:0 0 .35em; color:#2e6b50; font-size:28px; line-height:1.45; }
.compass-article .compass-pathway p { margin:0; color:#303b37; font-weight:600; }
.compass-article h3.compass-question { margin:1.5em 0 .35em; padding:0; border:0; border-radius:0; background:transparent; color:#2e6b50; font-size:28px; line-height:1.5; }
.compass-article p.compass-answer { margin:0 0 1.2em; padding:0 0 1.15em; border-bottom:1px solid #e2e8e3; border-radius:0; background:transparent; }
.compass-article .compass-article__table th { background:#f2f7f3; color:#2e6b50; }
.compass-article .compass-article__table td,.compass-article .compass-article__table th { border-color:#dce7df; }
.compass-article .compass-article__table tbody tr:nth-child(even) td { background:#fff; }
@media(max-width:767px) { .compass-article > h2 { margin-top:1.9em; } .compass-article .compass-pathways { grid-template-columns:1fr; gap:10px; } .compass-article .compass-pathway,.compass-article .compass-pathway:nth-child(even) { padding:16px 18px; } .compass-article h3.compass-question { padding:0; } .compass-article p.compass-answer { padding:0 0 1em; } }
/* 標題層級：文章主標題、章節、常見問題依序遞減。 */
#brxe-bowdci #brxe-wvsvto { font-size:clamp(34px,3vw,36px) !important; line-height:1.45; }
#brxe-bowdci .compass-article > h2 { font-size:clamp(32px,2.8vw,34px) !important; }
#brxe-bowdci .compass-article > h3,#brxe-bowdci .compass-pathway h3 { font-size:28px !important; }

/* 全文閱讀節奏與字級：以留白和字重分層，不以大字堆疊重點。 */
#brxe-bowdci .compass-article { font-size:17px; line-height:1.9; }
#brxe-bowdci #brxe-wvsvto { font-size:clamp(28px,2.5vw,32px) !important; line-height:1.45; }
#brxe-bowdci .compass-article > h2 { font-size:clamp(26px,2.2vw,28px) !important; line-height:1.5; margin:2.3em 0 .8em; }
#brxe-bowdci .compass-article > h3 { font-size:22px !important; line-height:1.55; }
#brxe-bowdci .compass-article .compass-lead { font-size:18px; line-height:1.9; }
#brxe-bowdci .compass-article .compass-flow { padding:18px 20px; margin:1.5em 0; background:#f5f8f5; border-radius:10px; color:#304b3d; line-height:1.95; }
#brxe-bowdci .compass-article .compass-pathways { gap:0 24px; margin:1.3em 0 1.7em; }
#brxe-bowdci .compass-article .compass-pathway,#brxe-bowdci .compass-article .compass-pathway:nth-child(even) { padding:15px 0; border:0; border-bottom:1px solid #dce7df; border-radius:0; background:transparent; }
#brxe-bowdci .compass-article .compass-pathway h3.compass-pathway__label { margin:0 0 .2em; color:#557363; font-size:16px !important; line-height:1.5; }
#brxe-bowdci .compass-article .compass-pathway p.compass-pathway__name { margin:0; color:#263d30; font-size:18px; line-height:1.65; font-weight:700; }
#brxe-bowdci .compass-article h3.compass-question { margin:1.45em 0 .35em; font-size:22px !important; }
#brxe-bowdci .compass-article .compass-answer { margin-bottom:1.25em; }
#brxe-bowdci .compass-article .compass-article__table { margin:1.4em 0 1.8em; }
#brxe-bowdci .compass-article .compass-article__table table { font-size:16px; }
#brxe-bowdci .compass-article .compass-closing { margin-top:1.4em; }
@media (max-width:767px) { #brxe-bowdci .compass-article { font-size:16px; line-height:1.85; } #brxe-bowdci .compass-article .compass-lead { font-size:17px; } #brxe-bowdci .compass-article > h2 { font-size:26px !important; } #brxe-bowdci .compass-article > h3,#brxe-bowdci .compass-article h3.compass-question { font-size:21px !important; } #brxe-bowdci .compass-article .compass-pathway,#brxe-bowdci .compass-article .compass-pathway:nth-child(even) { padding:13px 0; } }

/* 標題顏色比照 partner-degrees 文章。 */
#brxe-bowdci #brxe-wvsvto { color:#0f172a !important; }
#brxe-bowdci .compass-article > h2,#brxe-bowdci .compass-article > h3,#brxe-bowdci .compass-article .compass-pathway h3,#brxe-bowdci .compass-article .compass-chapter { color:#202b35 !important; }
#brxe-bowdci .compass-article .compass-cta h2 { color:#26333b !important; }

/* 文章字級微調：標題依層級遞減，保留正文可讀性。 */
#brxe-bowdci #brxe-wvsvto { font-size:clamp(26px,2.35vw,30px) !important; line-height:1.5; text-wrap:balance; }
#brxe-bowdci .compass-article > h2 { font-size:clamp(23px,2vw,25px) !important; line-height:1.55; margin:2.1em 0 .75em; text-wrap:balance; }
#brxe-bowdci .compass-article > h3,#brxe-bowdci .compass-article h3.compass-question { font-size:20px !important; line-height:1.6; }
#brxe-bowdci .compass-article .compass-cta h2 { font-size:clamp(23px,2vw,25px) !important; line-height:1.5; text-wrap:balance; }
#brxe-bowdci .compass-article .compass-lead { font-size:17px; font-weight:500; }
@media(max-width:767px) { #brxe-bowdci #brxe-wvsvto { font-size:26px !important; } #brxe-bowdci .compass-article > h2 { font-size:23px !important; } #brxe-bowdci .compass-article > h3,#brxe-bowdci .compass-article h3.compass-question { font-size:19px !important; } #brxe-bowdci .compass-article .compass-cta h2 { font-size:23px !important; } #brxe-bowdci .compass-article .compass-lead { font-size:16px; } }

/* 百科閱讀優化：側欄目錄維持可見，長清單在可用視窗內捲動。 */
@media (min-width: 901px) {
  #brxe-bowdci .yn-side #ez-toc-container nav {
    max-height: max(180px, calc(100vh - 230px));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #b9c5be transparent;
  }
}
#brxe-bowdci .yn-side #ez-toc-container a:focus-visible {
  outline: 2px solid #627b6a;
  outline-offset: 2px;
}
#brxe-bowdci .compass-article p { text-wrap: pretty; }
#brxe-bowdci .compass-article > h2 { scroll-margin-top: 130px; }
#brxe-bowdci .compass-article .compass-article__table { overscroll-behavior-x: contain; }
@media (max-width: 767px) {
  #brxe-bowdci .compass-article > h2 { margin-top: 1.85em; scroll-margin-top: 100px; }
  #brxe-bowdci .compass-article .compass-article__table th,
  #brxe-bowdci .compass-article .compass-article__table td { overflow-wrap: normal; word-break: normal; }
}

/* 目錄連結的實際定位點是外掛產生的 span，避開固定頁首。 */
#brxe-bowdci .compass-article .ez-toc-section { scroll-margin-top: 160px; }

/* 留遊學百科：以暖色細節及有層次的留白提升長文閱讀感。 */
#brxe-bowdci .compass-article > h2 {
  position: relative;
  gap: .32em;
  padding-bottom: .65em;
  border-bottom: 1px solid #e6e3df;
}
#brxe-bowdci .compass-article > h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 3.25rem;
  height: 2px;
  background: #e8894f;
}
#brxe-bowdci .compass-article .compass-chapter {
  padding: .2em .55em;
  border-radius: 4px;
  background: #fff3e9;
  font-size: .62em;
  line-height: 1.65;
}
#brxe-bowdci .compass-article .compass-lead { line-height: 1.9; }
#brxe-bowdci .compass-article .compass-update {
  background: #f8f7f4;
  border-radius: 12px;
}
#brxe-bowdci .compass-article .compass-update__title { color: #202b35; }
#brxe-bowdci .compass-article .compass-flow { background: #f8f7f4; color: #303b37; }
#brxe-bowdci .compass-article .compass-article__table th { background: #f7f5f1; color: #202b35; }
#brxe-bowdci .compass-article .compass-article__table th,
#brxe-bowdci .compass-article .compass-article__table td { border-color: #e6e3df; }
#brxe-bowdci .compass-article h3.compass-question { margin-top: 1.55em; }
#brxe-bowdci .compass-article p.compass-answer { border-bottom-color: #e9e7e3; }
@media (max-width: 767px) {
  #brxe-bowdci .compass-article > h2 { gap: .28em; }
  #brxe-bowdci .compass-article .compass-chapter { font-size: .65em; }
}

/* 章節編號與標題依文字自然換行，避免窄螢幕出現孤立分隔符。 */
#brxe-bowdci .compass-article > h2 { display: block; }
#brxe-bowdci .compass-article .compass-chapter { display: inline-block; margin-right: .25em; }

/* 百科 FAQ：原生可收合問答，僅用於文章內的專屬元件。 */
#brxe-bowdci .compass-article .compass-faq {
  margin: 0 0 12px;
  border: 1px solid #e8e3dc;
  border-radius: 12px;
  background: #fff;
}
#brxe-bowdci .compass-article .compass-faq summary {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 60px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  color: #202b35;
}
#brxe-bowdci .compass-article .compass-faq summary::-webkit-details-marker { display: none; }
#brxe-bowdci .compass-article .compass-faq summary h3 {
  flex: 1;
  margin: 0;
  font-size: 18px !important;
  line-height: 1.6;
  color: inherit !important;
}
#brxe-bowdci .compass-article .compass-faq summary::after {
  content: "";
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #98532f;
  border-bottom: 2px solid #98532f;
  transform: rotate(45deg) translateY(-2px);
}
#brxe-bowdci .compass-article .compass-faq[open] summary::after { transform: rotate(225deg) translate(-2px, -1px); }
#brxe-bowdci .compass-article .compass-faq[open] { background: #fcfaf7; }
#brxe-bowdci .compass-article .compass-faq summary:focus-visible { outline: 2px solid #a35d32; outline-offset: 3px; border-radius: 10px; }
#brxe-bowdci .compass-article .compass-faq__answer { margin: 0; padding: 0 18px 18px; color: #303b37; }
@media (max-width: 767px) {
  #brxe-bowdci .compass-article .compass-faq summary { padding: 14px 16px; gap: 12px; }
  #brxe-bowdci .compass-article .compass-faq summary h3 { font-size: 17px !important; }
  #brxe-bowdci .compass-article .compass-faq__answer { padding: 0 16px 16px; }
}

/* 第十九章迷思：每組問題與答案構成一張閱讀卡片。 */
#brxe-bowdci .compass-article h3.compass-question {
  margin: 22px 0 0;
  padding: 18px 20px 4px;
  border: 1px solid #e9e3dc;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: #fcfaf7;
  color: #202b35;
  font-size: 19px !important;
  line-height: 1.6;
}
#brxe-bowdci .compass-article h3.compass-question + p.compass-answer {
  margin: 0 0 16px;
  padding: 8px 20px 20px;
  border: 1px solid #e9e3dc;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: #fcfaf7;
}
@media (max-width: 767px) {
  #brxe-bowdci .compass-article h3.compass-question { padding: 16px 16px 3px; font-size: 18px !important; }
  #brxe-bowdci .compass-article h3.compass-question + p.compass-answer { padding: 7px 16px 16px; }
}

/* 留遊學百科相關文章：固定欄位數，避免僅有一篇時被放大。 */
#brxe-bowdci #brxe-befdzu { width: min(1200px, calc(100% - 48px)); max-width: 1200px; margin: 56px auto 72px; }
#brxe-bowdci #brxe-befdzu .related-posts-title { margin: 0 0 24px; color: #202b35; font-size: 25px; line-height: 1.5; }
#brxe-bowdci #brxe-befdzu ul.related-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
#brxe-bowdci #brxe-befdzu .repeater-item { min-width: 0; overflow: hidden; border: 1px solid #e8e3dc; border-radius: 12px; background: #fff; }
#brxe-bowdci #brxe-befdzu figure { margin: 0; width: 100%; }
#brxe-bowdci #brxe-befdzu figure a { display: block; }
#brxe-bowdci #brxe-befdzu figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
#brxe-bowdci #brxe-befdzu .post-content { padding: 18px; }
#brxe-bowdci #brxe-befdzu .post-content h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.55; }
#brxe-bowdci #brxe-befdzu .post-content h3 a { color: #202b35; }
#brxe-bowdci #brxe-befdzu .post-content .dynamic:not(h3) { font-size: 14px; line-height: 1.7; }
@media (max-width: 900px) { #brxe-bowdci #brxe-befdzu ul.related-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { #brxe-bowdci #brxe-befdzu { width: calc(100% - 48px); margin: 40px auto 56px; } #brxe-bowdci #brxe-befdzu ul.related-posts { grid-template-columns: 1fr; } #brxe-bowdci #brxe-befdzu .related-posts-title { font-size: 23px; } }

