
.course-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.4rem)}
.course-card{min-width:0;border:1px solid var(--rule);background:#FBFAF6;display:flex;flex-direction:column}
.course-cover{background:var(--deep-navy);color:var(--cream);padding:2rem 2.2rem;min-height:245px;position:relative;overflow:hidden;border-top:2px solid var(--brass)}
.course-cover-kicker{position:relative;z-index:1;font-size:.65rem;letter-spacing:.19em;text-transform:uppercase;color:#D6BE95}
.course-cover-words{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(2rem,3vw,2.8rem);line-height:1.12;margin-top:1.7rem;font-weight:500}
.course-art{width:205px;height:205px;position:absolute;right:-12px;bottom:-24px;color:#B89456;opacity:.56}
.course-cover-number{position:absolute;right:1.5rem;top:1.3rem;font-family:var(--serif);font-size:1.1rem;color:#D6BE95}
.course-card-body{padding:clamp(1.5rem,3vw,2.2rem);display:flex;flex-direction:column;flex:1;align-items:flex-start}
.course-status{display:inline-block;color:var(--teal);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.course-card h3{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.2;margin:0 0 1.1rem}
.course-card h3 a:hover{color:var(--teal)}
.course-card-body>p{margin-bottom:1.1rem}
.course-format{font-size:.82rem;color:var(--ink-mute);border-top:1px solid var(--rule);padding-top:1rem;width:100%}
.course-text-link{display:inline-flex;gap:.8rem;align-items:center;border-bottom:1px solid var(--brass);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink);padding:.4rem 0;margin-top:auto}
.course-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}
.course-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.85rem 1.3rem;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.08em;line-height:1.5;background:var(--ink);color:var(--cream);border:1px solid var(--ink);text-align:center}
.course-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.course-btn-secondary{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.page-hero .course-btn{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.page-hero .course-btn-secondary{background:transparent;color:var(--cream);border-color:rgba(244,241,234,.55)}
.page-hero .course-btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.course-access-note{font-size:.85rem;line-height:1.65;color:var(--ink-mute);margin-top:1rem;max-width:65ch}
.page-hero .course-access-note{color:var(--on-dark-mute)}
.course-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:3rem;align-items:center}
.course-hero-grid>.course-art{position:relative;right:auto;bottom:auto;width:250px;height:250px;opacity:.8}
.course-detail .page-hero h1{max-width:23ch;font-size:clamp(2.45rem,5.1vw,4.5rem);line-height:1.08}
.course-detail .page-hero .lede{font-family:var(--sans);font-style:normal;font-size:1.08rem;max-width:55ch;line-height:1.75}
.course-about-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.course-about-grid h2,.course-topics h2,.course-routine h2{font-size:clamp(2rem,4vw,3.3rem);margin-bottom:1.4rem}
.course-audience{margin-top:2.4rem}
.course-audience h3{font-size:1.4rem;margin-bottom:.85rem}
.course-glance{padding:2rem;background:var(--cream-2);border-top:2px solid var(--brass)}
.course-glance h2{font-family:var(--sans);font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;margin:0 0 1.5rem}
.course-glance dl{margin:0}
.course-glance dl>div{padding:.9rem 0;border-top:1px solid var(--rule)}
.course-glance dt{font-size:.73rem;letter-spacing:.07em;color:var(--ink-mute);margin-bottom:.2rem}
.course-glance dd{margin:0;font-size:.94rem;font-weight:400}
.course-glance .course-btn{margin-top:1.4rem;width:100%}
.course-topics{background:var(--cream-2);border-block:1px solid var(--rule)}
.course-topic-list{padding:0;margin:2rem 0 0;list-style:none;counter-reset:courseTopic;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
.course-topic-list li{counter-increment:courseTopic;position:relative;border-top:1px solid var(--rule);padding:1.15rem 0 1.15rem 2.5rem;line-height:1.6;min-width:0;color:var(--ink-soft);font-weight:400}
.course-topic-list li::before{content:counter(courseTopic,decimal-leading-zero);position:absolute;left:0;top:1.2rem;font-family:var(--serif);color:var(--brass-text);font-size:.9rem}
.course-routine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}
.course-step{border-top:1px solid var(--brass);padding-top:1.5rem}
.course-step h3{font-size:1.4rem;margin-bottom:.9rem}
.course-step .caption{display:block;margin-bottom:1rem;color:var(--brass-text)}
.course-institution{background:var(--ink);color:var(--cream);padding:clamp(4rem,8vw,6rem) 0}
.course-institution h2{color:var(--cream);font-size:clamp(2rem,4.5vw,3.8rem);max-width:22ch}
.course-institution p{color:var(--on-dark-mute);margin-top:1.5rem}
.course-institution .course-btn{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.course-institution .course-btn:hover{background:#fff}
.dta-skip{position:fixed;left:1rem;top:-100px;z-index:100;background:var(--cream);padding:.7rem 1rem;color:var(--ink)}
.dta-skip:focus{top:1rem}
.course-detail main{min-width:0}
@media(max-width:920px){.course-catalog-grid,.course-about-grid,.course-hero-grid{grid-template-columns:minmax(0,1fr)}.course-hero-grid>.course-art{display:none}.course-routine-grid{grid-template-columns:minmax(0,1fr)}.course-routine-grid{gap:1.2rem}.course-cover{min-height:230px}.course-detail .page-hero h1{max-width:22ch}}
@media(max-width:600px){.course-topic-list{grid-template-columns:minmax(0,1fr)}.course-actions{flex-direction:column;align-items:stretch}.course-actions .course-btn{width:100%}.course-glance{padding:1.5rem}.course-cover{padding:1.7rem;min-height:235px}.course-detail .page-hero{padding-top:8rem}.course-card h3{font-size:1.7rem}}

#dta-course-list{scroll-margin-top:90px}

.course-detail header .cta{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}

header.site nav.primary a.cta{background:transparent;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
header.site:not(.on-dark) nav.primary a.cta:hover{background:var(--ink);color:var(--cream)}
header.site.on-dark nav.primary a.cta:hover{background:var(--on-dark);color:var(--ink)}
