/* Each connector belongs to its card, avoiding a section-sized animated SVG. */
.course-demand-links{display:none}
.market-linked-section .market-course-card{position:relative}
.market-linked-section .market-course-card::before,.market-linked-section .market-course-card::after{content:"";position:absolute;left:50%;bottom:100%;height:40px;width:1px;pointer-events:none}
.market-linked-section .market-course-card::before{background:#aaa}
.market-linked-section .market-course-card::after{opacity:0;background:var(--ink,#131313);transform:none}
html[data-site-theme="dark"] .market-linked-section .market-course-card::before{background:#666}
@media(prefers-reduced-motion:no-preference){.market-linked-section .market-course-card::after{animation:int-connector-pulse 3.2s ease-in-out infinite}}
@keyframes int-connector-pulse{0%,100%{opacity:0}50%{opacity:1}}
.int-mobile-connector{display:none}
@media(max-width:900px){
 /* A separate spacer owns the mobile connection, so panel clipping cannot
    hide it. Its height replaces the existing 28px margin exactly. */
 .market-linked-section .market-course-card{margin-top:0}
 .market-linked-section .market-course-card::before,.market-linked-section .market-course-card::after{display:none}
 .market-linked-section .int-mobile-connector{display:block;position:relative;width:100%;height:28px;min-height:28px;flex:0 0 28px;order:initial!important;pointer-events:none}
 .int-mobile-connector::before,.int-mobile-connector::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#aaa}
 .int-mobile-connector::after{background:var(--ink,#131313);opacity:0}
 html[data-site-theme="dark"] .int-mobile-connector::before{background:#666}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){.int-mobile-connector::after{animation:int-connector-pulse 3.2s ease-in-out infinite}}
