/* Single-row logo bands travel along seamless circuit rails. */
.logo-ecosystem{padding:52px 0 28px;max-width:1400px;margin:auto}
.logo-band{--rail-color:var(--cyan,var(--blue));margin:0 0 42px;min-width:0}
.logo-band--software{--rail-color:var(--accent)}
.logo-band-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 5% 20px}
.logo-band-kicker{display:block;font:600 10px/1.5 Consolas,monospace;letter-spacing:1.8px;text-transform:uppercase;color:var(--rail-color);margin-bottom:9px}
.logo-band-heading h2{font-size:clamp(25px,3vw,36px);letter-spacing:-1px;line-height:1.15;margin:0 0 10px}
.logo-band-heading p{font-size:13px;line-height:1.65;color:var(--muted);margin:0;max-width:650px}
.logo-band-window{position:relative;overflow:hidden;padding:20px 0;border-block:1px solid var(--line);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rail-color) 4%,transparent),transparent),repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--rail-color) 3%,transparent) 23px 24px),var(--bg);isolation:isolate}
.logo-band-window::before,.logo-band-window::after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:clamp(18px,4vw,58px);pointer-events:none}
.logo-band-window::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.logo-band-window::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.logo-band-track{display:flex;width:max-content;will-change:transform}
.logo-band-group{display:flex;flex:none;min-width:min(1540px,100vw);justify-content:space-between;gap:18px;padding-right:18px}
.logo-column{position:relative;flex:0 0 200px;padding:10px 12px;background:linear-gradient(125deg,color-mix(in srgb,var(--rail-color) 7%,var(--surface)),var(--surface) 65%);border:1px solid var(--line);clip-path:polygon(0 13px,13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px));box-sizing:border-box}
.logo-column::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--rail-color),var(--rail-color)) 13px 0/40px 2px no-repeat,linear-gradient(var(--rail-color),var(--rail-color)) right 13px bottom 0/40px 2px no-repeat;opacity:.8}
.logo-column::after{content:'';position:absolute;top:40px;bottom:40px;left:5px;width:3px;background:repeating-linear-gradient(0deg,var(--rail-color) 0 7px,transparent 7px 15px);opacity:.25;pointer-events:none}
.logo-entry{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;width:100%;height:108px;padding:7px 5px;background:none;border:0;color:var(--text);text-align:center;text-decoration:none;font-family:inherit;cursor:pointer;box-sizing:border-box}
.logo-entry:last-child{border-bottom:0}
.logo-entry:hover{background:color-mix(in srgb,var(--rail-color) 7%,transparent)}
.logo-entry:focus-visible{outline:2px solid var(--rail-color);outline-offset:-3px;background:color-mix(in srgb,var(--rail-color) 8%,transparent)}
.logo-entry-mark{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}
.logo-entry-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.logo-entry-mark img[src$="openai.png"]{background:#fff;padding:3px;box-sizing:border-box}
.logo-entry-mark svg{width:30px;height:30px;fill:none;stroke:var(--rail-color);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.logo-entry-name{font-size:12px;font-weight:600;line-height:1.25;max-width:100%;overflow-wrap:anywhere}
.logo-entry-detail{font:10px/1.3 Consolas,monospace;color:var(--muted)}
.logo-band-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 5% 0;max-width:930px}
.logo-band[data-enhanced=true] .logo-band-track{animation:logo-rail-left var(--rail-duration,65s) linear infinite}
.logo-band[data-direction=right][data-enhanced=true] .logo-band-track{animation-name:logo-rail-right}
.logo-band:is(:hover,:focus-within) .logo-band-track{animation-play-state:paused}
.logo-band:not([data-enhanced=true]) .logo-band-window{overflow-x:auto}
.logo-band[data-keyboard=true] [data-duplicate]{display:none}
.logo-band[data-keyboard=true] .logo-band-window::before,.logo-band[data-keyboard=true] .logo-band-window::after{display:none}
@keyframes logo-rail-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes logo-rail-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(min-width:1600px){.logo-ecosystem{max-width:1540px}}
@media(max-width:760px){.logo-ecosystem{padding-top:35px}.logo-band{margin-bottom:32px}.logo-band-heading{gap:14px;align-items:center}.logo-band-heading h2{font-size:27px}.logo-band-heading p{font-size:12px}.logo-column{flex-basis:175px;padding-inline:10px}.logo-entry{height:102px}.logo-band-group{gap:12px;padding-right:12px}.logo-band-window{padding:14px 0}.logo-entry-name{font-size:11px}.logo-entry-detail{font-size:9px}}
@media(prefers-reduced-motion:reduce){.logo-band .logo-band-track{animation:none!important;transform:none!important;will-change:auto}.logo-band-window{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--rail-color) var(--surface)}.logo-band-window::before,.logo-band-window::after{display:none}.logo-band [data-duplicate]{display:none}}

/* Display-only identity rails: no surrounding copy or click affordances. */
.logo-ecosystem{padding:32px 0 24px}
.logo-band{margin-bottom:24px}
.logo-band:last-child{margin-bottom:0}
.logo-entry{cursor:default}
.logo-entry:hover{background:none}
.logo-entry-mark{width:40px;height:40px}
.logo-entry-mark svg{width:34px;height:34px}
.logo-band-window:focus-visible{outline:2px solid var(--rail-color);outline-offset:4px}
@media(max-width:760px){.logo-ecosystem{padding-top:26px}.logo-band{margin-bottom:20px}}

/* Keep one rail border beneath the final row, without a second section divider. */
.logo-ecosystem + .consultation{border-top:0}

/* Shared introduction above the model and software rails. */
.logo-ecosystem-heading{margin:0 5% 30px;max-width:900px}
.logo-ecosystem-heading h2{margin:0 0 12px;font-size:clamp(28px,3.2vw,42px);line-height:1.15;letter-spacing:-1px;color:var(--text)}
.logo-ecosystem-heading p{margin:0;max-width:760px;font-size:15px;line-height:1.7;color:var(--muted)}
@media(max-width:760px){.logo-ecosystem-heading{margin-bottom:24px}.logo-ecosystem-heading p{font-size:14px}}
