/* v36: Resources and Insights visual alignment only. */
body:has(.resource-section) .hero.compact,body:has(.insight-grid) .hero.compact{background:linear-gradient(115deg,#f4f8f7 0%,#fff 68%);border-bottom:1px solid #e4e9ed}
body:has(.resource-section) .hero.compact .eyebrow,body:has(.insight-grid) .hero.compact .eyebrow{color:#376722}
body:has(.resource-section) .hero.compact h1,body:has(.insight-grid) .hero.compact h1{color:#092b49;letter-spacing:-.045em;max-width:850px}
body:has(.resource-section) .hero.compact .accent-rule,body:has(.insight-grid) .hero.compact .accent-rule{background:#8bc53f}
.resource-section{background:#fff}
.resource-toolbar h2{color:#092b49;letter-spacing:-.035em}
.resource-search-wrap{height:48px;border-radius:13px;background:#f8fafb;transition:border-color .2s,box-shadow .2s}
.resource-search-wrap:focus-within{border-color:#659b28;box-shadow:0 0 0 3px rgba(139,197,63,.18)}
.resource-filter{padding:10px 16px;background:#f3f6f7;border:1px solid #dce4e8;color:#274258;font-size:13px}
.resource-filter:hover{border-color:#8bc53f;color:#143c31}
.resource-filter.active{background:#092b49;border-color:#092b49;color:#fff}
.resource-filter:focus-visible,.resource-item:focus-visible{outline:3px solid #8bc53f;outline-offset:3px}
.resource-grid{gap:16px}
.resource-item{min-height:205px;background:#f3f5f6;border:1px solid #e1e7eb;border-radius:17px;padding:22px;transition:transform .2s,border-color .2s,box-shadow .2s}
.resource-item:hover{transform:translateY(-3px);border-color:#93bb6e;box-shadow:0 12px 30px rgba(9,43,73,.08)}
.resource-item h3{color:#092b49}
.resource-item>strong{color:#376722}
.resource-type{color:#527537}
body:has(.insight-grid) .section-head h2{color:#092b49}
.insight-grid{gap:22px}
.insight-card{border-color:#e0e6ea;border-radius:18px;box-shadow:0 5px 20px rgba(9,43,73,.035);transition:transform .2s,box-shadow .2s,border-color .2s}
.insight-card:hover{transform:translateY(-3px);border-color:#abc999;box-shadow:0 14px 30px rgba(9,43,73,.09)}
.insight-card:focus-visible{outline:3px solid #8bc53f;outline-offset:3px}
.insight-card h3{color:#092b49;letter-spacing:-.02em}
.insight-card strong{color:#376722}
.insight-card img{object-fit:cover}
.rise-insight-art{padding:0;background:#e9edf0;overflow:hidden}
.rise-insight-art img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:700px){.resource-toolbar h2{font-size:30px}.insight-card.featured{grid-template-columns:1fr}.rise-insight-art img{height:220px!important;width:100%!important}}
@media(prefers-reduced-motion:reduce){.resource-item,.insight-card{transition:none}.resource-item:hover,.insight-card:hover{transform:none}}

/* v37 compact resource directory: accessible native expansion, no 3D flips */
.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.resource-item{display:block;min-height:0!important;padding:0!important;border-radius:12px!important;background:#f3f5f6!important;box-shadow:none;overflow:hidden;transition:border-color .2s,background .2s!important}
.resource-item:hover{transform:none!important;box-shadow:0 4px 16px rgba(9,43,73,.06)}
.resource-item[hidden]{display:none!important}
.resource-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;min-height:62px;cursor:pointer}
.resource-summary::-webkit-details-marker{display:none}
.resource-summary:focus-visible,.resource-visit:focus-visible{outline:3px solid #8bc53f;outline-offset:-3px}
.resource-title{font-size:15px;font-weight:750;line-height:1.3;color:#092b49}
.resource-plus{color:#45771f;border:1px solid #cbd9c2;background:white;border-radius:50%;display:grid;place-items:center;flex:none;width:25px;height:25px;font-size:19px;font-weight:400;transition:transform .2s}
.resource-item[open] .resource-plus{transform:rotate(45deg)}
.resource-detail{border-top:1px solid #e0e7e8;padding:12px 17px 16px;background:#fbfcfc}
.resource-detail p{margin:7px 0 13px!important;font-size:13px;color:#4d6170;line-height:1.5}
.resource-detail .resource-type{font-size:10px;letter-spacing:.07em;color:#4c713a}
.resource-visit{display:inline-flex;min-height:34px;align-items:center;font-weight:700;color:#285b22;font-size:13px;text-decoration:none}
.resource-visit:hover{text-decoration:underline}
@media(max-width:980px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.resource-grid{grid-template-columns:1fr}.resource-summary{min-height:56px}}
@media(prefers-reduced-motion:reduce){.resource-plus{transition:none}}

/* v38: four-across branded directory tiles, no logos needed */
@media(min-width:1100px){.resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.resource-item{
 position:relative;border:1px solid #dfe6e8!important;
 background:linear-gradient(145deg,#f9faf9 0%,#f1f5f4 100%)!important;
 box-shadow:0 2px 8px rgba(9,43,73,.045)!important;
 transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.resource-item::before{
 content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,#8bc53f 0%,#c5dfa0 58%,transparent 100%);
 opacity:.7;pointer-events:none;
}
.resource-item:hover,.resource-item:focus-within,.resource-item[open]{
 border-color:#a6c77d!important;box-shadow:0 10px 25px rgba(9,43,73,.105)!important;
 transform:translateY(-2px)!important;
}
.resource-summary{gap:10px;min-height:78px;padding:17px 15px;}
.resource-title{font-size:14px;letter-spacing:-.01em;line-height:1.36;}
.resource-plus{width:27px;height:27px;color:#092b49;border-color:#dce5e5;box-shadow:0 1px 3px rgba(9,43,73,.05)}
.resource-item[open] .resource-plus{background:#8bc53f;border-color:#8bc53f;color:#092b49}
.resource-detail{background:#fff}
.resource-type{color:#376722}
@media(max-width:1099px){.resource-summary{min-height:70px}}
@media(max-width:640px){.resource-summary{min-height:60px}}
@media(prefers-reduced-motion:reduce){.resource-item{transition:none!important}.resource-item:hover,.resource-item:focus-within,.resource-item[open]{transform:none!important}}

/* v40 official-logo-ready compact resource tile styling */
.resource-brandmark{display:none;flex:1;min-width:0;align-items:center;justify-content:center;height:64px;}
.resource-brandmark img{display:block;max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain;}
.resource-item .resource-summary:has(.has-verified-logo){align-items:center;}
.resource-summary:has(.has-verified-logo) .resource-brandmark{display:flex;}
.resource-summary .resource-title.has-verified-logo{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap;}
.resource-summary:has(.resource-title.has-verified-logo){min-height:90px;}

.resource-summary:has(.resource-title.has-verified-logo) .resource-brandmark{display:flex;}

/* v42 Owner-supplied authentic logos, readable over tile surfaces */
.resource-brandmark.logo-needs-dark{background:#10293f;border-radius:10px;padding:8px 12px;height:76px;}
.resource-brandmark.logo-needs-dark img{max-height:52px;}
.resource-brandmark.has-verified-logo{padding-inline:8px;}
.resource-brandmark.logo-needs-dark.has-verified-logo{padding-inline:12px;}

/* v43: Business Platforms — company-specific contrasting logo fields */
.resource-brandmark.logo-brand-onevision.has-verified-logo{background:#121212;border-radius:10px;padding:10px 14px;height:76px;}
.resource-brandmark.logo-brand-parasol.has-verified-logo{background:#149ACA;border-radius:10px;padding:10px 14px;height:76px;}
.resource-brandmark.logo-brand-onevision img,.resource-brandmark.logo-brand-parasol img{max-height:52px;max-width:100%;object-fit:contain;}

/* v44: direct assets appear without fetching external manifest */
.resource-brandmark:has(img[data-logo-image]){display:flex;min-height:64px;}
.resource-brandmark img[data-logo-image]{object-fit:contain;}

/* v48 resource white-stage treatment: thin green edge, no gray fill or top stripe. */
.resource-grid .resource-item{background:#ffffff!important;border:1px solid #a6cd83!important;box-shadow:0 2px 10px rgba(9,43,73,.025)!important}
.resource-grid .resource-item::before{content:none!important;display:none!important}
.resource-grid .resource-summary,.resource-grid .resource-detail{background:#ffffff!important}
.resource-grid .resource-item:hover,.resource-grid .resource-item:focus-within,.resource-grid .resource-item[open]{border-color:#8bc53f!important;box-shadow:0 10px 25px rgba(9,43,73,.09)!important}

/* v49: consistent logo presentations across compact resource tiles */
.resource-grid .resource-brandmark,
.resource-grid .resource-brandmark.logo-needs-dark,
.resource-grid .resource-brandmark.logo-brand-onevision,
.resource-grid .resource-brandmark.logo-brand-parasol{background:#fff!important;min-height:82px!important;height:82px!important;padding:9px 12px!important;border-radius:10px;box-sizing:border-box;}
.resource-grid .resource-brandmark img,
.resource-grid .resource-brandmark.logo-needs-dark img,
.resource-grid .resource-brandmark.logo-brand-onevision img,
.resource-grid .resource-brandmark.logo-brand-parasol img{max-height:68px!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.resource-grid .resource-summary:has(.resource-title.has-verified-logo){min-height:112px;}
.resource-grid .resource-item[data-logo-key="savant"] .resource-brandmark img{max-height:74px!important;width:96%!important;}

/* v50: resource tile logo equalization, page scoped */
body:has(#resourceGrid) .resource-brandmark.logo-brand-onevision.has-verified-logo,body:has(#resourceGrid) .resource-brandmark.logo-brand-parasol.has-verified-logo{background:#fff!important;padding:2px 4px!important;}
body:has(#resourceGrid) .resource-brandmark[data-brand-logo="savant"] img,body:has(#resourceGrid) .resource-brandmark[data-brand-logo="onevision"] img,body:has(#resourceGrid) .resource-brandmark[data-brand-logo="alarm-com"] img{max-height:72px!important;max-width:100%!important;width:100%;height:72px;object-fit:contain;}
body:has(#resourceGrid) .resource-brandmark[data-brand-logo="cedia"] img,body:has(#resourceGrid) .resource-brandmark[data-brand-logo="control4"] img,body:has(#resourceGrid) .resource-brandmark[data-brand-logo="esa-national-training-school"] img,body:has(#resourceGrid) .resource-brandmark[data-brand-logo="sdvoe-alliance"] img{max-height:72px!important;max-width:100%!important;width:100%;height:72px;object-fit:contain;}

/* v51: trim actual image whitespace and intentionally fill logo field. */
#resourceGrid .resource-item[data-logo-key="savant"] .resource-brandmark,
#resourceGrid .resource-item[data-logo-key="onevision"] .resource-brandmark,
#resourceGrid .resource-item[data-logo-key="alarm-com"] .resource-brandmark{padding:3px 5px!important;}
#resourceGrid .resource-item[data-logo-key="savant"] .resource-brandmark img,
#resourceGrid .resource-item[data-logo-key="onevision"] .resource-brandmark img,
#resourceGrid .resource-item[data-logo-key="alarm-com"] .resource-brandmark img{width:100%!important;max-width:100%!important;height:70px!important;max-height:70px!important;object-fit:contain!important;}

/* v52: Lutron wordmark, actual source cropped and image fitted full tile width. */
#resourceGrid .resource-item[data-logo-key="lutron"] .resource-brandmark{padding:2px 4px!important;}
#resourceGrid .resource-item[data-logo-key="lutron"] .resource-brandmark img{width:100%!important;max-width:100%!important;height:70px!important;max-height:70px!important;object-fit:contain!important;}
