/* GENERATED — do not hand-edit. Page CSS scoped under .fo-scope from
 * tools/acf-gen/src/content/research.php ($head_css). Regenerate: npm run assets:fo */
.fo-scope .page-hero__lens { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.fo-scope .page-hero { cursor: crosshair; }
.fo-scope .hero-sq { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none; will-change: transform;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.12); animation: hero-sq-pop .22s ease-out; }
@keyframes hero-sq-pop { from { opacity: 0; } to { opacity: 1; } }
.fo-scope .fmt-split { display: grid; grid-template-columns: 1fr; gap: var(--space-8); }
.fo-scope .fmt-split__intro { margin-top: var(--space-6); color: var(--color-text-muted); max-width: 42ch; }
.fo-scope .fmt-pin__scroll,
.fo-scope .fmt-pin__stick { position: static; height: auto; }
.fo-scope .cta-blade { overflow: hidden; padding-block: clamp(130px, 20vh, 240px); }
.fo-scope .cta-blade::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 50%; z-index: 0; pointer-events: none;
    background:
      radial-gradient(72% 100% at 14% 118%, rgba(255,117,0,.5), transparent 60%),
      radial-gradient(64% 100% at 50% 122%, rgba(255,189,239,.42), transparent 58%),
      radial-gradient(78% 100% at 88% 118%, rgba(62,255,238,.45), transparent 62%);
    filter: blur(34px); }
.fo-scope .cta-blade > .wrap { position: relative; z-index: 1; }
.fo-scope .feat__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-8); align-items: stretch; }
.fo-scope .feat__body { display: flex; flex-direction: column; justify-content: center; }
.fo-scope .feat__body .lead-head { max-width: 30ch; }
.fo-scope .feat__body .subhead { max-width: 60ch; }
.fo-scope .feat__meta { margin-top: var(--space-8); border-top: 0; }
.fo-scope .feat__media { min-height: 260px; position: relative; overflow: hidden;
    background: var(--color-surface-1);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.fo-scope .feat__layer { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.fo-scope #feat-glow { z-index: 1; filter: blur(60px); opacity: .9; }
.fo-scope #feat-grid { z-index: 2; filter: blur(2.4px); opacity: .9; }
.fo-scope #feat-ell { z-index: 3; }
@media (min-width: 900px) {
.fo-scope .feat__grid { grid-template-columns: 1.3fr 1fr; gap: clamp(36px, 4vw, 72px); align-items: stretch; }
.fo-scope .feat__media { min-height: 400px; }
}
.fo-scope .latest-grid .card { padding: var(--space-12); }
.fo-scope .latest-grid .card .tags { margin-bottom: var(--space-6); }
.fo-scope .latest-grid .card--link::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 3;
    background: linear-gradient(90deg, #FF7500, #FFBDEF, #A9A8F7);
    transform: scaleX(0); transform-origin: left center; transition: transform .5s ease; pointer-events: none; }
.fo-scope .latest-grid .card--link:hover { filter: none; }
.fo-scope .latest-grid .card--link:hover::before { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
.fo-scope .latest-grid .card--link::before { transition: none; }
}
.fo-scope .tags--topics { margin-top: var(--space-8); }
.fo-scope .tags--topics li { position: relative; overflow: hidden; isolation: isolate; cursor: default;
    transition: color .3s ease, border-color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.fo-scope .tags--topics li::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--grad-brand);
    transform: translateX(-101%); transition: transform .45s cubic-bezier(.4,.75,.2,1); }
.fo-scope .tags--topics li:hover { color: #14131F; border-color: transparent; transform: translateY(-3px); box-shadow: 0 8px 22px rgba(124,126,238,.28); }
.fo-scope .tags--topics li:hover::before { transform: translateX(0); }
.fo-scope .stackdeck { display: flex; flex-direction: column; gap: var(--space-6); }
@media (min-width: 900px) {
.fo-scope .fmt-split { grid-template-columns: 0.82fr 1.18fr; gap: clamp(48px, 6vw, 104px); align-items: center; }
}