/* 靈修系列講座頁：四講合一頁。字級與區塊留白由 /course-rhythm.css 統一管理。 */
:root{--ls-brown:#594F47;--ls-tan:#A58254;--ls-gold:#c8aa7b;--ls-olive:#606330;--ls-paper:#F5F0E8;--ls-cream:#EEE7DA;--ls-card:#fbf8f2;--ls-ink:#0c1712;--ls-line:rgba(89,79,71,.18);--ls-serif:"Noto Serif TC",serif;--ls-en:"Cormorant Garamond",serif}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body.lecture-series{margin:0;background:var(--ls-paper);color:var(--ls-brown);font-family:"Noto Sans TC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.lecture-series .skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:#fff;color:var(--ls-brown);text-decoration:none;border:1px solid var(--ls-tan)}
.lecture-series .skip-link:focus{top:12px}
.lecture-series a:focus-visible,.lecture-series summary:focus-visible{outline:2px solid var(--ls-gold);outline-offset:3px}

/* 開頭：山林底圖加深色漸層 */
.ls-hero{position:relative;overflow:hidden;padding:136px 0 64px;color:#f5f0e8;background:radial-gradient(ellipse at 72% 40%,#1b3324 0%,#12241a 38%,var(--ls-ink) 78%)}
.ls-scene{position:absolute;inset:0;pointer-events:none}
.ls-scene .art{position:absolute;inset:0;width:100%;height:100%}
.ls-mist{position:absolute;left:-30%;width:160%;height:150px;top:46%;opacity:.45;filter:blur(18px);mix-blend-mode:screen;background:radial-gradient(ellipse at 20% 55%,rgba(236,241,232,.4),transparent 22%),radial-gradient(ellipse at 52% 45%,rgba(220,232,221,.32),transparent 26%),radial-gradient(ellipse at 82% 55%,rgba(236,241,232,.36),transparent 20%);animation:lsMist 22s ease-in-out infinite alternate}
.ls-mist-2{top:70%;opacity:.3;animation-duration:30s;animation-direction:alternate-reverse}
.ls-hero-inner{position:relative;z-index:2}
.ls-hero-inner{width:min(1120px,calc(100% - 48px));margin:0 auto}
.ls-core{margin:14px 0 0;font:500 clamp(20px,2.4vw,28px)/1.7 var(--ls-serif);letter-spacing:.14em;color:var(--ls-gold)}
.ls-hero h1{margin:0;font:600 clamp(38px,5.6vw,66px)/1.3 var(--ls-serif);letter-spacing:.08em;color:#f5f0e8;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.ls-hero-lead{max-width:32em;margin:18px 0 0;font-size:18px;line-height:2;color:rgba(245,240,232,.88)}
.ls-actions{margin:32px 0 0}
.ls-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 32px;background:var(--ls-tan);color:#fff;font-size:16px;letter-spacing:.12em;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.4);transition:transform .25s,background .25s}
.ls-btn:hover{background:#b48f60;transform:translateY(-2px)}
.ls-index{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ls-index a{display:block;height:100%;box-sizing:border-box;padding:22px 24px 24px;color:#f5f0e8;text-decoration:none;border:1px solid rgba(200,170,123,.35);background:rgba(245,240,232,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 18px 40px rgba(0,0,0,.28);transition:transform .25s,background .25s}
.ls-index a:hover{background:rgba(245,240,232,.16);transform:translateY(-4px)}
.ls-index .lc-t{display:block;font:600 21px/1.5 var(--ls-serif);letter-spacing:.04em}
.ls-index .lc-s{display:block;margin-top:6px;font-size:15px;line-height:1.7;color:rgba(245,240,232,.72)}

/* 各講：橫幅圖＋上拉的浮起內容卡 */
body .section.lec{padding:0 0 64px;background:var(--ls-paper)}
body .section.lec.lec-alt{background:var(--ls-cream)}
.lec-banner{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:220px;padding:0 0 100px;color:#f5f0e8;background:radial-gradient(ellipse at 78% 46%,#1d3626 0%,#13261b 45%,var(--ls-ink) 86%)}
.lec-banner .art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lec-banner-in{position:relative;z-index:2;width:min(1120px,calc(100% - 48px));margin:0 auto;padding-top:60px}
body .section.lec .lec-banner h2{margin:0;color:#f5f0e8;font-family:var(--ls-serif);font-weight:600;text-shadow:0 3px 24px rgba(0,0,0,.5)}
.lec .lec-sub{margin:10px 0 0;font-size:17px;line-height:1.8;color:rgba(245,240,232,.88)}
.lec-card{position:relative;box-sizing:border-box;width:min(1120px,calc(100% - 48px));margin:-84px auto 0;padding:44px 48px 28px;background:var(--ls-card);border:1px solid var(--ls-line);border-top:3px solid var(--ls-tan);box-shadow:0 34px 70px rgba(58,45,30,.2),0 2px 0 rgba(255,255,255,.7) inset}
.lec-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:48px;align-items:start}
.lec-cols.is-stack{grid-template-columns:minmax(0,1fr);gap:28px}
.lec-cols.is-stack .lec-body{max-width:46em}
.lec-cols.is-stack .lec-aside .lec-topics{columns:2;column-gap:40px}
.lec-cols.is-stack .lec-aside .lec-topics li{break-inside:avoid}
.lec-body p{margin:0 0 1.1em}
.lec-body .lec-pull,.lec-more-body .lec-pull{padding-left:18px;border-left:3px solid var(--ls-tan);font-family:var(--ls-serif);font-weight:500;color:#4a4039}
.lec-card h3{margin:2.2em 0 .7em;font:600 21px/1.6 var(--ls-serif);color:var(--ls-brown)}
.lec-card h4{margin:1.6em 0 .4em;font:600 17.5px/1.7 "Noto Sans TC",sans-serif;color:var(--ls-olive)}
.lec-card a{color:var(--ls-olive);text-decoration:underline;text-underline-offset:3px}
.lec-link{font-weight:500}

/* 重點卡：內容卡裡的右欄，加一層淡底 */
.lec-aside{box-sizing:border-box;padding:24px 26px 22px;background:linear-gradient(160deg,rgba(165,130,84,.13),rgba(165,130,84,.04));border:1px solid rgba(165,130,84,.28)}
.lec-aside h3{margin:0 0 12px;font:600 18px/1.6 var(--ls-serif)}
.lec-aside p{margin:0 0 12px}
.lec-aside .lec-note{margin:14px 0 0;color:rgba(89,79,71,.78)}
.lec-list{list-style:none;margin:0 0 1.2em;padding:0}
.lec-list li{position:relative;padding:0 0 0 18px;margin:0 0 .45em}
.lec-list li:before{content:"";position:absolute;left:0;top:.95em;width:7px;height:1px;background:var(--ls-tan)}
.lec-aside .lec-list{margin:0}

/* 引言、學員回饋 */
.lec-voice,.lec-story{margin:1.5em 0;padding:4px 0 4px 20px;border-left:1px solid var(--ls-tan);color:rgba(89,79,71,.92)}
.lec-voice p:last-child,.lec-story p:last-child{margin-bottom:0}
.lec-story{padding:22px 24px;border:1px solid var(--ls-line);border-left:3px solid var(--ls-tan);background:rgba(165,130,84,.07)}
.lec-qa .lec-reply{margin-top:-.4em;padding:14px 18px;background:rgba(96,99,48,.08);color:var(--ls-brown)}

/* 展開閱讀與詢問 */
.lec-more{margin-top:2em;border-top:1px solid var(--ls-line)}
.lec-more>summary{display:flex;align-items:center;gap:10px;padding:18px 0;cursor:pointer;list-style:none;font:500 16px/1.6 "Noto Sans TC",sans-serif;letter-spacing:.06em;color:var(--ls-olive)}
.lec-more>summary::-webkit-details-marker{display:none}
.lec-more>summary:after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lec-more[open]>summary:after{transform:rotate(-135deg) translateY(-2px)}
.lec-more-body{max-width:44em;padding-bottom:6px}
.lec-more-body>h3:first-child{margin-top:.4em}
.lec-card .lec-ask{margin:12px 0 0;padding-top:18px;border-top:1px solid var(--ls-line);text-align:right;font-size:16px}
.lec-card .lec-ask a{display:inline-block;padding:10px 22px;border:1px solid var(--ls-tan);color:var(--ls-brown);text-decoration:none;letter-spacing:.1em;transition:background .25s,color .25s}
.lec-card .lec-ask a:hover{background:var(--ls-tan);color:#fff}

/* 延伸閱讀：書封浮起 */
body .section.reading{background:linear-gradient(180deg,var(--ls-paper),var(--ls-cream));border-top:1px solid var(--ls-line)}
.rd-wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}
body .section.reading h2{margin:0 0 36px;font-family:var(--ls-serif);font-weight:600;color:var(--ls-brown)}
.rd-shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.rd-book{display:flex;flex-direction:column;align-items:center;gap:14px;color:inherit;text-decoration:none;text-align:center}
.rd-book img{width:min(224px,100%);aspect-ratio:224/292;height:auto;object-fit:contain;object-position:50% 100%;filter:drop-shadow(12px 20px 16px rgba(59,49,34,.28));transition:transform .3s}
.rd-book:hover img{transform:translateY(-6px) rotate(-1deg)}
.rd-title{font:600 17px/1.6 var(--ls-serif);color:var(--ls-brown)}
.rd-go{font-size:14px;color:var(--ls-olive);border-bottom:1px solid rgba(96,99,48,.4)}
.rd-more{margin:36px 0 0;text-align:center}
.rd-more a{color:var(--ls-olive);text-underline-offset:3px}

/* 老師介紹（與其他課程頁同一份內容） */
.ins{position:relative;overflow:hidden;background:#0c1712;color:#f5f0e8}
.ins:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 48%,rgba(165,104,87,.14),transparent 34%),radial-gradient(circle at 78% 18%,rgba(96,115,134,.14),transparent 36%)}
.ins-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:64px;align-items:center;padding:66px 0;width:min(1120px,calc(100% - 48px));margin:0 auto}
.ins-photo{position:relative;margin:0;padding:10px;border:1px solid rgba(200,170,123,.3);background:linear-gradient(145deg,rgba(96,115,134,.2),rgba(165,104,87,.18));box-shadow:0 24px 60px rgba(0,0,0,.3)}
.ins-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 38%}
.ins-label{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin-bottom:13px;color:var(--ls-gold);font-family:var(--ls-en);font-size:12px;font-weight:500;letter-spacing:.28em}
.ins-label:after{content:"";width:42px;height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.65}
.ins-copy h2{margin:0;font:600 clamp(34px,4vw,49px)/1.3 var(--ls-serif);letter-spacing:.07em;color:#f5f0e8}
.ins-role{margin:11px 0 25px;color:rgba(245,240,232,.5);font-family:var(--ls-en);font-size:14px;letter-spacing:.18em}
.ins-copy p{max-width:660px;margin:0 0 16px;color:rgba(245,240,232,.8);font-size:17px;line-height:1.8}
.ins-copy p:last-child{margin-bottom:0}


/* 抽象線條：金色流線、光點與漣漪，與靈修覺醒旅程頁同一套金線語彙 */
.art-line{fill:none;stroke:url(#g-gold);stroke-width:1.2;opacity:.42;stroke-linecap:round;vector-effect:non-scaling-stroke}
.art-flow{fill:none;stroke:url(#g-bright);stroke-width:2.1;stroke-linecap:round;stroke-dasharray:12 88;vector-effect:non-scaling-stroke;animation:artCurrent 6s linear infinite}
.art-axis{stroke:url(#g-bright);stroke-width:2.1;stroke-dasharray:60 160;animation:artAxis 4.6s linear infinite;vector-effect:non-scaling-stroke}
.art-ring{stroke:rgba(240,220,168,.34);stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:artBreathe 9.6s ease-in-out infinite}
.art-ripple{stroke:rgba(240,220,168,.5);stroke-width:1.2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:artRipple 8s ease-out infinite}
.art-orbit{stroke:url(#g-bright);stroke-width:1.6;stroke-linecap:round;opacity:.8;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:artSpin 30s linear infinite}
.art-node{opacity:.35;animation:artNode 3.2s ease-in-out infinite}
.art-halo{transform-box:fill-box;transform-origin:center;animation:artHalo 7s ease-in-out infinite alternate}
.art-dot{animation:artDot 5s ease-in-out infinite alternate}
@keyframes artCurrent{to{stroke-dashoffset:-100}}
@keyframes artAxis{to{stroke-dashoffset:-220}}
@keyframes artBreathe{0%,100%{transform:scale(.94);opacity:.5}50%{transform:scale(1.06);opacity:1}}
@keyframes artRipple{0%{transform:scale(.06);opacity:0}12%{opacity:.9}100%{transform:scale(1);opacity:0}}
@keyframes artSpin{to{transform:rotate(360deg)}}
@keyframes artNode{0%,100%{opacity:.3;transform:scale(1)}40%{opacity:1}}
@keyframes artHalo{0%{opacity:.6;transform:scale(.92)}100%{opacity:1;transform:scale(1.08)}}
@keyframes artDot{0%{opacity:.75}100%{opacity:1}}
@keyframes lsMist{0%{transform:translate3d(-8%,0,0)}100%{transform:translate3d(12%,6px,0)}}
@media(max-width:860px){.ls-scene .art{width:170%;left:-60%}.lec-banner .art{width:150%;left:-50%}}
@media(prefers-reduced-motion:reduce){.art-flow,.art-axis,.art-ring,.art-ripple,.art-orbit,.art-node,.art-halo,.art-dot,.ls-mist{animation:none}.art-ripple{opacity:.25;transform:scale(.6)}.art-flow{stroke-dasharray:none;opacity:.35}}

/* 手機版固定的詢問按鈕 */
.ls-cta{display:none}
@media(max-width:980px){.ls-index{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
  .ls-hero{padding:96px 0 44px}
  .ls-core{letter-spacing:.08em}
  .ls-hero-lead{font-size:17px}
  .ls-index{margin-top:36px;gap:12px}
  .ls-index a{padding:16px 16px 18px}
  .ls-index .lc-t{font-size:18px}
  body .section.lec{padding-bottom:48px}
  .lec-banner{min-height:170px;padding-bottom:80px}
  .lec-banner-in{padding-top:48px}
  .lec-cols.is-stack .lec-aside .lec-topics{columns:1}
  .lec-card{width:calc(100% - 32px);margin-top:-64px;padding:26px 20px 20px}
  .lec-cols{grid-template-columns:minmax(0,1fr);gap:26px}
  .lec-aside{padding:20px 20px 18px}
  .lec-story{padding:18px 18px}
  .rd-shelf{gap:28px 18px}
  .ins-layout{grid-template-columns:1fr;gap:34px;padding:54px 0}
  .ins-photo{width:min(330px,100%);margin:0 auto}
  .ls-cta{display:block;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40}
  .ls-cta a{display:flex;align-items:center;justify-content:center;min-height:50px;background:var(--ls-tan);color:#fff;font-size:16px;letter-spacing:.12em;text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.35)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ls-btn,.ls-index a,.rd-book img,.lec-more>summary:after{transition:none}}

/* 講次標示 */
body .section.lec .lec-banner .lec-no{margin:0 0 10px;font:600 15px/1.4 var(--ls-serif);letter-spacing:.3em;color:#d4b271;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.ls-index .lc-n{display:block;margin-bottom:8px;font:600 14px/1.4 var(--ls-serif);letter-spacing:.24em;color:#d4b271}

/* 四講各自的底圖（暗綠金調，壓在光流之下） */
.lec-photo{position:absolute;inset:0;z-index:0;display:block;overflow:hidden}
.lec-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.85)}
.lec-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,15,.94) 0%,rgba(10,22,15,.74) 42%,rgba(19,38,27,.38) 100%),linear-gradient(0deg,rgba(10,22,15,.55),rgba(10,22,15,0) 45%)}
.lec-banner .art{z-index:1}
.ls-index a{position:relative;overflow:hidden}
.ls-index .lc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;z-index:0;filter:saturate(.8);transition:opacity .35s,transform .6s}
.ls-index a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,22,15,.35),rgba(10,22,15,.78))}
.ls-index a:hover .lc-img{opacity:.5;transform:scale(1.05)}
.ls-index .lc-n,.ls-index .lc-t,.ls-index .lc-s{position:relative;z-index:2}
@media(max-width:860px){.lec-photo img{object-position:60% 50%!important}}
@media(prefers-reduced-motion:reduce){.ls-index .lc-img{transition:none}.ls-index a:hover .lc-img{transform:none}}

/* 橫幅左側文字區：光流淡出，標題與副標不被線條穿過 */
.lec-banner .art{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 58%);mask-image:linear-gradient(90deg,transparent 0,transparent 22%,#000 58%)}
body .section.lec .lec-banner .lec-sub{text-shadow:0 2px 14px rgba(0,0,0,.65)}
@media(max-width:860px){.lec-banner .art{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 8%,#000 52%);mask-image:linear-gradient(90deg,transparent 0,transparent 8%,#000 52%)}}
