@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#163f3d;--muted:#5d706d;--bg:#f6f7f2;--line:#dbe3dd;--green:#dbeadd;--accent:#b94e38}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}header{max-width:1440px;margin:auto;min-height:100px;padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}a{color:inherit}button,input,select{font:inherit}button,.button{cursor:pointer;background:var(--ink);color:white;border:1px solid var(--ink);padding:12px 19px;border-radius:6px;text-decoration:none;display:inline-flex;gap:28px;align-items:center}button:hover,.button:hover{background:#28615c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb673c;outline-offset:3px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.3;font-size:14px}.brand b{display:block;font-size:18px}.brandmark{font-size:34px}nav{display:flex;gap:27px;font-size:14px}nav a{text-decoration:none}.course{font-size:11px;letter-spacing:1px;text-transform:uppercase}main{max-width:1320px;padding:0 4%;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:68px 0 50px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px}h1{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:clamp(42px,5.1vw,72px);line-height:1.06;letter-spacing:-1px;margin:23px 0}h1 em{font-weight:400;color:#547d65}p{color:var(--muted)}.hero p{font-size:15px;max-width:550px;margin:25px 0}.textlink{display:block;font-size:13px;margin-top:16px;text-decoration:none}.herostats{display:flex;gap:25px;padding-top:35px;margin-top:10px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.4px}.herostats b{display:block;font-size:25px;line-height:1.2}.heroart{position:relative;background:#e4ede5;border-radius:12px;padding:35px 0 28px;overflow:hidden}.status{font-size:10px;letter-spacing:1.3px;margin:0 30px 25px;display:flex;gap:8px;align-items:center}.status i{height:7px;width:7px;background:#518369;border-radius:50%}.heroart svg{width:100%;margin:20px 0}.artcaption{padding:0 30px}.artcaption span{font-size:9px;letter-spacing:1.5px}.artcaption p{color:var(--ink);font-size:24px;font-family:Georgia;line-height:1.3}.artnumber{position:absolute;bottom:26px;right:25px;font-size:12px}.progressbox{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border:1px solid var(--line);border-radius:8px;background:white;gap:25px}.progressbox p{margin:3px 0 0;font-size:12px}.progressright{min-width:210px;font-size:12px}progress{display:block;width:100%;height:8px;margin-top:10px;accent-color:var(--ink)}section#journey,section#resources{padding:58px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:40px;line-height:1.1;font-weight:400;margin:12px 0}.sectionhead p{font-size:13px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.weekcard{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;text-align:left;display:block;color:var(--ink);min-height:215px;transition:transform .15s}.weekcard:hover{background:#edf3ed;transform:translateY(-3px)}.weekcard.active{background:var(--ink);color:white}.weekcard.active p{color:#cfddd7}.weekcard span{font-size:11px;letter-spacing:1px}.weekcard h3{font-size:18px;line-height:1.3;margin:16px 0 9px}.weekcard p{font-size:12px;line-height:1.5;margin:0}.weekcard .bottom{margin-top:24px;display:flex;justify-content:space-between;font-size:11px}.module{background:white;border:1px solid var(--line);border-radius:10px;margin-top:25px;padding:35px}.modulehead{display:flex;justify-content:space-between;gap:15px;align-items:start}.modulehead h2{font-size:34px}.modulehead p{font-size:14px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:25px}.tabs button{color:var(--muted);background:transparent;border:0;font-size:13px;padding:8px 12px}.tabs button[aria-selected=true]{color:var(--ink);background:var(--green)}.lessons{display:grid;grid-template-columns:1fr 1fr;gap:25px 38px}.lessons h3{font-size:16px;margin:0 0 8px}.lessons p{font-size:14px;margin:0}.check{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.check input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}.quizquestion{border-bottom:1px solid var(--line);padding:15px 0}.quizquestion legend{font-weight:600;margin-bottom:12px}.quizquestion fieldset{border:0;padding:0}.quizquestion label{display:block;font-size:14px;margin:9px 0}.quizquestion input{accent-color:var(--ink);margin-right:10px}.feedback{padding:12px;background:#eff4ed;border-radius:5px;font-size:14px;margin:12px 0}.practice{padding:40px 30px;background:#e9efea;border-radius:12px}.labgrid{display:grid;grid-template-columns:2fr 1fr;gap:30px}.labgrid label{display:block;font-size:13px;margin-bottom:8px}select,input[type=number]{padding:10px;border:1px solid #bccbc3;background:white;color:var(--ink);border-radius:5px;max-width:100%}#strip{display:block;width:100%;background:#fffaf9;border:1px solid #decfca;margin-top:18px}.small{font-size:11px}.labgrid aside{padding:20px;background:white;border-radius:8px;font-size:13px}.labgrid aside li{margin-bottom:13px}.labgrid aside ol{padding-left:20px}.labgrid aside p{font-size:12px}.labgrid button{font-size:13px;margin:10px 0}.calc{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cad8cd;margin-top:26px;padding-top:20px;gap:20px}.calc h3,.calc p{margin:0}.calc p,.calc label{font-size:12px}.calc input{width:90px;margin-left:8px}.calc output{font-size:24px;font-weight:600}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tools article{border:1px solid var(--line);border-radius:7px;padding:22px;background:white}.toolnum{font-size:12px;color:#7c9183}.tools h3{font-size:17px;line-height:1.3}.tools p{font-size:13px}.tools button{font-size:12px;padding:9px 12px;gap:0}.reference{border-top:1px solid var(--line);margin-top:38px;padding-top:25px}.reference p{font-size:13px;max-width:850px}.reflinks{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:12px}footer{padding:35px 8%;background:#e4ebe4;display:flex;flex-direction:column;align-items:center;text-align:center}footer p{font-size:13px}footer .small{max-width:800px;font-size:11px}footer button{background:transparent;color:var(--ink);padding:7px;font-size:11px;border-color:#b8c8bd}.skip{position:absolute;left:-1000px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:5}@media(max-width:900px){.course{display:none}.hero{gap:24px}.tools{grid-template-columns:repeat(2,1fr)}.herostats{gap:15px}.labgrid{grid-template-columns:1fr}.heroart{padding-top:25px}}@media(max-width:600px){header{flex-wrap:wrap;padding:18px 5%}nav{gap:20px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:35px}.heroart{display:none}h1{font-size:49px}.progressbox,.sectionhead,.calc{flex-direction:column;align-items:start}.progressright{width:100%}.cards{grid-template-columns:1fr 1fr}.weekcard{padding:16px;min-height:220px}.weekcard h3{font-size:16px}.module{padding:20px}.lessons{grid-template-columns:1fr}.modulehead{display:block}.tabs{gap:0;flex-wrap:wrap}.practice{padding:22px 17px}.tools{grid-template-columns:1fr}.sectionhead h2{font-size:34px}.calc output{font-size:22px}}
.rhythmlibrary{padding:55px 0 30px}.librarycontrols{display:flex;gap:20px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.librarycontrols label{font-size:12px}.librarycontrols select{display:block;margin-top:7px;max-width:380px}.blindtoggle{display:flex;align-items:center;gap:8px;padding:12px 0}.libraryviewer{background:white;border:1px solid var(--line);border-radius:10px;padding:25px}.libraryheading{display:flex;justify-content:space-between;font-size:12px;gap:15px}.libraryviewer img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;margin:20px 0;background:#fff}.libraryviewer label{display:block;font-size:13px;margin-top:18px}.libraryviewer textarea{display:block;width:100%;margin-top:10px;border:1px solid #bdcdc3;border-radius:6px;padding:12px;font:14px/1.6 Arial;resize:vertical}.librarybuttons{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.librarybuttons button{font-size:12px}.librarybuttons button:disabled{opacity:.4;cursor:default}.calipers{display:grid;grid-template-columns:1fr 1.4fr;gap:45px;background:#e8eeea;padding:35px;border-radius:10px;margin:20px 0}.calipers li{margin-bottom:13px;font-size:14px}.calipers ol{padding-left:20px}.calipers h2{font-size:36px}.calipers p{font-size:13px}@media(max-width:600px){.calipers{grid-template-columns:1fr;gap:15px;padding:23px}.libraryviewer{padding:16px}.librarycontrols{display:block}.librarycontrols label{display:block;margin-bottom:15px}.librarycontrols select{width:100%}.libraryheading{flex-direction:column}.librarybuttons button{padding:10px}}
.cctprep{padding:45px 0 65px;border-top:1px solid var(--line)}.cctstats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:white;padding:25px;border-radius:10px;gap:20px;margin-top:25px;font-size:12px}.cctstats b{display:block;font-size:27px}.cctnav{display:flex;gap:25px;margin:30px 0;font-size:14px;flex-wrap:wrap}.cctprep details{border:1px solid var(--line);border-radius:7px;background:white;margin:12px 0}.cctprep summary{cursor:pointer;padding:18px;font-size:15px}.cctprep summary b{float:right;color:#627d6d}.cctprep details>div{padding:0 22px 15px}.cctprep #cctQuiz{background:white;border:1px solid var(--line);padding:28px;border-radius:8px;margin:35px 0}.cctprep #cctQuiz h3{margin:0}.cctprep #cctQuiz label{font-size:13px}.cctprep #cctQuiz select{display:block;margin-top:6px}.cctresourcegrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cctresourcegrid article{background:#e9efea;padding:23px;border-radius:8px}.cctresourcegrid h4{margin-top:0}.cctresourcegrid p,.cctresourcegrid a{font-size:13px}.cctprep #cctProgress{font-size:13px;font-weight:600}@media(max-width:600px){.cctstats{grid-template-columns:1fr 1fr}.cctresourcegrid{grid-template-columns:1fr}.cctprep #cctQuiz{padding:18px}.cctprep summary{font-size:13px;padding:14px}}
.institution-banner{max-width:1440px;margin:auto;padding:18px 5% 0}.institution-banner img{display:block;width:390px;max-width:80%;height:auto}.footer-logo{width:360px;max-width:90%;height:auto;margin-bottom:22px}.cct-report{padding:30px;margin:35px 0;background:#edf2ed;border:1px solid var(--line);border-radius:10px}.report-status{font-size:13px;font-weight:500;border-left:3px solid #947b42;padding-left:14px}.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.report-fields label,.report-notes{display:block;font-size:13px}.report-fields input,.report-fields select,.report-notes textarea{display:block;width:100%;border:1px solid #b8c8bd;border-radius:5px;padding:10px;background:white;color:var(--ink);font:14px/1.4 Arial;margin-top:7px}.report-notes textarea{resize:vertical}.cct-report .check{border:0}.cct-report .secondary{background:transparent;color:var(--ink);margin-left:10px}.cct-report dl{display:grid;grid-template-columns:150px 1fr;gap:8px;font-size:13px}.cct-report dt{font-weight:600}.cct-report dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:600px){.report-fields{grid-template-columns:1fr}.cct-report{padding:20px}.cct-report dl{grid-template-columns:1fr}.cct-report dd{margin-bottom:10px}.institution-banner img{max-width:100%;width:320px}}
.heroart .heart-hero-image{display:block;width:100%;height:auto;margin:20px 0;mix-blend-mode:multiply}

.video-section{margin:28px 0}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.video-card{padding:22px;border:1px solid var(--line);border-radius:8px;background:#f6f7f2}.video-card h4{font-size:18px;line-height:1.35;margin:12px 0}.video-card p{font-size:14px}.video-card .button{font-size:13px;padding:9px 12px}.criterion-video{border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0}.criterion-video summary{cursor:pointer;font-size:18px;font-weight:700}.tabs{flex-wrap:wrap}
