/* The whole network is one opaque surface for ambient collision avoidance. */
.partner-network{background:var(--bg);border-block:1px solid var(--line);padding-block:28px 36px;isolation:isolate}
.network-topline{display:flex;align-items:center;justify-content:space-between;font:11px/1.6 var(--mono);letter-spacing:.12em;color:var(--muted)}
.network-status{display:flex;gap:7px}.network-status i{width:4px;height:4px;background:var(--accent)}
.network-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;align-items:center}
.globe-visual,.network-copy{min-width:0}.globe-stage{position:relative;width:100%;aspect-ratio:1.08;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none}
.globe-stage.is-dragging{cursor:grabbing}.globe-stage canvas{display:block;width:100%;height:100%;pointer-events:none}
.globe-node{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border:0;border-radius:50%;padding:0;background:transparent;touch-action:pan-y pinch-zoom}
.globe-node:focus-visible{outline-offset:0}.globe-pin-label{position:absolute;left:32px;top:10px;white-space:nowrap;font:12px/1.5 var(--mono);color:var(--fg);pointer-events:none;text-shadow:0 1px 8px var(--bg),0 0 4px var(--bg)}
.globe-node[data-globe-node=cas] .globe-pin-label{left:auto;right:32px}
.globe-node[data-globe-node=meridian] .globe-pin-label{top:32px;left:22px}
.globe-node[data-globe-node=open] .globe-pin-label{left:auto;right:32px;color:var(--accent)}
.globe-node.is-active .globe-pin-label{color:var(--accent)}
.globe-readout{position:absolute;top:16px;left:8px;max-width:calc(100% - 16px);padding:10px 14px;border-left:2px solid var(--accent);background:var(--bg);pointer-events:none;font:12px/1.6 var(--mono)}
.globe-readout strong,.globe-readout span{display:block}.globe-readout strong{font-weight:500;color:var(--fg)}.globe-readout span{color:var(--muted)}
.network-hint{font:12px/1.7 var(--mono);color:var(--muted);text-align:center;max-width:none;margin-top:4px}
.network-touch-hint{display:none}
@media(pointer:coarse){.network-pointer-hint{display:none}.network-touch-hint{display:inline}}
.network-copy{padding-block:28px}.network-copy h2{font-size:clamp(28px,3vw,44px);line-height:1.18;letter-spacing:-.055em}.network-intro{font-size:15px;color:var(--muted);margin-top:22px;max-width:34ch}
.network-list{list-style:none;padding:0;margin:30px 0 0}.network-list li{border-top:1px solid var(--line)}.network-list li:last-child{border-bottom:1px solid var(--line)}
.network-link{display:grid;grid-template-columns:12px minmax(0,1fr) 16px;gap:14px;align-items:start;text-align:left;width:100%;padding:17px 8px;border:0;background:transparent;transition:background .2s,color .2s}
.network-link strong{font:500 16px/1.5 var(--mono)}.network-place{display:block;font-size:13px;color:var(--muted)}.network-detail{display:block;font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.network-arrow{font-size:17px;color:var(--muted)}
.network-dot{display:block;width:7px;height:7px;margin-top:9px;border:1px solid var(--muted);border-radius:50%}.network-link[data-network-link=meridian] .network-dot{background:var(--accent);border-color:var(--accent)}
.network-link[data-network-link=open] .network-dot{width:10px;height:10px;margin-top:7px;border:1px dashed var(--accent)}
.network-link:is(:hover,:focus-visible,.is-active){background:var(--surface);color:var(--accent)}.network-link.is-active .network-dot{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent)}
.network-link:focus-visible{outline-offset:-2px}.network-link:is(:hover,:focus-visible,.is-active) .network-arrow{color:var(--accent)}
/* The logo stays still on its original navy plate. Only the plate perimeter sweeps. */
.partner-cards.reveal{opacity:1;transform:none;transition:none}
.partner-feature{position:relative;scroll-margin-top:24px;transition:border-color .3s,box-shadow .3s,translate .3s;min-width:0}
.partner-feature.is-network-active,.partner-feature:focus-within{border-color:var(--accent);box-shadow:-5px 0 24px -16px var(--accent),inset 2px 0 0 var(--accent)}
.partner-feature:focus-visible,#open-partnership:focus-visible,#network-title:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.partner-mark{position:relative;isolation:isolate;overflow:hidden}.partner-logo,.partner-logo:hover{transform:none;transition:none}
.partner-mark:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#43d5dc38 46%,#edf2f848 50%,transparent 72%);background-size:300% 100%;background-position:100% 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,2px 2px,2px calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 2px,2px 2px);opacity:0}
.partner-feature.is-entered .partner-mark:after{animation:partner-sweep 1.8s ease .2s both}
.partner-feature.is-network-active .partner-mark:after{opacity:1;background-position:45% 0}
.partner-body .career-directions span{transition:color .25s,border-color .25s;background:transparent;min-width:0;overflow-wrap:anywhere}
.partner-feature.is-entered .career-directions span{animation:partner-chip 1.2s ease both;animation-delay:calc(var(--chip-order,0) * 110ms)}
.partner-feature.is-network-active .career-directions span{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
@keyframes partner-chip{0%,100%{color:var(--fg);border-color:var(--line)}35%{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}}
@keyframes partner-sweep{0%{opacity:0;background-position:100% 0}25%,75%{opacity:1}100%{opacity:0;background-position:0 0}}
@media(hover:hover) and (pointer:fine){.partner-feature:hover{translate:0 -4px;border-color:var(--accent);box-shadow:0 12px 30px #0002,inset 2px 0 0 var(--accent)}}
@media(min-width:901px){.partner-list{margin-left:-8%;width:108%}.partner-feature{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}.partner-mark{padding:26px}.partner-body{padding:30px}}
@media(max-width:1100px){.network-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px}.network-copy h2{font-size:29px}.globe-pin-label{font-size:12px}}
@media(max-width:700px){.partner-network{padding-block:22px 28px}.network-layout{display:flex;flex-direction:column;gap:12px}.globe-visual,.network-copy{width:100%}.globe-stage{aspect-ratio:1}.network-copy{padding:18px 0 0}.network-copy h2{font-size:30px}.network-intro{max-width:40ch;margin-top:16px}.network-list{margin-top:24px}.network-hint{font-size:12px;padding-inline:8px}.globe-pin-label{display:none}.globe-node[data-globe-node=open] .globe-pin-label{display:block;font-size:12px}.globe-node:not([data-globe-node=open]){width:32px;height:32px;margin:-16px 0 0 -16px}.globe-readout{top:0;font-size:11px;padding:6px 10px}.network-link{padding-block:15px}.partner-feature .career-directions{gap:7px}.partner-feature .career-directions span{font-size:12px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.partner-feature,.partner-feature *,.partner-feature:after,.partner-mark:after{animation:none!important;transition:none!important;translate:none!important}}
:root[data-motion=paused] .partner-feature,:root[data-motion=paused] .partner-feature *,:root[data-motion=paused] .partner-mark:after{animation:none!important;transition:none!important;translate:none!important}
:root[data-motion=paused]{scroll-behavior:auto}
