/* Learnaroo design refinement: scoped presentation, no entitlement changes. */
body.lh-dr{--dr-ink:#29134b;--dr-purple:#6024ad;--dr-line:#e4dced;--dr-canvas:#f6f3fb}
.lh-dr a:focus-visible,.lh-dr button:focus-visible,.lh-dr summary:focus-visible{outline:3px solid #d28b00;outline-offset:4px}
.lh-dr .lh-foot__col>a{display:block;width:fit-content;margin:0 0 13px;line-height:1.5}
.lh-dr .lh-foot__col a:hover,.lh-dr-directory a:hover{text-decoration:underline;color:#fff}
.lh-dr-directory{max-width:1240px;margin:24px auto 0;padding:22px 20px 8px;border-top:1px solid #ffffff26;display:flex;flex-wrap:wrap;gap:12px 24px;color:#fff;font:600 14px/1.5 'Nunito',sans-serif}
.lh-dr-directory span{color:#ffd23f;font-weight:800}.lh-dr-directory a{color:#e2d6f3;text-decoration:none}
.lh-dr .lh-ttn-entry,.lh-dr .lh-srn-entry,.lh-dr .lh-ttn-resource{display:none!important}
.lh-dr-details{border:1px solid var(--dr-line);border-radius:14px;background:#fff;margin:14px 0;overflow:clip;color:var(--dr-ink)}
.lh-dr-details>summary{padding:18px 22px;font:800 16px/1.4 'Nunito',sans-serif;cursor:pointer;list-style-position:inside;background:#faf8fd}
.lh-dr-details[open]>summary{border-bottom:1px solid var(--dr-line);margin-bottom:18px}
.lh-dr-details> :not(summary){margin-left:22px!important;margin-right:22px!important}
.lh-dr-details> :last-child{margin-bottom:22px!important}
/* The resource uses the available desktop canvas. Preserve paper and media proportions. */
body.lh-dr-resource{background:var(--dr-canvas)}
.lh-dr-resource main{width:100%!important;max-width:none!important;margin:0 auto!important;padding:16px clamp(16px,3vw,48px) 48px!important;box-sizing:border-box}
.lh-dr-resource main>.lh-bc{max-width:1600px;margin:0 auto 14px;font-size:13px}
.lh-dr-resource .lh-dr-workspace{width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;display:block!important}
.lh-dr-resource-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;margin:0 0 20px}
.lh-dr-back{grid-column:1/-1;font:800 14px/1.5 'Nunito',sans-serif;color:var(--dr-purple);width:fit-content;text-decoration:none;padding:3px 0}
.lh-dr-resource .lh-dr-resource-head h1{font:600 clamp(24px,2.3vw,36px)/1.2 'Fredoka','Nunito',sans-serif!important;letter-spacing:-.02em;color:var(--dr-ink)!important;margin:0!important;max-width:1050px}
.lh-dr-resource .lh-dr-resource-head .lh-actwrap{margin:0!important;width:auto!important;min-width:130px;position:relative;align-self:center}
.lh-dr-resource .lh-dr-resource-head .lh-actbtn{width:auto!important;min-width:130px!important;height:44px!important;border-radius:10px!important;padding:0 18px!important;display:inline-flex!important}
.lh-dr-resource .lh-dr-resource-head .lhrp2-toolbar{position:absolute!important;top:52px!important;left:auto!important;right:0!important;width:290px!important;max-width:calc(100vw - 32px)!important;z-index:90!important;flex-direction:column!important;background:#fff!important;box-shadow:0 12px 40px #29134b30!important;border:1px solid var(--dr-line)!important;border-radius:14px!important;padding:10px!important;display:none!important}
.lh-dr-resource .lh-dr-resource-head .lhrp2-toolbar.open{display:flex!important}
.lh-dr-resource .lh-dr-resource-head .lh-toolbar__btn{width:100%!important;margin:0!important;min-height:44px!important;white-space:normal!important;justify-content:flex-start!important;flex:none!important}
.lh-dr-resource .lh-dr-frame{border:1px solid var(--dr-line);border-radius:18px;background:#fff;overflow:clip;box-shadow:0 8px 30px #36134f0b;margin:0 0 22px;padding:0;min-width:0}
.lh-dr-resource .lh-dr-frame .lh-rp-stage__main,.lh-dr-resource .lh-dr-frame #lh-rp-viewer{width:100%!important;max-width:none!important;margin:0!important;min-width:0;padding:0!important}
.lh-dr-resource .lh-dr-frame .lh-viewer{width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
.lh-dr-resource .lh-dr-frame .lh-viewer__paper-scroll{max-height:calc(100dvh - 260px);min-height:480px;overflow:auto}
.lh-dr-resource .lh-dr-frame video{display:block;width:100%;max-height:calc(100dvh - 250px);object-fit:contain;background:#17101f}
.lh-dr-resource .lh-dr-frame .lh-viewer__embed{width:100%;min-height:540px}
.lh-dr-resource .lh-dr-preview{max-width:none!important;width:auto!important;margin:0!important;padding:24px!important;background:linear-gradient(135deg,#eee7f7,#f8f5fc)!important;text-align:center!important;border:0!important;border-radius:0!important}
.lh-dr-resource .lh-dr-preview img{display:block!important;width:auto!important;max-width:100%!important;max-height:clamp(300px,43vh,550px)!important;height:auto!important;object-fit:contain!important;margin:0 auto!important;border-radius:10px!important;box-shadow:0 8px 24px #29134b20}
.lh-dr-resource .lh-dr-preview figcaption{font-size:13px;color:#655977;margin:12px auto 0;max-width:75ch}
.lh-dr-resource .lh-dr-frame .lh-buynow{width:100%!important;max-width:none!important;margin:0!important;padding:24px clamp(20px,4vw,56px)!important;border:0!important;border-top:1px solid var(--dr-line)!important;border-radius:0!important;box-sizing:border-box}
.lh-dr-resource .lh-dr-frame .lh-buynow h2{font-size:23px;margin:0 0 8px}
.lh-dr-resource .lh-dr-details .lhrp2-head{padding:0!important;border:0!important;box-shadow:none!important}.lh-dr-resource .lh-dr-details .lhrp2-head:before{display:none}
.lh-dr-resource .lh-dr-details .lh-rp-stage__side{width:auto!important;max-width:none!important;position:static!important;display:block!important}
.lh-dr-resource .lh-dr-details .lhrp2-guide{max-width:none!important;box-shadow:none!important}
.lh-dr-resource .lh-dr-details .lh-rpq{padding:0!important;max-width:none!important}
.lh-dr-resource .lh-dr-details .lh-rcp{max-width:none!important}
.lh-dr-resource .lhx-side,.lh-dr-catalogue .lhx-side,.lh-dr-resource .lhrp2-social,.lh-dr-resource .lh-term-context-note,.lh-dr-resource .lhrp2-upgrade{display:none!important}
/* Search is the primary entry point on a catalogue. */
.lh-dr-catalogue .lh-dr-catalogue-intro{min-height:0!important;padding:30px 24px!important;margin:0!important;border-radius:0!important}
.lh-dr-catalogue .lh-fr-hero__inner,.lh-dr-catalogue .lhfl-hero__grid{max-width:1240px!important;margin:auto!important;padding:0!important;display:block!important;text-align:left!important}
.lh-dr-catalogue .lh-dr-catalogue-intro h1{font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important;max-width:none!important;margin:6px 0 12px!important}
.lh-dr-catalogue .lh-fr-hero__lead,.lh-dr-catalogue .lhfl-hero__lead{font-size:17px!important;line-height:1.5!important;margin:0!important;max-width:80ch!important}
.lh-dr-catalogue .lh-fr-float,.lh-dr-catalogue .lh-fr-hero__blob,.lh-dr-catalogue .lhfl-proof{display:none!important}
.lh-dr-catalogue .lhfl-section--catalogue{padding-top:22px!important}
.lh-dr-catalogue .lhfl-section__head{margin-bottom:12px!important}
.lh-dr-catalogue .lhfl-section__head h2{font-size:21px!important;margin-bottom:4px!important}
.lh-dr-catalogue .lh-lx--explorer>.lxe{margin-top:24px!important}
.lh-dr-catalogue .lxe #lxFree{display:none!important}
.lh-dr .lxe .lock{display:none!important}
.lh-dr .lxe .rc-link{position:relative;display:block}
.lh-dr .lxe .rc-link:after{content:'Open resource →';display:block;color:#6024ad;font-weight:800;font-size:14px;padding:0 16px 16px}
.lh-dr-catalogue main>.lh-dr-details,.lh-dr-catalogue .lh-lx>.lh-dr-details{max-width:1240px;margin:24px auto}
.lh-dr .lh-sled{color:inherit}.lh-dr .lh-sled h2{color:inherit!important;line-height:1.25}
.lh-dr .lh-catalogue-hero .lh-sled,.lh-dr .lh-subject-hero .lh-sled,.lh-dr .lh-cat-hero .lh-sled{color:#fff!important}
.lh-dr .lh-res-card__play{font-size:22px!important}.lh-dr .lh-rc__go{white-space:nowrap;font-size:13px}
/* Packs and supporting reading pages share the existing purple/gold visual language. */
.lh-dr .lhps{padding:32px 24px 56px}.lh-dr .lhps>h1{font:600 clamp(30px,3vw,44px)/1.15 'Fredoka','Nunito',sans-serif;color:var(--dr-ink)}
.lh-dr .lhps-form{align-items:end;gap:14px;padding:22px;border:1px solid var(--dr-line);border-radius:16px;background:var(--dr-canvas)}
.lh-dr .lhps-form label{font-size:13px;font-weight:800;color:var(--dr-ink)}
.lh-dr .lhps-form input,.lh-dr .lhps-form select{margin-top:7px;padding:10px;border:1px solid #c9badb;border-radius:9px;background:#fff;font:600 15px 'Nunito',sans-serif;color:var(--dr-ink);box-sizing:border-box}
.lh-dr .lhps-form button{background:var(--dr-purple);color:#fff;border:0;border-radius:10px;padding:12px 22px;font:800 15px 'Nunito',sans-serif;cursor:pointer}
.lh-dr .lhps-card{background:#fff;border:1px solid var(--dr-line);border-top:4px solid #8243c3;padding:22px;box-shadow:0 3px 12px #29134b08;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:12px}
.lh-dr .lhps-card:hover{box-shadow:0 8px 24px #29134b15;transform:translateY(-2px)}
.lh-dr .lhps-card h2{font-size:21px;line-height:1.3;margin:0;color:var(--dr-ink)}.lh-dr .lhps-card p{margin:0;color:#6e607e}
.lh-dr .lhps-meta{gap:8px;flex-wrap:wrap;justify-content:flex-start;font-size:12px;font-weight:800;color:#653a88}.lh-dr .lhps-meta span{padding:5px 9px;background:#f1eaf9;border-radius:7px}
.lh-dr .lhps-card>b{margin-top:auto;color:var(--dr-purple);font-size:15px}.lh-dr .lhps-page[aria-current=page]{background:var(--dr-purple);border-color:var(--dr-purple)}
.lh-dr-reading{max-width:1040px!important;padding:40px 24px 64px!important;margin:0 auto!important;line-height:1.7}
.lh-dr-reading>h1{font:600 clamp(30px,3vw,44px)/1.2 'Fredoka','Nunito',sans-serif;color:var(--dr-ink);margin:0 0 26px}
.lh-dr-reading h2{line-height:1.3;margin-top:28px}.lh-dr-reading p,.lh-dr-reading li{max-width:80ch}
/* One mobile navigation pattern: the existing top menu. */
body.lh-dr #lhm-mobile-nav{display:none!important}body.lh-dr{--lhm-nav-height:0px;--lhm-nav-space:0px}
@media(max-width:800px){
 body.lh-dr{padding-bottom:0!important}
 .lh-dr-resource main{padding:12px 14px 28px!important}.lh-dr-resource main>.lh-bc{display:none}
 .lh-dr-resource-head{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:16px}.lh-dr-resource-head .lh-dr-back{grid-column:1;font-size:13px}.lh-dr-resource .lh-dr-resource-head h1{grid-row:2;grid-column:1/-1;font-size:25px!important}.lh-dr-resource .lh-dr-resource-head .lh-actwrap{grid-row:1;grid-column:2;min-width:105px}.lh-dr-resource .lh-dr-resource-head .lh-actbtn{min-width:105px!important;height:40px!important;padding:0 12px!important}
 .lh-dr-resource .lh-dr-frame{border-radius:12px}.lh-dr-resource .lh-dr-preview{padding:16px!important}.lh-dr-resource .lh-dr-preview img{max-height:420px!important}.lh-dr-resource .lh-dr-frame .lh-buynow{padding:20px!important}
 .lh-dr-resource .lh-dr-frame .lh-viewer__paper-scroll{min-height:420px;max-height:75dvh}.lh-dr-resource .lh-dr-frame .lh-viewer__embed{min-height:400px}
 .lh-dr-details>summary{padding:16px;font-size:15px}.lh-dr-details> :not(summary){margin-left:16px!important;margin-right:16px!important}
 .lh-dr-catalogue .lh-dr-catalogue-intro{padding:24px 18px!important}.lh-dr-catalogue .lh-dr-catalogue-intro h1{font-size:28px!important}.lh-dr-catalogue .lh-fr-hero__lead,.lh-dr-catalogue .lhfl-hero__lead{font-size:15px!important}.lh-dr-catalogue .lh-fr-hero__slogan,.lh-dr-catalogue .lhfl-eyebrow{font-size:12px!important}
 .lh-dr-catalogue .lh-lx--explorer>.lxe{margin-top:16px!important}.lh-dr-catalogue .lhfl-section--catalogue{padding-top:16px!important}.lh-dr-catalogue .lhfl-section__head{display:none}
 .lh-dr .lhps{padding:24px 16px}.lh-dr .lhps-form{padding:16px;gap:12px}.lh-dr .lhps-form button{grid-column:1/-1}.lh-dr .lhps-grid{gap:14px}.lh-dr-directory{gap:12px 20px}.lh-dr-reading{padding:28px 20px 44px!important}
}
@media(prefers-reduced-motion:reduce){.lh-dr .lhps-card{transition:none}}

/* Override the legacy floating search dock: one stable search above the results. */
.lh-dr-catalogue .lxe{max-width:1288px!important;margin-left:auto!important;margin-right:auto!important;font-family:'Nunito',system-ui,sans-serif!important;padding:20px 24px!important}
.lh-dr-catalogue .lxe-searchwrap{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0 0 22px!important;padding:0!important;box-shadow:none!important;background:none!important;border:0!important;z-index:auto!important}
.lh-dr-catalogue .lxe-search{background:#fff!important;border:1px solid #cbbbdf!important;box-shadow:0 3px 14px #29134b09!important;padding:8px!important;max-width:none!important;color:#29134b!important;border-radius:14px!important}
.lh-dr-catalogue .lxe-search input{color:#29134b!important;font:600 16px 'Nunito',sans-serif!important;background:transparent!important;min-height:40px}
.lh-dr-catalogue .lxe-search input::placeholder{color:#766586!important;opacity:1}
.lh-dr-catalogue .lxe-search .scope button{color:#674d80!important;background:#f3edf9!important;font-family:inherit!important}.lh-dr-catalogue .lxe-search .scope button.on{background:#6024ad!important;color:#fff!important}
.lh-dr-catalogue .lxe-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;padding:16px!important;margin:0 0 18px!important;font:700 14px 'Nunito',sans-serif!important}
.lh-dr-catalogue .lxe-toolbar .sort{width:auto!important;min-width:0!important;font:600 14px 'Nunito',sans-serif!important}.lh-dr-catalogue .lxe-toolbar .count{margin-right:auto}
.lh-dr-catalogue .lxe [class*="dock-toggle"],.lh-dr-catalogue .lxe [data-lh-search-toggle]{display:none!important}
@media(max-width:800px){.lh-dr-catalogue .lxe{padding:14px!important}.lh-dr-catalogue .lxe-search{flex-wrap:wrap!important;gap:8px!important}.lh-dr-catalogue .lxe-search input{flex:1 1 calc(100% - 52px)!important;font-size:14px!important}.lh-dr-catalogue .lxe-toolbar .count{flex:1 1 100%}.lh-dr-catalogue .lxe-searchwrap{margin-bottom:16px!important}}
.lh-dr-resource .lh-premium-cta{display:none!important}
.lh-dr-catalogue .lxe-searchwrap>button{display:none!important}
.lh-dr-catalogue .lxe-searchwrap .quick{display:none!important}
.lh-dr-catalogue .lxe-searchwrap{opacity:1!important;visibility:visible!important;height:auto!important}
.lh-dr-catalogue .lxe-searchwrap .lxe-search{opacity:1!important;visibility:visible!important;transform:none!important}
.lh-dr-catalogue .lxe button,.lh-dr-catalogue .lxe select,.lh-dr-catalogue .lxe input,.lh-dr-catalogue .lxe .facet-title{font-family:'Nunito',system-ui,sans-serif!important}
@media(max-width:800px){
 .lh-dr-catalogue .lh-fr-hero__slogan,.lh-dr-catalogue .lh-fr-hero__pill,.lh-dr-catalogue .lhfl-eyebrow{display:none!important}
 .lh-dr-catalogue .lxe-search{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
 .lh-dr-catalogue .lxe-search input{width:100%!important;grid-column:2!important;min-width:0!important;font-size:14px!important;min-height:40px!important}
 .lh-dr-catalogue .lxe-search .scope{grid-column:1/3!important;grid-row:2!important;justify-self:start!important}
 .lh-dr-catalogue .lxe-search>button{grid-column:2!important;grid-row:2!important;justify-self:end!important;width:auto!important;padding:10px 18px!important}
 .lh-dr-catalogue .lxe-searchwrap>.qp{display:none!important}
 .lh-dr-catalogue .lxe-searchwrap{margin-top:0!important;margin-bottom:16px!important}
}

.lh-dr-catalogue .lxe-searchwrap>.qp{display:none!important}
.lh-dr-resource .lh-dr-frame .lh-viewer__canvas-wrap{min-height:clamp(440px,65vh,760px);max-height:calc(100dvh - 240px);overflow:auto;background:#f1edf6}
.lh-dr-resource .lh-dr-frame .lh-viewer__flashcards-wrap{max-height:calc(100dvh - 290px);min-height:400px;overflow:auto;padding:24px!important;box-sizing:border-box}
@media(max-width:800px){
 .lh-dr-catalogue .lxe-search{grid-template-columns:24px minmax(0,1fr) 90px!important}
 .lh-dr-catalogue .lxe-search input{grid-column:2/4!important}
 .lh-dr-catalogue .lxe-search .scope{grid-column:1/3!important;grid-row:2!important;justify-self:start!important;width:auto!important;max-width:none!important;gap:4px!important;padding:0!important;background:none!important;margin:0!important}
 .lh-dr-catalogue .lxe-search .scope button{padding:10px 12px!important;font-size:13px!important;min-width:0!important}
 .lh-dr-catalogue .lxe-search>button{grid-column:3!important;grid-row:2!important;width:90px!important;padding:10px!important}
 .lh-dr-resource .lh-dr-frame .lh-viewer__flashcards-wrap{max-height:70dvh;min-height:350px;padding:16px!important}
}
.lh-dr-years{max-width:1280px;display:flex;gap:8px;align-items:center;overflow-x:auto;margin:18px auto;padding:4px 18px 10px;scrollbar-width:thin;font:800 13px/1.4 'Nunito',sans-serif}
.lh-dr-years a{flex:none;padding:9px 13px;border:1px solid #dfd2ee;background:#f6f1fb;border-radius:999px;color:#592489;text-decoration:none}
.lh-dr-years a[aria-current=page]{background:#6024ad;color:#fff;border-color:#6024ad}.lh-dr-years a:hover{box-shadow:0 2px 8px #32125425}
.lh-dr-reading>h1+.entry-content{margin-top:0}

/* Billing controls: preserve the full touch target without stretching the visual track. */
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw {
  position:relative; flex:0 0 54px; box-sizing:border-box;
  width:54px; min-width:54px; max-width:54px; inline-size:54px; min-inline-size:54px;
  height:46px; min-height:46px; max-height:46px; block-size:46px; min-block-size:46px;
  padding:0; margin:0; border:0; border-radius:12px; background:transparent;
  box-shadow:none; appearance:none; vertical-align:middle; overflow:visible;
}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw::before {
  content:""; position:absolute; inset:50% 0 auto; height:28px;
  transform:translateY(-50%); border-radius:999px; background:#64748b;
  transition:background-color .18s ease;
}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw > i {
  position:absolute; display:block; top:50%; left:3px; right:auto; bottom:auto;
  box-sizing:border-box; width:22px; height:22px; min-width:0; min-height:0;
  margin:0; padding:0; border:0; border-radius:50%; background:#fff;
  transform:translateY(-50%); box-shadow:0 1px 3px #17203833;
  transition:left .18s ease;
}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw.on::before,
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw[aria-checked="true"]::before {background:#6b2fa0}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw.on > i,
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw[aria-checked="true"] > i {left:29px}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw:focus-visible {outline:3px solid #2563eb;outline-offset:3px}
.lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw:disabled {cursor:not-allowed;opacity:.55}
.lhpr .lhpr-controls {gap:12px 24px; margin:24px 0 8px}
.lhpr .lhpr-toggle {min-height:46px;gap:8px;flex-wrap:nowrap}
.lhpr .lhpr-tabs {gap:4px;padding:5px;border:1px solid #e4daf3}
.lhpr .lhpr-tabs > .lhpr-tab {min-height:44px;line-height:1.35;font-family:inherit}
.lhpr .lhpr-tabs > .lhpr-tab:focus-visible,
.lh-role-switch .lh-role-switch__pill:focus-visible {outline:3px solid #2563eb;outline-offset:2px}
.lh-role-switch .lh-role-switch__pill {min-height:44px;line-height:1.35}
/* Auth pages have their own compact header. The guest notification widget otherwise overlays its links. */
body.lh-auth-body:not(.logged-in) #lhbell {display:none!important}
@media(max-width:640px){
  .lhpr .lhpr-controls {align-items:stretch;flex-direction:column;gap:12px;margin-top:20px}
  .lhpr .lhpr-tabs {justify-content:center;display:grid;grid-template-columns:1fr 1.45fr 1fr;width:100%;box-sizing:border-box}
  .lhpr .lhpr-tabs > .lhpr-tab {min-width:0;padding:9px 6px;font-size:13px;white-space:normal}
  .lhpr .lhpr-toggle {justify-content:center;font-size:14px;gap:7px}
  .lhpr .lhpr-save {padding:3px 7px;font-size:12px;white-space:nowrap}
  .lh-auth-body .lh-role-switch {display:flex;flex-wrap:wrap;gap:4px;border-radius:18px}
  .lh-auth-body .lh-role-switch > .lh-role-switch__pill {flex:1 1 0;min-width:0;width:auto;padding:8px 6px;gap:4px;font-size:13px}
  .lh-auth-body .lh-authpage__bar {flex-wrap:wrap;gap:4px 8px;padding:12px 16px}
  .lh-auth-body .lh-authpage__bar .lh-authpage__brand {font-size:18px;gap:6px;white-space:nowrap}
  .lh-auth-body .lh-authpage__bar .logo-mark {width:40px;height:40px}
  .lh-auth-body .lh-authpage__bar .logo-mark img {width:40px;height:40px;object-fit:contain}
  .lh-auth-body .lh-authpage__bar-links {gap:2px;margin-left:auto}
  .lh-auth-body .lh-authpage__bar-links a {display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:8px 7px;font-size:12px;white-space:nowrap}
}
@media(max-width:360px){
  .lh-auth-body .lh-role-switch > .lh-role-switch__pill {flex-direction:column;gap:2px;padding:8px 2px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw::before,
  .lhpr .lhpr-controls .lhpr-toggle > button.lhpr-sw > i {transition:none}
}

/* Public-page polish. Selectors deliberately exclude pricing and specialised controls. */
/* These paginated cards are ~270px tall, not the generic 720px placeholder. */
.lh-dr-catalogue .lxe .lxe-results,
.lh-dr-catalogue .lxe .rc{content-visibility:visible!important;contain-intrinsic-size:none!important}

/* Give term guides and the learning finder a coherent page gutter. */
body.lh-dr main:has(.lhtp),body.lh-dr main:has(.lhf){box-sizing:border-box;max-width:1240px!important;margin:0 auto!important;padding:32px 24px 48px!important}
body.lh-dr main:has(.lhtp)>.lh-card,body.lh-dr main:has(.lhf)>.lh-card{padding:0;border:0;box-shadow:none}
body.lh-dr main:has(.lhtp) .lh-page-title,body.lh-dr main:has(.lhf) .lh-page-title{font:600 clamp(28px,3vw,40px)/1.2 'Fredoka','Nunito',sans-serif;margin:0 0 24px;color:#29134b}
body.lh-dr .lhf .lhf__h{font-family:'Fredoka','Nunito',sans-serif;font-weight:600}
body.lh-dr .lhf__year:nth-child(6n+3),body.lh-dr .lhf__year:nth-child(6n+4),body.lh-dr .lhf__year:nth-child(6n+5){color:#241149}
body.lh-dr .lhf__year .yl{font-family:'Fredoka','Nunito',sans-serif;font-weight:600}
body.lh-dr .lhtp{margin-top:0!important;padding-top:0!important}
body.lh-dr .lhtp__yc{display:flex;flex-direction:column;padding-bottom:18px}
body.lh-dr .lhtp__ybody{flex:1;padding-bottom:8px}
body.lh-dr .lhtp__cta{align-self:flex-start;margin-top:12px!important;min-height:44px;box-sizing:border-box;line-height:1.35}
body.lh-dr .lhtp__yhead[style*="#FF5C8A"],body.lh-dr .lhtp__yhead[style*="#14B8A6"],body.lh-dr .lhtp__yhead[style*="#F59E0B"]{color:#241149}
body.lh-dr .lhtp__cta[style*="#FF5C8A"],body.lh-dr .lhtp__cta[style*="#14B8A6"],body.lh-dr .lhtp__cta[style*="#F59E0B"]{color:#241149}
body.lh-dr .lhtp__cite{color:#685b79;line-height:1.6}

/* The sitemap is navigation: readable links, clear groups and generous targets. */
body.lh-dr .lh-sitemap__grid{gap:24px;align-items:start}
body.lh-dr .lh-sitemap__col{background:#faf8fd;border:1px solid #e6deee;border-radius:16px;padding:22px}
body.lh-dr .lh-sitemap__col h2{font-size:21px;line-height:1.3;margin-bottom:14px}
body.lh-dr .lh-sitemap__col a{display:inline-block;color:#6024ad;font:700 15px/1.5 'Nunito',sans-serif;padding:5px 0;text-decoration:none}
body.lh-dr .lh-sitemap__col a:hover,body.lh-dr .lh-sitemap__resource-list a:hover{text-decoration:underline;text-underline-offset:3px}
body.lh-dr .lh-sitemap__count{color:#685b79}
body.lh-dr .lh-sitemap__xml-link a{color:#ffe174;text-decoration:underline;text-underline-offset:3px}
body.lh-dr .lh-sitemap__resource-list a{color:#49345f;line-height:1.55}
body.lh-dr .lh-sitemap__more a{display:inline-flex;padding:12px 18px;background:#6024ad;color:#fff;border-radius:10px;font-weight:800;text-decoration:none}
@media(max-width:700px){
 body.lh-dr main:has(.lhtp),body.lh-dr main:has(.lhf){padding:24px 18px 36px!important}
 body.lh-dr .lhtp{padding-left:0!important;padding-right:0!important}
 body.lh-dr .lhf__stage{padding:20px 16px}
 body.lh-dr .lhf__years{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.lh-dr .lhf__year{padding:16px 12px}
 body.lh-dr .lhf__year .yl{font-size:18px;line-height:1.2}
 body.lh-dr .lh-sitemap__col{padding:20px}
 body.lh-dr .lh-sitemap__col a{padding:8px 0}
 /* The catalogue's view control is a two-button group, never a squeezed switch. */
 body.lh-dr .lh-catalogue__head-controls{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:12px!important;width:100%;min-width:0}
 body.lh-dr .lh-catalogue__sort{display:flex!important;align-items:center;gap:8px;flex:1 1 100%!important;width:100%!important}
 body.lh-dr .lh-catalogue__sort select{width:auto!important;min-width:160px!important;flex:1 1 auto!important;min-height:44px;box-sizing:border-box;font-size:14px}
 body.lh-dr .lh-catalogue__perpage{display:flex!important;align-items:center;gap:8px;flex:1 1 auto!important;margin:0!important}
 body.lh-dr .lh-catalogue__perpage-suffix{white-space:nowrap}
 body.lh-dr .lh-catalogue__perpage-select{min-height:44px;min-width:64px;font-size:14px}
 body.lh-dr .lh-catalogue__view-toggle{display:flex!important;flex:0 0 auto!important;width:auto!important;min-width:96px;gap:4px;padding:4px!important;border-radius:12px!important}
 body.lh-dr .lh-catalogue__view-btn{display:inline-flex!important;justify-content:center;align-items:center;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px!important;padding:0!important;border-radius:8px!important}
 body.lh-dr .lh-catalogue__view-btn svg{display:block!important;flex:none;width:18px!important;height:18px!important}
 body.lh-dr .lh-catalogue__mobile-trigger{position:static!important;inset:auto!important;transform:none!important;margin:0 0 16px!important;min-height:44px;width:100%!important;box-shadow:none!important}
 body.lh-dr .lh-catalogue:not(.is-filter-open) .lh-catalogue__drawer-apply{display:none!important}
}

/* Contact fields must outrank the global input[type=email] rule. */
#lhContact input.lhcf__in:not([type="checkbox"]):not([type="radio"]) {
  box-sizing:border-box;
  width:100%;
  border:2px solid #e9e1f6;
  border-radius:13px;
  padding:12px 14px;
  font-family:'Nunito',sans-serif;
  font-size:.95rem;
  font-weight:600;
  line-height:1.6;
  color:var(--ink);
  background:#fdfcff;
}
#lhContact input.lhcf__in:not([type="checkbox"]):not([type="radio"]):focus {
  outline:none;
  border-color:var(--p,#6b2fa0);
  background:#fff;
  box-shadow:0 0 0 4px rgba(107,47,160,.13);
}
/* Format collections have a fixed resource type; the shared facet endpoint supplies whole-library counts. */
body.lh-dr-format .lxe #lxFacetBody .opt > .c{display:none}
/* Keep headings coherent while brand fonts load or if a font request fails. */
body.lh-dr-catalogue .lxe .rc h4,
body.lh-dr-catalogue .lxe .fhead h3,
body.lh-dr-catalogue .lxe .count b,
body.lh-dr-format .lhfl :is(h1,h2,h3,h4){font-family:'Fredoka','Nunito',system-ui,sans-serif}
