:root {
    --ink: #223243;
    --ink-2: #2c4053;
    --ink-3: #3b5064;
    --paper: #f5f3ef;
    --paper-2: #ebe8e1;
    --white: #fffefa;
    --violet: #6f72a5;
    --violet-soft: #eeedf3;
    --lime: #becb9f;
    --teal: #75a29b;
    --coral: #bf8e82;
    --blue: #8296b5;
    --amber: #b59a69;
    --green: #819d85;
    --muted: #697684;
    --line: #deded9;
    --shadow-sm: 0 8px 24px rgba(11, 24, 48, 0.07);
    --shadow-lg: 0 24px 60px rgba(11, 24, 48, 0.13);
    --radius-sm: 6px;
    --radius: 10px;
    --radius-lg: 14px;
    --font-sans: "DM Sans", sans-serif;
    --font-display: "Manrope", sans-serif;
    --font-serif: "Source Serif 4", Georgia, serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
    font-family: var(--font-sans);
}

a {
    color: inherit;
}

.container-xxl {
    --bs-gutter-x: 3rem;
    max-width: 1480px;
}

.skip-link {
    position: fixed;
    top: -100px;
    left: 1rem;
    z-index: 9999;
    padding: .75rem 1rem;
    color: var(--white);
    background: var(--ink);
    border-radius: 8px;
}

.skip-link:focus {
    top: 1rem;
}

.demo-strip {
    min-height: 30px;
    padding: .4rem 1rem;
    color: rgba(255, 255, 255, .75);
    background: #172431;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.status-dot {
    width: 7px;
    height: 7px;
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(207, 250, 104, .12);
}

.demo-strip-divider {
    width: 1px;
    height: 11px;
    margin: 0 .25rem;
    background: rgba(255, 255, 255, .24);
}

.site-header {
    z-index: 1035;
    background: rgba(250, 249, 246, .92);
    border-bottom: 1px solid rgba(11, 24, 48, .08);
    backdrop-filter: blur(18px);
}

.site-header .navbar {
    min-height: 70px;
    padding: .55rem 0;
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -.045em;
    text-decoration: none;
}

.brand-lockup > span:last-child > span {
    color: var(--violet);
}

.brand-mark {
    position: relative;
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    width: 34px;
    height: 30px;
}

.brand-mark span {
    display: block;
    width: 6px;
    background: var(--ink);
    border-radius: 8px 8px 2px 2px;
    transform-origin: bottom;
}

.brand-mark span:nth-child(1) {
    height: 12px;
    transform: rotate(25deg) translate(3px, -1px);
}

.brand-mark span:nth-child(2) {
    height: 25px;
    background: var(--violet);
}

.brand-mark span:nth-child(3) {
    height: 12px;
    transform: rotate(-25deg) translate(-3px, -1px);
}

.nav-pills-shell {
    gap: .15rem;
    padding: .25rem;
    background: rgba(11, 24, 48, .045);
    border-radius: 999px;
}

.nav-pills-shell .nav-link {
    padding: .55rem .85rem;
    color: #4b596d;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 600;
}

.nav-pills-shell .nav-link:hover,
.nav-pills-shell .nav-link.active {
    color: var(--ink);
    background: var(--white);
    box-shadow: 0 3px 12px rgba(11, 24, 48, .08);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: -.015em;
}

.btn-lg {
    min-height: 48px;
    padding: .72rem 1.15rem;
    font-size: .86rem;
}

.btn-ink {
    color: var(--white);
    background: var(--ink);
    border: 1px solid var(--ink);
}

.btn-ink:hover,
.btn-ink:focus {
    color: var(--white);
    background: #344a5f;
    border-color: #344a5f;
}

.btn-lime {
    color: var(--ink);
    background: var(--lime);
    border: 1px solid var(--lime);
    box-shadow: 0 12px 35px rgba(207, 250, 104, .15);
}

.btn-lime:hover,
.btn-lime:focus {
    color: var(--ink);
    background: #cbd7b0;
    border-color: #cbd7b0;
    transform: translateY(-1px);
}

.btn-ghost {
    padding: .6rem .85rem;
    color: var(--ink);
    border: 0;
    font-size: .82rem;
}

.btn-ghost:hover {
    color: #6659ee;
}

.btn-outline-light-soft {
    color: var(--white);
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .05);
}

.btn-outline-light-soft:hover {
    color: var(--ink);
    background: var(--white);
    border-color: var(--white);
}

.btn-outline-ink {
    color: var(--ink);
    border: 1px solid rgba(11, 24, 48, .28);
    background: transparent;
}

.btn-outline-ink:hover {
    color: var(--white);
    background: var(--ink);
}

.btn-white {
    color: var(--ink);
    background: var(--white);
    border: 1px solid var(--white);
}

.btn-white:hover {
    color: var(--ink);
    background: var(--lime);
    border-color: var(--lime);
}

.section-dark {
    color: var(--white);
    background: #233442;
}

.bg-paper {
    background: var(--paper) !important;
}

.bg-violet-soft {
    background: #efeff2 !important;
}

.section-space {
    padding: clamp(3.75rem, 6vw, 6rem) 0;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: #596679;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.eyebrow > span {
    display: inline-block;
    width: 27px;
    height: 2px;
    background: var(--violet);
}

.eyebrow-light {
    color: rgba(255, 255, 255, .68);
}

.eyebrow-light > span {
    background: var(--lime);
}

.display-hero,
.display-page,
.display-section,
.connect-path-card h2,
.cta-panel h2 {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.display-hero {
    font-size: clamp(3.2rem, 5.2vw, 5.6rem);
}

.display-page {
    font-size: clamp(2.7rem, 4.4vw, 4.7rem);
}

.display-section {
    font-size: clamp(2.1rem, 3.25vw, 3.5rem);
}

.display-hero em,
.display-page em,
.display-section em,
.cta-panel em,
.mission-section em {
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: -.045em;
}

.display-hero em,
.section-dark .display-page em,
.cta-panel em {
    color: var(--lime);
}

.display-page em,
.display-section em {
    color: #686b9c;
}

.hero-lead,
.section-intro {
    color: rgba(255, 255, 255, .74);
    font-size: clamp(.98rem, 1.25vw, 1.14rem);
    line-height: 1.6;
}

.hero-lead {
    max-width: 690px;
}

.hero-lead-dark,
.section-intro {
    color: #617084;
}

.section-intro {
    margin-bottom: 0;
    font-size: .96rem;
}

.tiny-label,
.mini-kicker {
    color: #68788e;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.home-hero {
    position: relative;
}

.min-vh-hero {
    min-height: 72vh;
    padding: 4rem 0 4.5rem;
}

.hero-orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
}

.hero-orbit-one {
    width: 700px;
    height: 700px;
    top: -260px;
    right: -140px;
}

.hero-orbit-two {
    width: 460px;
    height: 460px;
    bottom: -320px;
    left: 15%;
}

.hero-proof {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hero-proof p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: .78rem;
    line-height: 1.45;
}

.hero-proof strong {
    color: var(--white);
}

.proof-avatars {
    display: flex;
}

.proof-avatars .avatar:not(:first-child) {
    margin-left: -8px;
}

.avatar {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: var(--ink);
    border: 3px solid var(--white);
    border-radius: 50%;
    font-family: var(--font-display);
    font-size: .66rem;
    font-weight: 800;
}

.avatar-violet { background: var(--violet); }
.avatar-teal { background: var(--teal); }
.avatar-coral { background: var(--coral); }
.avatar-blue { background: var(--blue); }
.avatar-amber { background: #c8ad78; }
.avatar-green { background: #91ad94; }
.avatar-xl { width: 62px; height: 62px; font-size: .86rem; }

.hero-product-card {
    position: relative;
    z-index: 2;
    padding: 1.1rem;
    color: var(--ink);
    background: #f9f8f4;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 55px rgba(12, 25, 38, .22);
    transform: rotate(1.5deg);
}

.product-card-top {
    padding: .6rem .6rem 1.25rem;
}

.product-card-top p {
    margin-top: .2rem;
    font-size: .8rem;
    font-weight: 700;
}

.mini-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #5a4de0;
    background: var(--violet-soft);
    border-radius: 50%;
}

.product-question {
    padding: 1.4rem;
    background: var(--ink);
    border-radius: 22px;
}

.product-question span {
    color: var(--teal);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.product-question h2 {
    margin: .7rem 0 .2rem;
    color: var(--white);
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1.05;
}

.signal-map {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 160px;
    margin: .9rem 0;
    padding: 1.3rem .8rem;
    background: #e9e4ff;
    border-radius: 22px;
}

.signal-node {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    min-width: 74px;
    color: #3b4660;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.15;
}

.signal-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--white);
    background: var(--ink);
    border-radius: 50%;
    font-size: .62rem;
}

.signal-node-highlight .signal-number {
    color: var(--ink);
    background: var(--lime);
}

.signal-line {
    position: relative;
    flex: 1;
    height: 1px;
    margin: 0 .4rem 1.9rem;
    background: rgba(11, 24, 48, .22);
}

.signal-line span {
    position: absolute;
    top: -3px;
    right: 0;
    width: 7px;
    height: 7px;
    background: var(--ink);
    border-radius: 50%;
}

.evidence-row,
.scenario-evidence-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem 1rem;
    padding: .4rem .55rem 1rem;
    color: #6a778a;
    font-size: .7rem;
    font-weight: 600;
}

.evidence-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    padding: .38rem .62rem;
    color: #245f51;
    background: #dff5eb;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 800;
}

.researcher-mini {
    padding: .8rem;
    background: var(--white);
    border: 1px solid #e6e6e3;
    border-radius: 18px;
}

.researcher-mini strong,
.researcher-mini span {
    display: block;
}

.researcher-mini strong {
    font-size: .82rem;
}

.researcher-mini div > span {
    color: var(--muted);
    font-size: .66rem;
}

.round-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    color: var(--white);
    background: var(--ink);
    border-radius: 50%;
}

.floating-note {
    position: absolute;
    z-index: 3;
    display: flex;
    flex-direction: column;
    padding: .8rem 1rem;
    color: var(--ink);
    background: var(--lime);
    border-radius: 17px;
    box-shadow: var(--shadow-sm);
}

.floating-note span {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -.07em;
}

.floating-note small {
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.floating-note-left {
    bottom: 3rem;
    left: -1rem;
    transform: rotate(-4deg);
}

.floating-note-right {
    top: 7rem;
    right: -.5rem;
    background: var(--coral);
    transform: rotate(4deg);
}

.floating-note-right i {
    margin-bottom: .3rem;
    font-size: 1.2rem;
}

.logo-ribbon {
    padding: 1.4rem 0;
    color: #647083;
    background: var(--white);
    border-bottom: 1px solid #e4e4df;
}

.logo-ribbon .container-xxl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.logo-ribbon p {
    margin: 0;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ribbon-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 1.8rem;
}

.ribbon-items span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #3d4b60;
    font-size: .78rem;
    font-weight: 700;
}

.process-card {
    position: relative;
    min-height: 330px;
    padding: 2rem;
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.process-card-ink {
    color: var(--white);
    background: #263847;
}

.process-card-violet {
    background: var(--violet-soft);
}

.process-card-lime {
    background: var(--lime);
}

.process-index {
    position: absolute;
    top: 1.6rem;
    right: 1.8rem;
    color: rgba(11, 24, 48, .36);
    font-family: var(--font-display);
    font-size: .8rem;
    font-weight: 800;
}

.process-card-ink .process-index {
    color: rgba(255, 255, 255, .42);
}

.process-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 3.5rem;
    background: rgba(255, 255, 255, .5);
    border-radius: 19px;
    font-size: 1.45rem;
}

.process-card-ink .process-icon {
    color: var(--ink);
    background: var(--lime);
}

.process-card h3 {
    max-width: 360px;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2.2vw, 2.15rem);
    font-weight: 750;
    letter-spacing: -.055em;
    line-height: 1.08;
}

.process-card p {
    margin: 0;
    color: #56667a;
    font-size: .92rem;
    line-height: 1.65;
}

.process-card-ink p {
    color: rgba(255, 255, 255, .65);
}

.section-split {
    background: var(--white);
}

.scenario-preview-card {
    padding: 1.8rem;
    color: var(--white);
    background: var(--ink);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.scenario-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.scenario-preview-head .mini-kicker {
    color: rgba(255, 255, 255, .5);
}

.evidence-badge-light {
    color: #b8f3df;
    background: rgba(104, 216, 200, .14);
}

.scenario-preview-card h3 {
    max-width: 620px;
    margin: 3rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 750;
    letter-spacing: -.065em;
    line-height: .98;
}

.scenario-preview-card > p {
    max-width: 580px;
    color: rgba(255, 255, 255, .65);
}

.waste-visual {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: .75rem;
    margin: 3rem 0;
}

.waste-visual > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 120px;
    padding: 1rem;
    color: var(--ink);
    background: var(--paper);
    border-radius: 18px;
}

.waste-visual .waste-focus {
    background: var(--lime);
}

.waste-visual span {
    color: #647083;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.waste-visual b {
    font-family: var(--font-display);
    font-size: 2rem;
    letter-spacing: -.06em;
}

.scenario-preview-foot {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
    gap: .75rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.scenario-preview-foot > div {
    display: flex;
    flex-direction: column;
}

.scenario-preview-foot strong {
    font-family: var(--font-display);
    font-size: 1.5rem;
    letter-spacing: -.05em;
}

.scenario-preview-foot span {
    color: rgba(255, 255, 255, .55);
    font-size: .65rem;
}

.scenario-preview-foot .preview-person {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
}

.preview-person span:last-child {
    display: flex;
    flex-direction: column;
}

.preview-person strong {
    color: var(--white);
    font-family: var(--font-sans);
    font-size: .72rem;
    letter-spacing: 0;
}

.check-list {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding: 0;
    list-style: none;
}

.check-list li {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    color: #425066;
    font-size: .91rem;
}

.check-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--ink);
    background: var(--lime);
    border-radius: 50%;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--ink);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--violet);
}

.intent-board {
    padding: 1.3rem;
    background: var(--white);
    border: 1px solid rgba(11, 24, 48, .07);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.intent-person {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .8rem;
}

.intent-person h3 {
    margin: .25rem 0 0;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 750;
    letter-spacing: -.045em;
}

.intent-person p {
    margin: 0;
    color: var(--muted);
    font-size: .75rem;
}

.intent-tags {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
    padding: 1rem .8rem 1.4rem;
}

.intent-tags span {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .8rem;
    color: #39475b;
    background: #f4f5f3;
    border-radius: 12px;
    font-size: .76rem;
    font-weight: 700;
}

.intent-tags i {
    color: #39a27e;
}

.intent-tags span.muted {
    color: #8d96a3;
    background: #f8f8f6;
}

.intent-tags span.muted i {
    color: #aab0b8;
}

.intent-match {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    color: var(--white);
    background: var(--ink);
    border-radius: 18px;
}

.intent-match > div {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.match-score {
    color: var(--lime);
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: -.06em;
}

.intent-match > div > span:last-child,
.intent-match a {
    color: rgba(255, 255, 255, .66);
    font-size: .68rem;
    text-decoration: none;
}

.cta-panel {
    position: relative;
    padding: clamp(2.5rem, 5vw, 5rem);
    overflow: hidden;
    color: var(--white);
    background: var(--ink);
    border-radius: 40px;
}

.cta-grid {
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
    background-size: 45px 45px;
    mask-image: linear-gradient(to right, transparent, #000 70%);
}

.cta-panel h2 {
    margin-top: 1.4rem;
    font-size: clamp(2.2rem, 3.7vw, 3.9rem);
}

.cta-note {
    margin: .8rem .5rem 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: .7rem;
}

.site-footer {
    padding: 3.75rem 0 1.5rem;
    color: var(--white);
    background: #172431;
}

.footer-main {
    padding-bottom: 2.75rem;
}

.footer-brand {
    color: var(--white);
    font-size: 1.4rem;
}

.brand-mark-light span {
    background: var(--white);
}

.brand-mark-light span:nth-child(2) {
    background: var(--lime);
}

.footer-statement {
    max-width: 430px;
    margin: 2.3rem 0 .8rem;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1.08;
}

.footer-small {
    color: rgba(255, 255, 255, .48);
    font-size: .78rem;
}

.footer-label {
    margin-bottom: 1.1rem;
    color: rgba(255, 255, 255, .4);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-footer .col-6 > a,
.site-footer .col-lg-2 > a {
    display: block;
    margin: .65rem 0;
    color: rgba(255, 255, 255, .72);
    font-size: .8rem;
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--lime);
}

.footer-chip {
    display: block;
    width: fit-content;
    margin: .55rem 0;
    padding: .4rem .65rem;
    color: rgba(255, 255, 255, .72);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    font-size: .67rem;
}

.footer-bottom {
    padding-top: 1.3rem;
    color: rgba(255, 255, 255, .35);
    border-top: 1px solid rgba(255, 255, 255, .09);
    font-size: .67rem;
}

/* Explorer */
.explore-masthead {
    padding: 3.75rem 0 2rem;
    background: var(--paper);
}

.collection-notice {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: fit-content;
    padding: .65rem .9rem;
    color: #5c5a40;
    background: #fff5c9;
    border: 1px solid #eadc9e;
    border-radius: 12px;
    font-size: .74rem;
}

.explorer-section {
    padding: 0 0 7rem;
    background: var(--paper);
}

.explorer-shell {
    display: grid;
    grid-template-columns: minmax(300px, 355px) minmax(0, 1fr);
    overflow: hidden;
    background: #edf0ee;
    border: 1px solid #d9ddda;
    border-radius: 28px;
    box-shadow: var(--shadow-sm);
}

.context-panel {
    padding: 1.5rem;
    background: var(--white);
    border-right: 1px solid #dde1de;
}

.context-heading {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid #e5e7e5;
}

.context-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--ink);
    background: var(--lime);
    border-radius: 13px;
    font-size: .72rem;
    font-weight: 800;
}

.context-heading h2,
.workspace-toolbar h2 {
    margin: .2rem 0 0;
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 750;
    letter-spacing: -.04em;
}

.filter-group {
    padding: 1.4rem 0;
    border-bottom: 1px solid #e5e7e5;
}

.filter-group-compact {
    margin: 0;
}

.filter-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.filter-label-row label,
.filter-group .form-label,
.demo-form .form-label {
    color: #334158;
    font-size: .72rem;
    font-weight: 800;
}

.filter-label-row > span,
.optional {
    color: #8b96a4;
    font-size: .61rem;
    font-weight: 500;
}

.organization-type-list {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.organization-type {
    display: grid;
    grid-template-columns: 35px 1fr auto;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .55rem;
    color: var(--ink);
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
}

.organization-type:hover {
    background: #f5f5f1;
}

.organization-type.selected {
    background: #eeebff;
    border-color: #d1c9ff;
}

.organization-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    color: #5e53da;
    background: #eeebff;
    border-radius: 10px;
}

.organization-type strong,
.organization-type small {
    display: block;
}

.organization-type strong {
    font-size: .71rem;
}

.organization-type small {
    margin-top: .1rem;
    color: #8490a0;
    font-size: .58rem;
}

.organization-check {
    display: none;
    color: #5e53da;
}

.organization-type.selected .organization-check {
    display: block;
}

.improvement-area-list {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.improvement-area {
    display: grid;
    grid-template-columns: 35px 1fr auto;
    align-items: center;
    gap: .7rem;
    width: 100%;
    padding: .55rem;
    color: var(--ink);
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
}

.improvement-area:hover {
    background: #f3f4ef;
}

.improvement-area.selected {
    background: #edf1e8;
    border-color: #cbd5c2;
}

.improvement-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    color: #4d675e;
    background: #e6ede7;
    border-radius: 6px;
}

.improvement-area strong,
.improvement-area small {
    display: block;
}

.improvement-area strong {
    font-size: .71rem;
}

.improvement-area small {
    margin-top: .1rem;
    color: #8490a0;
    font-size: .58rem;
}

.improvement-check {
    display: none;
    color: #4d675e;
}

.improvement-area.selected .improvement-check {
    display: block;
}

.form-select-app,
.form-control-app {
    min-height: 42px;
    color: #405068;
    background-color: #f6f6f3;
    border-color: #e3e4e1;
    border-radius: 10px;
    font-size: .7rem;
}

.form-control-app {
    padding: .75rem;
}

.btn-link-reset {
    color: #798596;
    background: transparent;
    border: 0;
    font-size: .67rem;
    text-decoration: none;
}

.scenario-workspace {
    min-width: 0;
    padding: 1.5rem;
}

.workspace-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 64px;
    margin-bottom: 1.2rem;
}

.toolbar-meta {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: #69788a;
    font-size: .67rem;
}

.btn-small-ghost {
    padding: .45rem .7rem;
    color: var(--ink);
    background: rgba(255, 255, 255, .72);
    border: 1px solid #d9dedb;
    font-size: .65rem;
}

.active-context {
    margin-bottom: 1rem;
    padding: .75rem 1rem;
    color: #435167;
    background: #fff;
    border: 1px solid #dce0dd;
    border-radius: 12px;
    font-size: .72rem;
}

.scenario-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.scenario-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.15rem;
    background: var(--white);
    border: 1px solid #dfe3e0;
    border-radius: 20px;
    box-shadow: 0 6px 20px rgba(11, 24, 48, .03);
    transition: transform .2s ease, box-shadow .2s ease;
}

.scenario-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
}

.scenario-card[hidden] {
    display: none;
}

.scenario-card-top,
.scenario-card-foot,
.scenario-meta,
.matched-person {
    display: flex;
    align-items: center;
}

.scenario-card-top,
.scenario-card-foot {
    justify-content: space-between;
    gap: .7rem;
}

.scenario-meta {
    gap: .5rem;
    color: #68768a;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.scenario-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.scenario-dot-violet { background: var(--violet); }
.scenario-dot-blue { background: var(--blue); }
.scenario-dot-teal { background: var(--teal); }
.scenario-dot-coral { background: var(--coral); }
.scenario-dot-amber { background: var(--amber); }
.scenario-dot-green { background: var(--green); }

.save-scenario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #6c7887;
    background: #f4f5f3;
    border: 0;
    border-radius: 50%;
}

.save-scenario.saved {
    color: var(--ink);
    background: var(--lime);
}

.scenario-card h3 {
    margin: 1.6rem 0 .7rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 750;
    letter-spacing: -.055em;
    line-height: 1.04;
}

.scenario-card > p {
    min-height: 58px;
    margin-bottom: 1rem;
    color: #67758a;
    font-size: .77rem;
    line-height: 1.55;
}

.case-organization {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e3df;
}

.case-organization-mark {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--ink);
    background: #e9e8f4;
    border: 1px solid rgba(11, 24, 48, .1);
    border-radius: 6px;
    font-family: var(--font-display);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.case-organization-mark-blue { background: #e4eaf4; }
.case-organization-mark-teal { background: #deece8; }
.case-organization-mark-coral { background: #f0e3df; }
.case-organization-mark-amber { background: #eee7d7; }
.case-organization-mark-green { background: #e2ebe3; }

.case-organization > span:last-child {
    min-width: 0;
}

.case-organization strong,
.case-organization small {
    display: block;
}

.case-organization strong {
    font-size: .74rem;
}

.case-organization small {
    margin-top: .12rem;
    overflow: hidden;
    color: #7b8695;
    font-size: .57rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.case-brief {
    margin-bottom: 1rem;
    padding-left: .85rem;
    border-left: 2px solid #a6a8b0;
}

.case-brief > span,
.case-research-signal > span,
.case-collaboration > span {
    display: block;
    margin-bottom: .35rem;
    color: #6f7a89;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.case-brief p,
.case-research-signal p {
    margin: 0;
    color: #5d697b;
    font-size: .72rem;
    line-height: 1.55;
}

.case-research-signal {
    margin-top: .8rem;
    padding: .9rem;
    background: #f4f1e9;
    border: 1px solid #e5e0d4;
    border-radius: 6px;
}

.case-research-signal > span i {
    color: #555ba9;
}

.case-collaboration {
    margin-top: .65rem;
    padding: .8rem .9rem;
    background: #eef1ea;
    border-left: 3px solid #7d9a64;
}

.case-collaboration > span {
    margin-bottom: .2rem;
}

.case-collaboration strong {
    display: block;
    color: #28394d;
    font-size: .7rem;
    line-height: 1.45;
}

.scenario-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 145px;
    padding: 1.2rem;
    overflow: hidden;
    background: #ebe8ff;
    border-radius: 16px;
}

.scenario-visual-blue { background: #e3edff; }
.scenario-visual-teal { background: #ddf6f1; }
.scenario-visual-coral { background: #ffebe6; }
.scenario-visual-amber { background: #fff0cf; }
.scenario-visual-green { background: #e3f4e8; }

.path-node,
.scenario-visual-journey > span,
.balance-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    min-width: 64px;
    color: #4d5970;
    font-size: 1rem;
}

.path-node i,
.scenario-visual-journey > span i,
.balance-side i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--ink);
    background: rgba(255,255,255,.7);
    border-radius: 50%;
}

.path-node small,
.scenario-visual-journey small,
.balance-side small {
    font-size: .56rem;
    font-weight: 800;
    text-transform: uppercase;
}

.path-node-active i,
.scenario-visual-journey > span.active i {
    background: var(--lime);
}

.path-arrow {
    margin: 0 .4rem 1.2rem;
    color: #8791a0;
}

.visual-journey-line {
    position: absolute;
    top: 52px;
    right: 20%;
    left: 20%;
    height: 2px;
    background: rgba(11,24,48,.22);
}

.scenario-visual-journey > span {
    position: relative;
    z-index: 1;
    flex: 1;
}

.scenario-visual.scenario-visual-journey {
    align-items: stretch;
    justify-content: stretch;
    min-height: 184px;
    padding: .9rem 1rem;
    background: #f0f1f2;
}

.memory-journey {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: .55rem;
    width: 100%;
}

.memory-journey-key,
.memory-journey-focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.memory-journey-key {
    color: #74808d;
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.memory-journey-key strong {
    color: #4e5d6f;
    font-weight: 800;
}

.memory-journey-chart {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .45rem;
    align-items: end;
    min-height: 96px;
    padding: 0 .15rem .45rem;
    border-bottom: 1px solid #cfd4d8;
}

.memory-journey-chart::before {
    position: absolute;
    top: 32px;
    right: 0;
    left: 0;
    height: 1px;
    background: #dfe2e4;
    content: "";
}

.memory-stage {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: 1fr auto auto;
    align-items: end;
    min-width: 0;
    text-align: center;
}

.memory-bar {
    display: flex;
    align-items: end;
    justify-content: center;
    height: 58px;
}

.memory-bar i {
    display: block;
    width: min(32px, 72%);
    background: #aeb9c4;
    border-radius: 3px 3px 0 0;
}

.memory-stage-arrive .memory-bar i { height: 24px; }
.memory-stage-peak .memory-bar i { height: 55px; background: #7377a8; }
.memory-stage-recover .memory-bar i { height: 38px; background: #8f9eaa; }
.memory-stage-end .memory-bar i { height: 49px; background: #91a17d; }

.memory-stage b {
    margin-top: .35rem;
    color: #344456;
    font-size: .61rem;
    font-weight: 800;
}

.memory-stage small {
    margin-top: .05rem;
    overflow: hidden;
    color: #7b8692;
    font-size: .45rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.memory-journey-focus {
    padding-top: .15rem;
    color: #6d7885;
    font-size: .52rem;
}

.memory-journey-focus strong {
    color: #535889;
    font-size: .58rem;
    font-weight: 800;
}

.loop-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    color: var(--white);
    background: var(--ink);
    border-radius: 50%;
}

.loop-center small {
    font-size: .55rem;
    font-weight: 800;
    text-transform: uppercase;
}

.loop-node {
    position: absolute;
    padding: .4rem .55rem;
    background: rgba(255,255,255,.75);
    border-radius: 999px;
    font-size: .55rem;
    font-weight: 800;
    text-transform: uppercase;
}

.loop-node-one { top: 14px; left: 18%; }
.loop-node-two { right: 14%; bottom: 18px; }
.loop-node-three { bottom: 16px; left: 16%; }

.signal-bar {
    align-self: flex-end;
    width: 24px;
    margin: 0 .16rem;
    background: var(--teal);
    border-radius: 5px 5px 0 0;
}

.signal-bar-one { height: 30px; }
.signal-bar-two { height: 55px; }
.signal-bar-three { height: 38px; }
.signal-bar-four { height: 78px; }
.signal-bar-five { height: 65px; }

.signal-trend {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-left: 1rem;
    color: var(--ink);
    font-size: 2.2rem;
}

.signal-trend small {
    font-size: .52rem;
    font-weight: 800;
    text-transform: uppercase;
}

.balance-core {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 1.4rem 1rem;
    color: var(--ink);
    background: var(--lime);
    border-radius: 50%;
    font-family: var(--font-display);
    font-weight: 800;
}

.step-block {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 28%;
    padding: .7rem;
    color: var(--ink);
    background: rgba(255,255,255,.72);
    border-radius: 10px 10px 2px 2px;
    font-size: .55rem;
    font-weight: 800;
    text-transform: uppercase;
}

.step-one { height: 48px; }
.step-two { height: 76px; }
.step-three { height: 108px; background: var(--lime); }

.scenario-evidence-row {
    padding: .85rem 0;
    border-bottom: 1px solid #e5e7e5;
}

.scenario-card-foot {
    padding-top: .9rem;
}

.matched-researcher-group {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .6rem;
}

.case-researcher-stack {
    display: flex;
    flex: 0 0 auto;
    padding-left: 8px;
}

.case-researcher-stack .avatar {
    width: 32px;
    height: 32px;
    margin-left: -8px;
    border-width: 2px;
    font-size: .52rem;
}

.matched-researcher-group > span:last-child {
    min-width: 0;
}

.matched-researcher-group small,
.matched-researcher-group strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.matched-researcher-group small {
    color: #8a96a4;
    font-size: .53rem;
}

.matched-researcher-group strong {
    font-size: .65rem;
}

.matched-person {
    min-width: 0;
    gap: .5rem;
}

.matched-person .avatar {
    width: 32px;
    height: 32px;
    border-width: 2px;
    font-size: .56rem;
}

.matched-person > span:last-child {
    min-width: 0;
}

.matched-person small,
.matched-person strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.matched-person small {
    color: #8a96a4;
    font-size: .53rem;
}

.matched-person strong {
    font-size: .65rem;
}

.btn-open-case {
    padding: .5rem .7rem;
    color: var(--ink);
    background: transparent;
    border: 1px solid #d8dcda;
    font-size: .62rem;
}

.btn-open-case:hover {
    color: var(--white);
    background: var(--ink);
}

.no-results {
    padding: 5rem 1.5rem;
    text-align: center;
}

.no-results-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    color: #6358da;
    background: #e2ddff;
    border-radius: 50%;
    font-size: 1.7rem;
}

.no-results h3 {
    margin: 1.5rem 0 .5rem;
    font-family: var(--font-display);
    font-weight: 750;
    letter-spacing: -.04em;
}

.no-results p {
    color: var(--muted);
}

.scenario-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    box-shadow: var(--shadow-lg);
}

.modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--white);
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
}

.scenario-modal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
}

.scenario-modal-main {
    padding: 3rem;
    color: var(--white);
    background: var(--ink);
}

.scenario-modal-main h2 {
    margin: 2.2rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 4vw, 4.2rem);
    font-weight: 750;
    letter-spacing: -.065em;
    line-height: .98;
}

.scenario-modal-main > p {
    color: rgba(255,255,255,.65);
    line-height: 1.65;
}

.modal-case-organization {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: 2rem;
    padding: .85rem 0;
    border-top: 1px solid rgba(255,255,255,.13);
    border-bottom: 1px solid rgba(255,255,255,.13);
}

.modal-case-organization strong,
.modal-case-organization small {
    display: block;
}

.modal-case-organization strong {
    font-size: .8rem;
}

.modal-case-organization small {
    margin-top: .15rem;
    color: rgba(255,255,255,.5);
    font-size: .62rem;
}

.modal-situation,
.modal-research-signal {
    margin-top: 1rem;
}

.modal-situation small,
.modal-research-signal small {
    display: block;
    margin-bottom: .35rem;
    color: rgba(255,255,255,.48);
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.modal-situation p,
.modal-research-signal p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    line-height: 1.6;
}

.modal-research-signal {
    padding: 1rem;
    background: rgba(255,255,255,.07);
    border-left: 3px solid var(--lime);
}

.modal-outcome {
    margin: 2rem 0;
    padding: 1.2rem;
    color: var(--ink);
    background: var(--lime);
    border-radius: 16px;
}

.modal-outcome small,
.modal-outcome strong {
    display: block;
}

.modal-outcome small {
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.modal-outcome strong {
    margin-top: .35rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    letter-spacing: -.035em;
}

.modal-question-list,
.modal-measure-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
}

.modal-question-list span,
.modal-measure-list span {
    padding: .8rem;
    color: rgba(255,255,255,.75);
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    font-size: .72rem;
}

.scenario-modal-side {
    padding: 3rem 2rem 2rem;
    background: #f5f4ef;
}

.modal-section-label {
    margin: 0 0 1rem;
    color: #667489;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.modal-paper {
    padding: 1rem 0;
    border-bottom: 1px solid #dfe1de;
}

.modal-paper strong,
.modal-paper small {
    display: block;
}

.modal-paper p {
    margin: .55rem 0 0;
    color: #596779;
    font-size: .64rem;
    line-height: 1.5;
}

.modal-paper strong {
    font-size: .77rem;
    line-height: 1.4;
}

.modal-paper small {
    margin-top: .3rem;
    color: #7b8796;
    font-size: .61rem;
}

.modal-researcher {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: .8rem;
    padding: .9rem;
    background: var(--white);
    border: 1px solid #dcdfdc;
    border-radius: 14px;
}

.modal-researcher strong,
.modal-researcher small {
    display: block;
}

.modal-researcher strong {
    font-size: .76rem;
}

.modal-researcher small {
    color: #748193;
    font-size: .6rem;
}

.modal-researcher em {
    display: block;
    margin-top: .28rem;
    color: #45556a;
    font-size: .62rem;
    font-style: normal;
    line-height: 1.4;
}

.modal-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
    margin-top: 1.5rem;
}

/* Connect and audience pages */
.connect-hero {
    position: relative;
    padding: clamp(3.5rem, 5.5vw, 5rem) 0 clamp(5.25rem, 7vw, 6.5rem);
}

.connect-glow {
    position: absolute;
    top: -400px;
    left: 50%;
    width: 900px;
    height: 700px;
    background: radial-gradient(circle, rgba(118,122,165,.18), transparent 66%);
    transform: translateX(-50%);
}

.connect-paths {
    padding-bottom: 4rem;
}

.connect-path-grid {
    margin-top: -3rem;
}

.connect-path-card {
    position: relative;
    min-height: 485px;
    padding: clamp(1.8rem, 3vw, 2.6rem);
    overflow: hidden;
    border-radius: 36px;
    box-shadow: var(--shadow-lg);
}

.connect-path-organization {
    background: var(--white);
}

.connect-path-academic {
    color: var(--white);
    background: #4b5b6e;
}

.path-card-number {
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-family: var(--font-display);
    font-size: .75rem;
    font-weight: 800;
    opacity: .45;
}

.path-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 2.25rem;
    color: var(--ink);
    background: var(--lime);
    border-radius: 20px;
    font-size: 1.2rem;
}

.connect-path-academic .path-card-icon {
    background: var(--white);
}

.connect-path-card .mini-kicker {
    color: inherit;
    opacity: .6;
}

.connect-path-card h2 {
    margin: .8rem 0;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.04;
}

.connect-path-card p {
    max-width: 560px;
    color: #627084;
    font-size: .9rem;
    line-height: 1.55;
}

.connect-path-academic p {
    color: rgba(255,255,255,.7);
}

.connect-path-card ul {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    margin: 1.4rem 0;
    padding: 0;
    list-style: none;
}

.connect-path-card li {
    display: flex;
    gap: .55rem;
    font-size: .8rem;
}

.path-card-art {
    position: absolute;
    pointer-events: none;
}

.path-card-art-org {
    right: -50px;
    bottom: -50px;
    width: 240px;
    height: 240px;
    border: 1px solid #dad6ff;
    border-radius: 50%;
}

.path-card-art-org span {
    position: absolute;
    width: 26px;
    height: 26px;
    background: var(--violet);
    border: 5px solid #e6e2ff;
    border-radius: 50%;
}

.path-card-art-org span:nth-child(1) { top: 15%; left: 15%; }
.path-card-art-org span:nth-child(2) { top: 20%; right: 10%; background: var(--teal); }
.path-card-art-org span:nth-child(3) { bottom: 18%; left: 8%; background: var(--coral); }
.path-card-art-org span:nth-child(4) { right: 22%; bottom: 22%; background: var(--lime); }

.path-card-art-academic {
    right: -60px;
    bottom: -90px;
    width: 300px;
    height: 300px;
}

.path-card-art-academic span {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
}

.path-card-art-academic span:nth-child(2) { inset: 45px; }
.path-card-art-academic span:nth-child(3) { inset: 90px; background: rgba(207,250,104,.25); }

.intent-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem;
}

.intent-cloud span {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1rem;
    background: var(--paper);
    border: 1px solid #e2e2dd;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
}

.intent-cloud i {
    color: #685bea;
}

.inline-cta {
    padding: 1.75rem 2rem;
    color: var(--white);
    background: var(--ink);
    border-radius: 24px;
}

.inline-cta h3 {
    margin: .4rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.2vw, 2.2rem);
    font-weight: 750;
    letter-spacing: -.05em;
}

.inline-cta .mini-kicker {
    color: rgba(255,255,255,.45);
}

.audience-hero {
    padding: clamp(3.75rem, 5.5vw, 5.75rem) 0;
}

.audience-hero-org {
    background: #ececf0;
}

.audience-dashboard,
.profile-builder-card {
    padding: 1.2rem;
    background: var(--white);
    border: 1px solid rgba(11,24,48,.08);
    border-radius: 28px;
    box-shadow: var(--shadow-lg);
    transform: rotate(1deg);
}

.dashboard-top,
.builder-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .5rem .4rem 1rem;
}

.dashboard-top > span:last-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #5f53dd;
    background: var(--violet-soft);
    border-radius: 50%;
}

.dashboard-question {
    padding: 1.2rem;
    color: var(--white);
    background: var(--ink);
    border-radius: 16px;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.04em;
}

.dashboard-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .7rem;
    margin-top: .65rem;
    padding: .8rem;
    background: #f6f6f3;
    border: 1px solid transparent;
    border-radius: 14px;
}

.dashboard-item.active {
    background: #edebff;
    border-color: #d5ceff;
}

.dashboard-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    background: var(--white);
    border-radius: 50%;
    font-size: .64rem;
    font-weight: 800;
}

.dashboard-item strong,
.dashboard-item small {
    display: block;
}

.dashboard-item strong {
    font-size: .7rem;
}

.dashboard-item small {
    margin-top: .15rem;
    color: #738093;
    font-size: .58rem;
}

.dashboard-match {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e3e5e2;
}

.dashboard-match > span:nth-child(2) {
    flex: 1;
}

.dashboard-match small,
.dashboard-match strong {
    display: block;
}

.dashboard-match small {
    color: #8893a1;
    font-size: .55rem;
}

.dashboard-match strong {
    font-size: .67rem;
}

.dashboard-match button {
    padding: .5rem .7rem;
    color: var(--white);
    background: var(--ink);
    border: 0;
    border-radius: 999px;
    font-size: .6rem;
    font-weight: 700;
}

.content-sticky {
    top: 8rem;
}

.value-stack {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.value-stack article {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 1rem;
    padding: 2rem;
    background: var(--white);
    border: 1px solid #e0e1dc;
    border-radius: 22px;
}

.value-stack article > span {
    color: #685bea;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
}

.value-stack h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 750;
    letter-spacing: -.045em;
}

.value-stack p {
    margin: 0;
    color: #667489;
    line-height: 1.65;
}

.registration-section {
    padding: 4.5rem 0;
    background: var(--white);
}

.registration-card {
    overflow: hidden;
    background: var(--paper);
    border-radius: 34px;
    box-shadow: var(--shadow-sm);
}

.registration-intro {
    padding: clamp(2rem, 3.6vw, 3.25rem);
    color: var(--white);
    background: var(--ink);
}

.registration-intro .mini-kicker {
    color: var(--lime);
}

.registration-intro h2 {
    margin: 1.3rem 0 .8rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 750;
    letter-spacing: -.065em;
    line-height: 1.04;
}

.registration-intro > p {
    color: rgba(255,255,255,.64);
    line-height: 1.65;
}

.registration-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .6rem;
    margin-top: 2rem;
}

.registration-proof div {
    padding: .75rem;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
}

.registration-proof strong,
.registration-proof span {
    display: block;
}

.registration-proof strong {
    color: var(--lime);
    font-family: var(--font-display);
    font-size: 1.2rem;
    letter-spacing: -.04em;
}

.registration-proof span {
    margin-top: .2rem;
    color: rgba(255,255,255,.48);
    font-size: .55rem;
}

.registration-form-wrap {
    min-height: 510px;
    padding: clamp(1.8rem, 3.5vw, 3rem);
}

.demo-form .form-control,
.demo-form .form-select {
    min-height: 52px;
    padding: .8rem 1rem;
    color: var(--ink);
    background-color: var(--white);
    border: 1px solid #dadcd8;
    border-radius: 12px;
    font-size: .82rem;
}

.demo-form textarea.form-control {
    min-height: auto;
}

.demo-form .form-control:focus,
.demo-form .form-select:focus {
    border-color: var(--violet);
    box-shadow: 0 0 0 .2rem rgba(141,130,255,.16);
}

.form-disclaimer {
    max-width: 260px;
    color: #7f8b99;
    font-size: .63rem;
}

.form-success {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 480px;
}

.form-success > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: var(--ink);
    background: var(--lime);
    border-radius: 50%;
    font-size: 1.5rem;
}

.form-success h2,
.form-success h3 {
    margin: 1.5rem 0 .5rem;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 750;
    letter-spacing: -.05em;
}

.form-success p {
    color: #657386;
}

.audience-hero-academic {
    position: relative;
}

.academic-orbit {
    position: absolute;
    right: -200px;
    bottom: -420px;
    width: 850px;
    height: 850px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    box-shadow: 0 0 0 100px rgba(141,130,255,.06), 0 0 0 200px rgba(141,130,255,.04);
}

.profile-builder-card {
    transform: rotate(-1deg);
}

.builder-status {
    color: #768395;
    font-size: .62rem;
    font-weight: 700;
}

.builder-status span:first-child {
    color: #5f53dc;
}

.builder-person {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem .5rem 1.3rem;
}

.builder-person h3 {
    margin: .2rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 750;
    letter-spacing: -.04em;
}

.builder-person p {
    margin: 0;
    color: #7b8795;
    font-size: .69rem;
}

.builder-field {
    position: relative;
    margin-top: .6rem;
    padding: 1rem;
    color: var(--ink);
    background: #f4f4f1;
    border: 1px solid #e3e4e1;
    border-radius: 14px;
}

.builder-field > span {
    display: block;
    margin-bottom: .6rem;
    color: #7b8796;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.builder-field div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    padding-right: 2rem;
}

.builder-field b {
    padding: .42rem .55rem;
    background: var(--white);
    border: 1px solid #dfe1de;
    border-radius: 8px;
    font-size: .62rem;
}

.builder-field > i {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: #6d7890;
    font-size: .8rem;
}

.builder-approval {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1rem;
    padding: .9rem;
    color: #276150;
    background: #e1f5ed;
    border-radius: 14px;
}

.builder-approval > i {
    font-size: 1.25rem;
}

.builder-approval strong,
.builder-approval small {
    display: block;
}

.builder-approval strong {
    font-size: .7rem;
}

.builder-approval small {
    color: #518070;
    font-size: .57rem;
}

.academic-benefits article {
    height: 100%;
    padding: 2rem;
    background: var(--paper);
    border: 1px solid #e2e1dc;
    border-radius: 24px;
}

.benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    color: #5e52db;
    background: var(--violet-soft);
    border-radius: 18px;
    font-size: 1.3rem;
}

.academic-benefits h3 {
    margin: 2.5rem 0 .7rem;
    font-family: var(--font-display);
    font-size: 1.55rem;
    font-weight: 750;
    letter-spacing: -.045em;
}

.academic-benefits p {
    margin: 0;
    color: #667488;
    line-height: 1.65;
}

.willingness-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
    padding: 1rem;
    background: var(--white);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
}

.willingness-board > div {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    padding: .9rem;
    background: #f5f5f2;
    border-radius: 14px;
}

.willingness-board > div > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #5e52da;
    background: #e7e3ff;
    border-radius: 11px;
}

.willingness-board p {
    margin: 0;
}

.willingness-board strong,
.willingness-board small {
    display: block;
}

.willingness-board strong {
    font-size: .7rem;
}

.willingness-board small {
    margin-top: .15rem;
    color: #7b8797;
    font-size: .57rem;
}

.willingness-board > div > i {
    color: #35a47d;
}

/* Compact Connect page */
.connect-overview {
    padding: clamp(3.25rem, 5vw, 4.75rem) 0 2.25rem;
}

.connect-title,
.connect-section-title {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1.06;
}

.connect-title {
    max-width: 850px;
    font-size: clamp(2.5rem, 4vw, 4.25rem);
}

.connect-title em {
    color: #686b9c;
    font-family: var(--font-serif);
    font-weight: 600;
}

.connect-lead {
    max-width: 590px;
    margin: 0;
    color: #667482;
    font-size: 1rem;
    line-height: 1.65;
}

.connect-value-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2.5rem;
    border-top: 1px solid #dfe0dc;
    border-bottom: 1px solid #dfe0dc;
}

.connect-value-bar > div {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
    padding: 1rem;
    border-right: 1px solid #dfe0dc;
}

.connect-value-bar > div:first-child {
    padding-left: 0;
}

.connect-value-bar > div:last-child {
    border-right: 0;
}

.connect-value-bar i,
.connect-audience-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #59636f;
    background: #ecece8;
    border-radius: 6px;
}

.connect-value-bar strong,
.connect-value-bar small {
    display: block;
}

.connect-value-bar strong {
    font-size: .72rem;
}

.connect-value-bar small {
    margin-top: .12rem;
    color: #7b8794;
    font-size: .58rem;
}

.connect-choice-section {
    padding: 3.25rem 0;
}

.connect-audience-card {
    height: 100%;
    padding: 1.75rem;
    background: var(--white);
    border: 1px solid #dfe0dc;
    border-radius: 10px;
}

.connect-audience-card-academic {
    background: #f0f0f3;
}

.connect-audience-card header {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding-bottom: 1.3rem;
}

.connect-audience-card header small,
.connect-audience-card header strong {
    display: block;
}

.connect-audience-card header small {
    margin-bottom: .35rem;
    color: #747f8c;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.connect-audience-card header strong {
    max-width: 500px;
    font-family: var(--font-display);
    font-size: 1.35rem;
    letter-spacing: -.035em;
    line-height: 1.2;
}

.connect-value-sequence {
    border-top: 1px solid #dfe0dc;
}

.connect-value-sequence > div {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 1rem;
    padding: .9rem 0;
    border-bottom: 1px solid #e3e4e0;
}

.connect-value-sequence span {
    color: #6f7986;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.connect-value-sequence p {
    margin: 0;
    color: #4e5d6d;
    font-size: .76rem;
    line-height: 1.5;
}

.connect-outcome-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 1rem 0 1.25rem;
}

.connect-outcome-list span {
    padding: .38rem .52rem;
    color: #5d6876;
    background: #f0f1ee;
    border: 1px solid #dfe1dc;
    border-radius: 4px;
    font-size: .58rem;
    font-weight: 700;
}

.connect-audience-card-academic .connect-outcome-list span {
    background: #fafaf8;
}

.connect-method-section {
    padding: 3.75rem 0;
}

.connect-section-title {
    font-size: clamp(2rem, 3vw, 3.1rem);
}

.connect-method-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #dfe0dc;
    border-bottom: 1px solid #dfe0dc;
}

.connect-method-grid article {
    padding: 1.2rem;
    border-right: 1px solid #dfe0dc;
}

.connect-method-grid article:last-child {
    border-right: 0;
}

.connect-method-grid article > span {
    color: #6d71a3;
    font-size: .6rem;
    font-weight: 800;
}

.connect-method-grid h3 {
    margin: 1.8rem 0 .45rem;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
}

.connect-method-grid p {
    margin: 0;
    color: #697684;
    font-size: .7rem;
    line-height: 1.5;
}

.connect-collaboration-section {
    padding: 2.5rem 0 3.5rem;
}

.connect-collaboration-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(360px, 1.4fr) auto;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem;
    background: var(--white);
    border: 1px solid #dfe0dc;
    border-radius: 10px;
}

.connect-collaboration-row h2 {
    margin: .35rem 0 0;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.2;
}

.connect-collaboration-types {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.connect-collaboration-types span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .55rem;
    color: #5f6b79;
    background: #f2f2ef;
    border-radius: 4px;
    font-size: .6rem;
    font-weight: 700;
}

.connect-collaboration-types i {
    color: #6d71a3;
}

/* Organization use cases */
.use-case-library,
.academic-use-case-library {
    padding: clamp(3.75rem, 5.5vw, 5.5rem) 0;
}

.use-case-heading {
    margin-bottom: 2rem;
}

.outcome-case-grid,
.academic-case-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.outcome-case-card {
    display: flex;
    flex-direction: column;
    padding: 1.35rem;
    background: #fbfaf7;
    border: 1px solid #dedfdb;
    border-radius: 9px;
}

.outcome-case-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.outcome-case-top > span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #596675;
    font-size: .62rem;
    font-weight: 800;
}

.outcome-case-top > small {
    color: #87919d;
    font-size: .55rem;
}

.outcome-case-card h3 {
    margin: 1.25rem 0 .6rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.15;
}

.outcome-case-card > p {
    margin: 0 0 1rem;
    color: #697583;
    font-size: .75rem;
    line-height: 1.55;
}

.outcome-case-proof {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    margin-top: auto;
    padding: .8rem 0;
    border-top: 1px solid #e1e2de;
}

.outcome-case-proof > span:not(.case-researcher-stack) strong,
.outcome-case-proof > span:not(.case-researcher-stack) small {
    display: block;
}

.outcome-case-proof > span:not(.case-researcher-stack) strong {
    color: #394b5d;
    font-family: var(--font-display);
    font-size: 1rem;
}

.outcome-case-proof > span:not(.case-researcher-stack) small {
    color: #87919d;
    font-size: .52rem;
}

.outcome-case-proof .case-researcher-stack {
    margin-left: auto;
}

.outcome-case-result {
    padding: .75rem;
    background: #edf1e9;
    border-left: 3px solid #849a73;
}

.outcome-case-result span,
.outcome-case-result strong {
    display: block;
}

.outcome-case-result span {
    margin-bottom: .2rem;
    color: #727e6b;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.outcome-case-result strong {
    color: #405043;
    font-size: .68rem;
}

.organization-outcome-map {
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    align-items: center;
    gap: .8rem;
    margin-top: 1rem;
    padding: 1rem;
    background: #f1f0ec;
    border: 1px solid #dedfdb;
    border-radius: 9px;
}

.organization-outcome-map > div {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.outcome-map-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #636995;
    background: #e5e4ea;
    border-radius: 5px;
}

.organization-outcome-map p {
    margin: 0;
}

.organization-outcome-map small,
.organization-outcome-map strong {
    display: block;
}

.organization-outcome-map small {
    color: #7c8793;
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.organization-outcome-map strong {
    margin-top: .18rem;
    color: #4d5c6d;
    font-size: .6rem;
    line-height: 1.35;
}

/* Academic use cases */
.academic-case-card {
    display: flex;
    flex-direction: column;
    padding: 1.3rem;
    background: var(--white);
    border: 1px solid #dedfdb;
    border-radius: 9px;
}

.academic-case-person {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.academic-case-person strong,
.academic-case-person small {
    display: block;
}

.academic-case-person strong {
    font-size: .72rem;
}

.academic-case-person small {
    margin-top: .1rem;
    color: #7b8794;
    font-size: .56rem;
}

.academic-case-contribution {
    margin: 1rem 0;
    padding: .7rem;
    background: #f1f1ee;
    border-left: 3px solid #7175a4;
}

.academic-case-contribution span,
.academic-case-contribution strong {
    display: block;
}

.academic-case-contribution span,
.academic-case-match > small,
.academic-case-value > span {
    margin-bottom: .25rem;
    color: #7a8592;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.academic-case-contribution strong {
    color: #4a5868;
    font-size: .67rem;
}

.academic-case-match h3 {
    margin: .4rem 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.academic-case-match p,
.academic-case-value p {
    margin: 0;
    color: #697583;
    font-size: .72rem;
    line-height: 1.5;
}

.academic-case-value {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid #e1e2de;
}

.academic-case-value > span {
    display: block;
}

.academic-case-card footer {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: auto;
    padding-top: 1rem;
    color: #667484;
    font-size: .57rem;
    font-weight: 700;
}

.academic-outcome-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 1rem;
    background: #e9e8e3;
    border: 1px solid #dadbd7;
    border-radius: 9px;
}

.academic-outcome-row > span {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: .55rem;
    padding: .9rem;
    border-right: 1px solid #d6d7d3;
}

.academic-outcome-row > span:last-child {
    border-right: 0;
}

.academic-outcome-row i {
    grid-row: 1 / 3;
    color: #676c9b;
}

.academic-outcome-row strong {
    font-size: .68rem;
}

.academic-outcome-row small {
    margin-top: .12rem;
    color: #7b8793;
    font-size: .52rem;
}

/* About and contact */
.about-hero {
    position: relative;
    padding: clamp(4.5rem, 7vw, 7rem) 0;
}

.about-word {
    position: absolute;
    top: 50%;
    left: 50%;
    color: rgba(11,24,48,.025);
    font-family: var(--font-display);
    font-size: 24vw;
    font-weight: 800;
    letter-spacing: -.09em;
    line-height: 1;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.mission-section {
    padding: clamp(3.75rem, 6vw, 6rem) 0;
}

.mission-section blockquote {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: 1.06;
}

.mission-section blockquote em {
    color: var(--lime);
}

.problem-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.problem-pair article {
    padding: 1.7rem;
    background: var(--paper);
    border-radius: 22px;
}

.problem-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: #5f53dc;
    background: var(--violet-soft);
    border-radius: 15px;
    font-size: 1.2rem;
}

.problem-pair h3 {
    margin: 2.4rem 0 .7rem;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 750;
    letter-spacing: -.045em;
}

.problem-pair p {
    margin: 0;
    color: #667488;
    line-height: 1.65;
}

.large-copy {
    margin: 2.5rem 0 0;
    color: #263952;
    font-size: 1.3rem;
    line-height: 1.6;
}

.principles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.principles-grid article {
    min-height: 250px;
    padding: 1.6rem;
    background: var(--white);
    border: 1px solid #e0e1dc;
    border-radius: 20px;
}

.principles-grid article > span {
    color: #685bea;
    font-size: .66rem;
    font-weight: 800;
}

.principles-grid h3 {
    margin: 2.5rem 0 .7rem;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 750;
    letter-spacing: -.045em;
}

.principles-grid p {
    margin: 0;
    color: #687589;
    font-size: .84rem;
    line-height: 1.6;
}

.pilot-story {
    display: grid;
    grid-template-columns: auto auto auto auto 1fr;
    align-items: center;
    gap: clamp(1rem, 3vw, 3rem);
    padding: clamp(2rem, 4vw, 4rem);
    background: var(--lime);
    border-radius: 32px;
}

.pilot-stat strong,
.pilot-stat span {
    display: block;
}

.pilot-stat strong {
    font-family: var(--font-display);
    font-size: clamp(3rem, 6vw, 6rem);
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: 1;
}

.pilot-stat span {
    margin-top: .35rem;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.pilot-plus,
.pilot-equals {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
}

.pilot-message {
    padding-left: 2rem;
    border-left: 1px solid rgba(11,24,48,.2);
}

.pilot-message h2 {
    margin: .5rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2.7rem);
    font-weight: 750;
    letter-spacing: -.05em;
    line-height: 1.1;
}

.contact-section {
    padding: clamp(3.75rem, 6vw, 6rem) 0;
}

.contact-options {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.contact-options > div {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem;
    background: rgba(255,255,255,.6);
    border: 1px solid #dedfd9;
    border-radius: 15px;
}

.contact-options > div > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #5f53dc;
    background: var(--violet-soft);
    border-radius: 12px;
}

.contact-options p {
    margin: 0;
}

.contact-options strong,
.contact-options small {
    display: block;
}

.contact-options strong {
    font-size: .76rem;
}

.contact-options small {
    margin-top: .2rem;
    color: #788596;
    font-size: .62rem;
}

.contact-card {
    min-height: 540px;
    padding: clamp(1.8rem, 4vw, 3.5rem);
    background: var(--white);
    border: 1px solid #dedfd9;
    border-radius: 30px;
    box-shadow: var(--shadow-sm);
}

.contact-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.secure-note {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #7d8998;
    font-size: .62rem;
}

.contact-success {
    min-height: 440px;
}

.not-found-section {
    min-height: 72vh;
    padding: 8rem 0;
}

.not-found-number {
    display: block;
    margin-bottom: -2.8rem;
    color: rgba(255,255,255,.05);
    font-family: var(--font-display);
    font-size: clamp(8rem, 20vw, 18rem);
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: .7;
}

/* Corporate visual refinement */
.nav-pills-shell {
    gap: 1.35rem;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.nav-pills-shell .nav-link {
    padding: .65rem 0 .5rem;
    border-bottom: 2px solid transparent;
    border-radius: 0;
}

.nav-pills-shell .nav-link:hover,
.nav-pills-shell .nav-link.active {
    color: var(--ink);
    background: transparent;
    border-bottom-color: #555ba9;
    box-shadow: none;
}

.btn,
.intent-cloud span,
.footer-chip,
.evidence-badge,
.dashboard-match button {
    border-radius: 6px;
}

.hero-orbit,
.floating-note,
.path-card-art,
.academic-orbit {
    display: none;
}

.hero-product-card,
.audience-dashboard,
.profile-builder-card {
    border-radius: 12px;
    transform: none;
}

.product-question,
.signal-map,
.researcher-mini,
.intent-match,
.builder-field,
.builder-approval,
.dashboard-question,
.dashboard-item,
.dashboard-top > span:last-child,
.intent-tags span,
.waste-visual > div,
.registration-proof div {
    border-radius: 7px;
}

.mini-icon,
.process-icon,
.path-card-icon,
.benefit-icon,
.problem-icon,
.contact-options > div > span,
.organization-icon,
.context-step,
.no-results-icon,
.form-success > span {
    border-radius: 7px;
}

.process-card,
.scenario-preview-card,
.intent-board,
.cta-panel,
.explorer-shell,
.scenario-card,
.scenario-modal .modal-content,
.connect-path-card,
.inline-cta,
.academic-benefits article,
.willingness-board,
.registration-card,
.contact-card,
.principles-grid article,
.pilot-story,
.problem-pair article,
.value-stack article {
    border-radius: 12px;
}

.process-card-violet {
    background: #e7e8ee;
}

.process-card-lime {
    background: #dfe5cc;
}

.process-card,
.academic-benefits article,
.principles-grid article {
    box-shadow: none;
}

.explorer-shell {
    background: #e8e9e6;
    box-shadow: 0 8px 28px rgba(11,24,48,.06);
}

.organization-type,
.form-select-app,
.form-control-app,
.active-context,
.case-research-signal,
.modal-researcher,
.willingness-board > div,
.contact-options > div {
    border-radius: 6px;
}

.scenario-card {
    padding: 1.25rem;
    background: #fffefa;
    box-shadow: none;
}

.scenario-card:hover {
    transform: translateY(-2px);
    border-color: #bdc2c0;
    box-shadow: 0 10px 25px rgba(11,24,48,.07);
}

.scenario-card h3 {
    margin: 1.2rem 0 .9rem;
    font-size: clamp(1.4rem, 2vw, 1.85rem);
    line-height: 1.07;
}

.scenario-visual {
    min-height: 130px;
    border: 1px solid rgba(11,24,48,.07);
    border-radius: 7px;
}

.scenario-visual-violet { background: #eeedf4; }
.scenario-visual-blue { background: #e9edf3; }
.scenario-visual-teal { background: #e6efec; }
.scenario-visual-coral { background: #f1e8e4; }
.scenario-visual-amber { background: #f0ebdf; }
.scenario-visual-green { background: #e7ede7; }

.save-scenario,
.round-arrow,
.signal-number,
.loop-center,
.balance-core,
.avatar {
    box-shadow: none;
}

.save-scenario,
.round-arrow,
.signal-number,
.loop-center,
.balance-core,
.path-node i,
.scenario-visual-journey > span i,
.balance-side i,
.dashboard-index,
.modal-close {
    border-radius: 6px;
}

.cta-grid {
    opacity: .08;
}

.registration-card,
.contact-card,
.audience-dashboard,
.profile-builder-card,
.connect-path-card {
    box-shadow: 0 14px 40px rgba(11,24,48,.09);
}

@media (max-width: 1199.98px) {
    .nav-actions .btn-ghost {
        display: none;
    }

    .scenario-grid {
        grid-template-columns: 1fr;
    }

    .floating-note-right {
        right: .5rem;
    }
}

@media (max-width: 991.98px) {
    .container-xxl {
        --bs-gutter-x: 2rem;
    }

    .site-header .navbar-collapse {
        margin-top: 1rem;
        padding: 1rem;
        background: var(--white);
        border: 1px solid #e1e2df;
        border-radius: 8px;
        box-shadow: var(--shadow-sm);
    }

    .nav-pills-shell {
        align-items: stretch;
        background: transparent;
    }

    .nav-pills-shell .nav-link {
        padding: .75rem;
    }

    .nav-actions {
        margin-top: 1rem;
    }

    .min-vh-hero {
        min-height: auto;
        padding: 4rem 0;
    }

    .hero-product-card {
        max-width: 600px;
        margin: 0 auto;
    }

    .floating-note-left {
        left: 5%;
    }

    .floating-note-right {
        right: 5%;
    }

    .logo-ribbon .container-xxl {
        flex-direction: column;
        align-items: flex-start;
    }

    .ribbon-items {
        justify-content: flex-start;
    }

    .process-icon {
        margin-bottom: 3rem;
    }

    .process-card {
        min-height: 310px;
    }

    .explorer-shell {
        grid-template-columns: 1fr;
    }

    .context-panel {
        border-right: 0;
        border-bottom: 1px solid #dde1de;
    }

    .organization-type-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .improvement-area-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .scenario-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .scenario-modal-layout {
        grid-template-columns: 1fr;
    }

    .connect-path-grid {
        margin-top: -2.5rem;
    }

    .connect-path-card {
        min-height: 460px;
    }

    .content-sticky {
        position: static !important;
    }

    .principles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pilot-story {
        grid-template-columns: auto auto auto auto;
    }

    .pilot-message {
        grid-column: 1 / -1;
        padding: 2rem 0 0;
        border-top: 1px solid rgba(11,24,48,.2);
        border-left: 0;
    }

    .connect-value-bar,
    .connect-method-grid,
    .organization-outcome-map,
    .academic-outcome-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .connect-value-bar > div:nth-child(2),
    .connect-method-grid article:nth-child(2),
    .academic-outcome-row > span:nth-child(2) {
        border-right: 0;
    }

    .connect-value-bar > div:nth-child(-n+2),
    .connect-method-grid article:nth-child(-n+2),
    .academic-outcome-row > span:nth-child(-n+2) {
        border-bottom: 1px solid #dfe0dc;
    }

    .connect-value-bar > div:first-child {
        padding-left: 1rem;
    }

    .connect-collaboration-row {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .organization-outcome-map > .btn {
        justify-self: start;
    }
}

@media (max-width: 767.98px) {
    .container-xxl {
        --bs-gutter-x: 1.5rem;
    }

    .display-hero {
        font-size: clamp(2.85rem, 12vw, 3.8rem);
    }

    .display-page {
        font-size: clamp(2.5rem, 10vw, 3.35rem);
    }

    .display-section {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    .section-space {
        padding: 3.5rem 0;
    }

    .floating-note {
        display: none;
    }

    .ribbon-items {
        gap: .8rem 1rem;
    }

    .process-card {
        min-height: 320px;
    }

    .waste-visual {
        grid-template-columns: 1fr;
    }

    .waste-visual > i {
        transform: rotate(90deg);
        text-align: center;
    }

    .scenario-preview-foot {
        grid-template-columns: 1fr 1fr;
    }

    .scenario-preview-foot .preview-person {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .intent-tags {
        grid-template-columns: 1fr;
    }

    .intent-match {
        align-items: flex-start;
        flex-direction: column;
    }

    .cta-panel {
        border-radius: 10px;
    }

    .explore-masthead {
        padding-top: 3.25rem;
    }

    .collection-notice {
        align-items: flex-start;
    }

    .scenario-grid,
    .organization-type-list,
    .improvement-area-list {
        grid-template-columns: 1fr;
    }

    .workspace-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .scenario-workspace,
    .context-panel {
        padding: 1rem;
    }

    .scenario-card > p {
        min-height: 0;
    }

    .scenario-modal-main,
    .scenario-modal-side {
        padding: 2rem 1.3rem;
    }

    .modal-question-list,
    .modal-measure-list,
    .modal-actions {
        grid-template-columns: 1fr;
    }

    .connect-hero {
        padding-bottom: 4.5rem;
    }

    .connect-path-card {
        min-height: 0;
        border-radius: 10px;
    }

    .path-card-icon {
        margin-bottom: 2rem;
    }

    .value-stack article {
        grid-template-columns: 1fr;
    }

    .registration-proof {
        grid-template-columns: 1fr;
    }

    .willingness-board,
    .problem-pair,
    .principles-grid {
        grid-template-columns: 1fr;
    }

    .problem-pair h3,
    .principles-grid h3 {
        margin-top: 2rem;
    }

    .pilot-story {
        grid-template-columns: 1fr auto 1fr;
        text-align: center;
    }

    .pilot-equals {
        display: none;
    }

    .pilot-message {
        text-align: left;
    }

    .connect-overview {
        padding-top: 3rem;
    }

    .connect-title {
        font-size: clamp(2.25rem, 9vw, 3rem);
    }

    .connect-value-bar,
    .connect-method-grid,
    .outcome-case-grid,
    .organization-outcome-map,
    .academic-case-grid,
    .academic-outcome-row {
        grid-template-columns: 1fr;
    }

    .connect-value-bar > div,
    .connect-value-bar > div:nth-child(2),
    .connect-method-grid article,
    .connect-method-grid article:nth-child(2),
    .academic-outcome-row > span,
    .academic-outcome-row > span:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #dfe0dc;
    }

    .connect-value-bar > div:last-child,
    .connect-method-grid article:last-child,
    .academic-outcome-row > span:last-child {
        border-bottom: 0;
    }

    .connect-value-sequence > div {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .connect-choice-section,
    .connect-method-section {
        padding: 3rem 0;
    }

    .connect-collaboration-row {
        padding: 1.15rem;
    }

    .outcome-case-proof {
        flex-wrap: wrap;
    }

    .organization-outcome-map > div {
        padding-bottom: .8rem;
        border-bottom: 1px solid #d9dad6;
    }
}

@media (max-width: 479.98px) {
    .demo-strip {
        font-size: .57rem;
        letter-spacing: .07em;
    }

    .demo-strip-divider {
        display: none;
    }

    .site-header .navbar {
        min-height: 68px;
    }

    .scenario-card-foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .btn-open-case {
        width: 100%;
    }

    .toolbar-meta > span:first-child {
        display: none;
    }

    .scenario-visual {
        min-height: 125px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Explore hub and publication explorer */
.explore-breadcrumb {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.25rem;
    color: #758193;
    font-size: .7rem;
    font-weight: 700;
}

.explore-breadcrumb a {
    color: #46566b;
    text-decoration: none;
}

.explore-breadcrumb a:hover {
    color: var(--violet);
}

.explore-breadcrumb i {
    font-size: .55rem;
}

.explore-hub-hero {
    padding: clamp(4rem, 7vw, 7rem) 0 3rem;
    background:
        radial-gradient(circle at 78% 12%, rgba(111, 114, 165, .13), transparent 28%),
        var(--paper);
}

.explore-hub-paths {
    padding: 0 0 clamp(5rem, 8vw, 8rem);
}

.explore-hub-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #d6d8d4;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(11, 24, 48, .08);
}

.explore-path {
    display: flex;
    flex-direction: column;
    min-height: 650px;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.explore-path-organizations {
    color: var(--white);
    background:
        linear-gradient(145deg, rgba(111, 114, 165, .34), transparent 46%),
        #233442;
}

.explore-path-publications {
    background:
        linear-gradient(145deg, rgba(190, 203, 159, .28), transparent 42%),
        var(--white);
    border-left: 1px solid #d8dbd7;
}

.explore-path-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.explore-path-publications .explore-path-head {
    border-color: #dedfdb;
}

.explore-path-number {
    color: rgba(255, 255, 255, .43);
    font-family: var(--font-display);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.explore-path-publications .explore-path-number {
    color: #87919c;
}

.explore-path-audience {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .65rem;
    color: rgba(255, 255, 255, .82);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.explore-path-publications .explore-path-audience {
    color: #506072;
    background: rgba(255, 255, 255, .62);
    border-color: #d9dcd7;
}

.explore-path-copy {
    padding: clamp(2.5rem, 5vw, 5rem) 0 2.25rem;
}

.explore-path-organizations .mini-kicker {
    color: rgba(255, 255, 255, .48);
}

.explore-path-copy h2 {
    max-width: 520px;
    margin: .75rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 720;
    letter-spacing: -.06em;
    line-height: 1.02;
}

.explore-path-copy > p:last-child {
    max-width: 570px;
    margin: 0;
    color: rgba(255, 255, 255, .65);
    font-size: .88rem;
    line-height: 1.7;
}

.explore-path-publications .explore-path-copy > p:last-child {
    color: #687588;
}

.explore-path-preview {
    display: grid;
    gap: .6rem;
    margin: auto 0 1.5rem;
}

.hub-scenario-preview,
.hub-publication-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 72px;
    padding: .8rem;
    border-radius: 7px;
}

.hub-scenario-preview {
    background: rgba(255, 255, 255, .065);
    border: 1px solid rgba(255, 255, 255, .12);
}

.hub-publication-preview {
    background: rgba(255, 255, 255, .72);
    border: 1px solid #dfe1dd;
}

.hub-scenario-preview small,
.hub-scenario-preview strong,
.hub-publication-preview small,
.hub-publication-preview strong {
    display: block;
}

.hub-scenario-preview small,
.hub-publication-preview small {
    margin-bottom: .2rem;
    color: rgba(255, 255, 255, .45);
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hub-publication-preview small {
    color: #7a8694;
}

.hub-scenario-preview strong,
.hub-publication-preview strong {
    overflow: hidden;
    font-size: .73rem;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.hub-publication-preview strong {
    color: var(--ink);
}

.hub-preview-count {
    color: var(--lime);
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 800;
    text-align: right;
}

.hub-preview-count small {
    margin: .1rem 0 0;
    font-size: .47rem;
}

.explore-hub-bridge {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 2rem;
    padding: 2rem;
    background: #e7e7e1;
    border-right: 1px solid #d2d4cf;
    border-bottom: 1px solid #d2d4cf;
    border-left: 1px solid #d2d4cf;
    border-radius: 0 0 12px 12px;
}

.explore-hub-bridge h2 {
    margin: .45rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.3rem, 2vw, 2rem);
    font-weight: 720;
    letter-spacing: -.05em;
    line-height: 1.12;
}

.hub-bridge-flow {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .8rem;
}

.hub-bridge-flow > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    min-width: 82px;
    color: #526073;
}

.hub-bridge-flow > span > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--ink);
    background: var(--white);
    border: 1px solid #d1d5d0;
    border-radius: 7px;
}

.hub-bridge-flow strong {
    font-size: .58rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.hub-bridge-flow > i {
    color: #8a9584;
}

.publication-explorer-section {
    padding: 0 0 7rem;
}

.publication-explorer-shell {
    display: grid;
    grid-template-columns: minmax(290px, 340px) minmax(0, 1fr);
    overflow: hidden;
    background: #e8e9e6;
    border: 1px solid #d9ddda;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(11, 24, 48, .06);
}

.publication-context-panel {
    padding: 1.5rem;
    background: var(--white);
    border-right: 1px solid #dde1de;
}

.publication-search-input {
    position: relative;
}

.publication-search-input > i {
    position: absolute;
    top: 50%;
    left: .8rem;
    z-index: 1;
    color: #7d8997;
    font-size: .75rem;
    transform: translateY(-50%);
}

.publication-search-input input {
    padding-left: 2.2rem;
}

.publication-theme-list {
    display: grid;
    gap: .45rem;
}

.publication-theme {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: .7rem .75rem;
    color: #4c5a6d;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 700;
    text-align: left;
}

.publication-theme > span {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.publication-theme > span i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #5b667b;
    background: #eceee9;
    border-radius: 5px;
}

.publication-theme > i {
    display: none;
}

.publication-theme:hover {
    background: #f3f4f0;
}

.publication-theme.selected {
    color: var(--ink);
    background: #edf1e8;
    border-color: #cbd5c2;
}

.publication-theme.selected > i {
    display: block;
    color: #506b55;
}

.publication-filter-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .7rem;
    margin-top: 2rem;
    padding: 1rem;
    color: #556476;
    background: #f0f1ed;
    border: 1px solid #e0e2dd;
    border-radius: 7px;
}

.publication-filter-note > i {
    color: #607a63;
}

.publication-filter-note p,
.publication-filter-note strong,
.publication-filter-note span {
    display: block;
    margin: 0;
}

.publication-filter-note strong {
    color: #3f4e60;
    font-size: .66rem;
}

.publication-filter-note span {
    margin-top: .2rem;
    font-size: .58rem;
    line-height: 1.5;
}

.publication-workspace {
    min-width: 0;
    padding: 1.5rem;
}

.publication-toolbar .toolbar-meta {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.publication-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.publication-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--white);
    border: 1px solid #dfe3e0;
    border-radius: 10px;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.publication-card:hover {
    border-color: #b8bfbb;
    box-shadow: 0 10px 25px rgba(11, 24, 48, .07);
    transform: translateY(-2px);
}

.publication-card[hidden] {
    display: none;
}

.publication-card-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    overflow: hidden;
    color: #525c76;
    background: #eeedf4;
    border-bottom: 1px solid rgba(11, 24, 48, .07);
}

.publication-card-blue .publication-card-visual { background: #e9edf3; color: #526987; }
.publication-card-teal .publication-card-visual { background: #e6efec; color: #4d716b; }
.publication-card-coral .publication-card-visual { background: #f1e8e4; color: #846158; }
.publication-card-amber .publication-card-visual { background: #f0ebdf; color: #796a49; }
.publication-card-green .publication-card-visual { background: #e7ede7; color: #506d55; }

.publication-card-visual > i {
    font-size: 2rem;
}

.publication-index,
.publication-year {
    position: absolute;
    top: .9rem;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.publication-index {
    left: 1rem;
}

.publication-year {
    right: 1rem;
}

.publication-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem;
}

.publication-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    color: #7a8695;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.publication-card-meta span:last-child::before {
    margin-right: .45rem;
    color: #b5b9bd;
    content: "·";
}

.publication-card h3 {
    margin: 1rem 0 .45rem;
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    font-weight: 740;
    letter-spacing: -.05em;
    line-height: 1.1;
}

.publication-card h3 a {
    text-decoration: none;
}

.publication-card h3 a:hover {
    color: #5d6092;
}

.publication-card-subtitle {
    margin: 0 0 .8rem;
    color: #6b7788;
    font-size: .67rem;
    font-weight: 700;
    line-height: 1.45;
}

.publication-card-summary {
    margin: 0 0 1rem;
    color: #596779;
    font-size: .72rem;
    line-height: 1.6;
}

.publication-methods,
.publication-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.publication-methods span,
.publication-keywords span {
    padding: .35rem .5rem;
    color: #526174;
    background: #f0f1ee;
    border: 1px solid #e0e2df;
    border-radius: 5px;
    font-size: .54rem;
    font-weight: 700;
}

.publication-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #e4e6e3;
}

.publication-author,
.publication-author-card-main {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .65rem;
}

.publication-author .avatar {
    width: 34px;
    height: 34px;
    font-size: .54rem;
}

.publication-author small,
.publication-author strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.publication-author small {
    color: #87919e;
    font-size: .49rem;
    text-transform: uppercase;
}

.publication-author strong {
    font-size: .65rem;
}

.publication-open {
    flex: 0 0 auto;
    color: #445267;
    font-size: .62rem;
    font-weight: 800;
    text-decoration: none;
}

.publication-open:hover {
    color: var(--violet);
}

.modal-paper-title {
    display: block;
    color: var(--ink);
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
}

.modal-paper-title:hover {
    color: var(--violet);
}

/* Publication detail */
.publication-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 2rem 0 clamp(4rem, 7vw, 7rem);
    color: var(--white);
    background: #233442;
}

.publication-detail-hero::after {
    position: absolute;
    right: -100px;
    bottom: -300px;
    width: 650px;
    height: 650px;
    background: radial-gradient(circle, rgba(111, 114, 165, .5), transparent 66%);
    content: "";
}

.publication-detail-hero-blue::after { background: radial-gradient(circle, rgba(130, 150, 181, .5), transparent 66%); }
.publication-detail-hero-teal::after { background: radial-gradient(circle, rgba(117, 162, 155, .45), transparent 66%); }
.publication-detail-hero-coral::after { background: radial-gradient(circle, rgba(191, 142, 130, .45), transparent 66%); }
.publication-detail-hero-amber::after { background: radial-gradient(circle, rgba(181, 154, 105, .45), transparent 66%); }
.publication-detail-hero-green::after { background: radial-gradient(circle, rgba(129, 157, 133, .5), transparent 66%); }

.explore-breadcrumb-light {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .45);
}

.explore-breadcrumb-light a {
    color: rgba(255, 255, 255, .75);
}

.publication-detail-heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: start;
    gap: clamp(2rem, 5vw, 6rem);
    margin-top: 3rem;
}

.publication-detail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem;
    color: rgba(255, 255, 255, .55);
    font-size: .67rem;
}

.publication-detail-title h1 {
    max-width: 980px;
    margin: 1.5rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.65rem, 5.2vw, 5.7rem);
    font-weight: 700;
    letter-spacing: -.07em;
    line-height: .96;
}

.publication-detail-title > p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .65);
    font-family: var(--font-serif);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.55;
}

.publication-author-card {
    padding: 1.25rem;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 9px;
    backdrop-filter: blur(10px);
}

.publication-author-card-main small,
.publication-author-card-main strong,
.publication-author-card-main em {
    display: block;
}

.publication-author-card-main small {
    color: rgba(255, 255, 255, .45);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.publication-author-card-main strong {
    margin-top: .15rem;
    font-size: .85rem;
}

.publication-author-card-main em {
    margin-top: .15rem;
    color: rgba(255, 255, 255, .58);
    font-size: .62rem;
    font-style: normal;
}

.publication-author-card > p {
    margin: 1rem 0 0;
    padding-top: .8rem;
    color: rgba(255, 255, 255, .62);
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: .66rem;
}

.publication-coauthors {
    margin-top: .7rem;
    color: rgba(255, 255, 255, .7);
    font-size: .62rem;
    line-height: 1.45;
}

.publication-coauthors span {
    margin-right: .4rem;
    color: rgba(255, 255, 255, .4);
    font-weight: 800;
    text-transform: uppercase;
}

.publication-detail-section {
    padding: clamp(4rem, 7vw, 7rem) 0;
    background: var(--paper);
}

.publication-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: clamp(2.5rem, 6vw, 7rem);
}

.publication-article {
    min-width: 0;
}

.publication-reading-block {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 1.5rem;
    padding: 3.5rem 0;
    border-bottom: 1px solid #d8dad5;
}

.publication-reading-block:first-child {
    padding-top: 0;
}

.publication-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #5d6978;
    background: #e7e8e3;
    border: 1px solid #d5d7d1;
    border-radius: 6px;
    font-size: .62rem;
    font-weight: 800;
}

.publication-reading-block h2 {
    margin: .5rem 0 1.1rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 720;
    letter-spacing: -.055em;
}

.publication-reading-block > div > p:not(.mini-kicker):not(.publication-caveat) {
    max-width: 840px;
    margin-bottom: 0;
    color: #596779;
    font-size: .92rem;
    line-height: 1.75;
}

.publication-reading-block .publication-lead-summary {
    color: #34485b !important;
    font-family: var(--font-serif);
    font-size: clamp(1.2rem, 2vw, 1.6rem) !important;
    font-weight: 560;
    line-height: 1.55 !important;
}

.publication-study-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1.5rem;
}

.publication-study-facts > div {
    padding: 1rem;
    background: var(--white);
    border: 1px solid #dddfda;
    border-radius: 7px;
}

.publication-study-facts span,
.publication-study-facts strong {
    display: block;
}

.publication-study-facts span {
    color: #84909d;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.publication-study-facts strong {
    margin-top: .35rem;
    color: #3e4d5f;
    font-size: .7rem;
    line-height: 1.45;
}

.publication-findings {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.publication-findings li {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: .8rem;
    padding: 1rem;
    background: var(--white);
    border: 1px solid #dddfda;
    border-radius: 7px;
}

.publication-findings li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #445b49;
    background: #dfe8d7;
    border-radius: 5px;
}

.publication-findings p {
    margin: .2rem 0 0;
    color: #4c5b6d;
    font-size: .78rem;
    line-height: 1.6;
}

.publication-application-block {
    margin: 0 -1.5rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    background: #e9eadf;
    border: 1px solid #d7dacd;
    border-radius: 9px;
}

.publication-applications {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.publication-applications > div {
    min-height: 150px;
    padding: 1rem;
    background: rgba(255, 255, 255, .64);
    border: 1px solid #d7dacd;
    border-radius: 7px;
}

.publication-applications span {
    color: #71806b;
    font-size: .58rem;
    font-weight: 800;
}

.publication-applications p {
    margin: 1.6rem 0 0;
    color: #405163;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.55;
}

.publication-caveat {
    display: flex;
    gap: .55rem;
    margin: 1rem 0 0;
    color: #707d6d;
    font-size: .58rem;
    line-height: 1.5;
}

.publication-detail-sidebar {
    min-width: 0;
}

.publication-detail-sticky {
    position: sticky;
    top: 130px;
    display: grid;
    gap: .8rem;
}

.publication-record-card,
.publication-citation-card,
.publication-contact-card {
    padding: 1.25rem;
    background: var(--white);
    border: 1px solid #dadcd7;
    border-radius: 9px;
}

.publication-record-card dl {
    margin: 1rem 0;
}

.publication-record-card dl > div {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: .7rem;
    padding: .7rem 0;
    border-bottom: 1px solid #e5e6e3;
}

.publication-record-card dt {
    color: #87919d;
    font-size: .56rem;
    font-weight: 800;
    text-transform: uppercase;
}

.publication-record-card dd {
    margin: 0;
    color: #455467;
    font-size: .67rem;
    font-weight: 700;
    line-height: 1.4;
}

.publication-citation-card {
    background: #e9edf0;
}

.publication-citation-card p {
    margin: .7rem 0 0;
    color: #536274;
    font-family: var(--font-serif);
    font-size: .72rem;
    line-height: 1.55;
}

.publication-contact-card {
    color: var(--white);
    background: #233442;
    border-color: #233442;
}

.publication-contact-card > i {
    color: var(--lime);
    font-size: 1.3rem;
}

.publication-contact-card h3 {
    margin: 1.2rem 0 .6rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 720;
    letter-spacing: -.04em;
}

.publication-contact-card p {
    color: rgba(255, 255, 255, .62);
    font-size: .67rem;
    line-height: 1.55;
}

.related-publications-section {
    padding: 4.5rem 0 6rem;
    background: #e5e6e1;
    border-top: 1px solid #d4d6d1;
}

.related-publications-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.related-publications-head h2 {
    margin: .35rem 0 0;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 720;
    letter-spacing: -.05em;
}

.related-publications-head > a {
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
}

.related-publication-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.related-publication-card {
    position: relative;
    display: block;
    padding: 1.5rem;
    background: var(--white);
    border: 1px solid #d6d9d4;
    border-radius: 9px;
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease;
}

.related-publication-card:hover {
    color: var(--ink);
    border-color: #aeb5b0;
    transform: translateY(-2px);
}

.related-publication-card > small {
    margin-left: .45rem;
    color: #788593;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.related-publication-card h3 {
    max-width: 85%;
    margin: 1rem 0 1.5rem;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 720;
    letter-spacing: -.045em;
}

.related-publication-author {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #667386;
    font-size: .64rem;
    font-weight: 700;
}

.related-publication-author .avatar {
    width: 31px;
    height: 31px;
    font-size: .5rem;
}

.related-publication-card > i {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
}

@media (max-width: 1199.98px) {
    .publication-grid {
        grid-template-columns: 1fr;
    }

    .explore-path {
        min-height: 620px;
    }

    .hub-bridge-flow {
        gap: .45rem;
    }

    .hub-bridge-flow > span {
        min-width: 68px;
    }
}

@media (max-width: 991.98px) {
    .explore-hub-grid,
    .publication-detail-heading,
    .publication-detail-layout,
    .explore-hub-bridge {
        grid-template-columns: 1fr;
    }

    .explore-path {
        min-height: 590px;
    }

    .explore-path-publications {
        border-top: 1px solid #d8dbd7;
        border-left: 0;
    }

    .explore-hub-bridge {
        border-radius: 0 0 10px 10px;
    }

    .hub-bridge-flow {
        justify-content: flex-start;
    }

    .publication-explorer-shell {
        grid-template-columns: 1fr;
    }

    .publication-context-panel {
        border-right: 0;
        border-bottom: 1px solid #dde1de;
    }

    .publication-theme-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .publication-detail-heading {
        align-items: start;
        margin-top: 2rem;
    }

    .publication-author-card {
        max-width: 520px;
    }

    .publication-detail-sticky {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .publication-contact-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .site-footer .footer-main {
        margin-right: 0;
        margin-left: 0;
    }

    .explore-hub-hero {
        padding-top: 3.5rem;
    }

    .explore-path {
        min-height: 0;
        padding: 1.25rem;
    }

    .explore-path-copy {
        padding: 3rem 0 2rem;
    }

    .explore-path-preview {
        margin-top: 1rem;
    }

    .explore-hub-bridge {
        padding: 1.25rem;
    }

    .hub-bridge-flow {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .45rem;
    }

    .hub-bridge-flow > i {
        display: none;
    }

    .hub-bridge-flow > span {
        min-width: 0;
    }

    .publication-theme-list,
    .related-publication-grid,
    .publication-study-facts,
    .publication-applications,
    .publication-detail-sticky {
        grid-template-columns: 1fr;
    }

    .publication-workspace,
    .publication-context-panel {
        padding: 1rem;
    }

    .publication-card-foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .publication-detail-hero {
        padding-top: 1.5rem;
    }

    .publication-detail-title h1 {
        font-size: clamp(2.45rem, 12vw, 3.6rem);
    }

    .publication-reading-block {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 2.75rem 0;
    }

    .publication-application-block {
        margin: 0;
        padding: 2rem 1rem;
    }

    .publication-applications > div {
        min-height: 0;
    }

    .publication-applications p {
        margin-top: .8rem;
    }

    .publication-contact-card {
        grid-column: auto;
    }

    .related-publications-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 479.98px) {
    .explore-path-audience {
        padding: .4rem .5rem;
        font-size: .56rem;
    }

    .hub-scenario-preview,
    .hub-publication-preview {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .hub-preview-count,
    .hub-publication-preview > i {
        display: none;
    }

    .hub-bridge-flow strong {
        font-size: .47rem;
    }

    .publication-toolbar .toolbar-meta {
        justify-content: flex-start;
    }

    .publication-card-body {
        padding: 1rem;
    }
}

/* Researcher profiles */
.publication-author strong a,
.publication-author-card-main strong a {
    color: inherit;
    text-decoration: none;
}

.publication-author strong a:hover,
.publication-author-card-main strong a:hover {
    color: var(--lime);
}

.publication-author strong a:hover {
    color: var(--violet);
}

.modal-researcher,
.academic-case-person {
    color: inherit;
    text-decoration: none;
}

.modal-researcher:hover,
.academic-case-person:hover {
    color: inherit;
    border-color: #b9bfbb;
}

.publication-network-authors {
    margin-top: .9rem;
    padding-top: .8rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.publication-network-authors > span {
    color: rgba(255, 255, 255, .42);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.publication-network-authors > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .55rem;
}

.publication-network-authors a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .5rem;
    color: rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 5px;
    font-size: .57rem;
    font-weight: 700;
    text-decoration: none;
}

.publication-network-authors .avatar {
    width: 24px;
    height: 24px;
    font-size: .4rem;
}

.publication-author-profile-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1rem;
    color: var(--lime);
    font-size: .62rem;
    font-weight: 800;
    text-decoration: none;
}

.researcher-profile-hero {
    position: relative;
    overflow: hidden;
    padding: 1rem 0 0;
    color: var(--white);
    background: #233442;
}

.researcher-profile-hero .explore-breadcrumb {
    margin-bottom: .25rem;
}

.researcher-profile-hero::after {
    position: absolute;
    top: -250px;
    right: -120px;
    width: 720px;
    height: 720px;
    background: radial-gradient(circle, rgba(111, 114, 165, .5), transparent 68%);
    content: "";
}

.researcher-profile-hero-teal::after { background: radial-gradient(circle, rgba(117, 162, 155, .46), transparent 68%); }
.researcher-profile-hero-coral::after { background: radial-gradient(circle, rgba(191, 142, 130, .45), transparent 68%); }
.researcher-profile-hero-blue::after { background: radial-gradient(circle, rgba(130, 150, 181, .48), transparent 68%); }
.researcher-profile-hero-amber::after { background: radial-gradient(circle, rgba(181, 154, 105, .46), transparent 68%); }
.researcher-profile-hero-green::after { background: radial-gradient(circle, rgba(129, 157, 133, .48), transparent 68%); }

.researcher-profile-heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem);
    padding: 1rem 0 1.5rem;
}

.researcher-profile-identity {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.5rem);
}

.researcher-avatar-wrap {
    position: relative;
    flex: 0 0 auto;
}

.researcher-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(88px, 8vw, 108px);
    height: clamp(88px, 8vw, 108px);
    color: var(--white);
    border: 4px solid rgba(255, 255, 255, .82);
    border-radius: 12px;
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 800;
    letter-spacing: -.04em;
}

.researcher-verified {
    position: absolute;
    right: -8px;
    bottom: -8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #355448;
    background: var(--lime);
    border: 4px solid #233442;
    border-radius: 50%;
}

.researcher-profile-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .6rem;
    color: rgba(255, 255, 255, .55);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.researcher-profile-identity h1 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 4vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -.075em;
    line-height: .95;
}

.researcher-profile-role {
    margin: .5rem 0 0;
    color: var(--lime);
    font-family: var(--font-serif);
    font-size: clamp(1rem, 1.4vw, 1.25rem);
}

.researcher-profile-institution {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    margin-top: .65rem;
    color: rgba(255, 255, 255, .55);
    font-size: .65rem;
}

.researcher-profile-institution span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.researcher-profile-intro {
    padding: 1rem;
    color: var(--ink);
    background: var(--white);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 9px;
    box-shadow: 0 12px 30px rgba(9, 21, 32, .12);
}

.researcher-profile-intro > p {
    margin: 0;
    color: #536274;
    font-size: .76rem;
    line-height: 1.6;
}

.researcher-profile-fit {
    margin-top: .7rem;
    padding-top: .7rem;
    border-top: 1px solid #e0e2de;
}

.researcher-profile-fit span,
.researcher-profile-fit strong {
    display: block;
}

.researcher-profile-fit span {
    color: #87919d;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.researcher-profile-fit strong {
    margin-top: .35rem;
    color: #344658;
    font-size: .72rem;
    line-height: 1.5;
}

.researcher-profile-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: rgba(9, 21, 32, .32);
    border-top: 1px solid rgba(255, 255, 255, .11);
}

.researcher-profile-stats > div {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .75rem;
    min-height: 64px;
    padding: .7rem 1.25rem;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.researcher-profile-stats > div:last-child {
    border-right: 0;
}

.researcher-profile-stats strong {
    color: var(--lime);
    font-family: var(--font-display);
    font-size: 1.25rem;
    letter-spacing: -.05em;
}

.researcher-profile-stats span {
    color: rgba(255, 255, 255, .55);
    font-size: .6rem;
    line-height: 1.35;
}

.researcher-overview-section {
    padding: clamp(3.5rem, 6vw, 6rem) 0;
    background: var(--white);
}

.researcher-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 1rem;
}

.researcher-capability-panel,
.researcher-collaboration-card {
    padding: clamp(1.4rem, 3vw, 2.5rem);
    border: 1px solid #dfe1dc;
    border-radius: 10px;
}

.researcher-capability-panel {
    background: #f1f1ed;
}

.researcher-capability-panel h2,
.researcher-collaboration-card h2 {
    margin: .5rem 0 1.5rem;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.8vw, 2.8rem);
    font-weight: 720;
    letter-spacing: -.055em;
}

.researcher-method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.researcher-method-grid > span {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 52px;
    padding: .75rem;
    color: #465668;
    background: var(--white);
    border: 1px solid #daddd7;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 700;
}

.researcher-method-grid i {
    color: var(--violet);
}

.researcher-organization-fit {
    margin-top: 1.5rem;
    padding-top: 1.3rem;
    border-top: 1px solid #d7d9d4;
}

.researcher-organization-fit > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .7rem;
}

.researcher-organization-fit > div span {
    padding: .4rem .55rem;
    color: #596879;
    background: #e5e7e1;
    border-radius: 5px;
    font-size: .58rem;
    font-weight: 700;
}

.researcher-collaboration-card {
    color: var(--white);
    background: #233442;
    border-color: #233442;
}

.researcher-collaboration-card .mini-kicker {
    color: rgba(255, 255, 255, .45);
}

.researcher-willingness-list {
    display: grid;
    gap: .45rem;
}

.researcher-willingness-list span {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .75rem;
    color: rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 700;
}

.researcher-willingness-list i {
    color: var(--lime);
}

.researcher-collaboration-card > p {
    margin: 1.25rem 0;
    color: rgba(255, 255, 255, .55);
    font-size: .67rem;
    line-height: 1.6;
}

.researcher-themes-section,
.researcher-publications-section {
    padding: clamp(4.5rem, 7vw, 7rem) 0;
}

.researcher-themes-section {
    background: var(--paper);
}

.researcher-publications-section {
    background: #eeefeb;
    border-top: 1px solid #daddd7;
}

.researcher-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: end;
    gap: 2rem;
    margin-bottom: 2rem;
}

.researcher-section-heading h2 {
    margin: .5rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 4rem);
    font-weight: 720;
    letter-spacing: -.06em;
    line-height: 1.02;
}

.researcher-section-heading > p {
    margin: 0;
    color: #667487;
    font-size: .82rem;
    line-height: 1.65;
}

.researcher-theme-list {
    display: grid;
    gap: .8rem;
}

.researcher-theme-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    overflow: hidden;
    background: var(--white);
    border: 1px solid #d9dcd7;
    border-radius: 10px;
}

.researcher-theme-main {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.researcher-theme-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    color: #555a8c;
    background: #e9e8f0;
    border-radius: 7px;
    font-size: 1.1rem;
}

.researcher-theme-card-blue .researcher-theme-icon { color: #526987; background: #e7edf4; }
.researcher-theme-card-teal .researcher-theme-icon { color: #4d716b; background: #e2ece9; }
.researcher-theme-card-coral .researcher-theme-icon { color: #846158; background: #efe4e0; }
.researcher-theme-card-amber .researcher-theme-icon { color: #796a49; background: #eee8da; }
.researcher-theme-card-green .researcher-theme-icon { color: #506d55; background: #e5ece5; }

.researcher-theme-main h3 {
    margin: .35rem 0 .55rem;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 2.4vw, 2.2rem);
    font-weight: 720;
    letter-spacing: -.05em;
}

.researcher-theme-main > div > p {
    margin: 0;
    color: #657386;
    font-size: .74rem;
    line-height: 1.6;
}

.researcher-theme-question {
    margin-top: 1.3rem;
    padding: .85rem;
    background: #f1f2ee;
    border-left: 3px solid var(--violet);
}

.researcher-theme-question span,
.researcher-theme-question strong {
    display: block;
}

.researcher-theme-question span {
    color: #7d8894;
    font-size: .51rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.researcher-theme-question strong {
    margin-top: .3rem;
    color: #405164;
    font-size: .68rem;
    line-height: 1.5;
}

.researcher-outcome-list {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    background: #e7e8e3;
    border-left: 1px solid #d9dcd7;
}

.researcher-outcome-list > div {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .65rem;
    padding: .85rem 0;
    border-bottom: 1px solid #d0d3cd;
}

.researcher-outcome-list > div:last-child {
    border-bottom: 0;
}

.researcher-outcome-list > div > i {
    margin-top: .2rem;
    color: #77866c;
}

.researcher-outcome-list p,
.researcher-outcome-list strong,
.researcher-outcome-list p span {
    display: block;
    margin: 0;
}

.researcher-outcome-list strong {
    color: #3f5061;
    font-size: .7rem;
}

.researcher-outcome-list p span {
    margin-top: .22rem;
    color: #687586;
    font-size: .62rem;
    line-height: 1.45;
}

.researcher-theme-disclaimer {
    display: flex;
    gap: .5rem;
    margin: 1rem 0 0;
    color: #7a8693;
    font-size: .6rem;
}

.researcher-paper-list {
    display: grid;
    gap: 1rem;
}

.researcher-paper-card {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    overflow: hidden;
    background: var(--white);
    border: 1px solid #d9dcd7;
    border-radius: 10px;
}

.researcher-paper-number {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    min-height: 100%;
    padding: 1.5rem;
    color: #555a8c;
    background: #eeedf4;
    border-right: 1px solid #d9dcd7;
}

.researcher-paper-number-blue { color: #526987; background: #e9edf3; }
.researcher-paper-number-teal { color: #4d716b; background: #e6efec; }
.researcher-paper-number-coral { color: #846158; background: #f1e8e4; }
.researcher-paper-number-amber { color: #796a49; background: #f0ebdf; }
.researcher-paper-number-green { color: #506d55; background: #e7ede7; }

.researcher-paper-number span,
.researcher-paper-number small {
    align-self: stretch;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.researcher-paper-number small {
    text-align: right;
}

.researcher-paper-number i {
    font-size: 2.3rem;
}

.researcher-paper-content {
    padding: clamp(1.4rem, 3vw, 2.25rem);
}

.researcher-paper-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .7rem;
    color: #7b8794;
    font-size: .58rem;
}

.researcher-paper-content h3 {
    max-width: 980px;
    margin: 1rem 0 .35rem;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 2.8vw, 2.7rem);
    font-weight: 720;
    letter-spacing: -.055em;
    line-height: 1.06;
}

.researcher-paper-content h3 a {
    text-decoration: none;
}

.researcher-paper-content h3 a:hover {
    color: var(--violet);
}

.researcher-paper-subtitle {
    margin: 0;
    color: #6c7889;
    font-size: .7rem;
    font-weight: 700;
}

.researcher-paper-summary {
    max-width: 930px;
    margin: 1rem 0 0;
    color: #536274;
    font-family: var(--font-serif);
    font-size: .95rem;
    line-height: 1.65;
}

.researcher-paper-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-top: 1.25rem;
}

.researcher-paper-details > div {
    padding: .75rem;
    background: #f1f2ef;
    border-radius: 6px;
}

.researcher-paper-details span,
.researcher-paper-details strong {
    display: block;
}

.researcher-paper-details span {
    color: #87919d;
    font-size: .49rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.researcher-paper-details strong {
    margin-top: .25rem;
    color: #4b5b6d;
    font-size: .64rem;
    line-height: 1.45;
}

.researcher-paper-insight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-top: .65rem;
}

.researcher-paper-insight-grid > div {
    padding: .85rem;
    background: #f5f3ec;
    border: 1px solid #e4e0d3;
    border-radius: 6px;
}

.researcher-paper-insight-grid > div:last-child {
    background: #edf1e8;
    border-color: #dce3d5;
}

.researcher-paper-insight-grid span {
    color: #6d7781;
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.researcher-paper-insight-grid p {
    margin: .45rem 0 0;
    color: #536173;
    font-size: .66rem;
    line-height: 1.55;
}

.researcher-paper-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e0e2de;
}

.researcher-organization-section {
    padding: clamp(4rem, 7vw, 7rem) 0;
    color: var(--white);
    background: #233442;
}

.researcher-section-heading-light .mini-kicker {
    color: rgba(255, 255, 255, .45);
}

.researcher-section-heading-light > p {
    color: rgba(255, 255, 255, .58);
}

.researcher-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.researcher-scenario-grid article {
    display: flex;
    flex-direction: column;
    min-height: 310px;
    padding: 1.25rem;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
}

.researcher-scenario-grid article > div:first-child {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: rgba(255, 255, 255, .48);
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.researcher-scenario-grid h3 {
    margin: 1.5rem 0 .65rem;
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 720;
    letter-spacing: -.045em;
}

.researcher-scenario-grid article > p {
    color: rgba(255, 255, 255, .57);
    font-size: .69rem;
    line-height: 1.55;
}

.researcher-scenario-grid footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .7rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.researcher-scenario-grid footer small,
.researcher-scenario-grid footer strong {
    display: block;
}

.researcher-scenario-grid footer small {
    color: rgba(255, 255, 255, .4);
    font-size: .48rem;
    text-transform: uppercase;
}

.researcher-scenario-grid footer strong {
    max-width: 250px;
    margin-top: .2rem;
    font-size: .62rem;
    line-height: 1.4;
}

.researcher-scenario-grid footer > span:last-child {
    flex: 0 0 auto;
    color: var(--lime);
    font-size: .58rem;
    font-weight: 800;
}

@media (max-width: 1199.98px) {
    .researcher-profile-heading {
        grid-template-columns: minmax(0, 1fr) minmax(310px, .8fr);
        gap: 1.5rem;
    }

    .researcher-profile-intro {
        max-width: 800px;
    }

    .researcher-scenario-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .researcher-profile-heading {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .researcher-profile-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .researcher-profile-stats > div:nth-child(2) {
        border-right: 0;
    }

    .researcher-profile-stats > div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .researcher-overview-grid,
    .researcher-section-heading,
    .researcher-theme-card {
        grid-template-columns: 1fr;
    }

    .researcher-outcome-list {
        border-top: 1px solid #d9dcd7;
        border-left: 0;
    }
}

@media (max-width: 767.98px) {
    .researcher-profile-heading {
        gap: 1rem;
        padding-top: .75rem;
        padding-bottom: 1rem;
    }

    .researcher-profile-identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .researcher-profile-identity h1 {
        font-size: clamp(2.4rem, 12vw, 3.5rem);
    }

    .researcher-method-grid,
    .researcher-paper-details,
    .researcher-paper-insight-grid,
    .researcher-scenario-grid {
        grid-template-columns: 1fr;
    }

    .researcher-profile-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .researcher-profile-stats > div {
        min-height: 58px;
        padding: .55rem .75rem;
        border-right: 1px solid rgba(255, 255, 255, .1);
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .researcher-profile-stats > div:nth-child(2n) {
        border-right: 0;
    }

    .researcher-profile-stats > div:nth-child(n+3) {
        border-bottom: 0;
    }

    .researcher-theme-main {
        grid-template-columns: 1fr;
    }

    .researcher-paper-card {
        grid-template-columns: 1fr;
    }

    .researcher-paper-number {
        flex-direction: row;
        min-height: 92px;
        border-right: 0;
        border-bottom: 1px solid #d9dcd7;
    }

    .researcher-paper-number span,
    .researcher-paper-number small {
        align-self: auto;
    }

    .researcher-paper-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .researcher-paper-footer .btn {
        width: 100%;
    }
}

@media (max-width: 479.98px) {
    .researcher-avatar {
        width: 80px;
        height: 80px;
    }

    .researcher-profile-stats > div {
        min-height: 56px;
        padding: .5rem .65rem;
    }

    .researcher-theme-main,
    .researcher-outcome-list,
    .researcher-paper-content {
        padding: 1rem;
    }
}

/* Organization entry and value path */
.home-organization-entry {
    padding: clamp(4rem, 6vw, 6rem) 0;
}

.home-organization-shell {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
    gap: clamp(2.5rem, 5vw, 5.5rem);
    align-items: center;
}

.home-organization-copy h2 {
    margin: 1rem 0 1.25rem;
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 4vw, 4.25rem);
    font-weight: 750;
    letter-spacing: -.065em;
    line-height: 1.02;
}

.home-organization-copy h2 em,
.organization-outcomes-section h2 em {
    color: var(--violet);
    font-family: var(--font-serif);
    font-weight: 600;
}

.home-organization-copy > p:not(.free-promise) {
    max-width: 630px;
    color: #667489;
    font-size: 1rem;
    line-height: 1.7;
}

.home-benefit-list {
    display: grid;
    gap: .55rem;
    margin: 1.75rem 0;
}

.home-benefit-list > span {
    display: grid;
    grid-template-columns: 38px 1fr;
    column-gap: .8rem;
    align-items: center;
    padding: .6rem 0;
    border-bottom: 1px solid #e2e3df;
}

.home-benefit-list > span > i {
    grid-row: 1 / 3;
    color: #686c9f;
    font-size: 1.15rem;
}

.home-benefit-list strong,
.home-benefit-list small {
    display: block;
}

.home-benefit-list strong {
    color: #34475a;
    font-size: .82rem;
}

.home-benefit-list small {
    margin-top: .15rem;
    color: #7c8794;
    font-size: .68rem;
}

.free-promise {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0 0 1.4rem;
    padding: .85rem 1rem;
    color: #495744 !important;
    background: #edf1e4;
    border-left: 3px solid #81936d;
    font-size: .74rem !important;
    line-height: 1.5 !important;
}

.free-promise > i {
    margin-top: .12rem;
}

.free-promise strong {
    color: #32402f;
}

.home-needs-form {
    padding: clamp(1.25rem, 2.5vw, 2rem);
    background: #f0f0ed;
    border: 1px solid #ddded9;
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(11, 24, 48, .08);
}

.home-needs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.home-needs-head small {
    color: #7f8a96;
    font-size: .62rem;
}

.home-needs-grid,
.registration-needs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: 1rem;
}

.need-choice {
    position: relative;
    cursor: pointer;
}

.need-choice > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.need-choice-box {
    display: grid;
    grid-template-columns: 34px 1fr 22px;
    gap: .6rem;
    align-items: center;
    min-height: 72px;
    padding: .7rem;
    background: var(--white);
    border: 1px solid #d9dcd7;
    border-radius: 7px;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.need-choice:hover .need-choice-box,
.need-choice:focus-within .need-choice-box {
    border-color: #8e91b0;
    transform: translateY(-1px);
}

.need-choice > input:focus-visible + .need-choice-box {
    outline: 3px solid rgba(111, 114, 165, .25);
    outline-offset: 2px;
}

.need-choice > input:checked + .need-choice-box {
    background: #e8e8f0;
    border-color: #7478a6;
}

.need-choice-box > i:first-child {
    color: #666b9e;
    font-size: 1rem;
    text-align: center;
}

.need-choice-box strong,
.need-choice-box small {
    display: block;
}

.need-choice-box strong {
    color: #34475a;
    font-size: .72rem;
    line-height: 1.25;
}

.need-choice-box small {
    margin-top: .2rem;
    color: #8a939d;
    font-size: .56rem;
}

.need-choice-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: transparent;
    border: 1px solid #c9ceca;
    border-radius: 50%;
}

.need-choice > input:checked + .need-choice-box .need-choice-check {
    color: var(--white);
    background: #626797;
    border-color: #626797;
}

.home-needs-form > p {
    margin: .75rem 0 0;
    color: #7b8793;
    font-size: .6rem;
    line-height: 1.45;
    text-align: center;
}

.organization-hero {
    padding: clamp(4rem, 6vw, 6.5rem) 0;
    background: #ececf0;
}

.free-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .65rem;
    color: #465044;
    background: #dfe6cd;
    border: 1px solid #ccd7b2;
    border-radius: 5px;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.organization-hero .display-page {
    max-width: 900px;
}

.hero-free-note {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 1.25rem 0 0;
    color: #6b7682;
    font-size: .68rem;
    font-weight: 700;
}

.hero-free-note i {
    color: #697957;
}

.organization-value-card {
    padding: 1.25rem;
    background: var(--white);
    border: 1px solid rgba(11, 24, 48, .09);
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(11, 24, 48, .11);
}

.organization-value-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .15rem 1rem;
}

.value-card-free {
    padding: .3rem .45rem;
    color: #516044;
    background: #e5ead8;
    border-radius: 4px;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.organization-value-start {
    padding: 1rem;
    color: var(--white);
    background: var(--ink);
    border-radius: 7px;
}

.organization-value-start small,
.organization-value-start strong {
    display: block;
}

.organization-value-start small {
    color: rgba(255, 255, 255, .48);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.organization-value-start strong {
    margin-top: .55rem;
    font-family: var(--font-display);
    font-size: 1rem;
    line-height: 1.4;
}

.organization-value-flow {
    display: grid;
    gap: .45rem;
    margin-top: .65rem;
}

.organization-value-flow > div {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: .7rem;
    align-items: center;
    padding: .65rem .75rem;
    background: #f4f4f1;
    border: 1px solid #e4e4df;
    border-radius: 7px;
}

.organization-value-flow > div > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #656a9a;
    background: #e7e6ed;
    border-radius: 5px;
}

.organization-value-flow p,
.organization-value-people p {
    margin: 0;
}

.organization-value-flow strong,
.organization-value-flow small,
.organization-value-people strong,
.organization-value-people small {
    display: block;
}

.organization-value-flow strong {
    color: #3e5060;
    font-size: .72rem;
}

.organization-value-flow small {
    margin-top: .15rem;
    color: #818b96;
    font-size: .58rem;
}

.organization-value-people {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e3df;
}

.organization-value-people .case-researcher-stack {
    display: flex;
    flex: 0 0 auto;
}

.organization-value-people .avatar + .avatar {
    margin-left: -.45rem;
}

.organization-value-people small {
    color: #8b949e;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.organization-value-people strong {
    margin-top: .2rem;
    color: #465667;
    font-size: .67rem;
}

.organization-benefit-bar {
    padding: 1rem 0;
    border-bottom: 1px solid #e1e2de;
}

.organization-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.organization-benefit-grid > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: .7rem;
    align-items: center;
    min-height: 64px;
    padding: .5rem 1.25rem;
    border-right: 1px solid #e0e1dd;
}

.organization-benefit-grid > div:first-child {
    padding-left: 0;
}

.organization-benefit-grid > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.organization-benefit-grid > div > i {
    color: #686d9e;
    font-size: 1rem;
}

.organization-benefit-grid strong,
.organization-benefit-grid small {
    display: block;
}

.organization-benefit-grid strong {
    color: #3d4e5f;
    font-size: .72rem;
}

.organization-benefit-grid small {
    margin-top: .2rem;
    color: #7b8793;
    font-size: .58rem;
    line-height: 1.35;
}

.organization-needs-section,
.organization-how {
    padding: clamp(4rem, 6vw, 6rem) 0;
}

.organization-needs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.organization-need-card {
    position: relative;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: .85rem;
    align-items: start;
    min-height: 190px;
    padding: 1.15rem;
    color: inherit;
    background: var(--white);
    border: 1px solid #ddded9;
    border-radius: 9px;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.organization-need-card:hover,
.organization-need-card:focus-visible {
    color: inherit;
    border-color: #a3a6b9;
    box-shadow: 0 12px 28px rgba(11, 24, 48, .07);
    transform: translateY(-2px);
}

.organization-need-card:focus-visible {
    outline: 3px solid rgba(111, 114, 165, .22);
    outline-offset: 2px;
}

.organization-need-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #626897;
    background: #e9e8ef;
    border-radius: 6px;
}

.organization-need-card strong,
.organization-need-card small {
    display: block;
}

.organization-need-card strong {
    font-family: var(--font-display);
    font-size: 1rem;
    letter-spacing: -.025em;
}

.organization-need-card > span:nth-child(2) > small {
    margin-top: .45rem;
    color: #74808d;
    font-size: .68rem;
    line-height: 1.5;
}

.organization-need-output {
    grid-column: 1 / -1;
    align-self: end;
    padding-top: .75rem;
    color: #536251;
    border-top: 1px solid #e2e3df;
    font-size: .65rem;
    font-weight: 700;
}

.organization-need-output small {
    margin-bottom: .2rem;
    color: #8a9386;
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.organization-need-card > i {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    color: #747a9d;
}

.organization-case-grid .outcome-case-card {
    padding: 1.5rem;
}

.organization-case-grid .outcome-case-result {
    margin-top: auto;
}

.organization-case-matches {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e1e2de;
}

.case-match-label {
    grid-column: 1 / -1;
    margin-bottom: .15rem;
    color: #828d98;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.organization-case-matches a {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: .55rem;
    align-items: center;
    min-width: 0;
    padding: .55rem;
    color: inherit;
    background: #f0f0ed;
    border: 1px solid #e1e2de;
    border-radius: 6px;
    text-decoration: none;
}

.organization-case-matches a:hover,
.organization-case-matches a:focus-visible {
    background: #e8e7ee;
    border-color: #b8bac8;
}

.organization-case-matches .avatar {
    width: 32px;
    height: 32px;
    font-size: .54rem;
}

.organization-case-matches strong,
.organization-case-matches small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.organization-case-matches strong {
    color: #465767;
    font-size: .62rem;
}

.organization-case-matches small {
    margin-top: .12rem;
    color: #818c97;
    font-size: .5rem;
}

.organization-case-matches a > i {
    color: #777d9f;
    font-size: .7rem;
}

.organization-opportunity-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    background: #f0f0ed;
    border: 1px solid #dedfdb;
    border-radius: 8px;
}

.organization-opportunity-cta p {
    margin: 0;
}

.organization-opportunity-cta strong,
.organization-opportunity-cta span {
    display: block;
}

.organization-opportunity-cta strong {
    font-size: .78rem;
}

.organization-opportunity-cta span {
    margin-top: .2rem;
    color: #77838f;
    font-size: .64rem;
}

.organization-outcomes-section {
    padding: clamp(4rem, 6vw, 6rem) 0;
    color: rgba(255, 255, 255, .66);
    background: var(--ink);
}

.organization-outcomes-section h2 em {
    color: var(--lime);
}

.organization-outcomes-section .col-lg-5 > p {
    max-width: 540px;
    margin: 1.25rem 0 0;
    line-height: 1.7;
}

.organization-outcome-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.organization-outcome-grid article {
    position: relative;
    min-height: 220px;
    padding: 1.4rem;
    border-right: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.organization-outcome-grid article > span {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    color: rgba(255, 255, 255, .28);
    font-family: var(--font-display);
    font-size: .65rem;
    font-weight: 800;
}

.organization-outcome-grid article > i {
    color: var(--lime);
    font-size: 1.25rem;
}

.organization-outcome-grid h3 {
    margin: 2.8rem 0 .55rem;
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.2rem;
    letter-spacing: -.035em;
}

.organization-outcome-grid p {
    margin: 0;
    font-size: .7rem;
    line-height: 1.55;
}

.organization-how-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.organization-how-grid article {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: .8rem;
    padding: 1.25rem;
    background: var(--white);
    border: 1px solid #dedfdb;
    border-right: 0;
}

.organization-how-grid article:last-child {
    border-right: 1px solid #dedfdb;
}

.organization-how-grid article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #5f6596;
    background: #e9e8ef;
    border-radius: 5px;
    font-size: .66rem;
    font-weight: 800;
}

.organization-how-grid h3 {
    margin: .1rem 0 .45rem;
    font-family: var(--font-display);
    font-size: .9rem;
    letter-spacing: -.025em;
}

.organization-how-grid p {
    margin: 0;
    color: #73808c;
    font-size: .65rem;
    line-height: 1.5;
}

.organization-registration .registration-form-wrap {
    min-height: 650px;
}

.registration-free-detail {
    display: flex;
    gap: .55rem;
    margin: 1.4rem 0 0;
    padding-top: 1.25rem;
    color: rgba(255, 255, 255, .55) !important;
    border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: .62rem;
    line-height: 1.5 !important;
}

.registration-free-detail i {
    margin-top: .1rem;
    color: var(--lime);
}

.form-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.form-section-heading > span:first-child strong,
.form-section-heading > span:first-child small {
    display: block;
}

.form-section-heading > span:first-child strong {
    color: #34475a;
    font-size: .85rem;
}

.form-section-heading > span:first-child small {
    margin-top: .15rem;
    color: #85909b;
    font-size: .6rem;
}

.form-section-heading > span:last-child {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #646998;
    background: #e7e6ed;
    border-radius: 50%;
    font-size: .6rem;
    font-weight: 800;
}

.form-section-heading-details {
    margin: .25rem 0 -1rem;
    padding-top: 1.2rem;
    border-top: 1px solid #dedfdb;
}

.registration-needs-grid {
    margin-bottom: 0;
}

.need-choice-form .need-choice-box {
    min-height: 64px;
}

@media (max-width: 1199.98px) {
    .home-organization-shell {
        grid-template-columns: minmax(0, .8fr) minmax(480px, 1.2fr);
        gap: 2.5rem;
    }
}

@media (max-width: 991.98px) {
    .home-organization-shell {
        grid-template-columns: 1fr;
    }

    .home-organization-copy {
        max-width: 760px;
    }

    .organization-benefit-grid,
    .organization-needs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .organization-benefit-grid > div:nth-child(2) {
        border-right: 0;
    }

    .organization-benefit-grid > div:nth-child(-n+2) {
        border-bottom: 1px solid #e0e1dd;
    }

    .organization-benefit-grid > div:first-child,
    .organization-benefit-grid > div:nth-child(3) {
        padding-left: 0;
    }

    .organization-how-grid {
        grid-template-columns: 1fr;
    }

    .organization-how-grid article {
        border-right: 1px solid #dedfdb;
        border-bottom: 0;
    }

    .organization-how-grid article:last-child {
        border-bottom: 1px solid #dedfdb;
    }
}

@media (max-width: 767.98px) {
    .row.g-5 {
        --bs-gutter-x: 1.5rem;
    }

    .home-needs-grid,
    .registration-needs-grid,
    .organization-benefit-grid,
    .organization-needs-grid,
    .organization-outcome-grid,
    .organization-case-matches {
        grid-template-columns: 1fr;
    }

    .organization-benefit-grid > div,
    .organization-benefit-grid > div:nth-child(2) {
        padding: .8rem 0;
        border-right: 0;
        border-bottom: 1px solid #e0e1dd;
    }

    .organization-benefit-grid > div:last-child {
        border-bottom: 0;
    }

    .organization-need-card {
        min-height: 170px;
    }

    .case-match-label {
        grid-column: 1;
    }

    .organization-opportunity-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .organization-opportunity-cta .btn {
        width: 100%;
    }

    .organization-outcome-grid article {
        min-height: 185px;
    }
}

@media (max-width: 479.98px) {
    .home-needs-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }

    .hero-free-note {
        align-items: flex-start;
    }

    .organization-case-grid .outcome-case-card {
        padding: 1.15rem;
    }
}

/* Unified Explore and purposeful editorial imagery */
html {
    scroll-behavior: smooth;
}

#scenarios,
#publications,
#network {
    scroll-margin-top: 118px;
}

.explore-unified-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.25rem, 7vw, 7rem) 0 0;
    color: var(--white);
    background:
        radial-gradient(circle at 78% 18%, rgba(141, 130, 255, .2), transparent 30%),
        linear-gradient(132deg, #0b1830 0%, #152a38 62%, #1d3340 100%);
}

.explore-unified-hero::after {
    position: absolute;
    right: -8rem;
    bottom: 5rem;
    width: 30rem;
    height: 30rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
}

.explore-unified-hero .container-xxl {
    position: relative;
    z-index: 1;
}

.explore-anchor-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    max-width: 760px;
    margin-top: 2.4rem;
}

.explore-anchor-nav a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .55rem;
    padding: .78rem .85rem;
    color: rgba(255, 255, 255, .82);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    font-size: .7rem;
    font-weight: 700;
}

.explore-anchor-nav a:hover {
    color: var(--white);
    background: rgba(255, 255, 255, .12);
    transform: translateY(-2px);
}

.explore-anchor-nav a > span {
    color: var(--lime);
    font-size: .56rem;
    letter-spacing: .08em;
}

.explore-anchor-nav a > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    color: var(--ink);
    background: var(--lime);
    border-radius: 50%;
    font-size: .6rem;
}

.explore-hero-image {
    position: relative;
    min-height: 430px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px 10px 0 0;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .22);
}

.explore-hero-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(7, 16, 27, .88) 100%);
    content: "";
}

.explore-hero-image img {
    width: 100%;
    height: 430px;
    object-fit: cover;
}

.explore-hero-image figcaption {
    position: absolute;
    z-index: 1;
    right: 1.4rem;
    bottom: 1.35rem;
    left: 1.4rem;
}

.explore-hero-image figcaption span,
.explore-hero-image figcaption strong {
    display: block;
}

.explore-hero-image figcaption span {
    color: var(--lime);
}

.explore-hero-image figcaption strong {
    margin-top: .35rem;
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.2rem;
    letter-spacing: -.035em;
}

.explore-image-note {
    position: absolute;
    z-index: 1;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .7rem;
    color: var(--ink);
    background: rgba(207, 250, 104, .94);
    border-radius: 999px;
    font-size: .6rem;
    font-weight: 800;
}

.explore-collection-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.explore-collection-summary > span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 72px;
    color: rgba(255, 255, 255, .62);
    border-right: 1px solid rgba(255, 255, 255, .12);
    font-size: .66rem;
}

.explore-collection-summary > span:last-child {
    color: var(--lime);
    border-right: 0;
    font-weight: 700;
}

.explore-collection-summary strong {
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.2rem;
}

.unified-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    align-items: end;
    gap: clamp(2rem, 6vw, 6rem);
    margin-bottom: clamp(2.3rem, 4vw, 4rem);
}

.unified-section-heading > div {
    position: relative;
    padding-left: 4.3rem;
}

.unified-section-heading > p {
    margin: 0;
    color: #667488;
    font-size: .92rem;
    line-height: 1.65;
}

.unified-section-number {
    position: absolute;
    top: -.15rem;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #5e6394;
    background: #e7e6ed;
    border-radius: 50%;
    font-size: .7rem;
    font-weight: 800;
}

.explorer-section,
.publication-explorer-section,
.explore-network-section {
    padding: clamp(4.5rem, 7vw, 7rem) 0;
}

.publication-explorer-section {
    border-top: 1px solid #dddeda;
}

.explore-network-section {
    background: #f7f6f2;
    border-top: 1px solid #dddeda;
}

.researcher-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.researcher-directory-card {
    display: flex;
    min-height: 310px;
    padding: 1.35rem;
    color: var(--ink);
    background: var(--white);
    border: 1px solid #dedfda;
    border-radius: 9px;
    flex-direction: column;
}

.researcher-directory-card:hover {
    color: var(--ink);
    border-color: #aaa9c5;
    box-shadow: 0 18px 38px rgba(24, 34, 51, .08);
    transform: translateY(-4px);
}

.researcher-directory-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.researcher-directory-card header > i {
    color: #73788d;
}

.researcher-directory-card > .mini-kicker {
    min-height: 2.2em;
    color: #7d8997;
    font-size: .53rem;
    line-height: 1.35;
}

.researcher-directory-card h3 {
    margin: .55rem 0 .2rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 750;
    letter-spacing: -.04em;
}

.researcher-directory-card > p {
    margin: 0;
    color: #667488;
    font-size: .72rem;
}

.researcher-directory-themes {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: auto 0 1rem;
    padding-top: 1.4rem;
}

.researcher-directory-themes span {
    padding: .35rem .48rem;
    color: #555c74;
    background: #eeeeea;
    border-radius: 4px;
    font-size: .56rem;
    font-weight: 700;
}

.researcher-directory-card > small {
    padding-top: .75rem;
    color: #88929e;
    border-top: 1px solid #ecece7;
    font-size: .57rem;
}

.explore-collaboration-panel {
    margin-top: clamp(3rem, 6vw, 6rem);
    padding: clamp(2rem, 4vw, 4rem);
    color: var(--white);
    background: var(--ink);
    border-radius: 12px;
}

.explore-collaboration-intro {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 1rem 4rem;
    align-items: end;
}

.explore-collaboration-intro .mini-kicker {
    grid-column: 1 / -1;
    color: var(--lime);
}

.explore-collaboration-intro h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.5vw, 3.5rem);
    font-weight: 750;
    letter-spacing: -.06em;
    line-height: 1.03;
}

.explore-collaboration-intro p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    line-height: 1.65;
}

.explore-collaboration-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.explore-collaboration-steps > span {
    position: relative;
    display: flex;
    min-height: 180px;
    padding: 1.35rem;
    border-right: 1px solid rgba(255, 255, 255, .12);
    flex-direction: column;
}

.explore-collaboration-steps > span:last-child {
    border-right: 0;
}

.explore-collaboration-steps b {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    color: rgba(255, 255, 255, .28);
    font-size: .6rem;
}

.explore-collaboration-steps i {
    color: var(--lime);
    font-size: 1.25rem;
}

.explore-collaboration-steps strong {
    margin-top: auto;
    font-family: var(--font-display);
    font-size: 1.05rem;
}

.explore-collaboration-steps small {
    margin-top: .35rem;
    color: rgba(255, 255, 255, .52);
    font-size: .6rem;
}

.explore-audience-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
    margin-top: 1.5rem;
}

.explore-audience-actions > a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    padding: 1rem;
    color: var(--ink);
    background: var(--white);
    border-radius: 7px;
}

.explore-audience-actions > a:hover {
    color: var(--ink);
    background: var(--lime);
}

.explore-audience-actions > a > span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #e9e8ef;
    border-radius: 50%;
}

.explore-audience-actions small,
.explore-audience-actions strong {
    display: block;
}

.explore-audience-actions small {
    color: #7a8491;
    font-size: .53rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.explore-audience-actions strong {
    margin-top: .15rem;
    font-family: var(--font-display);
    font-size: .85rem;
}

.organization-value-image,
.about-hero-image {
    position: relative;
    margin: 0;
    overflow: hidden;
}

.organization-value-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(6, 14, 24, .75));
    content: "";
}

.organization-value-image img,
.about-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.organization-value-image figcaption {
    position: absolute;
    z-index: 1;
    right: 1rem;
    bottom: .8rem;
    left: 1rem;
    color: var(--white);
    font-size: .62rem;
    font-weight: 700;
}

/* Compact page heroes and integrated homepage photography */
.product-question-photo {
    display: flex;
    min-height: 205px;
    justify-content: flex-end;
    flex-direction: column;
    background:
        linear-gradient(180deg, rgba(7, 16, 27, .12) 15%, rgba(7, 16, 27, .9) 92%),
        url("/assets/images/hospitality-in-action.webp") center 42% / cover no-repeat;
}

.product-question-photo > span,
.product-question-photo > h2 {
    position: relative;
    z-index: 1;
}

.organization-hero {
    padding: clamp(2.35rem, 3.6vw, 3.8rem) 0;
}

.organization-hero .mt-4 {
    margin-top: 1rem !important;
}

.organization-hero .mt-5 {
    margin-top: 1.5rem !important;
}

.organization-value-card {
    padding: 1rem;
}

.organization-value-head {
    padding-bottom: .7rem;
}

.organization-value-start {
    padding: .8rem;
}

.organization-value-start strong {
    margin-top: .35rem;
    font-size: .9rem;
}

.organization-value-flow {
    gap: .3rem;
    margin-top: .45rem;
}

.organization-value-flow > div {
    grid-template-columns: 32px 1fr;
    gap: .55rem;
    padding: .45rem .6rem;
}

.organization-value-flow > div > span {
    width: 30px;
    height: 30px;
}

.organization-value-people {
    margin-top: .65rem;
    padding-top: .65rem;
}

.explore-unified-hero {
    padding-top: clamp(2.6rem, 4vw, 4rem);
}

.explore-anchor-nav {
    margin-top: 1.65rem;
}

.explore-hero-image {
    min-height: 320px;
}

.explore-hero-image img {
    height: 320px;
}

.explore-collection-summary > span {
    min-height: 58px;
}

.about-hero {
    padding: clamp(2.6rem, 4vw, 4rem) 0;
}

.organization-value-image {
    height: 145px;
    margin: .15rem 0 1rem;
    border-radius: 7px;
}

.about-hero-image {
    height: 430px;
    border-radius: 8px;
    box-shadow: 18px 18px 0 #e7e6ef;
}

.about-hero-image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(7, 16, 27, .82));
    content: "";
}

.about-hero-image figcaption {
    position: absolute;
    z-index: 1;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    color: var(--white);
}

.about-hero-image figcaption span,
.about-hero-image figcaption strong {
    display: block;
}

.about-hero-image figcaption span {
    color: var(--lime);
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.about-hero-image figcaption strong {
    margin-top: .25rem;
    font-family: var(--font-display);
    font-size: 1rem;
}

@media (max-width: 1199.98px) {
    .researcher-directory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .explore-unified-hero {
        padding-top: 4rem;
    }

    .explore-hero-image {
        min-height: 360px;
    }

    .explore-hero-image img {
        height: 360px;
    }

    .unified-section-heading,
    .explore-collaboration-intro {
        grid-template-columns: 1fr;
    }

    .unified-section-heading > p {
        max-width: 700px;
        padding-left: 4.3rem;
    }

    .researcher-directory-grid,
    .explore-collaboration-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .explore-collaboration-steps > span:nth-child(2) {
        border-right: 0;
    }

    .explore-collaboration-steps > span:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .about-hero-image {
        height: 360px;
    }
}

@media (max-width: 767.98px) {
    #scenarios,
    #publications,
    #network {
        scroll-margin-top: 96px;
    }

    .explore-anchor-nav,
    .explore-collection-summary,
    .researcher-directory-grid,
    .explore-collaboration-steps,
    .explore-audience-actions {
        grid-template-columns: 1fr;
    }

    .explore-collection-summary > span {
        justify-content: flex-start;
        min-height: 54px;
        padding: 0 .25rem;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .explore-collection-summary > span:last-child {
        border-bottom: 0;
    }

    .unified-section-heading > div {
        padding-left: 0;
        padding-top: 4rem;
    }

    .unified-section-heading > p {
        padding-left: 0;
    }

    .explore-collaboration-steps > span,
    .explore-collaboration-steps > span:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .explore-collaboration-steps > span:last-child {
        border-bottom: 0;
    }

    .about-hero-image {
        height: 320px;
        box-shadow: 10px 10px 0 #e7e6ef;
    }
}

/* Final compact hero dimensions after the base responsive rules. */
.organization-value-image {
    height: 100px;
    margin: 0 0 .7rem;
}

.about-hero-image {
    height: 310px;
}

@media (max-width: 991.98px) {
    .explore-unified-hero {
        padding-top: 2.8rem;
    }

    .explore-hero-image,
    .explore-hero-image img {
        min-height: 280px;
        height: 280px;
    }

    .about-hero-image {
        height: 280px;
    }
}

@media (max-width: 767.98px) {
    .explore-unified-hero {
        padding-top: 2.25rem;
    }

    .explore-hero-image,
    .explore-hero-image img {
        min-height: 220px;
        height: 220px;
    }

    .explore-collection-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .explore-collection-summary > span {
        min-height: 48px;
        border-right: 1px solid rgba(255, 255, 255, .1);
    }

    .explore-collection-summary > span:nth-child(even) {
        border-right: 0;
    }

    .about-hero-image {
        height: 240px;
    }
}

/* Complete author attribution: keep names visible and in source order. */
.publication-byline {
    min-width: 0;
    margin: .65rem 0 1rem;
    font-size: .82rem;
    line-height: 1.7;
}

.publication-byline-label {
    display: block;
    margin-bottom: .2rem;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .75;
}

.publication-byline ol {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.publication-byline li {
    display: inline;
}

.publication-byline li:not(:last-child)::after {
    content: "; ";
}

.publication-byline a,
.publication-author-list a {
    color: inherit;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}

.publication-byline a:hover,
.publication-author-list a:hover {
    text-decoration-color: currentColor;
}

.publication-author-card h2 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 750;
}

.publication-author-card .publication-author-note {
    margin: .4rem 0 1.2rem;
    padding: 0;
    border: 0;
    font-size: .75rem;
    color: rgba(255, 255, 255, .78);
}

.publication-author-list {
    margin: 0;
    padding-left: 1.5rem;
    font-size: .9rem;
}

.publication-author-list li {
    padding-left: .25rem;
}

.publication-author-list li + li {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.publication-author-affiliation {
    display: block;
    margin-top: .35rem;
    color: rgba(255, 255, 255, .8);
    font-size: .78rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.publication-corresponding {
    display: block;
    margin-top: .2rem;
    color: var(--lime);
    font-size: .7rem;
    font-weight: 700;
}

.related-publication-card h3 a {
    text-decoration: none;
}

.related-publication-card h3 {
    max-width: none;
}
