/* The company-owned library has its own catalog and licensing layout. */
.master-library { --master-rule:#dcdad2; background:white; }
.master-library * { min-width:0; }
.master-shell { width:calc(100% - 80px); max-width:1200px; margin-inline:auto; }
.master-library h1 { font-size:clamp(43px,4.8vw,67px); line-height:1.08; margin-bottom:24px; }
.master-library h2 { font-size:clamp(32px,3.3vw,45px); line-height:1.15; max-width:820px; margin-bottom:25px; }
.master-library h3 { font-size:23px; line-height:1.35; margin-bottom:18px; }
.master-library p { font-size:15px; line-height:1.8; }
.master-library .master-kicker,.master-library .lib-eyebrow { display:block; color:var(--red); font:600 10px/1.6 var(--sans); letter-spacing:.09em; text-transform:uppercase; margin-bottom:22px; }
.master-hero { background:var(--cream); padding:56px 0 0; }
.master-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:65px; align-items:center; padding-bottom:46px; }
.master-library .lib-hero-sub { font-size:23px; line-height:1.5; max-width:610px; }
.master-library .lib-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; margin-top:30px; }
.master-library .lib-btn { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:15px 25px; background:var(--red); color:white; border:1px solid var(--red); text-decoration:none; font-size:12px; font-weight:500; }
.master-library .lib-btn:hover { background:var(--red-dark); }
.master-library .lib-link { font-size:12px; font-weight:500; }
.master-library .lib-hero-price { flex-basis:100%; font-size:12px; margin:2px 0 0; }
.master-library .lib-hero-price strong { display:block; font-size:13px; margin-bottom:2px; }
.master-library .lib-hero-audience { flex-basis:100%; color:var(--muted); font-size:12px; margin:0; }
.master-collection { background:#4b2131; color:#fffaf0; padding:29px 30px 24px; box-shadow:10px 10px 0 #ded8cb; }
.master-library .master-collection-label { font-size:9px; letter-spacing:.12em; margin:0 0 28px; }
.master-collection-number { display:flex; align-items:center; gap:25px; font:500 108px/.95 var(--serif); letter-spacing:-.06em; }
.master-collection-number>span { white-space:pre-line; font:500 24px/1.3 var(--serif); letter-spacing:-.02em; }
.master-library .master-collection-intro { white-space:pre-line; font-size:13px; line-height:1.7; margin:25px 0; color:#efdfd9; }
.master-collection-topics { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.master-topic-tile { display:flex; justify-content:space-between; gap:9px; align-items:start; background:#f2e9dc; color:#482b2b; padding:14px 12px; min-height:66px; text-decoration:none; font-size:11px; font-weight:500; line-height:1.6; }
.master-topic-tile:nth-child(3n+2) { background:#dce6dd; color:#264b3c; }
.master-topic-tile:nth-child(3n) { background:#dfe7ef; color:#29475f; }
.master-topic-tile:hover { outline:2px solid white; outline-offset:2px; }
.master-topic-count { font-size:10px; opacity:.7; flex-shrink:0; }
.master-library .master-collection-files { font-size:10px; color:#efdfd9; margin:23px 0 0; }
.master-library .lib-proofs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:24px 0; margin:0; border-top:1px solid #d4cebf; gap:28px; }
.master-library .lib-proofs li { margin:0; padding:0 0 0 24px; position:relative; font-size:12px; }
.master-library .lib-proofs li::before { content:'✓'; color:var(--red); position:absolute; left:0; }
.master-nav { position:sticky; top:94px; z-index:30; background:#fffffff5; backdrop-filter:blur(12px); border-bottom:1px solid var(--master-rule); }
.master-nav-inner { display:flex; gap:30px; min-height:65px; align-items:center; }
.master-nav a { flex-shrink:0; font-size:12px; text-decoration:none; padding-block:20px; white-space:nowrap; }
.master-nav a:hover { color:var(--red); }
.master-nav .master-nav-buy { margin-left:auto; display:flex; gap:22px; align-items:center; padding:0; }
.master-nav-buy>span { font-size:16px; font-weight:500; }
.master-nav-buy>strong { background:var(--red); color:white; font-size:11px; font-weight:500; padding:12px 18px; }
.master-section { padding-block:66px; border-bottom:1px solid var(--master-rule); }
.master-introduction { max-width:780px; margin:0 0 36px; }
.master-introduction p { margin-bottom:14px; }
.master-library .lib-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.master-library .lib-feature { border-top:2px solid #254b3e; padding-top:21px; display:flex; flex-direction:column; align-items:stretch; }
.master-library .lib-feature:nth-child(2) { border-color:#29475f; }
.master-library .lib-feature:nth-child(3) { border-color:#8d4750; }
.master-feature-number { font-size:11px; color:var(--muted); margin-bottom:20px; }
.master-library .lib-feature p { font-size:13px; line-height:1.85; }
.master-material-preview { margin-top:auto; font-size:12px; }
.master-material-preview>summary { padding:12px 0; text-decoration:underline; text-underline-offset:4px; }
.master-material-preview img { display:block; width:100%; height:auto; margin-block:18px; }
.master-video-preview { border-block:1px solid var(--master-rule); margin-top:40px; }
.master-video-preview>summary { padding:22px 0; font-size:14px; font-weight:500; }
.master-library .lib-video { aspect-ratio:16/9; max-width:800px; margin-inline:auto; background:#eee; }
.master-library .lib-video iframe { width:100%; height:100%; }
.master-library .lib-video-caption { font-size:12px; text-align:center; margin:15px 0 24px; }
.master-browser { margin-top:34px; }
.master-library[data-enhanced] .master-browser { display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; align-items:start; }
.master-filters { position:sticky; top:185px; max-height:calc(100svh - 205px); overflow-y:auto; }
.master-library .master-filter-label { font-size:10px; color:var(--muted); letter-spacing:.08em; margin-bottom:16px; }
.master-filter { display:flex; gap:14px; justify-content:space-between; text-align:left; width:100%; padding:14px 12px; margin-bottom:4px; font-size:12px; line-height:1.6; color:var(--ink); border:1px solid transparent; background:white; }
.master-filter:hover { background:#f5f4ef; }
.master-filter[aria-pressed=true] { background:var(--cream); border-color:var(--master-rule); color:var(--red); font-weight:500; }
.master-filter-count { font-size:11px; color:var(--muted); }
.master-search-label { display:block; font-size:12px; font-weight:500; margin-bottom:8px; }
.master-search { width:100%; border:1px solid #b8b5ab; border-radius:0; background:white; color:var(--ink); padding:14px 16px; font-size:16px; min-height:48px; }
.master-results-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding:18px 0; }
.master-library .master-result-count { font-size:12px; color:var(--muted); margin:0; }
.master-library .lib-toggle-all,.master-reset { border:0; background:none; padding:10px 0; font-size:12px; font-weight:500; text-decoration:underline; text-underline-offset:4px; color:var(--red); }
.master-entry { border-top:1px solid var(--master-rule); }
.master-entry:last-child { border-bottom:1px solid var(--master-rule); }
.master-entry-summary { list-style:none; display:grid; grid-template-columns:45px minmax(0,1fr) 30px; gap:17px; align-items:start; padding:27px 0; }
.master-entry-summary::-webkit-details-marker { display:none; }
.master-entry-summary:hover h3 { color:var(--red); }
.master-library .lib-course-num { font-size:10px; color:var(--muted); padding-top:3px; white-space:nowrap; }
.master-entry-topic { display:block; font-size:9px; font-weight:500; text-transform:uppercase; letter-spacing:.05em; color:var(--red); margin-bottom:10px; }
.master-library .master-entry-title h3 { font-size:23px; font-weight:500; letter-spacing:-.02em; line-height:1.35; margin:0 0 10px; text-wrap:pretty; }
.master-entry-meta { display:block; font-size:11px; color:var(--muted); }
.master-entry-toggle { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--master-rule); border-radius:50%; font-size:20px; line-height:1; }
.master-entry[open] .master-entry-toggle { font-size:0; color:var(--red); }
.master-entry[open] .master-entry-toggle::before { content:'−'; font-size:20px; }
.master-entry-body { padding:0 45px 25px 62px; display:flow-root; }
.master-entry-body p,.master-entry-body li { font-size:15px; line-height:1.8; }
.master-entry-body .lib-course-media { width:100px; float:right; margin:0 0 18px 24px; }
.master-entry-body .lib-course-media img { display:block; width:100%; }
.master-library .master-lesson-label { clear:both; color:var(--red); font-weight:500; font-size:12px; padding-top:12px; }
.master-entry-body ul { list-style:none; padding:0; margin:24px 0 0; }
.master-entry-body li { border-top:1px solid var(--master-rule); position:relative; padding:14px 0 14px 25px; margin:0; }
.master-entry-body li::before { position:absolute; left:0; content:'✓'; color:var(--red); }
.master-empty { border:1px solid var(--master-rule); padding:30px; }
.master-library .lib-steps { list-style:none; padding:0; margin:35px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.master-library .lib-step { padding:0; margin:0; }
.master-library .lib-step-num { display:block; font:500 40px/1.2 var(--serif); color:#9a8c70; margin-bottom:22px; }
.master-library .lib-step p { font-size:14px; }
.master-library .lib-license { padding:22px 25px; border-left:2px solid #9a8c70; background:#f6f5f0; }
.master-library .lib-license p { font-size:12px; margin-bottom:12px; }
.master-library .lib-license p:last-child { margin-bottom:0; }
.master-purchase { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:start; }
.master-library .lib-promo-panel { padding-top:18px; }
.master-library .lib-promo-po { font-size:13px; border-top:1px solid var(--master-rule); padding-top:20px; }
.master-license-card { border:1px solid var(--master-rule); border-top:3px solid var(--red); padding:30px; }
.master-library .master-license-card>h3 { font:500 25px/1.3 var(--serif); }
.master-prices { border-bottom:1px solid var(--master-rule); padding-bottom:22px; margin-bottom:24px; }
.master-price { font:500 42px/1.2 var(--serif); letter-spacing:-.035em; }
.master-regular-price { font-size:14px; color:var(--muted); margin-top:10px; }
.master-library .master-price-basis { font-size:11px; margin:14px 0 0; }
.master-library .master-license-card>p { font-size:12px; line-height:1.85; }
.master-license-card em { font-style:normal; }
.master-purchase-button { width:100%; min-height:50px; opacity:.55; margin-top:5px; }
.master-library .master-purchase-note { margin:10px 0 0; font-size:10px; text-align:center; color:var(--muted); }
.master-library .lib-final-grid { display:grid; grid-template-columns:300px minmax(0,1fr); gap:70px; align-items:center; }
.master-library .lib-final-photo img { display:block; width:100%; }
.master-library .lib-final-actions { display:flex; gap:25px; align-items:center; flex-wrap:wrap; margin-top:30px; }
.master-library .lib-final-price { font-size:12px; margin-top:20px; }
.master-credentials { margin-top:45px; padding-top:30px; border-top:1px solid var(--master-rule); display:grid; grid-template-columns:1fr 1fr 1fr; gap:35px; }
.master-library .master-credentials p { font-size:12px; margin:0; }
.master-library .master-credentials .lib-big-statement { font:500 23px/1.4 var(--serif); }
.master-anchor { display:block; height:0; width:0; overflow:hidden; }
.master-mobile-buy { display:none; }
.master-library [id] { scroll-margin-top:15px; }
body:has(.master-library) { background:white; }
html:has(.master-library) { scroll-padding-top:166px; }
@media(max-width:1100px) {
 .master-hero-grid { gap:35px; grid-template-columns:1.1fr .9fr; }
 .master-collection { padding:25px 22px; }
 .master-collection-number { font-size:90px; gap:20px; }
 .master-collection-number>span { font-size:21px; }
 .master-collection-topics { grid-template-columns:1fr; gap:6px; }
 .master-topic-tile { min-height:0; padding:9px 12px; }
 .master-nav-inner { gap:23px; }
 .master-nav-buy>span { display:none; }
 .master-library[data-enhanced] .master-browser { grid-template-columns:210px minmax(0,1fr); gap:35px; }
 .master-entry-body { padding-inline:0; }
 .master-purchase { gap:40px; }
 .master-library .lib-final-grid { grid-template-columns:230px minmax(0,1fr); gap:40px; }
}
@media(max-width:820px) {
 .master-shell { width:calc(100% - 40px); }
 .master-hero { padding-top:35px; }
 .master-hero-grid { grid-template-columns:1fr; gap:35px; padding-bottom:35px; }
 .master-library h1 { max-width:660px; }
 .master-collection { max-width:570px; width:100%; }
 .master-collection-topics { grid-template-columns:1fr 1fr; }
 .master-collection-number { font-size:100px; }
 .master-collection-number>span { font-size:27px; }
 .master-library .lib-proofs { gap:20px; font-size:11px; }
 .master-nav { top:76px; }
 .master-nav-inner { overflow-x:auto; min-height:58px; scrollbar-width:thin; }
 .master-nav a { font-size:11px; padding-block:17px; }
 .master-nav .master-nav-buy { padding:0; }
 .master-mobile-buy { display:flex; align-items:center; justify-content:space-between; gap:20px; position:fixed; bottom:0; left:0; right:0; z-index:35; padding:12px 20px max(12px,env(safe-area-inset-bottom)); background:white; border-top:1px solid var(--master-rule); box-shadow:0 -4px 20px #24231f08; }
 .master-mobile-buy>div { font-size:17px; font-weight:500; }
 .master-mobile-buy>div>span { display:block; font-size:10px; color:var(--muted); font-weight:400; }
 .master-library .master-mobile-buy .lib-btn { min-height:44px; padding:12px 23px; }
 body:has(.master-library) .site-footer { padding-bottom:100px; }
 html:has(.master-library) { scroll-padding-top:142px; }
 .master-section { padding-block:45px; }
 .master-library .lib-features { grid-template-columns:1fr; gap:30px; }
 .master-library .lib-feature h3 { max-width:580px; }
 .master-material-preview { align-self:start; }
 .master-material-preview img { max-width:400px; }
 .master-library[data-enhanced] .master-browser { display:block; }
 .master-filters { position:static; max-height:none; overflow:visible; margin-bottom:28px; }
 .master-filter { display:inline-flex; width:auto; max-width:100%; padding:10px 12px; margin:0 6px 8px 0; border-color:var(--master-rule); }
 .master-entry-summary { grid-template-columns:40px minmax(0,1fr) 28px; gap:14px; }
 .master-library .master-entry-title h3 { font-size:22px; }
 .master-library .lib-steps { gap:25px; }
 .master-purchase { grid-template-columns:1fr; gap:25px; }
 .master-license-card { max-width:600px; }
 .master-library .lib-final-grid { grid-template-columns:180px minmax(0,1fr); gap:30px; }
 .master-credentials { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:540px) {
 .master-library h1 { font-size:clamp(37px,10vw,49px); }
 .master-library .lib-hero-sub { font-size:21px; }
 .master-library .lib-proofs { grid-template-columns:1fr; gap:15px; }
 .master-collection { box-shadow:6px 6px 0 #ded8cb; padding:24px 20px; width:calc(100% - 6px); }
 .master-collection-number { font-size:88px; gap:20px; }
 .master-collection-number>span { font-size:23px; }
 .master-topic-tile { font-size:10px; padding:11px 9px; }
 .master-library .master-collection-files { font-size:9px; }
 .master-entry-summary { grid-template-columns:minmax(0,1fr) 28px; grid-template-areas:'number toggle' 'title toggle'; gap:10px 15px; }
 .master-library .lib-course-num { grid-area:number; }
 .master-entry-title { grid-area:title; }
 .master-entry-toggle { grid-area:toggle; }
 .master-library .master-entry-title h3 { font-size:21px; }
 .master-entry-body .lib-course-media { width:78px; margin-left:18px; }
 .master-entry-body p,.master-entry-body li { font-size:15px; }
 .master-library .lib-steps { grid-template-columns:1fr; gap:25px; }
 .master-library .lib-step { display:grid; grid-template-columns:45px minmax(0,1fr); column-gap:20px; }
 .master-library .lib-step-num { grid-column:1; grid-row:1/3; font-size:30px; }
 .master-library .lib-step h3,.master-library .lib-step p { grid-column:2; }
 .master-library .lib-step h3 { margin-bottom:12px; }
 .master-license-card { padding:24px 20px; }
 .master-price { font-size:35px; }
 .master-library .lib-final-grid { grid-template-columns:1fr; gap:30px; }
 .master-library .lib-final-photo { max-width:220px; }
 body:has(.master-library) .header-inner { gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 html:has(.master-library) { scroll-behavior:auto; }
}
@media(max-width:380px) {
 .master-collection-number { font-size:70px; gap:14px; }
 .master-collection-number>span { font-size:18px; }
 .master-collection-topics { grid-template-columns:1fr; }
}
