/* A connected brand, drawn as an open working diagram. */
.atelier .brand-network { min-width:0; margin:0; align-self:start; color:var(--ink); }
.atelier .brand-network-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.atelier .brand-network-heading h3 { margin:0; font-size:clamp(25px,2.1vw,32px); font-weight:450; line-height:1.15; letter-spacing:-.045em; }
.atelier .brand-network-heading h3 span { color:var(--muted); }
.atelier .brand-network-play { flex:none; width:44px; height:44px; display:grid; place-items:center; border:0; padding:0; color:var(--muted); background:transparent; cursor:pointer; }
.atelier .brand-network-play svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1; }
.atelier .brand-network-play:focus-visible { outline:1px solid var(--accent); outline-offset:2px; }
.atelier .brand-network-play:hover { color:var(--accent); }
.atelier .brand-network-play .network-play-icon { display:none; }
.atelier .brand-network[data-paused="true"] .network-play-icon { display:block; }
.atelier .brand-network[data-paused="true"] .network-pause-icon { display:none; }
.atelier .brand-network-stage { position:relative; height:590px; margin:32px 0 20px; isolation:isolate; }
.atelier .brand-network-wires { position:absolute; inset:0; width:100%; height:100%; overflow:visible; fill:none; pointer-events:none; }
.atelier .brand-wire { stroke:var(--muted); stroke-width:1; vector-effect:non-scaling-stroke; opacity:.3; transition:opacity 180ms ease; }
.atelier .brand-wire[data-visited="true"] { opacity:.56; }
.atelier .brand-wire.is-active,.atelier .brand-wire.is-related { stroke:var(--accent); opacity:1; }
.atelier .brand-wire.is-return { stroke-dasharray:3 5; opacity:.2; }
.atelier .brand-wire.is-return.is-active,.atelier .brand-wire.is-return.is-related { opacity:.6; }
.atelier .brand-signal { fill:var(--accent); stroke:none; opacity:0; }
.atelier .brand-wire,.atelier .brand-signal-orbit { transform-box:view-box; transform-origin:0 0; }
.atelier .brand-node { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); margin:0; z-index:2; text-align:left; border:0; border-radius:0; overflow:visible; background:none; transition:none; }
.atelier .brand-node[open] { z-index:8; }
.atelier .brand-node summary { display:flex; align-items:center; gap:9px; position:relative; width:max-content; min-height:44px; padding:8px 11px 8px 8px; border:1px solid var(--hairline); background:var(--paper); color:var(--ink); list-style:none; cursor:pointer; box-sizing:border-box; transition:border-color 160ms ease,color 160ms ease; }
.atelier .brand-node summary::-webkit-details-marker { display:none; }
.atelier .brand-node summary::marker { content:""; }
.atelier .brand-node summary::after { content:none; }
.atelier .brand-node summary::before { content:""; display:block; flex:none; width:12px; height:12px; border:1px solid var(--muted); box-sizing:border-box; background:var(--paper); }
.atelier .brand-node-name { font:500 12px/1.25 Inter,sans-serif; letter-spacing:-.015em; white-space:nowrap; }
.atelier .brand-node.is-active summary,.atelier .brand-node.is-related summary,.atelier .brand-node[open] summary { border-color:var(--accent); }
.atelier .brand-node.is-active summary::before,.atelier .brand-node[open] summary::before { background:var(--accent); border-color:var(--accent); }
.atelier .brand-node-topic { position:absolute; top:calc(var(--y) + 28px); left:var(--x); transform:translateX(-50%); padding:0 4px; background:var(--paper); font:400 10px/1.4 Inter,sans-serif; color:var(--muted); white-space:nowrap; pointer-events:none; z-index:3; }
.atelier .brand-node-detail { position:absolute; top:calc(100% + 25px); left:0; width:224px; max-width:calc(100vw - 48px); margin:0; padding:13px 15px; box-sizing:border-box; border:1px solid var(--accent); background:var(--paper); color:var(--ink); font:400 13px/1.5 Inter,sans-serif; letter-spacing:-.01em; box-shadow:0 9px 20px color-mix(in srgb,var(--paper) 90%,transparent); }
.atelier .brand-node[data-side="right"] .brand-node-detail { left:auto; right:0; }
.atelier .brand-node:is([data-node="research"],[data-node="system"],[data-node="launch"]) .brand-node-detail { left:50%; right:auto; transform:translateX(-50%); }
.atelier .brand-node[data-node="launch"] .brand-node-detail,.atelier .brand-node[data-node="evolve"] .brand-node-detail,.atelier .brand-node[data-direction="above"] .brand-node-detail { top:auto; bottom:calc(100% + 10px); }
.atelier .brand-node summary:focus-visible { outline:1px solid var(--accent); outline-offset:5px; }
.atelier .brand-network-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; font:400 11px/1.5 Inter,sans-serif; color:var(--muted); }
.atelier .brand-network-foot span:first-child { display:flex; gap:8px; align-items:center; }
.atelier .brand-network-foot i { width:4px; height:4px; background:var(--accent); }
.atelier .brand-network-hint { font-size:10px; }
.atelier .brand-network:not(.is-network-ready) .brand-network-play { visibility:hidden; }
@media(hover:hover) and (pointer:fine) {
 .atelier .brand-node summary:hover { border-color:var(--accent); color:var(--accent); }
}
@media(min-width:1101px) {
 .atelier .brand-node-name { font-size:14px; }
 .atelier .brand-node summary { gap:10px; padding-right:14px; }
 .atelier .brand-node-topic { font-size:11px; }
}
@media(max-width:1100px) and (min-width:641px) {
 .atelier .partner-section { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); column-gap:32px; }
}
@media(max-width:640px) {
 .atelier .brand-network { margin-top:12px; }
 .atelier .brand-network-heading h3 { font-size:28px; }
 .atelier .brand-network-stage { height:620px; margin-top:36px; }
 .atelier .brand-network-hint { display:none; }
}
@media(max-width:360px) {
 .atelier .brand-node-name { font-size:11px; }
 .atelier .brand-node summary { gap:6px; padding-inline:6px; }
 .atelier .brand-node summary::before { width:9px; height:12px; }
 .atelier .brand-node-topic { font-size:9px; }
 .atelier .brand-network-heading h3 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
 .atelier .brand-network * { animation:none!important; transition:none!important; }
 .atelier .brand-network .brand-signal,.atelier .brand-network-play { display:none; }
 .atelier .brand-network .brand-wire { opacity:.65; }
}
