/* Connected GRC: an illustrative, explorable story; never a live product display. */
.ask-shine [hidden]{display:none!important;}
.ask-shine #top.connection-hero{padding:128px 0 52px;min-height:0;background:#080e1a;}
.connection-explorer{--ink:#e9eef8;--muted:#9aaac1;--line:#7b98bf35;--accent:#b6c9ff;color:var(--ink);}
.connection-layout{display:grid;grid-template-columns:1.3fr 1fr;column-gap:72px;align-items:start;}
.connection-layout>.shine-eyebrow{grid-column:1/-1;margin:0 0 22px;font-size:10px;letter-spacing:.2em;}
.ask-shine #top .connection-title{font-size:clamp(42px,5vw,70px);font-weight:400;letter-spacing:-.065em;line-height:1.08!important;margin:0;text-align:left;background:none;-webkit-text-fill-color:initial;}
.connection-title span{display:block;}
.ask-shine #top .connection-title span:last-child{color:#acb8eb;-webkit-text-fill-color:#acb8eb;}
.connection-lead{font-size:15px;line-height:1.85;color:var(--muted);max-width:360px;margin:14px 0 0;justify-self:end;}
.connection-stage{position:relative;grid-column:1/-1;aspect-ratio:var(--map-ratio,1100/330);width:100%;margin:4px 0 20px;isolation:isolate;}
.connection-stage:before{content:'';position:absolute;inset:15% 5%;background:radial-gradient(ellipse,#425a9720,transparent 65%);pointer-events:none;}
.connection-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.connection-edge{fill:none;stroke:#88a3d026;stroke-width:.7;transition:stroke .5s;}
.connection-edge.visited{stroke:#a5c5ee65;}
.connection-edge.active{stroke:#c8eaff;stroke-width:1.2;filter:drop-shadow(0 0 4px #94bfff);}
.ask-shine #top .connection-flow{fill:none;stroke:#d6edff;stroke-width:2;stroke-linecap:round;stroke-dasharray:2 95;opacity:0!important;}
.ask-shine #top .connection-flow.active{opacity:.85!important;animation:connection-travel 8s linear infinite;}
@keyframes connection-travel{to{stroke-dashoffset:-194;}}
.ask-shine #top .connection-filament{opacity:.52!important;stroke-width:.7;stroke-dasharray:800 400;animation:connection-drift 24s linear infinite;animation-delay:calc(var(--thread)*-.7s);}
@keyframes connection-drift{to{stroke-dashoffset:-1200;}}
.connection-node{position:absolute;width:132px;min-height:64px;border:0;border-radius:0;background:transparent;color:#8698b5;padding:8px 3px;cursor:pointer;text-align:center;font-size:12px;transition:color .25s;}
.ask-shine #top .connection-node{transform:translate(-50%,-50%)!important;}
.connection-node:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#667b9e;top:-35px;left:calc(50% - 2.5px);box-shadow:0 0 0 5px #080e1a;}
.connection-node:after{content:'';position:absolute;width:1px;height:18px;background:#7289b04a;top:-25px;left:50%;}
.connection-node small{display:block;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.12em;color:#637592;margin-bottom:7px;}
.connection-node[aria-pressed=true],.connection-node:hover{color:#edf6ff;}
.connection-node[aria-pressed=true]:before{background:#d2edff;box-shadow:0 0 0 5px #97bdff13,0 0 20px 5px #8bb6ff60;}
.connection-node[aria-pressed=true] small{color:#adc7ed;}
.connection-node:focus-visible,.connection-context button:focus-visible,.connection-controls button:focus-visible{outline:1px solid #c0d5fc;outline-offset:5px;border-radius:4px;}
.connection-stage-label{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;color:#8293af;letter-spacing:.12em;}
.connection-stage-label button{width:30px;height:30px;background:transparent;border:1px solid var(--line);border-radius:50%;color:#aec1dd;font-size:10px;letter-spacing:0;}
.connection-story{grid-column:1;display:grid;grid-template-columns:1fr;align-content:start;border-top:1px solid var(--line);padding-top:24px;min-height:200px;}
.connection-step{font-size:9px;color:#91b7d6;letter-spacing:.14em;text-transform:uppercase;display:flex;gap:9px;align-items:center;}
.connection-step i{width:17px;height:1px;background:#a1cbeb;}
.connection-story h2{font-size:clamp(22px,2.5vw,31px);font-weight:400;letter-spacing:-.04em;line-height:1.3;margin:14px 0 18px;color:var(--ink);}
.connection-example{padding:0;background:transparent;border:0;}
.connection-example>span{display:block;font-size:8px;letter-spacing:.12em;color:#7e90ad;margin-bottom:7px;}
.connection-example strong{display:block;font-size:14px;line-height:1.7;font-weight:400;color:#b8cbe4;}
.connection-details{margin-top:20px;max-width:560px;}
.connection-details summary{font-size:11px;color:#b0c8ed;cursor:pointer;list-style:none;display:inline-block;padding:5px 0;border-bottom:1px solid var(--line);}
.connection-details summary:after{content:' +';margin-left:12px;}
.connection-details[open] summary:after{content:' −';}
.connection-details summary::-webkit-details-marker{display:none;}
.connection-description,.connection-link-reason{font-size:13px;line-height:1.8;color:var(--muted);margin:16px 0;}
.connection-link-reason b{display:block;font-size:8px;letter-spacing:.12em;margin-bottom:6px;color:#98acc9;}
.connection-guide{display:inline-block;font-size:11px;color:#bad8fa;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px;}
.connection-controls{grid-column:2;display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid var(--line);padding-top:25px;}
.connection-controls button{padding:12px 16px;border:1px solid #7893b74a;border-radius:5px;background:transparent;color:#c2d7f1;font-size:12px;white-space:nowrap;}
.connection-controls button:last-child{border-color:#aac0ea;background:#b9cbef;color:#111e35;min-width:200px;}
.connection-controls .connection-counter{font-size:10px;color:#91a4bf;white-space:nowrap;font-variant-numeric:tabular-nums;}
.ask-shine #top .connection-controls button:disabled{opacity:.3!important;cursor:default;}
.connection-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;}
.connection-boundary{font-size:10px;line-height:1.8;color:#8194b0;margin:0;max-width:370px;}
.connection-context{display:flex;gap:15px;align-items:center;flex-wrap:wrap;}
.connection-context>span{font-size:8px;letter-spacing:.1em;color:#8295b3;margin-right:5px;}
.connection-context button{font-size:11px;color:#aabeda;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;}
.connection-context button[aria-pressed=true]{color:#dddaff;border-color:#aba1e8;}
.connection-context-detail{width:100%;display:grid;grid-template-columns:1fr 1.6fr auto;gap:35px;align-items:start;border-top:1px solid var(--line);padding-top:22px;}
.connection-context-detail h3{font-size:19px;line-height:1.4;color:#cbd8ee;margin:0;font-weight:400;letter-spacing:-.025em;}
.connection-context-detail p{font-size:12px;line-height:1.8;color:var(--muted);margin:0;}
.connection-context-detail a{font-size:11px;color:#b5c8ea;white-space:nowrap;}
.ask-shine #top .connection-context-line{stroke:#b2a1ed;stroke-width:1;stroke-dasharray:2 6;fill:none;opacity:.6!important;}
.connection-paused .connection-flow,.connection-paused .connection-filament{animation-play-state:paused!important;}
@media(min-width:768px) and (max-width:1050px){.connection-layout{column-gap:30px;}.connection-controls{gap:8px;}.connection-controls button:last-child{min-width:0;}.connection-node{width:100px;}}
@media(max-width:767px){
 .ask-shine #top.connection-hero{padding:96px 0 36px;}
 .connection-layout{display:flex;flex-direction:column;gap:0;}
 .connection-layout>.shine-eyebrow{margin-bottom:20px;font-size:8px;}
 .ask-shine #top .connection-title{font-size:49px;}
 .connection-lead{font-size:13px;line-height:1.8;margin:22px 0 8px;max-width:330px;}
 .connection-stage{margin:10px 0 20px;}
 .connection-node{width:86px;min-height:53px;font-size:10px;background:#080e1a;}
 .connection-node:before{top:0;width:3px;height:3px;left:calc(50% - 1.5px);}
 .connection-node:after{display:none;}
 .connection-node small{font-size:8px;margin-bottom:5px;}
 .connection-stage-label{font-size:7px;letter-spacing:.08em;}
 .connection-stage-label button{width:25px;height:25px;}
 .connection-story{width:100%;padding-top:22px;min-height:0;}
 .connection-story h2{font-size:25px;margin:14px 0;}
 .connection-example strong{font-size:13px;}
 .connection-controls{width:100%;border-top:0;padding-top:24px;gap:12px;justify-content:flex-start;}
 .connection-controls button{padding:12px;}
 .connection-controls button:last-child{min-width:0;flex:1;font-size:11px;white-space:normal;}
 .connection-bottom{margin-top:28px;gap:16px;}
 .connection-context{gap:15px;}
 .connection-context>span{width:100%;}
 .connection-context-detail{display:block;}
 .connection-context-detail h3,.connection-context-detail p{margin-bottom:14px;}
}
@media(prefers-reduced-motion:reduce){.connection-flow.active,.connection-filament{animation:none!important;}.connection-node,.connection-edge{transition:none;}}

.connection-context-origin{position:absolute;left:50%;top:13%;font-size:10px;color:#c6b9ff;letter-spacing:.08em;background:#080e1a;padding:6px 12px;border:1px solid #9c88d43a;border-radius:20px;}
.ask-shine #top .connection-context-origin{transform:translate(-50%,-50%)!important;}
@media(max-width:767px){.connection-context-origin{top:48.84%;font-size:8px;padding:4px 9px;}}

/* SVG anchors stay precisely on the thread at every viewport size. */
.connection-node:before,.connection-node:after{display:none;}
.connection-anchor{fill:#6783a9;stroke:#080e1a;stroke-width:2;}
.connection-anchor.active{fill:#e0f3ff;stroke:#badbff;stroke-width:1;filter:drop-shadow(0 0 5px #9bbfff);}
@media(max-width:767px){.connection-stage{max-width:440px;align-self:center;}.connection-node{background:transparent;}}
