/* Shared Research identity. Scoped to frontend experience; semantic status colours stay intact. */
body.lfr-experience { --lfr-experience-ink:#071721; --lfr-experience-mint:#93f5ca; --lfr-experience-paper:#f8fafb; --lfr-experience-line:#dce3e9; }
body.lfr-experience :is(.ol-arch,.fr-command,.ol-acc,.lfr-entity-page,.lol-single,.lol-auth-wrap,.fr-directory,.lol-favorites) { font-family:'DM Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
body.lfr-experience :is(.ol-arch,.fr-command,.ol-acc,.lfr-entity-page,.lol-single,.lol-auth-wrap) :is(h1,h2,h3,h4) { font-family:'DM Sans',Inter,sans-serif; letter-spacing:-.035em; }
body.lfr-experience :is(.ol-arch,.fr-command,.ol-acc,.lfr-entity-page) { background:#f8fafb; }
body.lfr-experience .ol-header,body.lfr-experience .lol-site-header { background:#071721; border-bottom:1px solid #ffffff12; }
body.lfr-experience :is(.ol-header__btn--primary,.lol-site-header-cta,.lol-auth-submit,.ol-arch__upgrade-cta) { background:#93f5ca; color:#071721; border-color:#93f5ca; box-shadow:none; border-radius:99px; }
body.lfr-experience :is(.ol-header__link.is-active,.ol-arch__cat-link.is-active,.ol-acc__nav-link.is-active) { color:#24644e; background:#e1f5ed; }
body.lfr-experience .ol-header__link.is-active { color:#93f5ca; background:#ffffff08; }
body.lfr-experience .ol-arch__cat-count { background:#e1f5ed; color:#24644e; }
body.lfr-experience :is(.ol-arch__access-filter>a.is-active,.lol-mobnav-item.is-active) { background:#e1f5ed; color:#24644e!important; box-shadow:none; }
body.lfr-experience .ol-arch__access-filter>a.is-active small { color:#42695c; }
body.lfr-experience :is(.ol-arch__card-tag,.ol-arch__sidebar-heading,.ol-arch__hero-eyebrow,.fr-eyebrow,.ol-acc__section-head h2 svg) { color:#357462; }
body.lfr-experience .ol-arch__card-wrap { min-width:0; }
body.lfr-experience .ol-arch__card { border-radius:16px; border:1px solid #dce3e9; box-shadow:none; transition:transform .18s,border-color .18s; }
body.lfr-experience .ol-arch__card:hover { transform:translateY(-4px); border-color:#62a78c; box-shadow:0 12px 30px #0717210c; }
body.lfr-experience .ol-arch__card-title { font-weight:650; }
body.lfr-experience .lol-auth-wrap { background:#071721; }
body.lfr-experience .lol-auth-bg { background:none; }
body.lfr-experience .lol-auth-orb { display:none; }
body.lfr-experience .lol-auth-title { letter-spacing:-.045em; }
body.lfr-experience :is(a,button,input,select,summary):focus-visible { outline:3px solid #26785e; outline-offset:4px; }
.lfr-discovery-search { margin:0 0 24px; width:100%; display:flex; align-items:center; gap:12px; min-height:52px; padding:14px 18px; border:1px solid #c9d8d1; background:#fff; color:#25493d; border-radius:12px; font:inherit; text-align:left; cursor:pointer; }
.lfr-discovery-search:hover { border-color:#357462; background:#f3fbf7; }
.lfr-discovery-search span:last-child { margin-left:auto; font-size:.8rem; color:#64748b; }
.lfr-dashboard-discovery { display:flex; gap:12px; margin:18px 0 22px; align-items:center; }
.lfr-dashboard-discovery .lfr-discovery-search { margin:0; flex:1; }
.lfr-dashboard-discovery > a { display:flex; align-items:center; gap:8px; padding:14px 18px; border:1px solid #dce3e9; border-radius:12px; background:#fff; color:#25493d; text-decoration:none; min-height:52px; }
.lfr-guide-links { margin-bottom:22px; padding:22px; border:1px solid #dce3e9; border-radius:14px; background:#fff; }
.lfr-guide-links h3 { margin:0 0 8px; }.lfr-guide-links p { color:#64748b; font-size:.9rem; }
.lfr-guide-links a { display:inline-flex; margin:4px 12px 4px 0; padding:12px 18px; gap:14px; border-radius:99px; background:#e1f5ed; color:#24644e; text-decoration:none; font-weight:600; }
.lfr-catalog-filters > summary { display:none; }.lfr-catalog-filters { margin-bottom:18px; }.lfr-catalog-filters .ol-arch__access-filter { margin:0; }
.lfr-card-context { display:flex; flex-wrap:wrap; gap:6px 14px; padding:0 20px 16px; font-size:.75rem; }
.lfr-card-context a { color:#357462; text-decoration:none; }.lfr-card-context a:hover { text-decoration:underline; }
.lfr-tour-shade { position:fixed; inset:0; z-index:100100; background:transparent; }
.lfr-tour-highlight { position:fixed; z-index:100101; border:2px solid #93f5ca; border-radius:12px; box-shadow:0 0 0 9999px #07172199; pointer-events:none; transition:top .15s,left .15s,width .15s,height .15s; }
.lfr-tour-card { position:fixed; z-index:100102; background:#fff; color:#071721; border:1px solid #dce3e9; border-radius:18px; box-shadow:0 18px 70px #0003; padding:20px; font-family:'DM Sans',sans-serif; }
.lfr-tour-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.lfr-tour-top > span { color:#357462; font-size:.75rem; font-weight:650; }
.lfr-tour-card h2 { font:650 1.2rem/1.25 'DM Sans',sans-serif; letter-spacing:-.025em; color:#071721; margin:0 0 10px; }
.lfr-tour-card p { color:#516371; font-size:.875rem; line-height:1.6; margin:0 0 18px; }
.lfr-tour-card button { font:600 .8rem/1.2 'DM Sans',sans-serif; color:#25493d; border:0; background:transparent; padding:10px; border-radius:8px; cursor:pointer; min-height:40px; }
.lfr-tour-card [data-tour-close] { font-size:1.5rem; width:40px; }
.lfr-tour-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; }.lfr-tour-actions > span { display:flex; gap:4px; }
.lfr-tour-card [data-tour-next] { background:#93f5ca; color:#071721; padding:12px 16px; border-radius:99px; }
.lfr-tour-card [data-tour-prev][hidden] { display:none; }
.lfr-tour-card button:focus-visible { outline:3px solid #26785e; outline-offset:2px; }
.lfr-tour-save-note { border:1px solid #dce3e9; background:#fff; padding:12px; color:#516371; }
body.lfr-tour-running .lol-mobnav { z-index:100099; }
@media(max-width:767px) {
 body.lfr-experience .ol-arch__layout { display:flex; flex-direction:column; padding:0 20px; gap:20px; }
 body.lfr-experience .ol-arch__main { width:100%; order:0; }
 body.lfr-experience .ol-arch__sidebar { width:100%; order:1; padding:20px; }
 body.lfr-experience .ol-arch__sidebar .ol-arch__user-block,body.lfr-experience .ol-arch__sidebar .ol-arch__upgrade { display:none; }
 body.lfr-experience .ol-arch__sidebar-section { margin:0 0 20px; }
 body.lfr-experience .ol-arch__sidebar-heading { display:none; }
 body.lfr-experience .ol-arch__cats { display:flex; gap:8px; overflow-x:auto; padding:4px 2px 10px; }
 body.lfr-experience .ol-arch__cat-link { flex:0 0 auto; width:auto; padding:10px 14px; border:1px solid #dce3e9; border-radius:99px; background:#fff; white-space:nowrap; min-height:44px; }
 body.lfr-experience .ol-arch__cat-count { margin-left:6px; }
 body.lfr-experience .ol-arch__hero { padding:18px 0; align-items:flex-start; }
 .lfr-catalog-filters > summary { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; min-height:44px; border:1px solid #dce3e9; border-radius:10px; background:#fff; cursor:pointer; }
 .lfr-catalog-filters .ol-arch__access-filter { margin-top:10px; display:flex; flex-wrap:wrap; overflow:visible; }
 .lfr-catalog-filters .ol-arch__access-filter>a { flex:1 1 calc(50% - 8px); min-width:0; }
 .lfr-discovery-search span:last-child { display:none; }
 .lfr-dashboard-discovery { flex-wrap:wrap; }.lfr-dashboard-discovery .lfr-discovery-search { flex-basis:100%; }.lfr-dashboard-discovery > a { padding:10px 14px; min-height:44px; }
 .lfr-tour-card.is-mobile { padding:18px; max-height:calc(100dvh - 200px); overflow-y:auto; }
}
@media(max-width:600px) {
 body.lfr-experience .lfr-home .lfr-brand img,body.lfr-experience .ol-header__brand img,body.lfr-experience .lol-site-logo-img { height:54px!important; max-height:54px!important; width:auto!important; max-width:180px; object-fit:contain; }
 body.lfr-experience .lfr-home .lfr-nav__inner,body.lfr-experience .ol-header__inner,body.lfr-experience .lol-site-header-inner { min-height:84px!important; }
 body.lfr-experience .ol-header__inner { padding-left:20px; padding-right:20px; }
 body.lfr-experience .lfr-home .lfr-nav__toggle,body.lfr-experience .ol-header__burger { width:44px; height:44px; flex-shrink:0; }
}
@media(prefers-reduced-motion:reduce) { body.lfr-experience *,body.lfr-experience *::before,body.lfr-experience *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.lfr-tour-card,.lfr-tour-card *,.lfr-tour-highlight { box-sizing:border-box; }
/* Specific overrides for legacy theme declarations with !important. */
body.lfr-experience .ol-arch { background:#f8fafb!important; }
body.lfr-experience .ol-header { background:#071721!important; }
body.lfr-experience .ol-arch .ol-arch__hero { background:#071721!important; padding:28px!important; }
body.lfr-experience .ol-arch .ol-arch__hero-title { font-family:'DM Sans',Inter,sans-serif!important; color:#fff!important; font-size:clamp(1.8rem,3.5vw,3rem); }
body.lfr-experience .ol-arch .ol-arch__hero-eyebrow { color:#93f5ca!important; }
body.lfr-experience .ol-arch .ol-arch__hero-stat-num { font-family:'DM Sans',Inter,sans-serif!important; color:#93f5ca!important; }
body.lfr-experience .ol-arch .ol-arch__cat-link.is-active { background:#e1f5ed!important; color:#24644e!important; }
body.lfr-experience .ol-arch .ol-arch__cat-count { background:#e1f5ed!important; color:#24644e!important; }
body.lfr-experience .ol-arch :is(.ol-arch__card-title,.ol-arch__guest-gate h2) { font-family:'DM Sans',Inter,sans-serif!important; }
@media(max-width:767px) {
 body.lfr-experience .ol-arch .ol-arch__cats { flex-direction:row!important; flex-wrap:nowrap!important; overflow-x:auto!important; }
 body.lfr-experience .ol-arch .ol-arch__cat-link { flex:0 0 auto!important; width:auto!important; }
 body.lfr-experience .ol-arch .ol-arch__sidebar-section { width:100%; min-width:0; }
 body.lfr-experience .ol-arch .ol-arch__hero { padding:24px!important; }
}
@media(max-width:767px) {
 body.lfr-experience .ol-arch .ol-arch__hero-stat { display:flex; align-items:baseline; gap:10px; border:0!important; padding:0!important; width:auto!important; text-align:left!important; }
 body.lfr-experience .ol-arch .ol-arch__hero-stat-num { font-size:1.5rem!important; line-height:1.2!important; }
 body.lfr-experience .ol-arch .ol-arch__hero-stat-lbl { margin:0!important; font-size:.65rem!important; }
}
@media(max-width:600px) { body.lfr-experience .ol-header__cta { margin-left:auto!important; } }
body.lfr-experience { --fr-ink:#071721; --fr-night:#071721; --fr-bg:#f8fafb; --fr-line:#dce3e9; --fr-violet:#26785e; --fr-cyan:#93f5ca; }
body.lfr-experience :is(.fr-rail__nav-link.is-active,.fr-command__tab.is-active) { background:#e1f5ed!important; color:#24644e!important; box-shadow:none!important; }
body.lfr-experience :is(.lfr-analyst-hero,.lfr-company-hero,.fr-directory-hero) { background:#071721!important; }
body.lfr-experience :is(.ol-arch,.fr-command,.ol-acc,.lfr-entity-page,.lol-single,.lol-auth-wrap) :is(h1,h2,h3,h4) { font-family:'DM Sans',Inter,sans-serif!important; }
body.lfr-experience #fr-explore-modal .fr-search-v2 { --fr-search-purple:#26785e; }
body.lfr-experience #fr-explore-modal .fr-search-tabs button.is-active { background:#e1f5ed; color:#24644e; border-color:#b6d9c9; }
body.lfr-experience #fr-explore-modal .fr-quick-modal__head { background:#071721; }
body.lfr-experience #fr-explore-modal .fr-quick-modal__head h2 { font-family:'DM Sans',Inter,sans-serif; }
body.lfr-experience #fr-explore-modal .fr-search-v2 :is(button,a,input,select):focus-visible { outline-color:#26785e; }
body.lfr-experience .ol-header .ol-header__btn--yellow,body.lfr-experience .ol-arch .ol-arch__upgrade-cta { background:#93f5ca!important; color:#071721!important; border-color:#93f5ca!important; box-shadow:none!important; }
body.lfr-experience .ol-arch .ol-arch__card-tag { color:#24644e!important; background:#e1f5ed!important; }
body.lfr-experience .ol-arch .ol-arch__icon-circle { color:#26785e!important; background:#e1f5ed!important; }
body.lfr-experience .ol-arch .ol-arch__card-arrow { color:#26785e!important; }
body.lfr-experience.lol-auth-page .lol-auth-wrap { background:#071721!important; }
body.lfr-experience.lol-auth-page .lol-auth-submit { background:#93f5ca!important; color:#071721!important; border-color:#93f5ca!important; box-shadow:none!important; border-radius:99px!important; }
body.lfr-experience.lol-auth-page .lol-auth-card :is(a,.lol-auth-toggle-pass) { color:#26785e!important; }
body.lfr-experience.lol-auth-page :is(.lol-auth-exit,.lol-auth-footer,.lol-auth-footer a) { color:#d4e6df!important; }
body.lfr-experience :is(h1,h2,h3,h4) { font-family:'DM Sans',Inter,sans-serif!important; }
body.lfr-experience :is(.fr-directory-register,.fr-directory-guest-footer) a:first-of-type,body.lfr-experience .lfr-company-follow button { background:#93f5ca!important; color:#071721!important; box-shadow:none!important; border-color:#93f5ca!important; }
body.lfr-experience .lfr-analyst-socials a { white-space:nowrap; font-size:12px; padding:10px 14px; }
body.lfr-experience .lfr-section-heading>p { color:#357462!important; }
body.lfr-experience .lol-auth-form :is(input,select):focus { border-color:#26785e!important; box-shadow:0 0 0 3px #93f5ca33!important; }

/* Isolate discovery and tour controls from Elementor global button states. */
body.lfr-experience .lfr-discovery-search,body.lfr-experience .lfr-discovery-search:hover,body.lfr-experience .lfr-discovery-search:focus,body.lfr-experience .lfr-discovery-search:active{appearance:none!important;background:#fff!important;color:#163d43!important;border:1px solid #cfdfdf!important;font-family:"DM Sans",sans-serif!important;box-shadow:none!important}
body.lfr-experience .lfr-discovery-search:hover{background:#edf8f3!important;border-color:#74ceba!important}
body.lfr-experience .lfr-discovery-search:focus-visible{outline:3px solid #54bea9!important;outline-offset:3px!important}
body.lfr-experience .lfr-tour-card button,body.lfr-experience .lfr-tour-card button:hover,body.lfr-experience .lfr-tour-card button:focus{appearance:none!important;background:#eef5f2!important;color:#16473d!important;font-family:"DM Sans",sans-serif!important;border:1px solid #c6ded4!important}
body.lfr-experience .lfr-tour-card button[data-tour-next]{background:#b0f1ce!important;color:#08382b!important}

/* Registration password helper: independent of Elementor button defaults. */
body.lfr-experience .lol-auth-generate-password,
body.lfr-experience .lol-auth-generate-password:hover,
body.lfr-experience .lol-auth-generate-password:focus,
body.lfr-experience .lol-auth-generate-password:active{
 appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:10px 14px!important;border:1px solid #beded2!important;border-radius:12px!important;background:#eaf7f1!important;color:#206653!important;font-family:"DM Sans",sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.3!important;box-shadow:none!important;text-transform:none!important;white-space:nowrap!important;
}
body.lfr-experience .lol-auth-generate-password:hover{background:#d9f2e6!important;border-color:#79bea6!important}
body.lfr-experience .lol-auth-generate-password:active{background:#c9eadb!important}
body.lfr-experience .lol-auth-generate-password:focus-visible{outline:3px solid #52ae91!important;outline-offset:3px!important}
body.lfr-experience .lol-auth-generate-password svg{width:16px!important;height:16px!important;flex-shrink:0;color:inherit!important}
@media(max-width:420px){body.lfr-experience .lol-auth-password-tools{flex-wrap:wrap!important;gap:8px!important}body.lfr-experience .lol-auth-generate-password{font-size:12px!important;padding:10px 12px!important}}
