.library-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:44px 0 38px}.library-intro h1{font-size:clamp(56px,6.6vw,88px);margin-top:15px;letter-spacing:-.05em}.library-intro>p{font-size:16px;color:var(--muted);margin-bottom:6px}.library-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:74px}.library-filters{display:flex;gap:28px;align-self:stretch}.library-filters button{position:relative;font-size:14px;min-height:48px;white-space:nowrap;color:var(--muted)}.library-filters button[aria-pressed=true]{color:var(--slate);font-weight:600}.library-filters button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--slate);left:0;right:0}.library-filters button:hover{color:var(--slate)}.library-filters span{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;margin-left:7px;color:var(--muted)}.library-search{display:flex;align-items:center;gap:10px;min-height:43px;width:230px;border-left:1px solid var(--line);padding-left:22px}.library-search>.icon{width:20px;height:20px;stroke-width:3}.library-search input{width:100%;padding:11px 0;border:0;background:transparent;color:var(--slate);font-size:14px;appearance:none}.library-search input:focus{outline:none}.library-search:focus-within{box-shadow:0 2px 0 var(--slate)}.library-search input::-webkit-search-cancel-button{display:none}.library-search button{padding:5px;display:grid;place-items:center}.library-search button .icon{width:18px;height:18px}.library-count{display:flex;justify-content:space-between;align-items:center;margin:25px 0 17px;gap:20px}.library-count p{font-size:13px;color:var(--muted)}.library-count>span{font-size:11px;letter-spacing:1.2px;color:var(--muted);font-variant-numeric:tabular-nums}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.library-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid #a7aea7}.course-cover{display:flex;position:relative;flex-direction:column;justify-content:space-between;padding:18px 20px;aspect-ratio:1.35;overflow:hidden;background:#d7d9ce;color:var(--slate)}.cover-stadium{background:#d9cebb}.cover-lofoten{background:var(--slate);color:var(--chalk)}.cover-top,.cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;letter-spacing:1.2px;line-height:1.4;font-weight:500}.cover-top{font-size:12px;letter-spacing:1px}.cover-top .icon{height:20px;width:20px;transition:transform .18s}.cover-bottom>span:last-child{text-align:right;max-width:90px;font-size:9px;opacity:.75;letter-spacing:1px}.course-insignia{width:100px;height:100px;align-self:center;margin:auto;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;transition:transform .2s}.course-cover:hover .course-insignia{transform:translateY(-3px)}.course-cover:hover .cover-top .icon{transform:translate(2px,-2px)}.library-card-content{padding:23px 0 0;display:flex;flex:1;flex-direction:column}.library-card-content>.eyebrow{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:500}.library-card h2{font-size:32px;font-weight:600;letter-spacing:-1.25px;margin-top:10px;line-height:1.15}.library-card h2 a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.library-description{font-size:15px;line-height:1.65;color:var(--muted);margin-top:12px;min-height:75px;max-width:340px}.library-facts{margin:23px 0 0;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:14px}.library-facts>div+div{border-left:1px solid var(--line);padding-left:17px}.library-facts dt{font-size:10px;letter-spacing:1px;color:var(--muted);line-height:1.3}.library-facts dd{font-size:24px;font-weight:500;margin:7px 0 0;letter-spacing:-.6px;line-height:1.1;font-variant-numeric:tabular-nums}.library-facts dd small{font-size:13px;font-weight:400;letter-spacing:0}.library-facts>div:last-child dd{font-size:20px;letter-spacing:-.5px}.library-view{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;font-weight:600;padding:18px 0;min-height:59px}.library-view .icon{width:21px;height:21px;transition:transform .16s}.library-view:hover .icon{transform:translate(2px,-2px)}.library-endnote{display:flex;align-items:center;gap:21px;padding:37px 0 0;margin-top:8px}.library-endnote>svg{width:44px;height:44px}.library-endnote p{font-size:18px;line-height:1.4;letter-spacing:-.35px}.library-endnote strong{font-weight:600}.library-endnote>a{margin-left:auto;display:flex;align-items:center;gap:13px;font-size:14px}.library-endnote>a:hover{text-decoration:underline;text-underline-offset:4px}.library-empty{padding:60px 24px;text-align:center;border:1px solid var(--line)}.library-empty>svg{height:48px;width:48px;color:#8f9893;margin:0 auto 18px}.library-empty h2{font-size:33px;letter-spacing:-1px}.library-empty p{font-size:16px;color:var(--muted);margin:13px 0 23px}.library-empty .button{width:fit-content;min-width:230px;margin:auto}
.course-detail{padding:0;background:var(--chalk);color:var(--slate);border:0;width:calc(100% - 36px);max-width:740px;max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 100px #12202d50}.course-detail::backdrop{background:#26323b99;backdrop-filter:blur(5px)}.detail-close{position:absolute;top:14px;right:14px;z-index:1;width:44px;height:44px;display:grid;place-items:center;background:var(--chalk)}.detail-close:hover{background:#e5e0d7}.detail-photo{position:relative;height:260px;background:#aab5ae}.detail-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.library-art-label{position:absolute;right:12px;bottom:11px;font-size:11px;background:#26323bdd;color:var(--chalk);padding:4px 6px}.detail-content{padding:29px 32px 32px}.detail-content>.eyebrow{color:var(--muted);font-size:11px}.detail-content h2{font-size:43px;font-weight:600;letter-spacing:-1.9px;line-height:1.1;margin-top:12px}.detail-tag{font-size:14px;margin-top:9px;font-weight:500}.detail-content>p:not(.detail-tag){font-size:16px;line-height:1.7;color:var(--muted);margin-top:17px}.detail-content .library-facts{margin-top:22px}.detail-content>p.detail-note{font-size:12px;margin:19px 0 23px;line-height:1.6}.detail-content .button{max-width:350px}.noscript-note{padding:20px;max-width:900px;margin:auto;font-size:14px;color:var(--muted)}
@media(max-width:1100px){.library-grid{gap:20px}.library-card h2{font-size:27px}.library-description{min-height:98px;font-size:14px}.course-cover{padding:16px;aspect-ratio:1.17}.course-insignia{width:86px;height:86px}.cover-bottom{font-size:9px}.cover-bottom>span:last-child{display:none}.library-facts{gap:9px}.library-facts>div+div{padding-left:12px}.library-card .library-facts>div:last-child dd{font-size:17px}.library-card-content>.eyebrow{font-size:9px;letter-spacing:1px}}
@media(max-width:780px){.library-intro{margin:30px 0 26px;display:block}.library-intro h1{font-size:56px;margin-top:14px}.library-intro>p{font-size:15px;margin:14px 0 0}.library-tools{flex-direction:column;align-items:stretch;gap:0}.library-filters{align-self:stretch;gap:29px;min-height:55px}.library-filters button{font-size:14px}.library-search{width:100%;border-left:0;border-top:1px solid var(--line);padding:5px 0;min-height:51px}.library-count{margin:20px 0 15px}.library-count>span{font-size:9px;letter-spacing:.7px}.library-grid{grid-template-columns:1fr;gap:33px}.course-cover{aspect-ratio:1.9;padding:18px 20px}.course-insignia{width:85px;height:85px}.cover-bottom{font-size:10px}.cover-bottom>span:last-child{display:block;font-size:9px}.library-card-content{padding-top:21px}.library-card-content>.eyebrow{font-size:11px;letter-spacing:1.2px}.library-card h2{font-size:32px;margin-top:9px}.library-description{font-size:16px;min-height:0;max-width:none;line-height:1.6;margin-top:10px}.library-facts{margin-top:20px}.library-card .library-facts>div:last-child dd{font-size:21px}.library-facts dd{font-size:25px}.library-view{font-size:15px}.library-endnote{flex-wrap:wrap;padding-top:22px;gap:16px}.library-endnote>a{margin-left:60px;width:100%;font-size:13px}.library-endnote p{font-size:17px}.course-detail{max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.detail-photo{height:190px}.detail-content{padding:25px}.detail-content h2{font-size:36px}.detail-content .button{max-width:none}}
@media(max-width:390px){.library-intro h1{font-size:50px}.library-filters{gap:22px}.library-filters button{font-size:13px}.library-count>span{display:none}.course-cover{aspect-ratio:1.65}.cover-bottom{font-size:9px}}
/* Course insignias are the collection's primary identifiers. */
@media(min-width:1101px){.course-cover{aspect-ratio:1.58}.course-insignia{width:124px;height:124px}.cover-bottom{font-size:11px}.cover-bottom>span:last-child{font-size:10px;max-width:130px}.library-card-content>.eyebrow{font-size:11px}.library-description{font-size:16px;min-height:80px}.library-facts dt{font-size:11px}}
/* A collection of course identities, with readable details and direct entry. */
.cover-bottom,.cover-bottom>span:last-child,.library-card-content>.eyebrow,.library-facts dt,.library-count>span,.library-filters span{font-size:12px}
.cover-bottom>span:last-child{opacity:1}.library-search{border:1px solid #747b79;padding:0 10px 0 14px;min-height:44px;margin:10px 0;width:260px}.library-search input{font-size:16px}
.library-filters button{min-height:52px}.detail-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}.detail-actions .button{max-width:none;margin:0;font-size:15px;padding:16px}.detail-content>p.detail-note{font-size:13px}.library-art-label{font-size:12px}.detail-photo>img{object-position:center}
@media(max-width:1100px){.cover-bottom>span:last-child{display:none}.cover-bottom{font-size:11px}.library-card-content>.eyebrow{font-size:12px}}
@media(max-width:780px){.library-search{width:100%;margin:8px 0 12px;padding:0 12px;min-height:48px}.cover-bottom{font-size:12px}.cover-bottom>span:last-child{display:block;font-size:11px}.library-count>span{font-size:11px}.detail-actions{grid-template-columns:1fr}.detail-actions .button{min-height:54px}.library-facts dt{font-size:12px}}
