/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.course-reviews-page [hidden]{display: none !important;}
.course-reviews-page .guide-library{padding-top: 4rem; background: linear-gradient(rgb(255, 255, 255) 0, rgb(244, 247, 251) 23.75rem, rgb(238, 243, 248) 100%);}
.course-reviews-page .guide-heading{margin-bottom: 2.125rem;}
.course-reviews-page .guide-eyebrow{display: flex; align-items: center; gap: 0.625rem;}
.course-reviews-page .guide-eyebrow::before{content: ""; width: 1.5rem; height: 0.125rem; background: rgb(88, 126, 166);}
.course-toolbar{display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgb(218, 226, 236); margin-bottom: 1.5rem;}
.course-count{font-size: max(13px,0.875rem); color: rgb(100, 119, 139);}
.course-count strong{font-size: max(13px,1.25rem); color: rgb(41, 78, 112); margin: 0 0.25rem;}
.course-search{display: flex; align-items: center; width: 21.875rem; max-width: 100%; background: rgb(255, 255, 255); border: 1px solid rgb(216, 225, 235); border-radius: 0.5rem; min-height: 3rem; overflow: hidden;}
.course-search input{width: 100%; min-width: 0; padding: 0.75rem 0.9375rem; border: 0; background: transparent; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.9375rem); color: rgb(32, 55, 77);}
.course-search button{flex: 0 0 3rem; min-height: 3rem; display: grid; place-items: center; border: 0; background: transparent; color: rgb(52, 94, 133); cursor: pointer;}
.course-search svg{width: 1.25rem; height: 1.25rem;}
.course-grid{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 1.25rem; scroll-margin-top: 6.25rem;}
.course-card{min-width: 0; display: flex; background: rgb(255, 255, 255); border: 1px solid rgb(224, 231, 238); border-radius: 1rem; overflow: hidden; box-shadow: rgba(36, 62, 89, 0.027) 0 0.3125rem 1.25rem; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;}
.course-card > a{display: flex; flex-direction: column; width: 100%; min-width: 0;}
.course-thumb{position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(at 70% 30%, rgb(255, 255, 255), rgb(229, 237, 246)); display: grid; place-items: center;}
.course-thumb img{width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 0.35s;}
.course-thumb-fallback{display: flex; flex-direction: column; align-items: center; gap: 0.875rem; color: rgb(102, 133, 164); font-size: max(13px,0.9375rem); font-weight: 600; letter-spacing: 0.04em;}
.course-thumb-fallback svg{width: 4.125rem; height: 4.125rem; padding: 1.0625rem; border-radius: 50%; background: rgb(255, 255, 255); box-shadow: rgba(36, 70, 104, 0.04) 0 0.3125rem 1.25rem; stroke-width: 1.2;}
.course-type{position: absolute; right: 0.625rem; top: 0.625rem; display: inline-flex; align-items: center; gap: 0.4375rem; padding: 0.3125rem 0.5rem; border-radius: 0.375rem; color: rgb(41, 78, 112); background: rgba(255, 255, 255, 0.94); box-shadow: rgba(23, 35, 48, 0.047) 0 0.125rem 0.625rem; font-size: max(10px,0.75rem); font-weight: 650;}
.course-type svg{width: 0.9375rem; height: 0.9375rem; flex: 0 0 auto;}
.course-copy{display: flex; flex-direction: column; flex: 1 1 0%; padding: 1.25rem 1.125rem 1.125rem;}
.course-copy h3{font-size: max(13px,1.125rem); font-weight: 650; line-height: 1.5; color: rgb(32, 55, 77); letter-spacing: -0.035em;}
.course-excerpt{font-size: max(10px,0.8125rem); line-height: 1.8; color: rgb(101, 118, 138); margin-top: 0.75rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.course-meta{display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; color: rgb(105, 126, 145); font-size: max(10px,0.75rem); margin-top: 1rem; padding-bottom: 1.125rem;}
.course-meta > span{font-weight: 600; color: rgb(66, 94, 120);}
.course-meta time{margin-left: auto; color: rgb(131, 145, 160);}
.course-open{display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding: 0.625rem 0.75rem; border-radius: 0.5rem; background: rgb(237, 243, 250); font-size: max(10px,0.75rem); font-weight: 600; color: rgb(52, 94, 133); transition: background 0.2s, color 0.2s;}
.course-open > span:last-child{font-size: max(13px,1.25rem);}
.course-excerpt--repeated{display: none;}
.course-pagination{display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0.4375rem; margin-top: 2.625rem;}
.course-pagination button{min-width: 2.5rem; min-height: 2.625rem; padding: 0.5rem 0.75rem; border: 0; border-radius: 0.375rem; background: transparent; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.875rem); color: rgb(96, 114, 134); cursor: pointer;}
.course-pagination button[aria-current="page"]{background: rgb(41, 78, 112); color: white; font-weight: 700;}
.course-pagination button:disabled{opacity: 0.35; cursor: default;}
.course-pagination button:hover:not(:disabled):not([aria-current]){background: rgb(230, 236, 243);}
.course-pagination .ellipsis{padding: 0 0.25rem; color: rgb(128, 144, 160);}
.course-empty{padding: 4.375rem 1.25rem; text-align: center; background: rgb(255, 255, 255); border-radius: 0.75rem;}
.course-empty h3{font-size: 1.4375rem; color: rgb(41, 78, 112);}
.course-empty p{margin-top: 0.875rem; color: rgb(105, 123, 139);}
.course-empty button{margin-top: 1.5rem; padding: 0.75rem 1.25rem; border: 0; border-radius: 0.375rem; background: rgb(41, 78, 112); color: white; font: inherit; cursor: pointer;}
@media (hover: hover) and (pointer: fine){.course-card:hover{transform: translateY(-0.25rem); border-color: rgb(169, 195, 225); box-shadow: rgba(41, 78, 112, 0.094) 0 0.875rem 1.875rem;}
.course-card:hover .course-thumb img{transform: scale(1.025);}
.course-card:hover .course-open{background: rgb(41, 78, 112); color: rgb(255, 255, 255);}}
.course-card:focus-within{border-color: rgb(126, 165, 206); box-shadow: rgb(215, 229, 245) 0 0 0 0.125rem;}

.course-grid{grid-template-columns: 1fr; gap: 1.375rem;}
.course-toolbar{flex-wrap: wrap; gap: 1.125rem;}
.course-search{width: 100%;}
.course-search input{font-size: max(13px,1rem);}
.course-copy{padding: 1.375rem;}
.course-copy h3{font-size: max(13px,1.25rem);}
.course-excerpt{font-size: max(13px,0.9375rem);}
.course-pagination{gap: 0.1875rem;}
.course-pagination button{min-width: 2.125rem; padding: 0.5rem;}
@media (prefers-reduced-motion: reduce){.course-card, .course-thumb img, .course-open{transition: none;}
.course-card:hover, .course-card:hover .course-thumb img{transform: none;}}
.course-reviews-page .guide-library{padding-top: 2.75rem;}
.course-type{top: 0.75rem; right: 0.75rem;}
.course-meta{font-size: max(10px,0.75rem);}
.course-open{padding: 0.6875rem 0.875rem;}

.course-preview-shade{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.38); pointer-events: none; transition: opacity 0.25s;}
.course-preview-play{position: absolute; left: 50%; top: 50%; width: 4rem; height: 4rem; transform: translate(-50%, -50%); pointer-events: none; filter: drop-shadow(rgba(0, 0, 0, 0.2) 0 0.125rem 0.4375rem); transition: transform 0.25s, filter 0.25s;}
.course-preview-play circle{fill: rgba(255, 255, 255, 0.12); stroke: rgba(255, 255, 255, 0.9); stroke-width: 1.5; transition: fill 0.25s, stroke 0.25s;}
.course-preview-play path{fill: rgb(255, 255, 255); transition: fill 0.25s;}
.course-card > a:focus-visible .course-preview-shade{opacity: 0;}
.course-card > a:focus-visible .course-preview-play{transform: translate(-50%, -50%) scale(1.08); filter: drop-shadow(rgba(32, 55, 77, 0.25) 0 0.25rem 0.75rem);}
.course-card > a:focus-visible .course-preview-play circle{fill: rgb(255, 255, 255); stroke: rgb(255, 255, 255);}
.course-card > a:focus-visible .course-preview-play path{fill: rgb(52, 94, 133);}
@media (hover: hover) and (pointer: fine){.course-card:hover .course-preview-shade{opacity: 0;}
.course-card:hover .course-preview-play{transform: translate(-50%, -50%) scale(1.08); filter: drop-shadow(rgba(32, 55, 77, 0.25) 0 0.25rem 0.75rem);}
.course-card:hover .course-preview-play circle{fill: rgb(255, 255, 255); stroke: rgb(255, 255, 255);}
.course-card:hover .course-preview-play path{fill: rgb(52, 94, 133);}}
@media (prefers-reduced-motion: reduce){.course-preview-shade, .course-preview-play, .course-preview-play circle, .course-preview-play path{transition: none;}
.course-card:hover .course-preview-play, .course-card > a:focus-visible .course-preview-play{transform: translate(-50%, -50%);}}
