@font-face{font-family:RuthSans;src:url('assets/dm-sans-regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:RuthSerif;src:url('assets/serif.ttf') format('truetype');font-display:swap}
:root{--studio-ink:#0c2235;--studio-sage:#e2edf1;--studio-paper:#faf7f0;--studio-clay:#997226;--studio-gold:#d9b76e}
body{font-family:RuthSans,Arial,sans-serif;background:#f5f3eb;color:var(--studio-ink)}
h1,h2,.studio-next h3{font-family:RuthSerif,Georgia,serif;font-weight:400;letter-spacing:-.025em}
.ruth-studio #topofscroll{max-width:1280px!important;background:transparent!important;padding:24px!important}
.ruth-studio #page-header{background:transparent;padding-bottom:12px}.ruth-studio #page-header h1{font-size:clamp(1.8rem,3vw,2.8rem);max-width:850px}
.ruth-studio #region-main{background:transparent!important;overflow:visible}.ruth-studio .secondary-navigation{background:transparent;border-bottom:1px solid #e2edf1}
.studio-hero{display:grid;grid-template-columns:1.35fr 1fr;background:var(--studio-ink);color:#fffdf7;border-radius:24px;overflow:hidden;margin:12px 0 32px;box-shadow:0 16px 40px #0c223514}
.studio-hero-copy{padding:38px;min-width:0}.studio-eyebrow{font-size:.69rem;letter-spacing:.18em;font-weight:700;line-height:1.5;margin:0 0 12px;color:var(--studio-clay)}
.studio-hero .studio-eyebrow{color:#e8ce94}.studio-hero h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.09;color:#fffdf7;margin:0 0 16px}.studio-intro{font-size:.98rem;line-height:1.7;color:#e2edf1;max-width:480px}
.studio-hero-visual{background:linear-gradient(0deg,#0c2235b3,#0c223533),url('assets/practice-room.png') center/cover;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:310px;padding:24px;position:relative}
.studio-ring{width:150px;height:150px;border-radius:50%;background:radial-gradient(closest-side,#0c2235 82%,transparent 84%),conic-gradient(#f1d697 var(--progress),#ffffff42 0);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 12px #ffffff10}.studio-ring strong{font-size:2.5rem;font-weight:400}.studio-ring span{font-size:.72rem;color:#e2edf1}.studio-visual-caption{margin:24px 0 0;font-size:.8rem;color:white;letter-spacing:.03em}
.studio-meter{margin:18px 0 0}.studio-meter-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;margin-bottom:8px}.studio-meter-label strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.studio-meter progress{display:block;width:100%;height:8px;border:0;border-radius:20px;background:#e2edf1;overflow:hidden;appearance:none}.studio-meter progress::-webkit-progress-bar{background:#e2edf1;border-radius:20px}.studio-meter progress::-webkit-progress-value{background:#315a73;border-radius:20px;transition:width .35s}.studio-meter progress::-moz-progress-bar{background:#315a73;border-radius:20px}.studio-hero progress::-webkit-progress-bar{background:#ffffff26}.studio-hero progress::-webkit-progress-value{background:#edcc83}.studio-hero progress::-moz-progress-bar{background:#edcc83}
.studio-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}.studio-button{display:inline-flex;align-items:center;justify-content:center;background:#997226;border:1px solid #997226;color:#fff!important;border-radius:100px;padding:12px 22px;font-weight:600;font-size:.88rem;text-decoration:none!important;box-shadow:0 5px 15px #76571d14;transition:transform .2s,background .2s}.studio-button:hover{background:#76571d;transform:translateY(-2px)}.studio-hero .studio-button{background:#edcc83;border-color:#edcc83;color:#0c2235!important}.studio-text-link{color:inherit!important;text-underline-offset:5px;font-size:.84rem}
.studio-trail{background:white;border:1px solid #e2edf1;border-radius:18px;margin:8px 0 22px}.studio-trail .studio-hero-copy{padding:16px 24px;display:grid;grid-template-columns:1fr 1fr;gap:6px 32px}.studio-trail .studio-eyebrow{grid-column:1/-1;margin:0}.studio-trail .studio-meter{margin:5px 0}.studio-announcement{display:none}.studio-announcement.is-visible{display:block;background:#e2edf1;border-radius:12px;padding:14px 20px;font-size:.9rem;color:#102c42}
.studio-outline li.section{border:1px solid #e2edf1!important;background:#fffdf8;border-radius:20px!important;margin-bottom:22px!important;padding:22px!important;box-shadow:0 6px 22px #0c223506;position:relative}.studio-outline li.section:nth-child(3n+2){border-top:4px solid #6b8fa3!important}.studio-outline li.section:nth-child(3n+3){border-top:4px solid #c9982c!important}.studio-outline li.section:nth-child(3n+4){border-top:4px solid #c9982c!important}
.studio-outline .sectionname{font-size:1.4rem!important;line-height:1.3}.studio-outline .sectionname a{color:#0c2235!important}.studio-section-progress{padding:0 10px 16px;max-width:620px}.studio-section-progress .studio-meter{margin-top:12px}.studio-section-note{display:block;font-size:.75rem;color:#315a73;margin-top:7px}.ruth-section-card{display:inline-block;vertical-align:top;max-width:48%;margin:10px 1% 12px 0;padding:16px 18px;background:#e2edf1;border-radius:12px;font-size:.83rem;line-height:1.55}.ruth-section-card strong{color:#102c42}.ruth-section-card p{margin:8px 0 0}.studio-outline .section .summary>p{font-size:.9rem;line-height:1.65;color:#102c42}.studio-outline .section .summary>p:nth-child(2){font-size:.77rem;color:#315a73}
.ruth-studio .activity-item{border:0!important;background:transparent!important;padding:14px 16px!important}.studio-h5pactivity{background:#f3f6f5;border:1px solid #e2edf1;border-radius:14px;margin-top:14px!important}.studio-h5pactivity .activityname a{font-size:1.02rem;font-weight:600}.studio-kind{display:block;font-size:.61rem;letter-spacing:.13em;color:#315a73;margin:0 0 5px;font-weight:700}.studio-ruthworkbook{margin:0 0 12px 38px!important;border-left:2px solid #b8d0dd;border-radius:0 0 12px 0;background:#fbfaf5}.studio-ruthworkbook .activity-item{padding:8px 16px!important}.studio-ruthworkbook .activityname a{font-size:.88rem!important}.studio-ruthworkbook .activityiconcontainer{width:30px!important;height:30px!important;background:#e2edf1!important}.studio-ruthworkbook .activityicon{width:19px!important;height:19px!important}.studio-ruthworkbook .studio-kind{color:#76571d}.studio-quiz{background:#f5eddd;border:1px solid #e6d8b9;border-radius:14px;margin-top:18px!important}.studio-complete .studio-kind{color:#102c42}.studio-complete .studio-kind::after{content:' · COMPLETE';font-size:.58rem}.ruth-studio .activityiconcontainer{border-radius:12px!important;background:#e2edf1!important}.ruth-studio .activity-completion button{font-size:.75rem;border-radius:30px}.ruth-studio .activityiconcontainer img{filter:grayscale(1)}
.ruth-studio .studio-player{display:block;width:100%;border:0;border-radius:16px;background:#0c2235;box-shadow:0 12px 35px #0c22351c}.studio-video-label{margin:8px 0 10px}.studio-lesson .ruth-lesson-notes{background:#fffdf8;border:1px solid #e2edf1;border-radius:16px;padding:24px;margin-top:22px;line-height:1.8;font-size:.94rem}.ruth-lesson-notes details summary{padding:10px 0;color:#102c42;cursor:pointer}.studio-next{margin:24px 0;padding:28px;background:linear-gradient(120deg,#e2edf1,#f5eedc);border:1px solid #e2edf1;border-radius:20px;position:relative;overflow:hidden}.studio-next::after{content:'↗';position:absolute;right:20px;top:2px;font-size:7rem;line-height:1;color:#315a7320;pointer-events:none}.studio-next h3{font-size:1.8rem;max-width:80%}.studio-next>p:not(.studio-eyebrow){max-width:630px;font-size:.94rem;line-height:1.7}.studio-next .studio-button{margin-top:6px}
.ruth-studio .ruth-workbook{max-width:900px;margin:auto;background:#fffdf8;padding:28px;border-radius:20px;border:1px solid #e2edf1}.ruth-studio .ruth-workbook h2{font-size:2.2rem}.ruth-studio #ruth-editor fieldset{background:#f3f6f5;border-color:#e2edf1;border-radius:14px;padding:22px}.ruth-studio #ruth-editor textarea,.ruth-studio #ruth-editor select,.ruth-studio #ruth-editor input:not([type=checkbox]){border-radius:10px;border-color:#b8d0dd}.ruth-studio #ruth-editor textarea:focus{outline:2px solid #6b8fa3;outline-offset:2px}.ruth-studio #ruth-editor small{color:#102c42}.ruth-studio .btn-primary{border-radius:30px;padding:10px 20px}.ruth-studio .activity-description:has(+ .ruth-workbook){display:none}
.ruth-school{max-width:1180px}.ruth-school>h1{max-width:850px}.ruth-school .school-card{border-top:5px solid #6b8fa3;background:linear-gradient(135deg,#fffdf8,#f3f6f5);box-shadow:0 10px 35px #0c22350a;padding:30px;border-radius:20px}.ruth-school .school-card:nth-child(2n){border-top-color:#c9982c}.ruth-school .school-card h2{font-family:RuthSerif,Georgia,serif;font-size:1.8rem}.ruth-school .gentle-note{background:linear-gradient(100deg,#0c2235,#102c42);color:#fffdf7;padding:36px;border-radius:22px}.ruth-school .gentle-note .eyebrow{color:#e8cc95}.ruth-school .gentle-note a{color:#fffdf7;text-underline-offset:4px}.ruth-school .school-nav a{transition:transform .2s}.ruth-school .school-nav a:hover{transform:translateY(-3px)}
@media(min-width:1000px){.studio-lesson #topofscroll{max-width:1100px!important}.studio-lesson #page-header h1{font-size:2.1rem}.studio-lesson .secondary-navigation .moremenu{height:48px}}
@media(max-width:767px){.ruth-studio #topofscroll{padding:14px!important}.studio-hero{grid-template-columns:1fr;border-radius:18px}.studio-hero-copy{padding:26px}.studio-hero-visual{min-height:150px;flex-direction:row;gap:22px;justify-content:flex-start}.studio-ring{width:108px;height:108px;flex-shrink:0}.studio-ring strong{font-size:1.8rem}.studio-ring span{font-size:.6rem}.studio-visual-caption{max-width:130px;margin:0;line-height:1.7}.studio-trail .studio-hero-copy{padding:14px 18px;gap:12px;grid-template-columns:1fr}.studio-outline li.section{padding:15px!important}.studio-ruthworkbook{margin-left:18px!important}.ruth-section-card{max-width:100%;display:block}.studio-next{padding:22px}.studio-next h3{font-size:1.5rem}.ruth-studio .ruth-workbook{padding:18px}.studio-actions{gap:15px}.studio-meter-label{font-size:.74rem}.ruth-studio .activity-item{padding:12px 8px!important}.studio-outline .sectionname{font-size:1.22rem!important}}
@media(prefers-reduced-motion:reduce){.studio-button,.studio-meter progress,.ruth-school .school-nav a{transition:none!important}.studio-button:hover,.ruth-school .school-nav a:hover{transform:none}}
.path-mod-ruthworkbook.ruth-studio .activity-description{display:none}.path-mod-ruthworkbook.ruth-studio .ruth-workbook>h2{display:none}
/* Approved course design, September 2026. Native Moodle controls remain intact. */
:root{--studio-ink:#102c42;--studio-paper:#fbf8ef;--studio-sage:#d7e8ef;--studio-clay:#87651f}
.navbar .navbar-brand{display:flex!important;align-items:center}.navbar .navbar-brand .logo{width:180px;height:54px;max-height:54px;object-fit:contain}.login-logo img{width:300px;max-width:100%;height:auto;max-height:110px}
.studio-hero,.studio-trail,.studio-next,.studio-outline li.section,.ruth-studio .ruth-workbook{border-radius:8px!important}.studio-button,.ruth-studio .btn-primary{border-radius:5px}.studio-hero-copy{padding:38px}.studio-progress-message{font-size:.76rem;line-height:1.6;margin:10px 0 0;color:#315a73}.studio-hero .studio-progress-message{color:#e2edf1}
.studio-trail{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;padding:20px 24px;background:#fffdf7}.studio-progress-card{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:18px;min-width:0}.studio-progress-card .studio-meter{margin:0}.studio-ring-small{width:64px;height:64px;box-shadow:none;flex-shrink:0;background:radial-gradient(closest-side,#fffdf7 78%,transparent 80%),conic-gradient(#315a73 var(--progress),#e2edf1 0)}.studio-ring-small strong{font-size:1.1rem;color:#102c42}.studio-progress-explainer{grid-column:1/-1;font-size:.67rem;color:#315a73;margin:0;border-top:1px solid #e2edf1;padding-top:12px}
.studio-chapter-collection{margin:45px 0}.studio-chapter-collection>h2{font-size:2rem;margin:0 0 26px}.studio-chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.studio-chapter-card{background:#fffdf7;border:1px solid #e2edf1;border-radius:6px;overflow:hidden}.studio-card-picture{display:block;overflow:hidden}.studio-card-picture img{display:block;aspect-ratio:16/10;width:100%;object-fit:cover;transition:transform .3s}.studio-card-picture:hover img{transform:scale(1.025)}.studio-card-copy{padding:22px}.studio-card-copy h3{font-family:RuthSerif,Georgia,serif;font-size:1.5rem;line-height:1.25;min-height:3.75rem;margin:8px 0 20px}.studio-card-copy h3 a{color:#102c42}.studio-card-copy .studio-eyebrow{font-size:.62rem;margin:0}.studio-card-copy .studio-meter-label{font-size:.7rem}.studio-chapter-card.is-locked .studio-card-picture{opacity:.72}.studio-art-note{font-size:.68rem;color:#315a73;margin:18px 0}.studio-section-art{display:block;width:100%;max-height:320px;object-fit:cover;margin:8px 0 24px;border-radius:5px}
.studio-lesson-nav{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 20px;font-size:.8rem}.studio-lesson-nav a{color:#102c42;text-underline-offset:5px}.studio-watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start;margin:26px 0}.studio-watch-main{min-width:0}.studio-watch-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.studio-watch-top .studio-eyebrow{margin:0;font-size:.64rem}.studio-focus-button{border:1px solid #b8d0dd;background:#fffdf7;border-radius:4px;padding:8px 12px;color:#102c42;font-size:.72rem;cursor:pointer}.studio-focus-button:hover{background:#e2edf1}.studio-watch-guide{background:#e2edf1;border:1px solid #e2edf1;border-radius:5px;overflow:hidden}.studio-guide-art{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin:0 0 22px}.studio-watch-guide>.studio-eyebrow,.studio-watch-guide>h3,.studio-watch-guide>ol,.studio-guide-note{margin-left:20px;margin-right:20px}.studio-watch-guide>.studio-eyebrow{font-size:.57rem}.studio-watch-guide h3{font-family:RuthSerif,Georgia,serif;font-size:1.45rem;line-height:1.3}.studio-watch-guide ol{padding-left:18px;font-size:.8rem;line-height:2.2}.studio-guide-note{font-size:.72rem;line-height:1.7;color:#315a73;margin-bottom:22px}.ruth-studio .studio-player{border-radius:5px}.studio-lesson .ruth-lesson-notes{border-radius:5px}.studio-focus .studio-watch-guide,.studio-focus .studio-trail,.studio-focus .studio-lesson-nav{display:none}.studio-focus .studio-watch-layout{grid-template-columns:minmax(0,1fr)}
.studio-workbook-banner{display:grid;grid-template-columns:200px 1fr;background:#e2edf1;border-radius:5px;overflow:hidden;margin:24px 0}.studio-workbook-banner img{width:100%;height:100%;object-fit:cover;max-height:220px}.studio-workbook-banner>div{padding:26px}.studio-workbook-banner h2{font-size:2rem}.studio-workbook-banner p:last-child{font-size:.86rem;line-height:1.7;margin:0}.ruth-studio .que .formulation{background:#fffdf7;border:1px solid #e2edf1;border-radius:6px;padding:26px}.ruth-studio .que .info{background:#e2edf1;border:1px solid #e2edf1;border-radius:6px}.ruth-studio .que .qtext{font-size:1.08rem;line-height:1.75}.ruth-studio .que .answer>div{padding:13px 10px;border-bottom:1px solid #e2edf1}.ruth-studio .que .answer input{accent-color:#102c42}.ruth-studio .que .outcome{background:#f5edda;border-radius:6px}.ruth-studio .quizreviewsummary{background:#fffdf7}.ruth-studio .drawer-left{background:#e2edf1}.ruth-studio .courseindex .courseindex-item.pageitem{background:#102c42;color:white}.ruth-studio :focus-visible{outline:3px solid #76571d;outline-offset:3px}
@media(min-width:1000px){.studio-lesson #topofscroll{max-width:1280px!important}}
@media(max-width:1000px){.studio-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-watch-layout{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:767px){.navbar .navbar-brand .logo{width:132px;height:44px;max-height:44px}.navbar .navbar-brand{margin-right:8px!important}.studio-trail{grid-template-columns:1fr;padding:18px;gap:18px}.studio-progress-card{grid-template-columns:56px 1fr;gap:14px}.studio-ring-small{width:56px;height:56px}.studio-ring-small strong{font-size:1rem}.studio-watch-layout{grid-template-columns:minmax(0,1fr)}.studio-watch-guide{display:none}.studio-chapter-grid{gap:16px}.studio-card-copy{padding:16px}.studio-card-copy h3{font-size:1.2rem}.studio-workbook-banner{grid-template-columns:110px 1fr}.studio-workbook-banner>div{padding:18px}.studio-workbook-banner h2{font-size:1.5rem}.studio-workbook-banner p:last-child{font-size:.78rem}.studio-lesson-nav{gap:14px;font-size:.75rem}.studio-hero-copy{padding:26px}}
@media(max-width:500px){.studio-chapter-grid{grid-template-columns:1fr}.studio-card-copy h3{min-height:0;font-size:1.5rem}.studio-workbook-banner{grid-template-columns:1fr}.studio-workbook-banner img{height:150px}.studio-watch-top{align-items:flex-start}.studio-watch-top .studio-eyebrow{max-width:100px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.studio-card-picture img{transition:none}.studio-card-picture:hover img{transform:none}}

/* Keep native course navigation readable, including dynamically loaded items. */
.drawer-left .courseindex .courseindex-link,.drawer-left .courseindex [data-for="section_title"]{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:anywhere;min-width:0;flex:1;line-height:1.45}
.drawer-left .courseindex .courseindex-item{align-items:flex-start;padding-top:10px;padding-bottom:10px}
.drawer-left .courseindex .courseindex-section-title{margin-top:7px}
.drawer-left .courseindex .courseindex-chevron,.drawer-left .courseindex .completioninfo{flex-shrink:0;margin-top:2px}
.drawer-left .drawerheader{height:auto;min-height:60px;align-items:flex-start;padding-top:12px;padding-bottom:12px}
.drawer-left #courseindexdrawerheading,.drawer-left #courseindexdrawerheading .courseindex-link{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;line-height:1.35}
.drawer-left .drawercontent{height:calc(100% - 100px)}
.studio-location{padding:12px 16px;background:var(--studio-sage);border-radius:6px;font-size:.9rem;line-height:1.5}
.studio-resume-name{margin-top:16px;font-size:.87rem;color:#f2efdf;line-height:1.5}
.studio-next .studio-text-link{display:inline-block;margin:12px 18px}
.studio-watch-guide ol{line-height:1.65!important}.studio-watch-guide li{margin-bottom:12px}
.studio-lesson-nav a{padding:6px 0}
@media(min-width:992px){#theme_boost-drawers-courseindex.drawer{width:340px!important;max-width:340px!important}#theme_boost-drawers-courseindex.drawer:not(.show){left:-340px}#page.drawers.show-drawer-left{margin-left:340px!important}}
@media(max-width:991px){.drawer.drawer-left{max-width:calc(100vw - 24px)}}
