/* Course page only. The homepage and existing lecture page keep their approved styles. */
[hidden]{display:none!important}
body{--muted:#604d3f}
.eyebrow,.course-index{color:#704a35}
.crumb{color:#604d3f}
.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:#fffdf8;color:#392c26;padding:12px 20px;border:2px solid #6d3028}
.skip-link:focus{top:10px}
section[id],article[id]{scroll-margin-top:28px}
.practice-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#faf7f0,#f2e9db);border-bottom:1px solid var(--line)}
.practice-hero .crumb{margin-top:24px}
.practice-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:65px 0 90px}
.practice-hero h1{font:500 clamp(46px,5.6vw,75px)/1.5 var(--serif);letter-spacing:.09em;margin:22px 0 15px;color:#4a2f25}
.hero-lead{font:500 21px/1.9 var(--serif);color:#594332;margin-bottom:18px}
.hero-description{color:var(--muted);margin-bottom:30px;font-size:17px}
.hero-aside{text-align:center;color:#68513d;font-family:var(--serif);font-size:16px;line-height:2;letter-spacing:.12em}
.practice-orbit{width:min(330px,100%);aspect-ratio:1;margin:0 auto 42px;border:1px solid #bda587;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse at 55% 43%,#e7d7ba66,transparent 70%)}
.practice-orbit:before{content:'';position:absolute;inset:28px;border:1px solid #cbb89b;border-radius:50%}
.practice-orbit:after{content:'';position:absolute;inset:63px;border:1px solid #d4c5af;border-radius:50%}
.practice-orbit span{font:500 36px/1.65 var(--serif);letter-spacing:.3em;padding-left:.3em;color:#75513a}
.practice-orbit i{position:absolute;top:18%;right:10%;width:10px;height:10px;border-radius:50%;background:#8d6444;box-shadow:0 0 0 8px #b99a6d16}
.practice-schedule{background:#fffdf8}
.schedule-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.schedule-table{width:100%;border-collapse:collapse;font-size:16px;text-align:left}
.schedule-table caption{text-align:left;font-family:var(--serif);font-size:22px;padding-bottom:20px;color:#4a3025}
.schedule-table thead{background:#f0e7d9}
.schedule-table th,.schedule-table td{padding:19px 16px;border-bottom:1px solid #ded1bf;vertical-align:middle}
.schedule-table thead th{font-size:14px;font-weight:600;color:#594332}
.schedule-table tbody th{font-weight:500;color:#4f3024}
.schedule-table a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#baa78e}
.schedule-table tbody tr:last-child{background:#f8f3eb}
.schedule-table td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.schedule-note{margin:18px 0 0;max-width:640px}
.quiet-link{display:inline-block;color:#6d3028;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.quiet-link:hover{color:#392c26}
.course-directory{padding:80px 0 60px;background:#f2ebe0}
.course-jump{display:grid;grid-template-columns:repeat(5,1fr);margin-top:36px;border-top:1px solid #c9b69f;border-bottom:1px solid #c9b69f}
.course-jump a{display:flex;align-items:center;gap:10px;padding:20px 12px;font-size:16px;border-right:1px solid #d6c7b3}
.course-jump a:last-child{border-right:0}
.course-jump a:hover{background:#e9ddcb}
.course-jump a>span:last-child{margin-left:auto}
.course-index{font:18px var(--serif);color:#704a35}
.course-section{padding:86px 0;background:#fffcf7;border-bottom:1px solid var(--line)}
.course-section:nth-of-type(even){background:#f7f1e7}
.course-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px}
.course-heading{padding-top:8px}
.course-number{display:block;font:500 58px/1 var(--serif);color:#866248;margin-bottom:28px}
.course-heading .eyebrow{letter-spacing:.05em;margin-bottom:12px;font-size:14px}
.course-heading h2{font:500 clamp(30px,3vw,40px)/1.5 var(--serif);letter-spacing:.045em;margin-bottom:12px}
.course-subtitle{font-family:var(--serif);font-size:19px;color:#6c4a36;margin-bottom:28px}
.course-reading{max-width:720px}
.story{border-left:2px solid #a57c53;padding:0 0 0 28px;margin-bottom:34px}
.story-label{font-size:14px;color:#71513c;letter-spacing:.08em}
.story p{font:500 20px/2 var(--serif);color:#4c372a;margin:14px 0 0}
.course-intro h3,.course-details h3{font:600 17px/1.8 var(--serif);color:#6d3028;margin:0 0 12px}
.course-intro p{color:var(--muted);line-height:2;margin-bottom:28px}
.course-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid #ddcfbc;padding-top:25px;font-size:16px}
.course-details ul{padding-left:1.2em;margin:0;color:#625042}
.course-details p{color:#625042;margin-bottom:12px}
.practice-registration{background:#66372d;color:#fff9f0}
.practice-registration .eyebrow{color:#f3d6b6}
.practice-registration .section-head p{color:#f3dfcd}
.registration-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.registration-panel{background:#fffaf1;border:1px solid #d9bda0;padding:36px;color:#392c26;border-radius:4px}
.registration-panel h3{font:500 25px/1.6 var(--serif);margin-bottom:16px}
.registration-panel p{color:#665043}
.registration-panel .small-note{font-size:14px;line-height:1.9}
.practice-desktop-form iframe{display:block;width:100%;height:1450px;border:0;background:white}
.practice-desktop-form .small-note a{text-decoration:underline;text-underline-offset:4px}
.practice-mobile-form{display:none}
.practice-visit{background:#ede4d6}
.visit-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.visit-layout p{color:#5d493a;line-height:2}
.parking-note{font-size:15px;border-left:2px solid #a37c53;padding-left:18px}
.visit-layout .actions{align-items:center;gap:20px}
@media(max-width:1060px){.practice-hero-grid{gap:35px}.schedule-layout,.course-layout,.registration-layout,.visit-layout{gap:40px}.course-jump{grid-template-columns:repeat(3,1fr)}.course-jump a{border-bottom:1px solid #d6c7b3}.course-jump a:nth-child(3){border-right:0}.course-jump a:nth-last-child(-n+2){border-bottom:0}.course-jump a:last-child{border-right:1px solid #d6c7b3}}
@media(max-width:800px){.practice-hero-grid{grid-template-columns:1fr .6fr}.practice-hero h1{font-size:48px}.practice-orbit span{font-size:28px}.practice-orbit:after{inset:45px}.schedule-layout{grid-template-columns:1fr;gap:25px}.schedule-layout .section-head br{display:none}.course-layout{grid-template-columns:.7fr 1.3fr;gap:30px}.course-details{grid-template-columns:1fr;gap:22px}.course-number{font-size:45px}}
@media(max-width:710px){.practice-hero .crumb{font-size:14px;margin-top:18px}.practice-hero-grid{grid-template-columns:1fr;padding:42px 0 60px;gap:0}.practice-hero h1{font-size:46px;letter-spacing:.06em}.hero-lead{font-size:19px}.hero-description{font-size:16px}.hero-aside{display:none}.desktop-break{display:none}.schedule-table th,.schedule-table td{padding:17px 9px;font-size:15px}.schedule-table thead th{font-size:14px}.schedule-table tbody th{width:40%}.schedule-table td:nth-child(2){width:29%}.schedule-table td:last-child{white-space:normal;width:31%}.schedule-table time{white-space:nowrap;font-size:14px}.course-directory{padding:60px 0 35px}.course-jump{grid-template-columns:1fr 1fr;margin-top:25px}.course-jump a{font-size:15px;padding:17px 10px;border-right:1px solid #d6c7b3}.course-jump a:nth-child(3){border-right:1px solid #d6c7b3}.course-jump a:nth-child(even){border-right:0}.course-jump a:nth-last-child(2){border-bottom:1px solid #d6c7b3}.course-jump a:last-child{grid-column:1/-1;border-right:0}.course-section{padding:54px 0}.course-layout{grid-template-columns:1fr;gap:30px}.course-number{font-size:32px;float:right;margin:8px 0 0 12px}.course-heading h2{font-size:31px}.course-subtitle{font-size:18px;margin-bottom:12px}.course-heading .quiet-link{font-size:14px}.story{padding-left:20px;margin-bottom:28px}.story p{font-size:19px;line-height:1.95}.course-details{grid-template-columns:1fr 1fr;gap:20px}.registration-layout,.visit-layout{grid-template-columns:1fr;gap:24px}.registration-panel{padding:26px 20px}.practice-desktop-form{display:none}.practice-mobile-form{display:block}.practice-mobile-form .button{width:100%;min-height:52px}.practice-visit .section-head h2 br{display:none}}
@media(max-width:375px){.practice-hero h1{font-size:40px}.course-details{grid-template-columns:1fr}.schedule-table th,.schedule-table td{padding-inline:5px}.schedule-table time{font-size:14px;letter-spacing:-.04em}.course-jump a{gap:6px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* 各班線條圖案（抽象示意，非宗教圖像） */
.course-motif{display:block;width:96px;height:96px;color:#a27c57;margin:0 0 22px -6px}
@media(max-width:710px){.course-motif{width:64px;height:64px;margin:0 0 14px -4px}}
