/* Resource learning path. Shared aubergine and cream come from the site shell. */
[hidden]{display:none!important}
.library-hero{padding:64px 0 48px}
.library-hero h1{max-width:100%;font-size:clamp(36px,4.4vw,58px)}
.library-label{font-size:17px;font-weight:600;color:var(--moss);margin-bottom:16px}
.resource-library.library-review-message{background:var(--cream);min-height:360px}
.library-hero .lede{max-width:810px;margin-top:20px}
.library-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.campaign-shortcut{font-size:17px;margin-top:28px;max-width:800px}
.campaign-shortcut a{font-weight:600;text-underline-offset:4px}
.learning-section{padding:50px 0 64px;border-top:1px solid rgba(67,38,74,.18)}
.library-section-heading h2{font-size:clamp(28px,3vw,38px);line-height:1.14;letter-spacing:-.025em}
.library-section-heading>p{margin-top:14px;max-width:790px;font-size:19px}
.learning-path{margin-top:30px;border-top:1px solid rgba(67,38,74,.24)}
.learning-step{padding:0;border-bottom:1px solid rgba(67,38,74,.24);scroll-margin-top:108px}
.step-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;align-items:start;padding:30px 12px 24px}
.step-heading h3{font-size:clamp(22px,2.3vw,28px);line-height:1.2;letter-spacing:-.02em}
.step-heading p{font-size:17px;line-height:1.45;margin-top:8px;max-width:800px}
.step-number{font-size:23px;color:var(--ink);font-weight:600;line-height:1.3;border:1px solid rgba(67,38,74,.3);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}
.step-content{padding:0 12px 0 86px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
.step-content h4{font-size:17px;font-weight:600;letter-spacing:0;line-height:1.4}
.step-materials{min-width:0}
.step-chooser label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}
.step-chooser label span{font-weight:400}
.step-chooser select{display:block;min-width:0;width:100%;min-height:50px;border:1px solid rgba(67,38,74,.5);border-radius:6px;padding:12px 30px 12px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--cream);text-overflow:ellipsis}
.step-resource{background:var(--stone);border-radius:10px;padding:24px;margin-top:14px;overflow-wrap:anywhere}
.step-resource h4{font-size:22px;line-height:1.25;margin:8px 0 0;letter-spacing:-.01em}
.step-resource .resource-description{margin-bottom:12px}
.step-resource .resource-action{padding-top:18px}
.step-continue{padding:0 12px 30px 86px}
.resource-format{font-size:14px;color:var(--moss);font-weight:600;line-height:1.5}
.step-practice{background:var(--sun);border-radius:10px;padding:24px;align-self:start;margin-top:97px}
.step-practice p{font-size:17px;line-height:1.5;margin-top:10px}
.step-practice h4{margin:0}
.next-step{display:inline-block;margin-top:22px;font-size:17px;font-weight:600;text-underline-offset:4px}
.next-step span{font-weight:400}
.ai-library-note{margin-top:32px;padding:24px 28px;background:var(--stone);border-radius:12px}
.ai-library-note h3{font-size:23px}
.ai-library-note p{margin-top:10px;max-width:760px;font-size:18px}
.ai-library-note .link{font-size:17px;margin-top:16px}
.resource-library{background:var(--stone);padding:64px 0}
#learning-path,#all-resources,.anchor-target{scroll-margin-top:110px}
.library-filters{display:grid;grid-template-columns:1.6fr 1.15fr .8fr;gap:18px;align-items:end;margin-top:30px}
.library-filters label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}
.library-filters input,.library-filters select{font:inherit;font-size:17px;border:1px solid rgba(67,38,74,.5);border-radius:6px;width:100%;min-height:50px;padding:11px 12px;color:var(--ink);background:var(--cream)}
.library-filters input::placeholder{color:#68536c;opacity:1}
.library-results-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 18px;font-size:16px;min-height:38px}
.library-results-bar button{background:transparent;border:0;color:var(--ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.library-resource{background:var(--cream);border-radius:12px;padding:25px;display:flex;flex-direction:column;min-width:0}
.library-resource h3{font-size:23px;line-height:1.18;margin-top:10px}
.library-resource h3 a{text-decoration:none}
.library-resource h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.resource-description{font-size:17px;line-height:1.5;margin:12px 0 16px}
.resource-source,.resource-note{font-size:14px;line-height:1.45;color:#68536c}
.resource-note{margin-top:5px}
.resource-action{margin-top:auto;padding-top:22px;font-size:17px;font-weight:600}
.resource-action a{text-underline-offset:4px}
.library-more{display:block;margin-top:28px;cursor:pointer}
.library-empty{padding:28px;background:var(--cream);border-radius:10px;font-size:19px}
.library-archive-note{margin-top:28px;max-width:850px;font-size:15px;color:#68536c}
body:has(.resource-library) .speak{display:none}
.resource-library a:focus-visible,.learning-section :focus-visible,.library-filters :focus-visible,.library-more:focus-visible{outline:3px solid var(--moss);outline-offset:5px}
@media(max-width:900px){
 .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .step-content{gap:24px;padding-left:12px;padding-right:12px}.step-continue{padding-left:12px}
 .library-filters{grid-template-columns:1fr 1fr}.library-search{grid-column:1/-1}
}
@media(max-width:600px){
 .library-hero{padding:40px 0}.library-actions{gap:20px}.library-actions .btn{font-size:17px;padding:14px 20px}
 .campaign-shortcut a{display:inline-block;margin-top:6px}
 .learning-section,.resource-library{padding:40px 0}
 .step-heading{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:25px 0 20px}
 .step-number{font-size:17px;width:34px;height:34px}.step-content{grid-template-columns:1fr;padding:0;gap:16px}
 .step-practice,.ai-library-note{padding:22px}.step-practice{margin-top:0}
 .step-continue{padding:0 0 26px}.next-step span{display:block;margin-top:4px}
 .library-grid{grid-template-columns:1fr}.library-resource{padding:24px}
 .library-filters{gap:14px}.library-filters input{font-size:16px}
 .library-filters select{font-size:16px;padding-left:8px}
 body:has(.resource-library) footer .wrap{grid-template-columns:minmax(0,1fr)}
 body:has(.resource-library) footer .news{padding:24px;grid-template-columns:minmax(0,1fr)}
 body:has(.resource-library) .news-form .btn{white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
