/* Shared blue accents, including interactive states and the mobile drawer. */
:root{--lx5-accent:#397e8b;--lx5-accent-soft:#cdeef5;--lx5-focus:#397e8b}
:focus-visible{outline:2px solid var(--lx5-focus);outline-offset:3px}
.search-form .input-wrap{background:transparent;border-color:#e2e8f0}
.search-form input{background:#fff;color:#0f172a;border-color:#e2e8f0;caret-color:var(--lx5-accent)}
.search-form input:focus{outline:2px solid var(--lx5-focus);outline-offset:2px;box-shadow:0 0 0 3px #cdeef580}
#advanced-toggle{background:#fff;color:#0f172a;border:1px solid #e2e8f0}
#advanced-toggle:hover,#advanced-toggle[aria-expanded="true"]{background:#eaf7fa;border-color:#9ecbd5;color:#0f172a}
.switch-track{background:#94a3b8}
.related-control input:checked+.switch-track{background:var(--lx5-accent)}
.related-control input:focus-visible+.switch-track{outline:2px solid var(--lx5-focus);outline-offset:3px}
.menu-panel .drawer-group a span{background:#86c7d5}
.menu-panel .drawer-group+.drawer-group{border-top-color:#e2e8f0}
.menu-panel a:hover,.menu-panel a:focus-visible,.menu-panel .drawer-group a:hover,.menu-panel .drawer-group a:focus-visible{background:#eaf7fa;color:#0f172a}
.menu-close:hover,.menu-close:focus-visible,.search-close:hover{background:#eaf7fa;color:#0f172a;border-color:#9ecbd5}
.category-label:before,.category-label.cat-Courses:before{background:#86c7d5}
.result-title a:hover,.result-snippet a:hover{color:var(--lx5-accent)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--lx5-accent)}
html[data-theme="dark"]{--lx5-focus:#86c7d5}
html[data-theme="dark"] .switch-track{background:#475569}
html[data-theme="dark"] .related-control input:checked+.switch-track{background:#397e8b}
html[data-theme="dark"] .menu-panel .drawer-group+.drawer-group{border-top-color:#334155}
html[data-theme="dark"] :is(.menu-panel a:focus-visible,.menu-panel .drawer-group a:hover,.menu-panel .drawer-group a:focus-visible,.menu-close:hover,.menu-close:focus-visible,.search-close:hover,#advanced-toggle:hover,#advanced-toggle[aria-expanded="true"]){background:#253246!important;color:#e8edf5!important;border-color:#475569!important}

/* Mobile resource-page title sizing: keep article/resource headers compact on phones. */
@media (max-width:760px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
    font-size:2.05rem !important;
    line-height:1.08 !important;
    letter-spacing:-.04em;
  }
}
@media (max-width:390px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
    font-size:1.9rem !important;
  }
}

/* v16 — compact resource-page hero titles on every screen size. */
:is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
  font-size:clamp(2rem,4vw,3.45rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em;
}
@media (max-width:760px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
    font-size:1.85rem !important;
    line-height:1.12 !important;
  }
  .hero{padding-top:44px !important;padding-bottom:42px !important;}
}
@media (max-width:390px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
    font-size:1.72rem !important;
  }
}


/* v17 — smaller titles for LX5-hosted resource/guide pages only. */
:is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
  font-size:clamp(1.85rem,3.2vw,2.85rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.035em;
}
@media (max-width:760px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{
    font-size:1.62rem !important;
    line-height:1.14 !important;
  }
}
@media (max-width:390px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero) h1{font-size:1.52rem !important;}
}

/* v18 — compact titles across all LX5-hosted internal resource pages, including Movies & TV. */
:is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero,.movies-hero) h1{
  font-size:clamp(1.75rem,2.8vw,2.55rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.035em;
}
@media (max-width:760px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero,.movies-hero) h1{
    font-size:1.50rem !important;
    line-height:1.14 !important;
  }
}
@media (max-width:390px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero,.movies-hero) h1{
    font-size:1.44rem !important;
  }
}

/* v19 — desktop-only title refinement. Mobile sizing from v18 is intentionally unchanged. */
@media (min-width:761px){
  :is(.hero,.apt-hero,.tool-hero,.glossary-hero,.guide-hero,.ai-hero,.osint-hero,.movies-hero,.project-hero,.reader-heading) h1{
    font-size:clamp(1.85rem,2.25vw,2.20rem) !important;
    line-height:1.12 !important;
    letter-spacing:-.03em;
  }
}
