/* 4216 對照版：依 impeccable critique 與 emil-design-eng 審查，在 4215「光之紀錄」上做的減法與修正。
   載入順序最後（在 site-*.css 之後）；整檔移除即回到 4215。
   方向：保留光之紀錄，裝飾減半，墨色與金色加深；動態「進場從容、退場更快」。 */

/* ---------- 0. Token：顏色、緩動、時長、字級 ---------- */
:root{
  --ink:#4a433a;            /* 9.4:1，接近 4214 的墨色 */
  --gold:#86693f;           /* 白字 5.11:1；象牙底 4.98:1 */
  --gold-surface:#86693f;
  --gold-deep:#6f5734;      /* hover 與小字 6.80:1 */
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --dur-press:140ms;
  --dur-exit:180ms;
  --dur-enter:420ms;
  --fs-label:.8125rem;      /* 13 眉標、標籤 */
  --fs-small:.875rem;       /* 14 按鈕、次要文字 */
  --fs-body:1rem;           /* 16 */
  --fs-read:1.0625rem;      /* 17 閱讀正文 */
  --fs-lead:1.25rem;        /* 20 導言 */
  --fs-card:1.5rem;         /* 24 卡片標題 */
  --fs-h3:clamp(1.625rem,1.2rem + 1vw,2rem);
  --fs-h2:clamp(1.875rem,1.35rem + 1.6vw,2.75rem);
  --fs-display:clamp(2.75rem,1.8rem + 3vw,4.125rem);
}

/* ---------- 1. 瀏覽器表面：選取、游標、捲軸、焦點、底線 ---------- */
::selection{background:#eadcc0;color:#3f382f}
html{scrollbar-color:#cdb994 #f7f3ea;accent-color:var(--gold)}
body{caret-color:var(--gold-deep)}
a{text-underline-offset:.3em;text-decoration-thickness:1px}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* ---------- 2. 頁首：羽毛＋明體字標，取代亮面書法圖檔（書法留給頁尾與開場） ---------- */
.site-header .brand-lockup{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink)}
.site-header .brand-lockup .brand-feather{width:34px;height:auto;filter:none;opacity:1;object-fit:contain}
.site-header .brand-lockup .brand-type{display:flex;flex-direction:column;align-items:flex-start}
.site-header .brand-lockup strong{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3;letter-spacing:.16em;color:var(--ink)}
.site-header .brand-lockup small{display:block;font-family:var(--english);font-weight:500;font-size:11px;line-height:1.2;letter-spacing:.32em;margin-top:4px;color:var(--gold)}
.site-header .header-cta{border-color:#a8895a;color:var(--gold-deep)}
@media(max-width:700px){
  .site-header .brand-lockup{gap:10px}
  .site-header .brand-lockup .brand-feather{width:28px;height:auto}
  .site-header .brand-lockup strong{font-size:18px;letter-spacing:.12em}
  .site-header .brand-lockup small{font-size:11px;letter-spacing:.24em}
}

/* ---------- 3. 字體系統：眉標可讀、數字一律 lining、標點與斷行 ---------- */
.eyebrow,.chapter-number,.review-category,.journey-kicker,.invitation-label{font-size:var(--fs-label)!important;letter-spacing:.1em!important;font-variant-numeric:lining-nums tabular-nums}
.eyebrow,.journey-kicker,.invitation-label{color:var(--gold)}
.content-page .chapter-number,.chapter-number{color:var(--gold-deep)!important}
/* 中文標籤字距收窄；英文大寫眉標維持 .12em */
.review-category,.journey-kicker,.invitation-label,.proof-step{letter-spacing:.06em!important}
/* 舊層寫死的淺色（#8c6d34、#7c6849、#81745f、#867c6b、#716b61）在米色底上不到 4.5:1，統一拉深 */
.content-page .eyebrow,.content-page .chapter .eyebrow,.content-page .chapter-sidebar>p,.content-page .principles article>span,
.content-page .faq-list summary span{color:var(--gold-deep)}
.experience{--gold:#6f5734}
.content-page .chapter-sidebar nav a,.content-page .chapter-sidebar nav a>span,.content-page .comparison-table td{color:#625b52}
.journey-scroll-hint,#entry-intro .entry-skip,#entry-intro .entry-invitation{color:#6f665a}
#entry-intro .entry-english{color:var(--gold)}
.site-directory .directory-copy .eyebrow,.content-page .chapter .text-link{color:var(--gold-deep)}
.hero-orbit .orbit-caption{color:var(--gold)}
.hero-orbit .orbit-caption{letter-spacing:.2em}
.next-pages .eyebrow,.story-related .eyebrow,.home-page .experience .eyebrow{color:var(--gold-deep)}
.hero-bottom a{font-size:12px;letter-spacing:.16em}
.journey-steps button{color:#6f665a}

/* 裝飾減半：眉標前的星號只留首屏一處 */
.concerns-heading .eyebrow::before,.directory-heading .eyebrow::before,.home-reviews-intro .eyebrow::before,.journey-top .eyebrow::before,
.page-intro .eyebrow::before,.invitation-label::before,.oracle-reading .eyebrow::before{content:none}

/* Cormorant 預設是舊式數字，「01」會讀成「OI」；`font` 簡寫又把設定洗掉，這裡補回 */
.process-list li::before,.content-page .process-list li::before,.path-index,.content-page .path-index,.site-header .nav-index,
#selected-count,.chapter-sidebar nav a span,.reading-options .reading-price,.invitation-plans strong,.comparison-wrap td,
.page-academy .course-price strong,.service-catalog .catalog-prices dd,.service-catalog .catalog-single-price{font-variant-numeric:lining-nums tabular-nums}

/* 價格只有一種角色：Cormorant 500、古金、等寬數字 */
.content-page .reading-options .reading-price{color:var(--gold-deep)}
.page-academy .course-price strong,.service-catalog .catalog-single-price{font-family:var(--english);font-weight:500;font-size:26px;letter-spacing:.02em;color:var(--gold-deep)}
.service-catalog .catalog-prices dd{font-family:var(--english);font-weight:500;font-size:20px;letter-spacing:.02em;color:var(--gold-deep)}
.service-catalog .catalog-group-title{color:var(--gold-deep)}

.hero .hero-heading-lead{color:#5b5247}

/* 斷行：段落避免孤字，標題與導言平衡 */
.content-page .chapter p,.reading-page .reading-body p,.reading-body>p,.concern-item p,.directory-copy>p,.directory-heading>p,
.experience-note,.oracle-reading p,.page-description,.reading-description,.journey-chapter p,.invitation-description,
.home-reviews-intro p,.proof-arc p,.faq-list p,.chapter-portrait blockquote,.content-note{text-wrap:pretty}
h1,h2,h3,.chapter-lead,.hero-description,.concern-item p,.directory-copy>p,.directory-heading>p,.page-description,.reading-description,
.journey-chapter p,.invitation-description span,.experience-note,.records-note,.related-action,.story-related strong,.concerns-heading>p{text-wrap:balance}
.article-pair p,.next-pages small,.resource-grid p,.podcast-panel p,.reading-feature p,
.course-card p,.reading-options p,.catalog-card p,.process-list p,.page-invitation>p,td,th{text-wrap:pretty}
/* 中文斷行一律守禁則：句讀與閉合標點不放行首。不用 keep-all，它放不下時會被迫逐字硬斷，反而把「。」「，」推到行首、把價格切開 */
h1,h2,h3,p,li,dd,dt,td,th,blockquote,figcaption,small,strong{word-break:normal;line-break:strict;overflow-wrap:break-word}
.concern-item p br,.directory-heading>p br{display:inline}
/* 價格與數字不斷開 */
.reading-options .reading-price,.service-catalog .catalog-prices dd,.service-catalog .catalog-single-price,.page-academy .course-price strong,
.invitation-plans strong,.booking-bar p span{white-space:nowrap}

/* 閱讀行長：中文每行約 38 字以內 */
.content-page .chapter>p,.content-page .chapter>ul,.content-page .chapter>ol,.content-page .chapter>blockquote,
.content-page .faq-list details>p,.content-page .chapter .course-fit{max-width:38em}
.content-page .chapter .chapter-lead{max-width:30em}
.content-page .content-note{max-width:44em;color:var(--muted)}
.story-browser-heading h2,.content-page .story-browser-heading h2{font-family:var(--serif);font-weight:400;letter-spacing:.06em}

/* ---------- 4. 裝飾減半：首屏圓環靜止、星點減少、移除被白霧蓋掉的雲圖與浮水印 ---------- */
.hero-orbit::before{animation:none}
.hero-shade::after{background:
  var(--star) 58% 22%/12px 12px no-repeat,var(--star) 86% 66%/8px 8px no-repeat,
  radial-gradient(circle,#c8ab74 0 1px,transparent 1.8px) 70% 44%/5px 5px no-repeat,
  radial-gradient(circle,#c8ab74 0 1px,transparent 1.8px) 93% 30%/4px 4px no-repeat}
.experience:before{background:radial-gradient(ellipse at 50% 42%,#fffcf3d9,transparent 62%),
  var(--star) 16% 20%/10px 10px no-repeat,var(--star) 86% 74%/7px 7px no-repeat}
.contact:before{background:linear-gradient(180deg,#fdfcf9,#f8f4ec 45%,#f5efe3);filter:none}
.contact-invitation .invitation-inner::before{content:none}
.student-review-card{background:linear-gradient(140deg,#ffffffe8,#fffdf894)}
@media(max-width:700px){
  .hero-shade::after{background:var(--star) 84% 26%/10px 10px no-repeat,radial-gradient(circle,#c8ab74 0 1px,transparent 1.8px) 72% 58%/4px 4px no-repeat}
}

/* 首屏雲景：調色已烘進 clouds-ivory.mp4 與海報圖，不再逐格套 CSS filter */
.hero-media video{filter:none}
@media(prefers-reduced-motion:reduce){.hero-media{background-image:url("assets/clouds-ivory-poster.jpg")}}

/* ---------- 5. 首頁：共感區改為純文字的四欄，手機為單欄清單 ---------- */
.home-page .concerns-grid{margin-top:52px}
.home-page .concern-item{transform:none;background:none;padding-top:6px}
.home-page .concern-item h3{font-size:var(--fs-card);color:var(--ink);margin:0 0 12px}
.home-page .concern-item+.concern-item::before{top:8px;background:linear-gradient(transparent,#d8c5a0 18%,#d8c5a0 82%,transparent)}
@media(max-width:700px){
  .home-page .concerns-grid{grid-template-columns:1fr;gap:0;margin-top:34px;border-top:1px solid var(--gold-soft);text-align:left}
  .home-page .concern-item{padding:20px 2px 22px;border-bottom:1px solid var(--gold-soft);border-radius:0}
  .home-page .concern-item h3{font-size:21px;margin-bottom:6px}
  .home-page .concern-item p{font-size:1rem;line-height:1.85}
  .home-page .concern-item p br{display:none}
  .home-page .concerns-invitation{margin-top:30px}
}

/* 入口區：拿掉圖示後，文字直接成為入口；與下一段之間不再疊兩層留白 */
.home-page .site-directory{padding-bottom:clamp(48px,5vw,80px)}

/* 手機首屏：內容往上收，靜止的羽毛圓環補足右上角 */
@media(max-width:700px){
  .home-page .hero{min-height:0;justify-content:flex-start}
  .home-page .hero-content{padding-top:52px;padding-bottom:124px}
  .home-page .hero-orbit{display:flex;width:230px;right:-64px;top:96px;transform:none;opacity:.7}
  .home-page .hero-orbit .orbit-caption{display:none}
}

/* ---------- 6. 學員回饋與陪伴紀錄（取代 4 張 AI 示意卡） ---------- */
.home-page .home-proof{background:linear-gradient(180deg,#fdfcf9,#f8f4ec 40%,#f8f4ec 70%,#fdfcf9);padding-top:clamp(64px,7vw,96px)}
.home-page .home-proof::before,.home-page .home-proof::after{content:none}
.proof-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5.5vw,88px);align-items:start;max-width:1160px;margin:52px auto 0;text-align:left}
.proof-story{padding:42px clamp(26px,3.6vw,52px) 34px;background:#fffefb;border:1px solid var(--gold-soft);border-radius:6px}
.proof-story .review-category{color:var(--gold);margin:0}
.proof-story h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2vw,30px);line-height:1.5;letter-spacing:.05em;color:var(--ink);margin:12px 0 30px}
.proof-arc{list-style:none;margin:0;padding:0 0 0 26px;display:grid;gap:22px;border-left:1px solid var(--gold-line)}
.proof-arc li{position:relative}
.proof-arc li::before{content:"";position:absolute;left:-30.5px;top:.42em;width:8px;height:8px;border-radius:50%;background:#fffefb;border:1px solid var(--gold)}
.proof-arc .proof-arc-peak::before{background:var(--gold)}
.proof-step{display:block;font-size:var(--fs-label);letter-spacing:.1em;color:var(--gold-deep);margin-bottom:4px}
.proof-arc p{margin:0;font-size:var(--fs-body);line-height:1.9;color:var(--muted)}
.proof-arc blockquote{margin:2px 0 0;font-family:var(--serif);font-size:clamp(19px,1.5vw,22px);line-height:1.8;letter-spacing:.03em;color:var(--ink)}
.proof-identity{display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:22px;border-top:1px solid var(--gold-soft)}
.proof-identity .review-initial{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold-line);font-family:var(--english);font-size:22px;color:var(--gold-deep);background:#fdfcf9}
.proof-identity p{margin:0;display:flex;flex-direction:column;line-height:1.5}
.proof-identity strong{font-family:var(--english);font-weight:500;font-size:19px;color:var(--ink)}
.proof-identity p span{font-size:var(--fs-label);color:var(--muted)}
.proof-identity .review-readmore{margin-left:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-small);color:var(--gold-deep);border-bottom:1px solid var(--gold-line)}
.proof-records{padding-top:6px}
.proof-records h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-card);letter-spacing:.06em;color:var(--ink);margin:0 0 20px}
.records-list{margin:0;border-top:1px solid var(--gold-line)}
.records-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:15px 0 14px;border-bottom:1px solid var(--gold-soft)}
.records-list dt{font-size:15px;letter-spacing:.04em;color:var(--muted)}
.records-list dd{margin:0;display:flex;align-items:baseline;gap:6px;text-align:right}
.record-num{font-family:var(--english);font-weight:500;font-size:28px;line-height:1;letter-spacing:.02em;color:var(--gold-deep);font-variant-numeric:lining-nums tabular-nums}
.record-unit{font-size:14px;color:var(--muted)}
.record-text{font-family:var(--serif);font-size:16px;letter-spacing:.06em;color:var(--ink)}
.records-note{margin:18px 0 6px;font-size:var(--fs-label);color:var(--muted)}
.proof-records .text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}
@media(max-width:900px){
  .proof-layout{grid-template-columns:1fr;gap:40px;margin-top:36px}
}
@media(max-width:600px){
  .proof-story{padding:30px 22px 24px}
  .proof-arc{padding-left:22px}
  .proof-arc li::before{left:-26.5px}
  .proof-identity{flex-wrap:wrap}
  .proof-identity .review-readmore{margin-left:60px}
  .record-num{font-size:25px}
}

/* ---------- 7. 三幕旅程：捲動距離再縮短；章節進場從容、退場更快，以模糊銜接 ---------- */
.soul-journey.is-enhanced{height:150svh;min-height:1000px}
.is-enhanced .journey-chapter{opacity:0;transform:translateY(10px);filter:blur(4px);visibility:hidden;
  transition:opacity var(--dur-exit) var(--ease-out),transform var(--dur-exit) var(--ease-out),filter var(--dur-exit) var(--ease-out),visibility 0s linear var(--dur-exit)}
.is-enhanced .journey-chapter.is-current{opacity:1;transform:none;filter:none;visibility:visible;
  transition:opacity var(--dur-enter) var(--ease-out) 60ms,transform var(--dur-enter) var(--ease-out) 60ms,filter var(--dur-enter) var(--ease-out) 60ms,visibility 0s}
@media(max-width:700px){.soul-journey.is-enhanced{height:140svh;min-height:950px}}

/* ---------- 8. 互動回饋（Emil）：按壓縮放、hover 只給滑鼠、圖片放大縮短、選單切換即時 ---------- */
.button,.header-cta,.shuffle-button,.motion-toggle,.journey-steps button,.reviews-arrows button,.booking-bar .button{
  transition:transform var(--dur-press) var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.directory-entry{transition:transform var(--dur-press) var(--ease-out)}
.service-image img,.journal-art img{transition:transform 450ms var(--ease-out)}
.site-header nav a:after{transition:transform .2s var(--ease-out)}
.site-header .nav-submenu{animation-duration:.18s;animation-timing-function:var(--ease-out)}
.site-header[data-switching] .nav-submenu,.site-header[data-switching] .nav-backdrop{animation:none}
@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-1px)}
  .course-card:hover{transform:translateY(-2px)}
}
@media(hover:none),(pointer:coarse){
  .button:hover,.course-card:hover,.concerns>a:hover,.service-card:hover .service-image img,.journal-card:hover .journal-art img,
  .directory-entry:hover .directory-link>span,.student-review-card:hover{transform:none}
  .course-card:hover{background:inherit}
}
.button:active,.button:hover:active,.header-cta:active,.shuffle-button:active,.motion-toggle:active,.journey-steps button:active,
.reviews-arrows button:active,.booking-bar .button:active{transform:scale(.97)}
.directory-entry:active{transform:scale(.99)}

/* 暫停背景動態時，CSS 裝飾動畫一起停下 */
.motion-paused .hero-orbit::before,.motion-paused .oracle-ring,.motion-paused .card-back-light{animation-play-state:paused!important}

/* 首屏暫停鈕（4214 有、4213/4215 遺失） */
.hero-bottom p{margin-left:auto}
.motion-toggle{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;margin-left:22px;padding:0;border:1px solid var(--gold-line);border-radius:50%;background:#fdfcf9cc;color:var(--gold-deep);cursor:pointer}
.motion-toggle:hover{border-color:var(--gold);background:#fffefb}
.motion-toggle svg{width:16px;height:16px;display:block}
.motion-icon{display:grid;place-items:center}
.motion-icon-play,.motion-toggle[aria-pressed="true"] .motion-icon-pause{display:none}
.motion-toggle[aria-pressed="true"] .motion-icon-play{display:grid}

/* 頁首選單的焦點框：只框住文字，不再撐滿 88px 高的整個連結 */
@media(min-width:1101px){
  .site-header .nav-home:focus-visible,.site-header .nav-trigger:focus-visible{outline:none}
  .site-header .nav-home:focus-visible::before,.site-header .nav-trigger:focus-visible::before{content:"";position:absolute;top:calc(50% - 19px);bottom:calc(50% - 19px);left:-10px;right:-10px;border:2px solid var(--gold);border-radius:3px;pointer-events:none}
}

/* ---------- 9. 開場：更短（1.7 秒）、退場更快（0.38 秒），30 天內不重播 ---------- */
#entry-intro{transition:opacity .38s var(--ease-out)}
#entry-intro .entry-feather{animation:entry-feather 1s cubic-bezier(.2,.65,.3,1) .08s both}
#entry-intro .entry-name{animation:entry-words .7s var(--ease-out) .32s both}
#entry-intro .entry-english{animation:entry-words .7s var(--ease-out) .42s both}
#entry-intro .entry-rule{animation:entry-words .7s var(--ease-out) .52s both}
#entry-intro .entry-invitation{animation:entry-words .7s var(--ease-out) .62s both}
#entry-intro .entry-progress:after{animation:entry-progress 1.7s linear both}
#entry-intro.is-leaving .entry-brand{transition:opacity .26s var(--ease-out),transform .38s var(--ease-out)}

/* ---------- 10. 分頁：拿掉頁首徽章後的版面、About 肖像、收尾邀請 ---------- */
.page-intro>h1,.page-intro>.page-description{padding-right:0}
.chapter-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:700px){.chapter-portrait figure{max-width:280px;width:78%;margin-inline:auto}}

.page-invitation{margin:72px 0 8px;padding:52px clamp(24px,4vw,56px) 48px;text-align:center;background:linear-gradient(180deg,#fbf8f1,#f6f0e4);border:1px solid var(--gold-soft);border-radius:6px}
.page-invitation h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);letter-spacing:.06em;color:var(--ink);margin:0}
.page-invitation>p{margin:14px auto 0;max-width:30em;color:var(--muted);line-height:1.9}
.page-invitation .invitation-plans{margin-top:28px}
.page-invitation .invitation-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:28px}
.page-invitation .invitation-direct{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--gold-deep);border-bottom:1px solid var(--gold-line);font-size:var(--fs-small)}

/* 學員故事：精選卡改為象牙底，不再露出橘藍雲景原圖 */
/* 學員故事：外層不再是一張卡，只留故事卡本身（避免卡中卡、兩種圓角） */
.page-stories #rational{background:none;border:0;border-radius:0;box-shadow:none;padding-inline:0}

/* Jason：三段回饋依序展開，不再藏在分頁裡 */
.story-timeline-wrap h2{margin-bottom:22px}
.story-timeline{list-style:none;margin:0;padding:0 0 0 28px;display:grid;gap:26px;border-left:1px solid var(--gold-line)}
.story-timeline li{position:relative}
.story-timeline li::before{content:"";position:absolute;left:-32.5px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--paper-light);border:1px solid var(--gold)}
.story-timeline li:last-child::before{background:var(--gold)}
.reading-page .story-timeline h3,.story-timeline h3{font-family:var(--sans);font-size:var(--fs-label);font-weight:400;letter-spacing:.1em;color:var(--gold-deep);margin:0 0 6px}
.story-timeline blockquote{margin:0;font-family:var(--serif);font-size:clamp(19px,1.6vw,22px);line-height:1.85;letter-spacing:.03em;color:var(--ink)}

/* 線條圖示（Phosphor Thin）：只留在文章卡、資源與 Podcast */
.line-icon{color:var(--gold);background:none}
.line-icon>svg{display:block;width:100%;height:100%}
.brand-icon.line-icon{border:0}
.article-icon.line-icon{width:34px;height:34px}
.journal-art .line-icon,.brand-art .line-icon{width:min(96px,30%);height:auto;aspect-ratio:1;color:#a88a5c}
.podcast-illustration .line-icon{width:72px;height:72px}
.resource-grid .line-icon{width:40px;height:40px}

/* 觸控目標：小連結至少 44px 高 */
@media(max-width:700px){
  .breadcrumb a,.content-page .text-link,.reading-return,.chapter-sidebar nav a{min-height:44px;display:inline-flex;align-items:center}
}

/* 手機頁尾：只留五個主分類，細項交給選單 */
@media(max-width:700px){.footer-group>a{display:none}.footer-group h3{margin-bottom:0}}

/* ---------- 11. 手機預約列：離開首屏才出現，遇到結尾邀請與頁尾讓位 ---------- */
.booking-bar{display:none}
@media(max-width:700px){
  .booking-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;z-index:25;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));
    padding:10px 10px 10px 18px;background:#fdfcf9f5;border-radius:14px;box-shadow:0 14px 34px -12px #4a3c2859,0 2px 6px #4a3c281a;
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translateY(calc(100% + 28px));opacity:0;
    transition:transform var(--dur-exit) var(--ease-out),opacity var(--dur-exit) var(--ease-out)}
  .booking-bar[data-visible]{transform:none;opacity:1;transition:transform 340ms var(--ease-drawer),opacity 240ms var(--ease-out)}
  .booking-bar p{margin:0;display:flex;flex-direction:column;line-height:1.45;min-width:0}
  .booking-bar strong{font-weight:400;font-size:14px;color:var(--ink);letter-spacing:.03em}
  .booking-bar span{font-size:12px;color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
  .booking-bar .button{min-height:44px;padding:10px 16px;gap:10px;font-size:14px;white-space:nowrap}
  .booking-bar .button span{color:inherit;opacity:1}
  body.menu-open .booking-bar,body.intro-active .booking-bar{display:none}
}

/* ---------- 12. 減少動態：保留淡入淡出與顏色，只拿掉位移 ---------- */
@media(prefers-reduced-motion:reduce){
  .button,.header-cta,.text-link,.directory-entry,.motion-toggle,.booking-bar,.booking-bar[data-visible]{transition:opacity .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease!important}
  .booking-bar,.booking-bar[data-visible]{transform:none}
  .button:active,.button:hover,.header-cta:active,.directory-entry:active{transform:none}
}

/* ---------- 13. 第二輪評審修正：揭曉層級、平板目錄、文章小標 ---------- */
/* 抽卡揭曉照分享圖卡的層級：訊息本身是主角；編號與樂章是眉標，樂章主題是小標 */
.ritual-dialog .oracle-reading .eyebrow{font-family:var(--serif);font-size:13px;letter-spacing:.12em;color:var(--gold-deep);font-variant-numeric:lining-nums tabular-nums;text-transform:none}
.ritual-dialog .oracle-reading h3{font-family:var(--sans);font-size:15px;line-height:1.8;letter-spacing:.12em;color:var(--gold-deep);margin:6px 0 14px}
.ritual-dialog #oracle-message{font-family:var(--serif);font-size:clamp(20px,1.05rem + .5vw,23px);line-height:1.9;letter-spacing:.04em;color:var(--ink);text-wrap:pretty}
.ritual-dialog .save-status{font-size:13px!important;color:var(--gold-deep)}

/* 平板 701–1024px：側欄目錄改成內容上方的橫向目錄（與手機同一套），內容欄拿回整個寬度 */
@media(min-width:701px) and (max-width:1024px){
  .page-layout{display:block}
  .chapter-sidebar{display:block;position:static;padding:24px 0 20px;border-bottom:1px solid #c7bcaa80}
  .chapter-sidebar>p{margin-bottom:8px;letter-spacing:.08em}
  .chapter-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:2px 22px}
  .chapter-sidebar nav a{min-height:44px;align-items:center;gap:0;padding:8px 0;border-bottom:1px solid transparent}
  .chapter-sidebar nav a>span{display:none}
  .chapter-sidebar nav a[aria-current]{border-left:0;border-bottom-color:#9b8056;padding-left:0;margin-left:0}
  .chapter-sidebar .sidebar-contact{display:none}
}

/* 文章小標與內容頁一致用明體；手機不再比 h1 還重 */
.reading-page .reading-body h2{font-family:var(--serif);font-weight:400}
@media(max-width:700px){.reading-page .reading-body h2{font-size:21px;line-height:1.7}}

/* ---------- 15. 樂章章節系統：眉標改中文明體；章節不再編號（流程與課程階段的順序號保留） ---------- */
.eyebrow,.chapter-number,.journey-kicker,.hero-orbit .orbit-caption{font-family:var(--serif);font-weight:400;text-transform:none}
.nav-index,.chapter-sidebar nav a>span{display:none}

/* ---------- 16. 第三輪評審修正 ---------- */
/* 中文詞組斷行：phrases.mjs 在短句裡插入 <wbr> 並標上 data-bx，只在詞組之間換行；抽卡訊息用 U+200B 標詞組 */
[data-bx],#oracle-message,#ritual-title,#ritual-hint{word-break:keep-all;overflow-wrap:anywhere}
/* 程式把焦點移到對話框標題，是給螢幕閱讀器的定位，不需要焦點框 */
#detail-title:focus{outline:none}
.nobr{white-space:nowrap}

/* 入口區與評論分類的小標也是明體（舊規則指定 Cormorant 500，中文會退回黑體粗字） */
.site-directory .directory-copy .eyebrow,.proof-story .review-category,.review-card-intro .review-category{font-family:var(--serif);font-weight:400}

/* 首頁區塊標題同一個字級；旅程標題升一級，不再像標籤 */
#concerns-heading,#experience-heading,#explore-heading,#reviews-heading,#contact.contact-invitation #contact-heading{font-size:var(--fs-h2)}
#journey-heading{font-size:var(--fs-h3);line-height:1.5}

/* 字型角色：卡片式連結標題用明體；比較表價格與其他價格同一個字面 */
.next-pages strong,.content-page .next-pages strong{font-family:var(--serif);font-weight:400;letter-spacing:.04em}
.table-price{font-family:var(--english);font-weight:500;font-size:18px;letter-spacing:.02em;color:var(--gold-deep);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.table-hint{display:none}

/* 抽卡：「抽出這張牌」是儀式裡唯一的決定，做成主按鈕，緊貼在計數器下方 */
.experience .draw-selected{order:-1;background:var(--gold);color:#fff;border:1px solid var(--gold);border-radius:2px;min-height:48px;min-width:200px;padding:0 28px;font-size:var(--fs-small);letter-spacing:.06em}
@media(hover:hover) and (pointer:fine){.experience .draw-selected:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}}
.home-page .experience .experience-note{font-size:var(--fs-small)}

/* 抽卡對話框裡的兩行小字（4.3 → 約 6:1） */
.ritual-dialog .ritual-touch-hint{color:var(--gold-deep)!important}
.ritual-dialog #oracle-service{color:var(--gold-deep)}

/* FAQ 後面直接是預約邀請，不再多一條章節分隔線 */
.content-page .chapter:has(+ .page-invitation){border-bottom:0}

/* 手機：有資訊的中文至少 14px，單一詞的標籤 13px */
@media(max-width:700px){
  :root{--fs-label:.875rem}
  .booking-bar p span,.site-header .menu-toggle .menu-label,.journey-scroll-hint,.journey-tools a,
  body.page-stories .story-results .content-note,.invitation-meta a,.invitation-meta p,.records-note,.proof-records .text-link,
  .story-count,.story-filters a,figcaption{font-size:14px}
  .footer-bottom button,.footer-bottom span,.home-page .hero-bottom a,.journey-steps button,.chapter-sidebar>p,.review-excerpt-label,
  .content-page .story-related a>span:first-child,.reading-related span{font-size:13px}
  .home-page .hero-orbit{opacity:.4}
  .table-hint{display:block;margin:0 0 8px;font-size:13px;color:var(--muted);letter-spacing:.04em}
}

/* ---------- 17. 抽卡：一抹扇形、牌面即插畫、抽出後放大翻面就是訊息 ---------- */
/* 操作說明收起來：牌組旁的說明與計數只留給螢幕閱讀器；左右箭頭鈕拿掉（方向鍵與滑動照樣能挑牌） */
.experience #card-instructions{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.experience .deck-selection{display:none!important}
.experience .deck-controls{min-height:0}
/* 牌面：阿卡西閱讀者插畫 */
.experience .oracle-card{background:#fbf8f1 url("assets/oracle-front-reader-240.webp") center/cover no-repeat;border:1px solid #d6c39c;border-radius:6px}
.experience .oracle-card:not(.is-active){filter:none}
@media(max-width:600px){.experience .oracle-card{width:96px;left:calc(50% - 48px)}}
/* 沒有按鈕：牌堆本身邀請觸碰，滑鼠移上去時最上面那張輕輕浮起 */
.experience .deck.is-stacked .oracle-card:last-child{transition:translate .25s var(--ease-out),box-shadow .25s var(--ease-out)}
@media(hover:hover) and (pointer:fine){
  .oracle-stage:has(.deck-start:hover:not(:disabled)) .deck.is-stacked .oracle-card:last-child{translate:0 -8px;box-shadow:0 14px 26px #4a3c2826}
}
.experience .deck-start{cursor:pointer}
/* 牌面訊息置中排，與分享圖卡一致 */
.ritual-dialog.oracle-flip #oracle-message{text-wrap:balance}

/* 翻牌對話框：一張大牌置中，正面插畫，翻過來就是訊息；按鈕在牌的下方 */
.ritual-dialog.oracle-flip[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3svh,26px)}
@media(min-width:701px){.ritual-dialog.oracle-flip{width:min(620px,calc(100% - 44px));padding:52px 40px 34px}}
.ritual-dialog.oracle-flip .ritual-stage,.ritual-dialog.oracle-flip[data-phase] .ritual-stage{position:relative;display:grid;place-items:center;min-height:0;margin:0;perspective:1800px}
.ritual-dialog.oracle-flip .ritual-card-shell,.ritual-dialog.oracle-flip[data-phase] .ritual-card-shell{width:min(340px,74vw,calc((100svh - 250px) * .6667));aspect-ratio:2/3;height:auto;perspective:none;flex-shrink:0}
.ritual-dialog.oracle-flip .ritual-card-turner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(0);transition:transform 900ms cubic-bezier(.2,.7,.15,1)}
.ritual-dialog.oracle-flip[data-phase=revealed] .ritual-card-turner{transform:rotateY(180deg)}
.ritual-dialog.oracle-flip .ritual-face{position:absolute;inset:0;margin:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;overflow:hidden;box-shadow:0 2px 6px #4a3c2814,0 26px 60px #4a3c2826}
.ritual-dialog.oracle-flip .ritual-face-art{background:#fbf8f1;border:1px solid #d6c39c}
.ritual-dialog.oracle-flip .ritual-face-art img{display:block;width:100%;height:100%;object-fit:cover}
.ritual-dialog.oracle-flip .oracle-reading{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:none;text-align:center;border:1px solid #dccaa6;
  background:linear-gradient(180deg,#fefcf8,#f6efe2);padding:clamp(28px,10%,48px) clamp(22px,9%,40px) clamp(52px,16%,72px)}
.ritual-dialog.oracle-flip .oracle-reading[hidden]{display:none}
.ritual-dialog.oracle-flip .oracle-reading::before{content:"";position:absolute;inset:10px;border:1px solid #e8dcc2;border-radius:8px;pointer-events:none}
.ritual-dialog.oracle-flip .oracle-reading .eyebrow{margin:0 0 4px;font-family:var(--serif);font-size:13px;letter-spacing:.14em;color:var(--gold-deep);text-transform:none}
.ritual-dialog.oracle-flip .oracle-reading h3{margin:0;font-family:var(--sans);font-size:14px;line-height:1.8;letter-spacing:.14em;color:var(--gold-deep)}
.ritual-dialog.oracle-flip .reading-rule{display:block;width:110px;height:1px;margin:clamp(14px,4%,22px) auto;background:linear-gradient(90deg,transparent,#cfb683,transparent)}
.ritual-dialog.oracle-flip #oracle-message{margin:0;font-family:var(--serif);font-size:clamp(18px,1.05rem + .4vw,22px);line-height:1.9;letter-spacing:.04em;color:var(--ink);text-wrap:pretty}
.ritual-dialog.oracle-flip .reflection-prompt{margin:16px 0 0;padding:12px 0 0;border-top:1px solid #e3d5b9;border-bottom:0}
.ritual-dialog.oracle-flip .reading-brand{position:absolute;left:0;right:0;bottom:clamp(22px,7%,32px);margin:0;font-family:var(--serif);font-size:12px;letter-spacing:.24em;color:var(--gold)}
.ritual-dialog.oracle-flip .ritual-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(460px,100%)}
.ritual-dialog.oracle-flip .ritual-actions[hidden]{display:none}
.ritual-dialog.oracle-flip .result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0}
.ritual-dialog.oracle-flip .save-status{min-height:0;margin:0;text-align:center}
.ritual-dialog.oracle-flip .save-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.ritual-dialog.oracle-flip .ritual-card-turner{transition:none}}

/* 頁首下拉面板：寬度維持全寬，高度收成原本的 2/3（列高 66 → 44px，內距與左欄間距收緊） */
@media(min-width:1101px){
  .site-header .nav-panel{padding-top:17px;padding-bottom:19px;align-items:center}
  .site-header .nav-feature .eyebrow{margin:0;line-height:1.6}
  .site-header .nav-feature h2{font-size:22px;line-height:1.4;margin:2px 0 4px}
  .site-header .nav-description{margin:0;font-size:13px;line-height:1.7}
  .site-header .nav-feature .submenu-overview{margin-top:6px;min-height:36px;padding:6px 0 4px}
  .site-header .nav-children>a{min-height:44px;padding:10px 0}
}

/* ---------- 18. 抽卡區：業主選定的 4214 深綠金（深橄欖底、暖金光暈、金色細環與流光；翻牌對話框同一套） ---------- */
.home-page .experience{background:#383b34;color:#e8e1d4}
.home-page .experience::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 70%,#ab906022,transparent 60%);pointer-events:none}
/* 光之紀錄主題在標題上用了 multiply（為米白底設計），深綠底上會把淺色字壓暗，改回一般混合 */
.home-page .experience .experience-header,.home-page .experience .experience-kicker,.home-page .experience .brand-icon{mix-blend-mode:normal}
/* 標題要在流光與光暈之上（4214 同樣把標題拉到 z-index 1） */
.home-page .experience .experience-header,.home-page .experience .oracle-stage,.home-page .experience .deck-controls{position:relative;z-index:1}
.home-page .experience .flow-layer{opacity:.35}
.home-page .experience .eyebrow,.home-page .experience-kicker .line-icon,.home-page .experience-kicker .eyebrow>span{color:#bcaa87}
.home-page .experience h2,.home-page .experience h2 span{color:#f0e5ce}
.home-page .experience .experience-header>p{color:#b9b8aa}
.home-page .experience #card-instructions,.home-page .experience #card-instructions span{color:#d9d0bf}
.home-page .experience .oracle-ring{border-color:#b8a57f25}
.home-page .experience .oracle-ring::after{border-color:#b8a57f16}
.home-page .experience .oracle-card{box-shadow:-3px 5px 12px #0e130d59}
.home-page .experience .oracle-card.is-active,.home-page .experience .oracle-card:focus-visible{box-shadow:0 -9px 32px #e9d2a21c,0 18px 35px #0d150ba1;border-color:#eddaad}
.home-page .experience .oracle-card:focus-visible,.home-page .experience .deck-start:focus-visible{outline-color:#e7d4ac}
@media(hover:hover) and (pointer:fine){
  .oracle-stage:has(.deck-start:hover:not(:disabled)) .deck.is-stacked .oracle-card:last-child{box-shadow:0 16px 30px #0d150ba1}
}

.ritual-dialog.oracle-flip{background:radial-gradient(ellipse at 50% 40%,#555643 0%,#30382d 56%,#252f28 100%);color:#f0e5ce;border:1px solid #b49b675c;box-shadow:0 24px 120px #080d09b0}
.ritual-dialog.oracle-flip::backdrop{background:#151d16c9;backdrop-filter:blur(13px)}
.ritual-dialog.oracle-flip .dialog-close{color:#d3c8b2;background:transparent}
.ritual-dialog.oracle-flip .ritual-halo,.ritual-dialog.oracle-flip[data-phase] .ritual-halo{position:absolute;left:50%;top:50%;z-index:0;width:calc(min(340px,74vw,calc((100svh - 250px) * .6667)) * 1.62);height:auto;aspect-ratio:1;
  transform:translate(-50%,-50%);border:1px solid #d6bd8242;border-radius:50%;background:radial-gradient(circle,#e5c4841f 5%,#d6b4770d 40%,transparent 68%);box-shadow:0 0 65px #e4c58708;opacity:1;animation:none;pointer-events:none}
.ritual-dialog.oracle-flip .ritual-halo::before,.ritual-dialog.oracle-flip .ritual-halo::after{content:"";position:absolute;inset:6%;border:1px solid #d6bd821c;border-radius:50%}
.ritual-dialog.oracle-flip .ritual-halo::after{inset:-6%;border-color:#d6bd8212}
.ritual-dialog.oracle-flip .ritual-card-shell{position:relative;z-index:1}
.ritual-dialog.oracle-flip .ritual-face{box-shadow:0 22px 50px #0b130ba3}
.ritual-dialog.oracle-flip .ritual-face-art{border-color:#d3bc8c}
.ritual-dialog.oracle-flip .result-actions .primary{background:#c6b18a;color:#30372b;border-color:#c6b18a}
@media(hover:hover) and (pointer:fine){.ritual-dialog.oracle-flip .result-actions .primary:hover{background:#d6c39c;border-color:#d6c39c;color:#30372b}}
.ritual-dialog.oracle-flip .result-actions .outline{background:transparent;border-color:#b39a6e8f;color:#ddd1b4}
.ritual-dialog.oracle-flip .text-link,.ritual-dialog.oracle-flip #oracle-service{color:#d7c7a4;border-color:#b8a16d6b}
.ritual-dialog.oracle-flip .save-status{color:#bdb99f}

/* ---------- 19. 首屏只留承諾：英文眉標、標題、一句說明；暫停背景動態移到頁尾的文字按鈕 ---------- */
.home-page .hero .eyebrow{font-family:var(--english);font-weight:500;text-transform:uppercase;letter-spacing:.28em}
.home-page .hero .eyebrow::before,.home-page .hero-shade::after{content:none}
.home-page .hero .flow-layer{display:none}   /* 首屏靜止：不再有流動線條 */
.footer-bottom .motion-toggle{position:static;width:auto;height:auto;min-width:0;min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit;display:inline-flex;align-items:center}
.footer-bottom .motion-toggle:hover{background:none}

/* ---------- 20. 章節圖片：3:2、細框圓角，與內文同寬；AI 生成的情境圖加小字「情境示意」 ---------- */
.section-figure{margin:clamp(20px,3vw,30px) 0 clamp(24px,3.4vw,34px);display:grid;gap:8px}
.story-browser-heading+.section-figure{max-width:689px} /* the stories column is ~1200px wide; keep the picture at reading width */
.section-figure img,.course-figure img,.resource-figure img,.catalog-card .catalog-thumb,.catalog-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;border:1px solid #e4d9c6;background:#f3ede2}
.section-figure figcaption,.resource-figure figcaption,.catalog-figure figcaption{font-size:12.5px;letter-spacing:.08em;color:var(--muted);text-align:right}
.article-figure{margin-top:0}
/* 服務頁卡片：圖在卡片頂端；占卜卡原本是左右排，讓圖獨佔一行 */
.catalog-card .catalog-thumb{border-radius:8px;margin:0 0 16px}
.catalog-figure{margin:0 0 16px;display:grid;gap:6px}
.catalog-figure img{border-radius:8px}
/* 日常與作品: the three products with pictures sit in one row; the painting (real photos only, none yet) spans below as a wide text card */
@media (min-width:681px){
  .service-catalog .catalog-grid:has(.catalog-figure):has(>.catalog-card:not(:has(.catalog-figure))){grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-catalog .catalog-grid:has(.catalog-figure):has(>.catalog-card:not(:has(.catalog-figure)))>.catalog-card:has(.catalog-figure){padding:20px}
  .service-catalog .catalog-grid:has(.catalog-figure)>.catalog-card:not(:has(.catalog-figure)){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:clamp(20px,4vw,40px);align-items:start}
}
/* once every card has a picture (the painting included) the grid stays 2 × 2 */
.chapter-figure{max-width:689px}
/* 首頁「從你想問的事開始」 with a picture: beside the invitation from 1024px, above it on smaller screens */
.contact-invitation .invitation-inner.has-photo{max-width:1120px}
.invitation-figure{margin:0 auto 40px;max-width:560px}
.invitation-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;border:1px solid #e4d9c6;background:#f3ede2}
@media (min-width:1024px){
  .contact-invitation .invitation-inner.has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,5vw,72px);align-items:center}
  .invitation-figure{margin:0;max-width:none}
  .contact-invitation .has-photo .invitation-meta{flex-direction:column;gap:2px}
}
.catalog-consultation:has(.catalog-thumb){flex-wrap:wrap}
.catalog-consultation .catalog-thumb{flex:1 0 100%}
/* 學院課程：標題下方一張，最寬 560px */
.course-figure{margin:12px 0 18px;max-width:560px;display:grid;gap:6px}
.course-figure img{border-radius:8px}
/* 靈感內容：照片取代線條圖示與 Akasha 字樣的佔位圖 */
.journal-art.has-photo,.podcast-illustration.has-photo{padding:0;background:none;border:1px solid #e4d9c6;border-radius:8px;overflow:hidden}
.journal-art.has-photo img,.podcast-illustration.has-photo img{display:block;width:100%;height:100%;object-fit:cover}
.journal-art.has-photo img{object-position:50% 72%} /* keep the open book in frame */
.article-pair .article-thumb{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;border:1px solid #e4d9c6;margin:0 0 14px}
.resource-figure{margin:0 0 16px;display:grid;gap:6px}
.resource-figure img{border-radius:8px}

/* 對比補強（第二輪 B 量測）：頁尾與頁首區的金色文字連結 4.35 → 約 6.4:1；學員故事 12px 註記 3.7 → 約 5.3:1 */
body .site-footer .footer-brand>.text-link,body .page-intro .text-link{color:var(--gold-deep)}
body.page-stories .story-results .content-note,body .review-card-footer>span{color:#6b625a}
.home-page .hero-bottom{color:#6b625a}   /* 首屏底部標語 4.48 → 5.2:1 */

/* 點擊範圍補到 44px：用透明的偽元素放大，不改變視覺位置 */
.site-header .brand-lockup{min-height:44px}
.hero-actions .button,.hero-actions .button.outline{min-height:44px}
.breadcrumb a{position:relative}
.breadcrumb a::after{content:"";position:absolute;inset:0 -8px}
@media(max-width:1024px){
  .chapter-sidebar nav a{position:relative}
  .chapter-sidebar nav a::after{content:"";position:absolute;inset:0 -9px}
}

/* §21 近期開課：學院頁標題下的提示、課程內的梯次框、服務頁課程卡與首頁學院入口各一行。
   data-until 過期後由 polish.js 加上 hidden。段落規則要贏過 .content-page .chapter p（0,2,1），所以多帶一層 .chapter。 */
[data-until][hidden]{display:none!important}
.session-tag,.chapter .course-session p.session-tag{display:inline-block;margin:0;padding:2px 10px;border-radius:999px;background:var(--gold-deep,#6f5734);color:#fffdf8;font-size:13px;line-height:1.7;letter-spacing:.12em;white-space:nowrap}
.session-notice{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:44px;margin-top:20px;padding:8px 18px 8px 10px;border:1px solid #d9c6a2;border-radius:999px;background:#fffdf8;color:var(--ink,#4a433a);font-size:15px;line-height:1.6;letter-spacing:.02em;text-decoration:none;font-variant-numeric:lining-nums}
.session-notice:hover{border-color:var(--gold,#86693f)}
.session-notice>span[aria-hidden]{color:var(--gold,#86693f)}
.course-session{display:grid;justify-items:start;gap:6px;max-width:560px;margin:4px 0 24px;padding:22px 24px 24px;border:1px solid #d9c6a2;border-radius:10px;background:#fbf6ec}
.course-session h4{margin:6px 0 0;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.5;letter-spacing:.04em;color:var(--ink,#4a433a)}
.chapter .course-session p.session-dates{margin:0;font-size:18px;letter-spacing:.04em;color:var(--gold-deep,#6f5734);font-variant-numeric:lining-nums}
.chapter .course-session p.session-note{margin:0;font-size:15px;line-height:1.8;color:var(--muted,#6b625a)}
.course-session .button{margin-top:10px}
.chapter p.catalog-session,.directory-entry .directory-copy p.directory-session{margin:14px 0 0;font-size:14px;line-height:1.7;letter-spacing:.03em;color:var(--gold-deep,#6f5734);font-variant-numeric:lining-nums}
.directory-entry .directory-copy p.directory-session{margin:10px 0 4px}
.course-session time,.session-notice time{white-space:nowrap}
@media (max-width:600px){.course-session{padding:18px 18px 20px}}

/* §22 牌面（業主 2026-10-04）：頂端加靈魂之音標誌；樂章標題放大、訊息縮小；按鈕只寫「收藏」「牌組」 */
.ritual-dialog.oracle-flip .oracle-reading{padding-top:clamp(66px,22%,84px)}
.ritual-dialog.oracle-flip .reading-mark{position:absolute;left:50%;top:clamp(22px,6.5%,32px);width:clamp(30px,11%,38px);height:auto;transform:translateX(-50%);pointer-events:none}
.ritual-dialog.oracle-flip .oracle-reading{--msg-size:clamp(15px,.9rem + .2vw,17px)}
/* client 2026-10-11: the number and movement line (A) is 20% larger than the theme (B) and the message (C), which match */
.ritual-dialog.oracle-flip .oracle-reading .eyebrow{margin:0 0 8px;font-size:calc(var(--msg-size) * 1.2)!important;line-height:1.5;text-wrap:balance}   /* §1 sets every .eyebrow with !important */
.ritual-dialog.oracle-flip .oracle-reading h3{font-family:var(--serif);font-size:var(--msg-size);line-height:1.7;letter-spacing:.04em;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance} /* themes are two short phrases split by 「，」 */
.ritual-dialog.oracle-flip #oracle-message{font-size:var(--msg-size);line-height:1.85}
.ritual-dialog.oracle-flip .result-actions .button{min-width:128px;justify-content:center}
/* 蠟燭換成產品照、沒有「情境示意」：在並排時保留同樣的一行高，讓同列卡片的標題對齊 */
@media(min-width:681px){.catalog-grid:has(figcaption) .catalog-figure:not(:has(figcaption))::after{content:"\00a0";font-size:12.5px}}

/* §23 牌組扇形放寬（業主 2026-10-04）：桌機上 72 張排成一道淺弧，幾乎橫跨整個畫面，兩端不再多出一截 */
@media(min-width:851px){
  .home-page .experience .oracle-stage{--fan-w:min(100vw - 80px,1680px);width:var(--fan-w);max-width:none;margin-left:calc((100% - var(--fan-w)) / 2)}
  .home-page .experience:not([data-deck-state=stacked]) .oracle-stage{height:min(274px + 9.7vw,452px)}
}

/* §24 潔妮的經歷與數據（業主 2026-10-04）：首頁「認識潔妮」入口、陪伴紀錄與關於頁「專業歷程」。
   數字與認證只寫在 build.py 的 RECORDS、CREDENTIALS。畫面上數字在上、標籤在下；螢幕閱讀器先念標籤（dt 在 dd 前）。 */
.record-stats{container-type:inline-size;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft)}
.record-stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:7px;min-width:0;padding:15px 0 14px 12px}
.record-stats>div:first-child{padding-left:0}
.record-stats>div+div{border-left:1px solid var(--gold-soft)}
.record-stats dt{font-size:13px;line-height:1.5;letter-spacing:.06em;color:var(--muted)}
.record-stats dd{margin:0;display:flex;align-items:baseline;gap:3px;white-space:nowrap}
.record-stats .stat-num{font-family:var(--english);font-weight:500;font-size:clamp(23px,1.1rem + .8vw,30px);font-size:clamp(17px,8cqi,30px);line-height:1;letter-spacing:.01em;color:var(--gold-deep);font-variant-numeric:lining-nums} /* 8cqi: 1,000+ 次 still fits a third of the 260px column at 1024 */
.record-stats .stat-unit{font-size:13px;color:var(--muted)}
.credential-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:3px}
.credential-list li{position:relative;margin:0;padding-left:16px;font-size:14px;line-height:1.75;letter-spacing:.03em;color:var(--ink)}
.credential-list li::before{content:"";position:absolute;left:0;top:.88em;width:8px;height:1px;background:var(--gold)}
.directory-record{margin:22px 0 20px}
.records-list .records-credentials{align-items:flex-start}
.records-list .records-credentials ul{list-style:none;margin:0;padding:0;text-align:right;font-family:var(--serif);font-size:15px;line-height:1.8;letter-spacing:.04em;color:var(--ink)}
.journey-record{max-width:560px;margin-top:40px}
.content-page .journey-record h3{margin:30px 0 0}
.content-page .chapter .journey-record .credential-list{margin:14px 0 0;padding:0}   /* the bundle indents chapter lists */
.content-page .chapter .journey-record .credential-list li{margin:0;font-size:16px;line-height:1.8}

/* §25 產品實拍（業主 2026-10-11）：蠟燭、火鹽、香氛、畫作都換成業主拍的直式產品照，裁成正方形，讓整個產品（含圓形畫作）入鏡 */
.catalog-figure img{aspect-ratio:1/1}

/* §26 協力團隊（業主 2026-10-11）：照業主的「靈魂之音・共好夥伴」圖排版：四個拱形卡片兩兩一列，身心療癒橫跨在下；
   插圖從那張圖裁下（assets/partners/），卡片底色用圖上的紙色 #faf6ee，邊緣淡出，裁切時帶到的拱線看不見 */
.partner-board{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,48px) clamp(64px,8vw,112px);text-align:center}
.partner-emblem{display:block;width:clamp(92px,9vw,124px);height:auto;margin:0 auto clamp(18px,2.6vw,32px);
  -webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent);mask-image:radial-gradient(closest-side,#000 72%,transparent)}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,32px)}
.partner-card{display:flex;flex-direction:column;align-items:center;padding:clamp(26px,3.2vw,40px) clamp(20px,3vw,40px) clamp(28px,3.2vw,40px);
  border:1px solid #e4d6bd;border-radius:50% 50% 10px 10px / 150px 150px 10px 10px;background:#faf6ee;scroll-margin-top:110px}
.partner-art{display:block;width:min(100%,340px);height:auto;margin:0 auto 4px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 80%,transparent),linear-gradient(to right,transparent,#000 13%,#000 87%,transparent);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 80%,transparent),linear-gradient(to right,transparent,#000 13%,#000 87%,transparent);mask-composite:intersect}
.partner-card h2{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + .8vw,1.875rem);font-weight:400;line-height:1.4;letter-spacing:.18em;color:var(--ink);text-indent:.18em}
.partner-rule{position:relative;display:block;width:clamp(120px,40%,200px);height:9px;margin:14px auto 16px;background:linear-gradient(#d7c29c,#d7c29c) center/100% 1px no-repeat}
.partner-rule::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;background:var(--gold);transform:translate(-50%,-50%) rotate(45deg)}
.partner-list{list-style:none;margin:0 auto;padding:0;max-width:22em;font-size:var(--fs-body);line-height:2;letter-spacing:.06em;color:var(--ink);text-wrap:balance}
.partner-list li{display:inline-block;margin:0;white-space:nowrap}  /* atomic, so lines break between items and never inside one */
.partner-list li:not(:last-child)::after{content:"・";color:var(--gold)}
.partner-wellness{grid-column:1/-1;border-radius:10px}
@media(min-width:761px){
  .partner-wellness{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;column-gap:clamp(20px,3vw,40px);padding-block:clamp(18px,2vw,26px)}
  .partner-wellness .partner-art{margin:0}
}
@media(max-width:760px){
  .partner-grid{grid-template-columns:1fr}
  .partner-card{border-radius:50% 50% 10px 10px / 120px 120px 10px 10px}
  .partner-wellness{border-radius:50% 50% 10px 10px / 120px 120px 10px 10px}
}
/* 頁尾網站地圖多了「協力團隊」：寬螢幕六欄一列，平板三欄兩列，手機維持兩欄 */
@media(min-width:1101px){.footer-main .footer-sitemap{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1100px){.footer-main .footer-sitemap{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* §27 靈魂學院改成課程目錄（業主 2026-10-11，參考她喜歡的商店頁）：分類標題下一排課程卡片，正方形圖、置中課名與價格；
   點卡片到下方「課程內容」的完整介紹。電腦一排三張，手機兩張 */
.course-cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,36px) clamp(16px,2.4vw,28px);margin:28px 0 0;padding:0}
.content-page .chapter .course-cards{max-width:none;padding:0}   /* chapter lists are capped at 38em and indented for reading */
.content-page .chapter .course-cards li{margin:0;padding:0}
.content-page .chapter .course-cards li::before{content:none}
.course-tile{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:inherit;text-decoration:none;scroll-margin-top:110px}
.course-tile-media{position:relative;display:block;width:100%;aspect-ratio:1/1;margin:0 0 10px;overflow:hidden;border:1px solid #e4d9c6;border-radius:8px;background:#f3ede2}
.course-tile-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.course-tile-tag{position:absolute;left:10px;top:10px;padding:2px 10px;border-radius:999px;background:var(--gold-deep);color:#fffdf8;font-size:13px;line-height:1.7;letter-spacing:.12em;white-space:nowrap}
.course-tile-step{font-size:var(--fs-label);letter-spacing:.14em;color:var(--gold-deep)}
.course-tile-title{font-family:var(--serif);font-size:clamp(1.125rem,1rem + .35vw,1.3125rem);font-weight:400;line-height:1.5;letter-spacing:.08em;color:var(--ink)}
.course-tile-price{font-family:var(--english);font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:500;letter-spacing:.02em;color:var(--gold-deep);font-variant-numeric:lining-nums;white-space:nowrap}
.course-tile:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:8px}
@media(hover:hover) and (pointer:fine){
  .course-tile:hover .course-tile-media img{transform:scale(1.03)}
  .course-tile:hover .course-tile-title{color:var(--gold-deep)}
}
@media(prefers-reduced-motion:reduce){.course-tile-media img{transition:none}.course-tile:hover .course-tile-media img{transform:none}}
.course-catalog+.course-catalog{padding-top:clamp(8px,1.5vw,16px)}
.course-details .learning-path{margin-top:20px}
.course-details article{scroll-margin-top:110px}
@media(max-width:700px){
  .course-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;margin-top:22px}
  .course-tile-tag{left:8px;top:8px;padding:1px 8px;font-size:12px;letter-spacing:.08em}
}

/* §28 English version (client 2026-10-11): <page>.en.html from i18n.mjs, switched with 「EN／中文」 in the header.
   The Chinese styles track every line (.04–.18em) and set paragraphs at line-height 2; Latin text reads better tight. */
.lang-switch{display:inline-flex;align-items:center;min-height:44px;margin-left:22px;padding:0 2px 0 20px;border-left:1px solid var(--gold-soft);
  font-family:var(--english);font-size:15px;font-weight:500;letter-spacing:.14em;color:var(--ink);text-decoration:none;white-space:nowrap}
.lang-switch:hover{color:var(--gold-deep)}
html[lang="en"] .lang-switch{font-family:var(--sans);font-size:14px;font-weight:400}
@media(max-width:1100px){
  .lang-switch{margin:0 6px 0 auto;padding:0 12px;border-left:0}
  .lang-switch+.menu-toggle{margin-left:0}
}
html[lang="en"] *{letter-spacing:normal!important}
html[lang="en"] :is(.eyebrow,.chapter-number,.review-category,.journey-kicker,.invitation-label,.course-tile-step,.nav-mobile-heading,.chapter-sidebar>p){letter-spacing:.06em!important}
html[lang="en"] .brand-type small{letter-spacing:.32em!important}
html[lang="en"] .hero-eyebrow,html[lang="en"] .hero .eyebrow{letter-spacing:.14em!important}
html[lang="en"] main :is(p,li,dd,blockquote,figcaption,td,summary),html[lang="en"] .site-footer p{line-height:1.7!important}
html[lang="en"] main :is(h1,h2,h3){line-height:1.25!important;text-wrap:balance}
html[lang="en"] :is(.eyebrow,.review-category,.page-description,.chapter-lead){text-wrap:pretty}
/* credential names may wrap in English (they are long); the proof grid must not grow past the screen */
html[lang="en"] :is(.credential-list,.records-credentials) .nobr{white-space:normal}
html[lang="en"] .proof-layout>*{min-width:0}
html[lang="en"] .records-credentials li+li{margin-top:8px}
html[lang="en"] .oracle-reading .reading-brand{font-size:11px}   /* fits inside the card frame on a 360px phone */

/* §29 學院介紹的結業照（業主 2026-10-11）：兩班的合照並排，共用一行說明；手機上下排 */
.figure-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:600px){.figure-pair-grid{grid-template-columns:1fr;gap:10px}}
/* English lines run longer than Chinese ones: a tighter measure keeps long messages on the card */
html[lang="en"] .ritual-dialog.oracle-flip #oracle-message{line-height:1.6}
html[lang="en"] .ritual-dialog.oracle-flip .oracle-reading h3{line-height:1.5}
html[lang="en"] .ritual-dialog.oracle-flip .oracle-reading .eyebrow{line-height:1.35}

/* §30 首頁「認識潔妮」（業主 2026-10-11）：網站導覽只留潔妮，其他四個入口拿掉；照片在左、介紹與經歷在右，手機上下排 */
.site-directory.directory-solo .directory-grid{display:block;max-width:1040px;margin:0 auto}
.site-directory.directory-solo .directory-about{display:grid;grid-template-columns:360px minmax(0,1fr);column-gap:clamp(40px,6vw,96px);align-items:start;
  padding:0;border:0;background:none;box-shadow:none}
.site-directory.directory-solo .directory-about .directory-portrait{grid-column:1;width:100%;margin:0}
.site-directory.directory-solo .directory-about .directory-copy{grid-column:2;align-self:center;max-width:540px;padding:0}
.site-directory.directory-solo .directory-about h2{margin:.35em 0 .5em;font-family:var(--serif);font-size:var(--fs-h2,clamp(1.75rem,1.3rem + 1.6vw,2.5rem));font-weight:400;line-height:1.35;letter-spacing:.06em;color:var(--ink)}
@media(max-width:860px){
  .site-directory.directory-solo .directory-grid{max-width:560px}
  .site-directory.directory-solo .directory-about{grid-template-columns:1fr;row-gap:28px}
  .site-directory.directory-solo .directory-about .directory-copy{grid-column:1}
}

/* §31 首頁形象片（業主 2026-10-11）：桌機放在「陪你走一趟」右邊，平板與手機排在說明下方。點了才播放、帶聲音
   （polish.js §1d）；播放前只有封面與一顆播放鍵，首屏仍然是靜的。框線、圓角與說明文字跟全站圖片一樣。 */
.hero-film{margin:0;display:grid;gap:8px}
.hero-film-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;border:1px solid #e4d9c6;background:#efe7d9;
  box-shadow:0 30px 60px -40px rgba(74,67,58,.55)}
.hero-film video{display:block;width:100%;height:100%;object-fit:cover;background:#2a2620}
.hero-film-play{position:absolute;inset:0;display:grid;place-items:center;width:100%;margin:0;padding:0;border:0;border-radius:0;cursor:pointer;
  color:var(--gold-deep);background:linear-gradient(180deg,rgba(42,36,28,0) 40%,rgba(42,36,28,.16));-webkit-tap-highlight-color:transparent}
.hero-film-play[hidden]{display:none}
.hero-film-play::before{content:"";grid-area:1/1;width:72px;height:72px;border-radius:50%;background:rgba(255,252,246,.9);
  border:1px solid rgba(134,105,63,.4);box-shadow:0 12px 30px -14px rgba(42,36,28,.55);transition:transform .2s cubic-bezier(.23,1,.32,1),background-color .2s}
.hero-film-play .hero-film-icon{grid-area:1/1;position:relative;width:26px;height:26px;margin-left:4px;fill:currentColor}
@media(hover:hover) and (pointer:fine){.hero-film-play:hover::before{transform:scale(1.06);background:#fffdf8}}
.hero-film-play:active::before{transform:scale(.96)}
.hero-film-play:focus-visible{outline:none}
.hero-film-play:focus-visible::before{outline:2px solid var(--gold-deep);outline-offset:3px}
.hero-film figcaption{font-size:12.5px;letter-spacing:.08em;color:var(--muted);text-align:right}
/* stacked (tablet, phone): the film steps in from the left and sits flush right, so the text reads left and the film right
   on every screen (使用者 2026-10-11) */
.home-page .hero-content.hero-with-film .hero-film{margin-top:clamp(32px,5vw,48px);margin-left:auto;width:min(88%,560px)}
@media(min-width:1024px){
  /* the film column is at most 38vw, flush with the right gutter, so it reads as the right side rather than the middle
     (使用者 2026-10-11); the text column never squeezes a heading line (English 「on the way home」 stays one line) */
  .home-page .hero-content.hero-with-film{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,min(38vw,620px));column-gap:clamp(40px,5vw,88px);
    align-items:center;max-width:none}   /* .hero is a column: the content spans gutter to gutter, the film ends at the right one */
  .home-page .hero-content.hero-with-film .hero-film{margin-top:0;width:auto}
}
@media(min-width:701px) and (max-width:1023px){.home-page .hero-content.hero-with-film{padding-bottom:96px}}
@media(max-width:700px){
  .home-page .hero-content.hero-with-film{padding-bottom:56px}
  .hero-film-play::before{width:60px;height:60px}
  .hero-film-play .hero-film-icon{width:22px;height:22px;margin-left:3px}
}
@media(prefers-reduced-motion:reduce){.hero-film-play::before{transition:none}}

/* §32 首頁形象片放大、自動播放，首屏文字字距拉開（業主 2026-10-11）
   形象片欄 1.5 倍（最寬 38vw/620px → 57vw/930px），文字欄只留標題與說明需要的寬度；疊排時佔滿內容寬（最寬 840px）。
   靜音播放時左下「開啟聲音」（從頭帶聲音播放）、右下圓鈕暫停（polish.js §1d）。 */
@media(min-width:1024px){
  .home-page .hero-content.hero-with-film{grid-template-columns:minmax(max-content,1fr) minmax(0,min(57vw,930px));column-gap:clamp(32px,3.5vw,64px)}
}
.home-page .hero-content.hero-with-film .hero-film{width:min(100%,840px)}
@media(min-width:1024px){.home-page .hero-content.hero-with-film .hero-film{width:auto}}
html:not([lang="en"]) .home-page .hero h1,html:not([lang="en"]) .home-page .hero h1 span{letter-spacing:.14em}
html:not([lang="en"]) .home-page .hero .hero-description{letter-spacing:.1em}
.hero-film-bar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.hero-film-bar[hidden]{display:none}
.hero-film-bar button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;border:1px solid rgba(134,105,63,.35);
  background:rgba(255,252,246,.92);color:var(--gold-deep);box-shadow:0 10px 24px -14px rgba(42,36,28,.6);cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s}
.hero-film-sound{padding:0 18px 0 14px;border-radius:999px;font-size:14px;line-height:1;letter-spacing:.06em;white-space:nowrap}
.hero-film-pause{width:44px;padding:0;border-radius:50%}
.hero-film-bar-icon{width:18px;height:18px;fill:currentColor;flex:none}
.hero-film-pause .hero-film-icon-resume,.hero-film-pause[aria-pressed="true"] .hero-film-icon-pause{display:none}
.hero-film-pause[aria-pressed="true"] .hero-film-icon-resume{display:block}
@media(hover:hover) and (pointer:fine){.hero-film-bar button:hover{background:#fffdf8}}
.hero-film-bar button:active{transform:scale(.96)}
.hero-film-bar button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
@media(max-width:700px){.hero-film-bar{left:8px;right:8px;bottom:8px}.hero-film-sound{padding:0 14px 0 11px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-film-bar button{transition:none}}

/* §33 學員故事（業主 2026-10-14）：分「個案分享」與「學員分享」兩區，照片一律用拱門造型當外框（上緣半圓、
   細金框留一圈白）。每人一列：桌機照片在左、名字職業與摘句在右，「閱讀完整分享」在原地展開三題問答；手機照片在上、置中。
   沒有照片的人（家佳）拱門裡放一枝羽毛。服務頁與學院頁各有一章三位的摘句，連到故事頁的那一區 */
.voice-arch{padding:7px;border:1px solid var(--gold-line);border-radius:999px 999px 0 0;background:#fffefb}
.voice-arch img,.voice-arch-fill{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 0 0}
.voice-arch-fill{display:grid;place-items:center;background:linear-gradient(180deg,#f5eee2,#eadfcb)}
.voice-arch-icon{width:38%;height:auto;color:var(--gold)}
.story-results .voice-group+.voice-group{margin-top:clamp(48px,6vw,80px)}
.story-results .voice-group .story-category-label{gap:6px 18px;margin:0 0 14px;font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);font-weight:400;letter-spacing:.1em;color:var(--ink)}
.story-results .voice-group .story-category-label span{font-family:var(--sans);font-size:14px;letter-spacing:.04em}
.voice-list{border-top:1px solid var(--gold-line)}
.voice-card{display:grid;grid-template-columns:clamp(150px,15vw,200px) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:start;
  padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--gold-line);scroll-margin-top:120px}
.voice-card-body{max-width:44em;padding-top:clamp(4px,1.6vw,24px)}
.voice-name{margin:0;font-family:var(--serif);font-size:clamp(22px,1.9vw,26px);font-weight:400;line-height:1.4;letter-spacing:.12em;color:var(--ink)}
.voice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0 0;font-size:14px;line-height:1.6;letter-spacing:.04em;color:var(--muted)}
.voice-level{padding:1px 10px;border:1px solid var(--gold-line);border-radius:999px;font-size:13px;color:var(--gold-deep)}
.chapter .voice-quote{margin:22px 0 0;padding:0;border:0;font-family:var(--serif);font-size:clamp(18px,1.55vw,21px);line-height:1.85;letter-spacing:.04em;color:var(--ink)}
.voice-quote::before{content:"“";display:block;height:.55em;font-size:2em;line-height:1;color:var(--gold)}
.voice-full{margin-top:18px}
.voice-full summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;list-style:none;cursor:pointer;font-size:15px;letter-spacing:.08em;color:var(--gold-deep)}
.voice-full summary::-webkit-details-marker{display:none}
.voice-full summary span{padding-bottom:2px;border-bottom:1px solid var(--gold-line)}
.voice-full summary::after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:translateY(-3px) rotate(45deg);transition:transform 200ms var(--ease-out)}
.voice-full[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.voice-full:not([open]) .voice-toggle-close,.voice-full[open] .voice-toggle-open{display:none}
.voice-full summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px;border-radius:2px}
@media(hover:hover) and (pointer:fine){.voice-full summary:hover span{border-bottom-color:currentColor}}
.voice-answers{padding:4px 0 6px}
.voice-answers h4{margin:26px 0 8px;font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.6;letter-spacing:.06em;color:var(--gold-deep)}
.voice-answers h4:first-child{margin-top:12px}
.voice-answers p{margin:0 0 14px;font-size:16px;line-height:2;color:var(--ink)}
.story-results .voice-note{margin-top:28px}
.voice-teaser-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin:30px 0 26px;padding:0;list-style:none}
.voice-teaser-item{display:flex;flex-direction:column;align-items:center;text-align:center}
.voice-arch-sm{width:min(150px,80%)}
.chapter .voice-teaser-quote{margin:20px 0 14px;padding:0;border:0;font-family:var(--serif);font-size:16px;text-wrap:balance;line-height:1.85;letter-spacing:.03em;color:var(--ink)}
.voice-teaser-name{display:flex;flex-direction:column;align-items:center;gap:6px;margin:auto 0 0;font-size:14px;color:var(--muted)}
.voice-teaser-name strong{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.12em;color:var(--ink)}
.voice-teaser-name .voice-meta{justify-content:center;margin:0}
@media(prefers-reduced-motion:reduce){.voice-full summary::after{transition:none}}
@media(max-width:700px){
  .voice-card{grid-template-columns:minmax(0,1fr);justify-items:center;gap:22px;padding:36px 0;text-align:center}
  .voice-card .voice-arch{width:min(200px,58vw)}
  .voice-card-body{width:100%;padding-top:0}
  .voice-card .voice-meta{justify-content:center}
  .voice-answers{text-align:left}
  .voice-teaser-list{grid-template-columns:minmax(0,1fr);gap:28px}
  .voice-teaser-item{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:18px;align-items:start;text-align:left}
  .voice-arch-sm{grid-row:span 2;width:96px;padding:5px}
  .chapter .voice-teaser-quote{margin:0 0 10px;font-size:16px}
  .voice-teaser-name{align-items:flex-start;margin:0}
  .voice-teaser-name .voice-meta{justify-content:flex-start}
}

/* §34 作品訂購須知（業主 2026-10-14）：服務頁 FAQ 後面一章，照業主的訂購圖卡寫入蠟燭與畫作的價格、訂購、寄送、使用與保存
   （圖卡本身不用）。兩種蠟燭並排成兩張卡，資訊用一列一項的表，使用方法和注意事項兩欄；手機都改成單欄。
   不退換、不退訂兩項用磚紅色，照圖卡的強調 */
.works-item{margin-top:clamp(28px,3vw,40px);padding:clamp(32px,4vw,48px) 0 8px;border-top:1px solid var(--gold-line);scroll-margin-top:120px}
.chapter .works-item h3{margin:0;font-family:var(--serif);font-size:clamp(22px,2vw,26px);font-weight:400;letter-spacing:.1em;color:var(--ink)}
.chapter .works-subtitle{margin:8px 0 0;font-size:15px;letter-spacing:.04em;color:var(--muted)}
.works-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 28px}
.works-variant{padding:26px 26px 22px;background:#fffefb;border:1px solid var(--gold-line);border-radius:6px}
.chapter .works-variant h4{display:flex;align-items:baseline;gap:10px;margin:0;font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.08em;color:var(--ink)}
.works-variant h4 span{font-family:var(--sans);font-size:14px;letter-spacing:.04em;color:var(--muted)}
.chapter .works-variant .works-price{margin:4px 0 14px;font-family:var(--serif);font-size:22px;color:var(--gold-deep)}
.chapter .works-variant .works-tagline{margin:0 0 10px;font-family:var(--serif);font-size:17px;line-height:1.85;color:var(--ink)}
.chapter .works-variant p{font-size:15px;line-height:1.95}
.chapter .works-fit-title{margin:16px 0 6px;font-size:14px;letter-spacing:.06em;color:var(--gold-deep)}
.works-fit,.works-lists ol,.works-lists ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.works-fit li,.works-lists li{position:relative;margin:0;padding-left:1.6em;font-size:15px;line-height:1.9;color:var(--ink)}
.works-fit li::before,.works-lists ul li::before{content:"";position:absolute;left:.4em;top:.82em;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.works-facts{margin:0;border-top:1px solid var(--gold-line)}
.works-facts>div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--gold-line)}
.works-facts dt{padding-top:1px;font-size:14px;letter-spacing:.06em;color:var(--gold-deep)}
.works-facts dd{margin:0;font-size:15px;line-height:1.9;color:var(--ink)}
.works-facts .works-fact-key dd{font-weight:500;color:#9a4a2f}
.chapter .works-start{margin:24px 0 0;padding:16px 20px;background:#f6efe2;border-left:2px solid var(--gold);font-family:var(--serif);font-size:17px;line-height:1.85;color:var(--ink)}
.works-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,48px);margin-top:30px}
.chapter .works-lists h4{margin:0 0 12px;font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.08em;color:var(--gold-deep)}
.works-lists ol{counter-reset:works}
.works-lists ol li{counter-increment:works;padding-left:2em}
.works-lists ol li::before{content:counter(works);position:absolute;left:0;top:.42em;width:20px;height:20px;border:1px solid var(--gold-line);border-radius:50%;
  font-size:12px;line-height:20px;text-align:center;color:var(--gold-deep)}
.works-prices{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 22px}
.works-prices>div{display:flex;align-items:baseline;gap:14px;padding:12px 20px;background:#fffefb;border:1px solid var(--gold-line);border-radius:6px}
.works-prices dt{font-size:14px;color:var(--muted)}
.works-prices dd{margin:0;font-family:var(--serif);font-size:20px;color:var(--gold-deep)}
@media(max-width:700px){
  .works-pair,.works-lists{grid-template-columns:minmax(0,1fr)}
  .works-variant{padding:22px 20px 18px}
  .works-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}
}

/* §35 業主修改（2026-10-14）
   學員故事展開後的三個題目：字級 1.2 倍（15 → 18px）、字粗 1.2 倍。網站的黑體只有 400 和 700 兩種字重（500 會顯示成 400），
   直接用 700 會粗到將近兩倍，所以用 0.3px 的描邊把筆畫加粗一點。
   牌的邊框更金：扇形的牌、抽出的牌面、翻過來的訊息牌，外框都換成飽和的古金（1.5px）；訊息牌的內框改成金色漸層，像燙金 */
.voice-answers h4{font-size:18px;font-weight:400;-webkit-text-stroke:.3px currentColor}
.experience .oracle-card,.home-page .experience .oracle-card{border-color:#c9a45a}
.home-page .experience .oracle-card.is-active,.home-page .experience .oracle-card:focus-visible{border-color:#e2c27a}
.ritual-dialog.oracle-flip .ritual-face-art,.ritual-dialog.oracle-flip .oracle-reading{border:1.5px solid #c9a45a}
.ritual-dialog.oracle-flip .oracle-reading::before{border:1.5px solid transparent;
  background:linear-gradient(135deg,#e6c983,#b98f45 30%,#edd496 52%,#a9803a 76%,#dcbc74) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0)}

/* §36 首頁「潔妮的陪伴紀錄」（業主 2026-10-14）：學員分享已經在故事頁，Jason 的卡片拿掉，只留紀錄一欄置中；
   下面兩個連結：專業歷程、個案與學員分享 */
.proof-layout.proof-solo{grid-template-columns:minmax(0,1fr);max-width:640px}
.proof-solo .proof-records{padding-top:0}
.records-links{display:flex;flex-wrap:wrap;gap:0 32px}

/* ---------- 14. 字型補字：common 子集缺的站內用字，改用小檔，不再為一兩個字下載 500KB 的分段字型（fonts-extra.mjs 產生） ---------- */
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-05-extra.woff2?v=f0e19406d8) format("woff2");unicode-range:U+55BB,U+5634,U+56FA,U+570B,U+5713,U+5718,U+5747,U+5782,U+57C3,U+57DF,U+57F7,U+5834,U+5854,U+5875,U+58C1,U+5925,U+592B,U+5967,U+5979,U+5999,U+59BB,U+5B69,U+5B87,U+5B99,U+5BA2,U+5BC6,U+5BF5,U+5BF6,U+5C24,U+5C4B,U+5C4F,U+5C64,U+5CB3,U+5D84}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-12-extra.woff2?v=8d2c6270b3) format("woff2");unicode-range:U+904B,U+905E,U+906E,U+907F,U+9080,U+9152,U+91D1,U+9298,U+92B7,U+93E1,U+9632,U+9640,U+9644,U+9670,U+9676,U+9677,U+9678,U+968A,U+96C5,U+96DE,U+96F2,U+96FB,U+9707,U+975E,U+9818}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-04-extra.woff2?v=e7b4f1fe7d) format("woff2");unicode-range:U+4E1F,U+4E32,U+4E59,U+4E7E,U+4F01,U+4F5B,U+4F73,U+500D,U+50A2,U+50C5,U+50F5,U+512A,U+516B,U+5192,U+51F8,U+51F9,U+5207,U+5229,U+5237,U+5287,U+5288,U+52E2,U+52FF,U+5347,U+5349,U+535C,U+5360,U+5370,U+53EB,U+5440,U+5468,U+5510,U+5546,U+556A}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-08-extra.woff2?v=6158888238) format("woff2");unicode-range:U+6F06,U+6F5B,U+6F62,U+6F6E,U+6FFA,U+7063,U+70B8,U+70C8,U+70E4,U+7159,U+7184,U+71B1,U+71C3,U+71D2,U+71D9,U+71E5,U+71ED,U+71F4,U+7206,U+721B,U+722D,U+7260,U+72D7,U+7372,U+7384,U+7387,U+73BB,U+73E3,U+7403,U+7409,U+7483,U+74DC,U+74F6,U+751A,U+751C,U+7522,U+7562,U+756A,U+7570,U+7599,U+7629,U+7652,U+76AE,U+76CA,U+76DE,U+76E1,U+76F2,U+7701}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-07-extra.woff2?v=0f555ab375) format("woff2");unicode-range:U+666E,U+6670,U+6676,U+667A,U+6696,U+66C9,U+66FC,U+6708,U+6728,U+677F,U+6790,U+6797,U+68C9,U+68D2,U+690D,U+6975,U+6BDB,U+6C1B,U+6C57,U+6C96,U+6CB9,U+6CBE,U+6CCA,U+6D29,U+6D6A,U+6DB2,U+6DBC,U+6DE1,U+6DE8,U+6DF5,U+6EC5}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-10-extra.woff2?v=30edb1f6e9) format("woff2");unicode-range:U+7F50,U+7F85,U+7FBD,U+8001,U+8017,U+805A,U+805E,U+80B2,U+80F8,U+812B,U+81FA,U+820A,U+821C,U+822C,U+82AF,U+82F1,U+8309,U+838E,U+83AB,U+84CB,U+85A6,U+85C9,U+85DD}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-11-extra.woff2?v=a91908ed9d) format("woff2");unicode-range:U+87A2,U+881F,U+8853,U+885B,U+885D,U+8907,U+8AA4,U+8AE7,U+8AEE,U+8C46,U+8CA8,U+8CB8,U+8CE6,U+8CF4,U+8CFC,U+8D08,U+8D16,U+8D85,U+8DD1,U+8DE1,U+8E0F,U+8E48,U+8ECC,U+8EF8,U+8F29,U+8F4D,U+8FCE}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-06-extra.woff2?v=5f64ee4537) format("woff2");unicode-range:U+5E45,U+5E55,U+5E63,U+5E97,U+5EE3,U+5F77,U+5F7F,U+5FA8,U+5FAC,U+5FB9,U+6021,U+6050,U+6084,U+60B2,U+60B6,U+6148,U+6167,U+6170,U+61B6,U+61FC,U+622A,U+6230,U+6247,U+6279,U+6291,U+62DB,U+6316,U+632F,U+6372,U+6389,U+6398,U+63A8,U+63D2,U+63ED,U+64AD,U+64B0,U+64BC,U+64CA,U+64CB,U+64E6,U+6514,U+651D,U+6548,U+6551,U+6557,U+6562,U+65C1,U+65E2,U+65E6}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-09-extra.woff2?v=e3a3d91f07) format("woff2");unicode-range:U+7720,U+77AC,U+77F3,U+7814,U+7926,U+793E,U+795D,U+798F,U+79AE,U+79D1,U+79D8,U+7A76,U+7A81,U+7ADF,U+7BC9,U+7C3E,U+7C3F,U+7CB9,U+7CBE,U+7CD5,U+7CDF,U+7CFE,U+7D1A,U+7DE3,U+7DE8,U+7E6A}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-15-extra.woff2?v=7eac10099d) format("woff2");unicode-range:U+FF01,U+FF5E}
@font-face{font-family:Inner Voice Editorial TW;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/genryu-tw-regular-13-extra.woff2?v=7a46ba84ff) format("woff2");unicode-range:U+9838,U+983B,U+9846,U+985E,U+9928,U+9999,U+99AC,U+9B31,U+9B45,U+9B54,U+9E7D,U+9EB5,U+9EBB,U+9F13}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-05-extra.woff2?v=fc5efa14d4) format("woff2");unicode-range:U+55BB,U+5634,U+56FA,U+570B,U+5713,U+5718,U+5747,U+5782,U+57C3,U+57DF,U+57F7,U+5834,U+5854,U+5875,U+58C1,U+5925,U+592B,U+5967,U+5979,U+5999,U+59BB,U+5B69,U+5B87,U+5B99,U+5BA2,U+5BC6,U+5BF5,U+5BF6,U+5C24,U+5C4B,U+5C4F,U+5C64,U+5CB3,U+5D84}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-12-extra.woff2?v=ffe98e7563) format("woff2");unicode-range:U+904B,U+905E,U+906E,U+907F,U+9080,U+9152,U+91D1,U+9298,U+92B7,U+93E1,U+9632,U+9640,U+9644,U+9670,U+9676,U+9677,U+9678,U+968A,U+96C5,U+96DE,U+96F2,U+96FB,U+9707,U+975E,U+9818,U+9838,U+983B,U+9846,U+985E}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-04-extra.woff2?v=eca321feb3) format("woff2");unicode-range:U+4E1F,U+4E32,U+4E59,U+4E7E,U+4F01,U+4F5B,U+4F73,U+500D,U+50A2,U+50C5,U+50F5,U+512A,U+516B,U+5192,U+51F8,U+51F9,U+5207,U+5229,U+5237,U+5287,U+5288,U+52E2,U+52FF,U+5347,U+5349,U+535C,U+5360,U+5370,U+53EB,U+5440,U+5468,U+5510,U+5546,U+556A}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-08-extra.woff2?v=6650844df4) format("woff2");unicode-range:U+6F06,U+6F5B,U+6F62,U+6F6E,U+6FFA,U+7063,U+70B8,U+70C8,U+70E4,U+7159,U+7184,U+71B1,U+71C3,U+71D2,U+71D9,U+71E5,U+71ED,U+71F4,U+7206,U+721B,U+722D,U+7260,U+72D7,U+7372,U+7384,U+7387,U+73BB,U+73E3,U+7403,U+7409,U+7483,U+74DC,U+74F6,U+751A,U+751C,U+7522,U+7562,U+756A,U+7570,U+7599,U+7629,U+7652,U+76AE,U+76CA,U+76DE,U+76E1,U+76F2,U+7701,U+7720}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-07-extra.woff2?v=ebd0de95c5) format("woff2");unicode-range:U+66C9,U+66FC,U+6708,U+6728,U+677F,U+6790,U+6797,U+68C9,U+68D2,U+690D,U+6975,U+6BDB,U+6C1B,U+6C57,U+6C96,U+6CB9,U+6CBE,U+6CCA,U+6D29,U+6D6A,U+6DB2,U+6DBC,U+6DE1,U+6DE8,U+6DF5,U+6EC5}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-09-extra.woff2?v=5c95c3b6a3) format("woff2");unicode-range:U+77AC,U+77F3,U+7814,U+7926,U+793E,U+795D,U+798F,U+79AE,U+79D1,U+79D8,U+7A76,U+7A81,U+7ADF,U+7BC9,U+7C3E,U+7C3F,U+7CB9,U+7CBE,U+7CD5,U+7CDF,U+7CFE,U+7D1A,U+7DE3,U+7DE8,U+7E6A,U+7F50,U+7F85}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-11-extra.woff2?v=74171f0416) format("woff2");unicode-range:U+881F,U+8853,U+885B,U+885D,U+8907,U+8AA4,U+8AE7,U+8AEE,U+8C46,U+8CA8,U+8CB8,U+8CE6,U+8CF4,U+8CFC,U+8D08,U+8D16,U+8D85,U+8DD1,U+8DE1,U+8E0F,U+8E48,U+8ECC,U+8EF8,U+8F29,U+8F4D,U+8FCE}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-06-extra.woff2?v=cce6ba045d) format("woff2");unicode-range:U+5E45,U+5E55,U+5E63,U+5E97,U+5EE3,U+5F77,U+5F7F,U+5FA8,U+5FAC,U+5FB9,U+6021,U+6050,U+6084,U+60B2,U+60B6,U+6148,U+6167,U+6170,U+61B6,U+61FC,U+622A,U+6230,U+6247,U+6279,U+6291,U+62DB,U+6316,U+632F,U+6372,U+6389,U+6398,U+63A8,U+63D2,U+63ED,U+64AD,U+64B0,U+64BC,U+64CA,U+64CB,U+64E6,U+6514,U+651D,U+6548,U+6551,U+6557,U+6562,U+65C1,U+65E2,U+65E6,U+666E,U+6670,U+6676,U+667A,U+6696}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-10-extra.woff2?v=d73964f914) format("woff2");unicode-range:U+7FBD,U+8001,U+8017,U+805A,U+805E,U+80B2,U+80F8,U+812B,U+81FA,U+820A,U+821C,U+822C,U+82AF,U+82F1,U+8309,U+838E,U+83AB,U+84CB,U+85A6,U+85C9,U+85DD,U+87A2}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-14-extra.woff2?v=0bac95c721) format("woff2");unicode-range:U+FF01,U+FF5E}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/extra/taipei-tc-regular-13-extra.woff2?v=85596dc4bc) format("woff2");unicode-range:U+9928,U+9999,U+99AC,U+9B31,U+9B45,U+9B54,U+9E7D,U+9EB5,U+9EBB,U+9F13}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-05-extra.woff2?v=528ad844d5) format("woff2");unicode-range:U+55BB,U+5634,U+56FA,U+570B,U+5713,U+5718,U+5747,U+5782,U+57C3,U+57DF,U+57F7,U+5834,U+5854,U+5875,U+58C1,U+5925,U+592B,U+5967,U+5979,U+5999,U+59BB,U+5B69,U+5B87,U+5B99,U+5BA2,U+5BC6,U+5BF5,U+5BF6,U+5C24,U+5C4B,U+5C4F,U+5C64,U+5CB3,U+5D84}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-12-extra.woff2?v=24fa60f425) format("woff2");unicode-range:U+904B,U+905E,U+906E,U+907F,U+9080,U+9152,U+91D1,U+9298,U+92B7,U+93E1,U+9632,U+9640,U+9644,U+9670,U+9676,U+9677,U+9678,U+968A,U+96C5,U+96DE,U+96F2,U+96FB,U+9707,U+975E,U+9818,U+9838,U+983B,U+9846,U+985E}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-04-extra.woff2?v=5b0cb237ae) format("woff2");unicode-range:U+4E1F,U+4E32,U+4E59,U+4E7E,U+4F01,U+4F5B,U+4F73,U+500D,U+50A2,U+50C5,U+50F5,U+512A,U+516B,U+5192,U+51F8,U+51F9,U+5207,U+5229,U+5237,U+5287,U+5288,U+52E2,U+52FF,U+5347,U+5349,U+535C,U+5360,U+5370,U+53EB,U+5440,U+5468,U+5510,U+5546,U+556A}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-08-extra.woff2?v=23034f6c61) format("woff2");unicode-range:U+6F06,U+6F5B,U+6F62,U+6F6E,U+6FFA,U+7063,U+70B8,U+70C8,U+70E4,U+7159,U+7184,U+71B1,U+71C3,U+71D2,U+71D9,U+71E5,U+71ED,U+71F4,U+7206,U+721B,U+722D,U+7260,U+72D7,U+7372,U+7384,U+7387,U+73BB,U+73E3,U+7403,U+7409,U+7483,U+74DC,U+74F6,U+751A,U+751C,U+7522,U+7562,U+756A,U+7570,U+7599,U+7629,U+7652,U+76AE,U+76CA,U+76DE,U+76E1,U+76F2,U+7701,U+7720}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-07-extra.woff2?v=5f25954b04) format("woff2");unicode-range:U+66C9,U+66FC,U+6708,U+6728,U+677F,U+6790,U+6797,U+68C9,U+68D2,U+690D,U+6975,U+6BDB,U+6C1B,U+6C57,U+6C96,U+6CB9,U+6CBE,U+6CCA,U+6D29,U+6D6A,U+6DB2,U+6DBC,U+6DE1,U+6DE8,U+6DF5,U+6EC5}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-10-extra.woff2?v=6aca1f8fcf) format("woff2");unicode-range:U+7F85,U+7FBD,U+8001,U+8017,U+805A,U+805E,U+80B2,U+80F8,U+812B,U+81FA,U+820A,U+821C,U+822C,U+82AF,U+82F1,U+8309,U+838E,U+83AB,U+84CB,U+85A6,U+85C9,U+85DD,U+87A2}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-11-extra.woff2?v=fadffccc5d) format("woff2");unicode-range:U+881F,U+8853,U+885B,U+885D,U+8907,U+8AA4,U+8AE7,U+8AEE,U+8C46,U+8CA8,U+8CB8,U+8CE6,U+8CF4,U+8CFC,U+8D08,U+8D16,U+8D85,U+8DD1,U+8DE1,U+8E0F,U+8E48,U+8ECC,U+8EF8,U+8F29,U+8F4D,U+8FCE}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-06-extra.woff2?v=e9eaab0539) format("woff2");unicode-range:U+5E45,U+5E55,U+5E63,U+5E97,U+5EE3,U+5F77,U+5F7F,U+5FA8,U+5FAC,U+5FB9,U+6021,U+6050,U+6084,U+60B2,U+60B6,U+6148,U+6167,U+6170,U+61B6,U+61FC,U+622A,U+6230,U+6247,U+6279,U+6291,U+62DB,U+6316,U+632F,U+6372,U+6389,U+6398,U+63A8,U+63D2,U+63ED,U+64AD,U+64B0,U+64BC,U+64CA,U+64CB,U+64E6,U+6514,U+651D,U+6548,U+6551,U+6557,U+6562,U+65C1,U+65E2,U+65E6,U+666E,U+6670,U+6676,U+667A,U+6696}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-09-extra.woff2?v=2c5c0a44d3) format("woff2");unicode-range:U+77AC,U+77F3,U+7814,U+7926,U+793E,U+795D,U+798F,U+79AE,U+79D1,U+79D8,U+7A76,U+7A81,U+7ADF,U+7BC9,U+7C3E,U+7C3F,U+7CB9,U+7CBE,U+7CD5,U+7CDF,U+7CFE,U+7D1A,U+7DE3,U+7DE8,U+7E6A,U+7F50}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-14-extra.woff2?v=45cb9db17d) format("woff2");unicode-range:U+FF01,U+FF5E}
@font-face{font-family:Inner Voice Taipei TC;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/extra/taipei-tc-bold-13-extra.woff2?v=ff2ed8c1d7) format("woff2");unicode-range:U+9928,U+9999,U+99AC,U+9B31,U+9B45,U+9B54,U+9E7D,U+9EB5,U+9EBB,U+9F13}
