/* v27：文章（SEO 用）——列表 /articles、內文 /articles/<網址代稱>
   版面：跟首頁同一套字、同一個香檳金；列表是雜誌式的卡片（最新一篇放大），內文一欄 680px 左右好讀；
   沒有封面的文章用蜂巢紋當底，最下面一塊黑色舞台放「用 LINE 問顧問」 */
.ar-page { --ar-w: 1120px; --ar-text: 700px; background: var(--wax); }
.skip { position: absolute; left: -999px; top: 8px; z-index: 50; padding: 8px 14px; border-radius: 999px; background: var(--ink); color: var(--wax); }
.skip:focus { left: 12px; }

/* 上面一條：蜂窩標誌、回首頁的幾個段落、免費諮詢 */
.ar-top { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--wax) 82%, transparent); -webkit-backdrop-filter: saturate(1.6) blur(18px); backdrop-filter: saturate(1.6) blur(18px); border-bottom: 1px solid var(--rule); padding-top: env(safe-area-inset-top, 0px); }
.ar-top-in { display: flex; align-items: center; gap: 18px; max-width: var(--ar-w); min-height: 60px; margin: 0 auto; padding-left: var(--gl); padding-right: var(--gr); }
.ar-brand { display: flex; align-items: center; flex: none; color: var(--ink); text-decoration: none; }
.ar-brand svg { display: block; width: auto; height: 30px; }
.ar-nav { display: flex; gap: 2px; margin: 0 auto; }
.ar-nav a { padding: 6px 12px; border-radius: 999px; color: var(--ink-soft); font-size: 14px; text-decoration: none; white-space: nowrap; transition: color .2s, background-color .2s; }
.ar-nav a:hover { color: var(--ink); }
.ar-nav a[aria-current] { color: var(--ink); font-weight: 700; background: color-mix(in srgb, var(--honey) 22%, transparent); }
.ar-top-cta { flex: none; min-height: 38px; padding: 0 18px; font-size: 14px; }
/* 導覽的順序跟首頁一樣；手機、窄的視窗：選單排在第二排、左右滑（跟首頁的段落捷徑一樣），每一個都看得到 */
@media (max-width: 860px) {
  .ar-top-in { flex-wrap: wrap; gap: 0 10px; min-height: 56px; }
  .ar-brand svg { height: 26px; }
  .ar-top-cta { margin-left: auto; min-height: 34px; padding: 0 13px; font-size: 13px; }
  .ar-nav { order: 3; flex: 1 0 100%; gap: 6px; margin: 0 calc(-1 * var(--gr)) 0 calc(-1 * var(--gl)); padding: 2px var(--gr) 9px var(--gl); overflow-x: auto; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
  .ar-nav::-webkit-scrollbar { display: none; }
  .ar-nav a { flex: none; padding: 6px 14px; background: color-mix(in srgb, var(--ink) 6%, transparent); font-size: 14px; }
}

.ar-main { max-width: var(--ar-w); margin: 0 auto; padding: clamp(28px, 5vw, 64px) var(--gr) clamp(48px, 7vw, 96px) var(--gl); outline: none; }
.ar-empty { padding: 60px 0; text-align: center; color: var(--ink-soft); font-size: 16px; }
.ar-empty a { color: var(--ink); text-decoration-color: var(--honey); text-underline-offset: 3px; }

/* 麵包屑、標題 */
.ar-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-bottom: 14px; font-size: 13.5px; color: var(--ink-faint); }
.ar-crumb > * + *::before { content: "/"; margin: 0 9px; color: var(--rule); }
.ar-crumb a { color: var(--ink-soft); text-decoration: none; }
.ar-crumb a:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--honey); text-underline-offset: 3px; }
.ar-hero { margin-bottom: clamp(26px, 4vw, 44px); }
.ar-hero > :not(.ar-chips) { max-width: 760px; }
.ar-hero h1 { font-size: clamp(40px, 6.4vw, 68px); font-weight: 900; letter-spacing: -.01em; line-height: 1.08; }
.ar-lead { max-width: 36em; margin-top: 16px; font-size: clamp(16px, 1.6vw, 18.5px); line-height: 1.75; color: var(--ink-soft); text-wrap: pretty; }
.ar-lead a { color: var(--ink); text-decoration-color: var(--honey); text-underline-offset: 3px; }
/* 主題：電腦版用整個內容寬排成一排；手機、平板是一排左右滑（不會折成好幾排、每排數量不一樣） */
.ar-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ar-chips a { flex: none; }
@media (max-width: 899px) {
  .ar-chips { flex-wrap: nowrap; margin-top: 18px; margin-inline: calc(-1 * var(--gl)) calc(-1 * var(--gr)); padding: 4px var(--gr) 4px var(--gl); scroll-padding-inline: var(--gl) var(--gr); overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
  .ar-chips::-webkit-scrollbar { display: none; }
}
.ar-chips a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rule); color: var(--ink-soft); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s, background-color .2s; }
.ar-chips a small { font: 600 12px/1 var(--font-num); color: var(--ink-faint); }
.ar-chips a:hover { border-color: var(--ink-soft); color: var(--ink); }
.ar-chips a[aria-current] { border-color: var(--honey); background: color-mix(in srgb, var(--honey) 22%, transparent); color: var(--ink); }

/* 文章卡片：封面 16:9、主題、標題、摘要、日期和閱讀時間；最新一篇放大（電腦橫的） */
.ar-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.ar-card { min-width: 0; grid-column: span 2; }
.ar-card.is-half { grid-column: span 3; }
.ar-card.is-lead { grid-column: 1 / -1; }
.ar-card-a { display: grid; grid-template-rows: auto 1fr; height: 100%; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--rule); color: inherit; text-decoration: none; overflow: hidden; transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s; }
.ar-card-a:hover { border-color: color-mix(in srgb, var(--honey) 70%, var(--rule)); box-shadow: 0 24px 50px -32px rgba(0, 0, 0, .35); transform: translateY(-3px); }
.ar-card-a:focus-visible { outline: 3px solid var(--honey); outline-offset: 3px; }
.ar-cover { position: relative; display: block; aspect-ratio: 1200 / 630; max-width: 100%; background: var(--wax-2); overflow: hidden; }
.ar-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.ar-card-a:hover .ar-cover img { transform: scale(1.03); }
/* 沒有封面：香檳金的蜂巢紋 */
.ar-cover.is-empty { background: radial-gradient(120% 90% at 85% 15%, color-mix(in srgb, var(--honey) 38%, transparent), transparent 60%), var(--comb); }
.ar-cover.is-empty i { position: absolute; inset: 0; opacity: .55;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v33' fill='none' stroke='%23C9A45F' stroke-width='1.2' stroke-opacity='.55'/%3E%3C/svg%3E");
  background-size: 56px 97px; -webkit-mask-image: linear-gradient(120deg, #000 20%, transparent 85%); mask-image: linear-gradient(120deg, #000 20%, transparent 85%); }
.ar-card-t { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; }
.ar-card-t > .ar-meta { margin-top: auto; }   /* 日期、幾分鐘讀完貼在卡片最下面：同一排的卡片摘要行數不一樣，日期也對齊 */
.ar-tg { display: flex; flex-wrap: wrap; gap: 6px; }
.ar-tg em, .ar-tg a { padding: 2px 9px; border-radius: 999px; background: color-mix(in srgb, var(--honey) 20%, transparent); color: var(--amber); font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.6; text-decoration: none; white-space: nowrap; }
.ar-tg a:hover { background: color-mix(in srgb, var(--honey) 34%, transparent); }
.ar-card-h { font-size: 19px; font-weight: 800; line-height: 1.42; letter-spacing: .005em; text-wrap: pretty; }
.ar-card-d { font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ar-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-size: 13px; color: var(--ink-faint); }
.ar-meta > * + *::before { content: "・"; margin: 0 4px; }
.ar-meta time { font-family: var(--font-num); }
/* 整列寬的那篇：左邊封面（照原本比例，太矮時從右邊裁，標題那一側留著）、右邊文字 */
@media (min-width: 900px) {
  .ar-card.is-lead .ar-card-a { grid-template-rows: none; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
  .ar-card.is-lead .ar-cover { aspect-ratio: auto; min-height: 100%; }
  .ar-card.is-lead .ar-cover img { object-position: left center; }
  .ar-card.is-lead .ar-card-t { align-content: center; gap: 12px; padding: 30px 34px; }
  .ar-card.is-lead .ar-card-h { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.3; }
  .ar-card.is-lead .ar-card-d { -webkit-line-clamp: 4; font-size: 15.5px; }
  .ar-card.is-half .ar-card-t { gap: 10px; padding: 22px 26px 24px; }
  .ar-card.is-half .ar-card-h { font-size: 22px; line-height: 1.38; }
  .ar-card.is-half .ar-card-d { font-size: 15px; }
}
@media (max-width: 899px) { .ar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ar-card, .ar-card.is-half { grid-column: span 1; } .ar-card.is-lead { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ar-grid { grid-template-columns: minmax(0, 1fr); } }

/* 一篇文章 */
.ar-post { max-width: var(--ar-text); margin: 0 auto; }
.ar-head h1 { font-size: clamp(30px, 4.6vw, 46px); font-weight: 900; line-height: 1.22; letter-spacing: -.005em; }
.ar-sum { margin-top: 16px; font-size: clamp(16.5px, 1.7vw, 19px); line-height: 1.75; color: var(--ink-soft); text-wrap: pretty; }
.ar-head .ar-meta { margin-top: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.ar-head .ar-meta .ar-tg { margin-left: 10px; }
.ar-head .ar-meta .ar-tg::before { content: none; }
.ar-hero-img { margin: 28px 0 0; border-radius: var(--r-lg); overflow: hidden; background: var(--wax-2); }
.ar-hero-img img { display: block; width: 100%; height: auto; }
.ar-toc { margin-top: 28px; padding: 18px 22px; border-radius: var(--r-md); background: var(--wax-2); border-left: 3px solid var(--honey); }
.ar-toc b { font-size: 14px; color: var(--ink-soft); }
.ar-toc ol { margin: 8px 0 0; padding-left: 1.3em; display: grid; gap: 4px; }
.ar-toc ol.is-num { padding-left: 0; list-style: none; }
.ar-toc a { color: var(--ink); font-size: 15.5px; text-decoration: none; }
.ar-toc a:hover { text-decoration: underline; text-decoration-color: var(--honey); text-underline-offset: 3px; }
.ar-body { margin-top: 30px; font-size: 17.5px; line-height: 1.95; letter-spacing: .02em; overflow-wrap: anywhere; }
.ar-body > * + * { margin-top: 1.1em; }
.ar-body h2 { margin-top: 2.1em; font-size: clamp(23px, 2.6vw, 28px); font-weight: 800; line-height: 1.35; scroll-margin-top: 84px; }
.ar-body h3 { margin-top: 1.7em; font-size: clamp(19px, 2vw, 21px); font-weight: 800; line-height: 1.45; scroll-margin-top: 84px; }
.ar-body h2 + *, .ar-body h3 + * { margin-top: .6em; }
.ar-body strong { font-weight: 800; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--honey) 42%, transparent) 62%); }
.ar-body a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ar-body a:hover { color: var(--amber); }
.ar-body ul, .ar-body ol { padding-left: 1.4em; }
.ar-body li + li { margin-top: .35em; }
.ar-body li::marker { color: var(--honey-deep); font-weight: 700; }
.ar-body blockquote { margin-inline: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--honey); color: var(--ink-soft); }
.ar-body figure { margin-inline: 0; }
.ar-body figure img { display: block; width: 100%; height: auto; border-radius: var(--r-md); background: var(--wax-2); }
.ar-body figcaption { margin-top: 8px; font-size: 13.5px; color: var(--ink-faint); text-align: center; }
.ar-body hr { height: 1px; margin-block: 2.2em; border: 0; background: var(--rule); }

/* 最下面：黑色舞台，用 LINE 問顧問／算算方案價格 */
.ar-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; max-width: var(--ar-w); margin: clamp(40px, 6vw, 72px) auto 0; padding: clamp(24px, 4vw, 40px); border-radius: var(--r-xl); background: radial-gradient(120% 140% at 100% 0, rgba(231, 201, 135, .22), transparent 55%), var(--band); color: var(--band-fg); }
.ar-post + .ar-cta { max-width: var(--ar-text); }
.ar-cta > div:first-child { flex: 1 1 22em; min-width: 0; }
.ar-cta h2 { font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; }
.ar-cta p { margin-top: 8px; font-size: 15px; line-height: 1.75; color: var(--band-soft); text-wrap: pretty; }
.ar-cta-b { display: flex; flex-wrap: wrap; gap: 10px; }
.ar-cta .btn-ghost { color: var(--band-fg); border-color: rgba(255, 255, 255, .28); }
.ar-cta .btn-ghost:hover { border-color: rgba(255, 255, 255, .7); }
.ar-more { max-width: var(--ar-w); margin: clamp(44px, 6vw, 72px) auto 0; }
.ar-more h2 { margin-bottom: 18px; font-size: clamp(22px, 2.4vw, 26px); font-weight: 800; }

.ar-foot { border-top: 1px solid var(--rule); }
.ar-foot-in { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; max-width: var(--ar-w); margin: 0 auto; padding: 24px var(--gr) calc(28px + env(safe-area-inset-bottom, 0px)) var(--gl); font-size: 13.5px; color: var(--ink-faint); }
.ar-foot nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ar-foot a { color: var(--ink-soft); text-decoration: none; }
.ar-foot a:hover { color: var(--ink); }

@media (prefers-reduced-motion: reduce) { .ar-card-a, .ar-cover img { transition: none; } .ar-card-a:hover { transform: none; } .ar-card-a:hover .ar-cover img { transform: none; } }
