/* The course directory: warm typography, quiet detail, and room to browse. */
.course-directory-page{background:radial-gradient(ellipse at 85% 5%,#20383480,transparent 42%),#0b141b}
.course-directory-page .info-main{max-width:1340px;padding:66px 48px 90px;width:100%}
.course-directory-page .info-hero{position:relative;max-width:none;padding:0 280px 0 0;margin-bottom:42px}
.course-directory-page .info-hero h1{font-size:clamp(48px,5.7vw,78px);letter-spacing:-1.8px;line-height:1.03;margin:22px 0}
.course-directory-page .info-hero h1 em{font-style:normal;color:#e7cc8c}
.course-directory-page .info-hero p{max-width:600px;font-size:19px;line-height:1.65}
.directory-hero-seal{position:absolute;right:35px;top:5px;width:210px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d6c18a35;border-radius:50%;transform:rotate(-9deg);background:radial-gradient(circle,#ddc4850a,transparent 70%)}
.directory-hero-seal::after{content:'';position:absolute;inset:10px;border:1px dashed #d6c18a25;border-radius:50%}
.directory-hero-seal>span{font-size:64px;letter-spacing:-4px;color:#e3cb91;line-height:1.2}
.directory-hero-seal small{text-align:center;font-size:9px;letter-spacing:2px;line-height:1.8;color:#b7c7bf;margin-top:10px}
.directory-search{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 22px;background:#15252c;border:1px solid #6b8c854d;border-radius:16px;box-shadow:0 12px 36px #00000015}
.directory-search:focus-within{border-color:#e3cb91;box-shadow:0 0 0 3px #e3cb9115}
.directory-search svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:#d9c18b;stroke-width:1.6;stroke-linecap:round}
.directory-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.directory-search input{font:inherit;font-size:17px;min-width:0;width:100%;padding:8px 0;border:0;outline:none;background:transparent;color:#f3ecd8;box-shadow:none;min-height:38px}
.directory-search input::placeholder{color:#a7bbb9}
.directory-total{font-size:12px;letter-spacing:.3px;color:#b3c8be;white-space:nowrap;padding-left:20px;border-left:1px solid #476158}
.directory-alphabet{display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:4px;position:sticky;top:0;z-index:5;padding:18px 0;background:#0b141bf5;backdrop-filter:blur(14px);margin:16px 0 38px;border-bottom:1px solid #546b613d}
.directory-alphabet:has([data-directory-letter="#"]){grid-template-columns:repeat(27,minmax(0,1fr))}
.directory-alphabet a{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;height:42px;border-radius:9px;color:#bfccc7;text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}
.directory-alphabet a:hover{background:#e1c78a13;color:#f7e5b9;transform:translateY(-2px)}
.directory-alphabet a[aria-current]{background:#e5cc91;color:#14252b;box-shadow:0 4px 18px #e5cc9117}
.directory-alphabet a[aria-disabled=true]{opacity:.28;cursor:default;transform:none;background:transparent}
.directory-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:52px}
.directory-letter-art{align-self:start;position:sticky;top:116px;padding-top:6px}
.directory-letter-art>.eyebrow{font-size:9px;letter-spacing:2px;color:#cbb780}
.directory-monogram{display:block;font-size:154px;line-height:1.15;color:#e6cf9b;letter-spacing:-8px;text-shadow:0 10px 65px #e4c07812;font-weight:600;margin:8px 0 13px;border-bottom:1px solid #c9bc8e38;padding-bottom:20px}
.directory-letter-art p{color:#a6beb6;font-size:17px;line-height:1.65;margin:0 0 28px}
.directory-letter-art>a{color:#d5c08e;text-decoration:none;font-size:13px;border-bottom:1px solid #d5c08e55;padding-bottom:7px}
.directory-letter-art>a span{margin-left:12px}
.directory-results{min-width:0}
.directory-results-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:22px;padding:0 0 24px;border-bottom:1px solid #6b83735c}
.directory-results-heading .eyebrow{font-size:9px;letter-spacing:2px;color:#b6c7bc}
.directory-results-heading h2{font-size:29px;line-height:1.25;color:#f2ecd8;margin:10px 0 0;letter-spacing:-.3px}
.directory-results-heading>p{font-size:12px;white-space:nowrap;color:#d6bf86;margin:0 0 4px}
.directory-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.directory-list>li{min-width:0;border-bottom:1px solid #6b83732e}
.directory-course{display:flex;flex-direction:row;align-items:center;gap:13px;min-height:104px;padding:20px 4px;text-decoration:none;border-radius:7px;transition:background .2s}
.directory-course-number{font-size:10px;color:#8aa397;font-variant-numeric:tabular-nums;align-self:flex-start;margin-top:6px}
.directory-course-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.directory-course-title{font-size:18px;line-height:1.3;color:#ede8d6;font-weight:600;overflow-wrap:anywhere}
.directory-course-meta{font-size:11px;line-height:1.6;color:#9db5ae}
.directory-course-meta>span{margin:0 5px;color:#e0c78b}
.directory-course-arrow{font-size:22px;color:#adbdaf;transition:transform .2s,color .2s}
.directory-course:hover{background:#d7c48a09}
.directory-course:hover .directory-course-title{color:#ead198}
.directory-course:hover .directory-course-arrow{transform:translate(2px,-2px);color:#ead198}
.directory-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 0 12px}
.directory-more button,.directory-empty button{border:1px solid #d7c48a66;border-radius:40px;background:transparent;color:#e9d39b;font-size:14px;padding:12px 24px;cursor:pointer;min-height:44px}
.directory-more button:hover,.directory-empty button:hover{background:#d7c48a14}
.directory-more>span{font-size:11px;color:#91aaa1}
.directory-pagination{display:flex;flex-direction:row;justify-content:space-between;gap:24px;margin-top:28px;border-top:1px solid #6b837335;padding-top:24px}
.directory-pagination>a{font-size:15px;color:#deca98;text-decoration:none;min-height:44px;display:flex;align-items:center}
.directory-pagination>a:last-child{margin-left:auto}
.directory-empty{padding:50px 20px;text-align:center;background:#d7c48a06;border-radius:14px;margin-top:20px}
.directory-empty h3{font-size:25px;margin:0 0 12px}.directory-empty p{font-size:16px;color:#afc2ba;margin-bottom:24px}
.course-directory-page :is(.directory-alphabet a,.directory-course,.directory-pagination a,.directory-letter-art a,button):focus-visible{outline:2px solid #e5cc91;outline-offset:4px}
.course-directory-page [hidden]{display:none!important}
@media(max-width:1050px){.directory-workspace{grid-template-columns:150px minmax(0,1fr);gap:30px}.directory-monogram{font-size:122px}.directory-list{column-gap:20px}.directory-course{gap:9px}.directory-course-title{font-size:16px}.directory-alphabet{gap:1px}.directory-alphabet a{font-size:14px}}
@media(max-width:760px){.course-directory-page .info-main{padding:40px 22px 64px}.course-directory-page .info-hero{padding-right:0;margin-bottom:30px}.course-directory-page .info-hero h1{font-size:55px;letter-spacing:-1px}.course-directory-page .info-hero p{font-size:17px;max-width:420px}.directory-hero-seal{display:none}.directory-total{display:none}.directory-search{gap:12px;padding:10px 16px}.directory-search input{font-size:16px}.directory-search input::placeholder{font-size:14px}.directory-alphabet,.directory-alphabet:has([data-directory-letter="#"]){grid-template-columns:repeat(9,minmax(0,1fr));row-gap:3px;padding:12px 0;margin:14px 0 28px}.directory-alphabet a{height:38px;font-size:16px}.directory-workspace{grid-template-columns:minmax(0,1fr);gap:0}.directory-letter-art{display:none}.directory-results-heading{align-items:flex-start;gap:14px;padding-bottom:22px}.directory-results-heading h2{font-size:26px}.directory-results-heading>p{margin-top:3px}.directory-list{column-gap:24px}.directory-course{min-height:104px}.directory-course-number{display:none}.directory-course-arrow{font-size:20px}}
@media(max-width:540px){.directory-list{grid-template-columns:minmax(0,1fr)}.directory-course{min-height:91px;padding:19px 4px;gap:16px}.directory-course-title{font-size:18px}.directory-course-meta{font-size:12px}.directory-results-heading{flex-direction:column;gap:12px}.directory-results-heading>p{margin:0}.directory-course-number{display:block}.directory-pagination{margin-top:18px}.course-directory-page .info-hero h1{font-size:50px}}
