/* Content-led interactive diagrams. White / corporate orange / ink. */
.gm-host{box-sizing:border-box;width:100%;max-width:1380px;margin:32px auto 52px;padding-inline:clamp(18px,3vw,48px);clear:both}
.gm-graphic{--gm-orange:#f5a623;--gm-pale:#fff4df;--gm-ink:#111;box-sizing:border-box;border:1px solid #e1e5eb;border-radius:26px;background:#fff;color:var(--gm-ink);padding:clamp(22px,3vw,42px);font-family:Arial,Helvetica,sans-serif;max-width:100%;isolation:isolate}
.gm-graphic *{box-sizing:border-box}
.gm-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;color:#705013;font-size:12px;font-weight:700;letter-spacing:.12em}
.gm-pause{border:1px solid #e1e5eb;border-radius:30px;background:#fff;color:#566273;min-height:44px;padding:8px 15px;font:400 13px Arial;letter-spacing:0;cursor:pointer;flex-shrink:0}
.gm-title.gm-title{font-size:clamp(21px,2.2vw,30px)!important;line-height:1.25!important;font-weight:700!important;color:#111!important;margin:0 0 26px!important;max-width:46ch}
.gm-canvas{position:relative;background:var(--gm-pale);border-radius:18px;padding:28px 20px;min-height:214px;overflow:hidden}
.gm-nodes{display:grid;grid-template-columns:repeat(var(--gm-count),minmax(0,1fr));gap:18px;position:relative;z-index:1}
.gm-node{position:relative;min-width:0;border:1px solid transparent;border-radius:16px;background:transparent;color:#111;padding:12px 10px;text-align:center;font:400 15px/1.45 Arial;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.gm-node:hover,.gm-node:focus-visible{transform:translateY(-7px);background:#fff;border-color:var(--gm-orange)}
.gm-node[aria-pressed=true]{background:#fff;border-color:var(--gm-orange);box-shadow:0 8px 22px #593c1010}
.gm-symbol{position:relative;display:block;width:80px;height:80px;margin:0 auto 14px;color:#111}
.gm-icon{width:100%;height:100%;display:block;background:#fff;border-radius:14px;transition:transform .35s;overflow:visible}
.gm-number{position:absolute;bottom:-4px;right:-4px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--gm-orange);font:700 12px Arial;border:2px solid #fff}
.gm-label{display:block;overflow-wrap:anywhere}
.gm-track{position:absolute;left:9%;right:9%;top:92px;height:2px;background:#1113}
.gm-track span{position:absolute;left:0;top:-3px;width:10px;height:8px;background:var(--gm-orange);border:1px solid #111;border-radius:8px;animation:gm-travel 6s ease-in-out infinite alternate}
.gm-details{border-left:3px solid var(--gm-orange);margin-top:24px;padding:3px 0 3px 20px;min-height:114px}
.gm-detail strong{font-size:18px;line-height:1.4;color:#111;display:block;max-width:65ch}
.gm-detail.gm-detail p{font-size:16px!important;line-height:1.65!important;color:#566273!important;margin:8px 0 0!important;max-width:85ch}
.gm-detail[hidden]{display:none}
.gm-hint.gm-hint{font-size:12px!important;line-height:1.5!important;color:#68717c!important;margin:18px 0 0!important}
.gm-pause:focus-visible,.gm-node:focus-visible{outline:3px solid #111;outline-offset:4px}
/* Timeline: documents above an animated evidence line. */
.gm-timeline .gm-canvas{padding-bottom:34px}
.gm-timeline .gm-track{top:139px;height:3px;background:repeating-linear-gradient(90deg,#111 0 8px,transparent 8px 14px)}
.gm-timeline .gm-symbol{margin-bottom:32px}
.gm-timeline .gm-number{right:26px;bottom:-24px;width:23px;height:23px;border:2px solid #111}
/* Dashboard: accessible topic controls beside illustrative progress tracks. */
.gm-dashboard .gm-nodes{grid-template-columns:1fr;gap:10px}
.gm-dashboard .gm-node{display:grid;grid-template-columns:58px 1fr;align-items:center;text-align:left;background:#fff;border-color:#e1e5eb;padding:12px 18px 24px}
.gm-dashboard .gm-symbol{width:48px;height:48px;margin:0}
.gm-dashboard .gm-number{width:21px;height:21px;font-size:10px}
.gm-dashboard .gm-node:after{content:'';height:7px;border-radius:8px;background:linear-gradient(90deg,var(--gm-orange) 0 62%,#e6eaf0 62%);position:absolute;left:76px;right:20px;bottom:12px;transform-origin:left;animation:gm-fill 5s ease-in-out infinite alternate}
.gm-dashboard .gm-node:nth-child(2):after{animation-delay:-2s;background:linear-gradient(90deg,var(--gm-orange) 0 43%,#e6eaf0 43%)}
.gm-dashboard .gm-node:nth-child(3):after{animation-delay:-3s;background:linear-gradient(90deg,var(--gm-orange) 0 81%,#e6eaf0 81%)}
.gm-dashboard .gm-track{display:none}
/* Layer stack: offset knowledge and decision layers, not a progress flow. */
.gm-layers .gm-nodes{grid-template-columns:1fr;max-width:760px;margin:auto;gap:8px}
.gm-layers .gm-node{display:flex;gap:22px;align-items:center;text-align:left;background:#fff;border-color:#1112;border-left:5px solid var(--gm-orange);padding:12px 24px;transform:translateX(0)}
.gm-layers .gm-node:nth-child(even){margin-left:30px}
.gm-layers .gm-node:hover{transform:translateX(10px)}
.gm-layers .gm-symbol{width:44px;height:44px;flex:0 0 44px;margin:0}
.gm-layers .gm-number{width:21px;height:21px;font-size:10px}
.gm-layers .gm-track{left:40px;top:30px;bottom:30px;width:2px;height:auto;right:auto}
.gm-layers .gm-track span{animation:gm-descend 6s ease-in-out infinite alternate}
/* Workflow has directional handover arrows. */
.gm-workflow .gm-node:not(:last-child):after{content:'→';position:absolute;right:-19px;top:44px;font-size:26px;font-weight:700;color:#111}
.gm-workflow .gm-node[aria-pressed=true] .gm-icon{transform:rotate(-5deg) scale(1.08)}
/* Circular relationship / topic map, without implying chronological steps. */
.gm-cycle .gm-nodes,.gm-map .gm-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:780px;margin:auto}
.gm-cycle .gm-node,.gm-map .gm-node{display:flex;align-items:center;gap:16px;text-align:left;background:#fff;border-color:#1112}
.gm-cycle .gm-symbol,.gm-map .gm-symbol{width:56px;height:56px;flex:0 0 56px;margin:0}
.gm-map .gm-track,.gm-cycle .gm-track{left:32%;right:32%;height:72%;top:14%;background:transparent;border:2px dashed #1113;border-radius:50%}
.gm-map .gm-track span,.gm-cycle .gm-track span{width:13px;height:13px;top:50%;left:50%;animation:gm-orbit 8s linear infinite;transform-origin:0 0}
/* Illustrated concept cards. */
.gm-cards .gm-track{display:none}
.gm-cards .gm-node{background:#fff;border-color:#e1e5eb;box-shadow:0 6px 15px #11100006}
.gm-cards .gm-node[aria-pressed=true] .gm-icon{transform:translateY(-5px) rotate(4deg)}
.gm-graphic[data-gm-paused=true] *{animation-play-state:paused!important}
.gm-graphic[data-gm-visible=false] *{animation-play-state:paused!important}
@keyframes gm-travel{from{left:0}to{left:calc(100% - 10px)}}
@keyframes gm-fill{from{transform:scaleX(.62)}to{transform:scaleX(1)}}
@keyframes gm-descend{from{top:0}to{top:calc(100% - 8px)}}
@keyframes gm-orbit{from{transform:rotate(0deg) translateX(60px)}to{transform:rotate(360deg) translateX(60px)}}
@media(min-width:1000px){.gm-host:has(.gm-dashboard),.gm-host:has(.gm-layers){max-width:1120px}.gm-dashboard,.gm-layers{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0 32px}.gm-dashboard .gm-caption,.gm-layers .gm-caption{grid-column:1/-1}.gm-dashboard .gm-title.gm-title,.gm-layers .gm-title.gm-title{grid-column:2;grid-row:2}.gm-dashboard .gm-canvas,.gm-layers .gm-canvas{grid-column:1;grid-row:2/5}.gm-dashboard .gm-details,.gm-layers .gm-details{grid-column:2;margin-top:0}.gm-dashboard .gm-hint.gm-hint,.gm-layers .gm-hint.gm-hint{grid-column:2}}
@media(max-width:680px){.gm-host{padding-inline:16px;margin-block:24px 36px}.gm-graphic{padding:20px 16px;border-radius:20px}.gm-canvas{padding:18px 12px}.gm-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.gm-symbol{width:62px;height:62px}.gm-node{font-size:14px;padding:12px 8px}.gm-workflow .gm-node:after{display:none}.gm-track{top:50%;left:15%;right:15%}.gm-timeline .gm-track{top:50%}.gm-layers .gm-node:nth-child(even){margin-left:12px}.gm-map .gm-node,.gm-cycle .gm-node{flex-direction:column;text-align:center}.gm-details{min-height:140px;padding-left:14px}.gm-caption{font-size:10px;letter-spacing:.08em}.gm-title.gm-title{font-size:23px!important}.gm-dashboard .gm-node{grid-template-columns:48px 1fr;padding-inline:10px}.gm-dashboard .gm-node:after{left:60px}.gm-detail.gm-detail p{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.gm-graphic *{animation:none!important;transition:none!important}.gm-node:hover{transform:none!important}.gm-pause{display:none}}

.gm-cycle .gm-track{border-style:solid;border-width:3px;border-color:#1112 #f5a623 #1112 #f5a623;border-radius:50%}
.gm-map .gm-track{border-radius:0;border-width:0;background:linear-gradient(45deg,transparent 49.5%,#1113 50%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,#1113 50%,transparent 50.5%)}
.gm-map .gm-track span{animation:gm-pulse 3s ease-in-out infinite;transform:none;top:45%;left:45%;width:22px;height:22px;background:#f5a623}
@keyframes gm-pulse{50%{transform:scale(1.5);opacity:.45}}
@media(max-width:680px){.gm-timeline .gm-nodes{grid-template-columns:1fr}.gm-timeline .gm-node{display:flex;align-items:center;gap:20px;text-align:left;background:#fff}.gm-timeline .gm-symbol{width:48px;height:48px;flex:0 0 48px;margin:0}.gm-timeline .gm-number{bottom:-4px;right:-4px;width:20px;height:20px;font-size:10px}.gm-timeline .gm-track{top:28px;bottom:28px;left:53px;right:auto;width:3px;height:auto}.gm-timeline .gm-track span{animation:gm-descend 6s ease-in-out infinite alternate}.gm-caption{align-items:flex-start;line-height:1.6}}

.gm-graphic .gm-node[aria-pressed=true]{border-color:var(--gm-orange);box-shadow:0 8px 22px #593c1010}

/* Draw the evidence inside concept cards, rather than moving a decorative container. */
.gm-cards .gm-icon path{stroke-dasharray:150;stroke-dashoffset:0;animation:gm-evidence-draw 7s ease-in-out infinite}
.gm-cards .gm-node:nth-child(2) .gm-icon path{animation-delay:-2s}
.gm-cards .gm-node:nth-child(3) .gm-icon path{animation-delay:-4s}
@keyframes gm-evidence-draw{0%,12%{stroke-dashoffset:150;opacity:.35}38%,100%{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){.gm-cards .gm-icon path{animation:none!important;stroke-dashoffset:0}}
