/* Focus + context study. Isolated from the production homepages. */
.refined-map{--fp-color:#2585da;--fp-motion:560ms;--fp-ease:cubic-bezier(.22,1,.36,1)}
.refined-map .rm-canvas{position:relative;width:100%;min-width:0;padding:0;overflow:visible;aspect-ratio:1200/680;min-height:610px;touch-action:pan-x pan-y;isolation:isolate}
.refined-map .rm-svg{width:100%;height:100%;min-width:0;max-width:none;position:absolute;inset:0;z-index:2;overflow:visible;pointer-events:none}
.refined-map .rm-node,.refined-map .rm-edge{pointer-events:auto}
.refined-map.is-focused .rm-canvas{aspect-ratio:auto;padding:1px 0}
.refined-map.is-focused .rm-svg{height:auto;aspect-ratio:1200/680;min-height:610px}
.refined-map .rm-node{transform-origin:0 0;transition:transform var(--fp-motion) var(--fp-ease),opacity .28s}
.refined-map .rm-node-frame{transition:x var(--fp-motion) var(--fp-ease),y var(--fp-motion) var(--fp-ease),width var(--fp-motion) var(--fp-ease),height var(--fp-motion) var(--fp-ease),rx var(--fp-motion) var(--fp-ease),stroke .2s,fill .2s}
.refined-map .rm-name,.refined-map .rm-subtitle,.refined-map .rm-type,.refined-map .rm-focus{transition:opacity .22s}
.refined-map.is-focused .rm-name,.refined-map.is-focused .rm-subtitle,.refined-map.is-focused .rm-type,.refined-map.is-focused .rm-focus{pointer-events:none}
.refined-map .rm-edges,.refined-map .rm-ports{transition:opacity .2s}
.refined-map.is-focused .rm-edges,.refined-map.is-focused .rm-ports{opacity:0;pointer-events:none}
.refined-map.is-focused .rm-edge{pointer-events:none}
.refined-map.is-focused .rm-name,.refined-map.is-focused .rm-subtitle,.refined-map.is-focused .rm-type,.refined-map.is-focused .rm-focus{display:none;opacity:0}
.refined-map.is-focused .rm-node-frame{width:116px;height:116px;x:-58px;y:-80px;rx:58px;fill:white;stroke:#d4e3ed;filter:drop-shadow(0 5px 8px #20465d0c)}
.refined-map.is-focused .rm-node:hover .rm-node-frame,.refined-map.is-focused .rm-node:focus-visible .rm-node-frame{stroke:var(--node-color);stroke-width:2.3;fill:#f5fbff}
.refined-map.is-focused .rm-node{opacity:1}
.refined-map.is-focused .rm-node.is-selected .rm-node-frame{stroke:var(--node-color);stroke-width:2.6;fill:color-mix(in srgb,var(--node-color) 7%,white)}
.refined-map.is-focused .rm-label-control{opacity:.4;pointer-events:none}
.refined-map .rm-insight{min-height:92px}
.refined-map.is-focused .rm-insight{display:grid}
.refined-map.is-focused .rm-legend{border-top:1px solid #edf2f6;padding-block:14px}
.refined-map .rm-legend p{font-size:11px}
.fp-panel{position:absolute;z-index:3;inset:3% 12%;border:1px solid color-mix(in srgb,var(--fp-color) 30%,#dce9f2);border-radius:24px;background:linear-gradient(140deg,white 55%,color-mix(in srgb,var(--fp-color) 4%,white));box-shadow:0 22px 55px -28px #1c456944,0 3px 12px #234e7206;padding:clamp(20px,2vw,29px);display:flex;flex-direction:column;gap:17px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);transform-origin:var(--fp-origin,50% 50%);transition:opacity .24s,transform var(--fp-motion) var(--fp-ease),visibility .24s;pointer-events:none}
.is-focused .fp-panel{position:relative;inset:auto;margin:24px 12%;opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.fp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.fp-eyebrow{font-size:9px;letter-spacing:.12em;color:var(--fp-color);font-weight:600;margin:0}
.fp-intro{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,2.3fr);gap:25px;align-items:start;flex-shrink:0}
.fp-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-right:22px;border-right:1px solid #e2ebf1;height:100%;min-width:0}
.fp-art{height:62px;width:70px;flex-shrink:0;overflow:visible}
.fp-name{font-size:24px;font-weight:600;line-height:1.2;color:#17384e;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}
.fp-name.fp-name-long{font-size:19px;overflow-wrap:normal}
.fp-type{font-size:10px;margin:7px 0 0;color:#627889;line-height:1.6}
.fp-close{display:inline-flex;gap:7px;align-items:center;border:1px solid #dce6ed;border-radius:20px;background:#fff;padding:6px 11px;color:#536d80;font-size:10px;cursor:pointer;min-height:32px}
.fp-close:hover{color:#1b5d8e;border-color:#82b3d5;background:#f8fbfe}
.fp-close span{font-size:15px}
.fp-summary{min-width:0}
.fp-headline{font-size:clamp(19px,1.8vw,25px);font-weight:500;line-height:1.35;letter-spacing:-.025em;color:#193b52;margin:0 0 11px}
.fp-method{font-size:13px;line-height:1.65;color:#405f75;margin:0}
.fp-finding{font-size:11px;line-height:1.65;color:#617c8e;margin:9px 0 0;overflow-wrap:anywhere}
.fp-finding>span:first-child{color:var(--fp-color);font-weight:600;margin-right:7px}
.fp-visual{min-width:0;min-height:0;flex:none;margin:0;border:1px solid #e2ebf1;background:white;border-radius:12px;padding:14px 16px 0;display:flex;flex-direction:column;overflow:hidden}
.fp-figure-link{position:relative;display:block;flex:1;min-height:0}
.fp-visual img{display:block;width:100%;height:auto;object-fit:contain}
.fp-visual figcaption{display:flex;justify-content:space-between;gap:10px;flex-shrink:0;font-size:9px;color:#6d8191;line-height:1.5;padding:9px 0;border-top:1px solid #edf2f5;margin-top:9px}
.fp-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0;min-width:0}
.fp-tags span{font-size:9px;color:#53778e;padding:4px 6px;border-radius:5px;background:#f1f6fa;line-height:1.5}
.fp-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0}
.fp-read{display:inline-flex;gap:22px;align-items:center;justify-content:center;background:var(--fp-color);color:#fff!important;min-height:38px;padding:8px 14px;border-radius:8px;font-size:11px;font-weight:500;text-decoration:none!important;white-space:nowrap}
.fp-read:hover{filter:brightness(.93)}
.fp-panel button:focus-visible,.fp-panel a:focus-visible,.fp-mobile-rail button:focus-visible,.fp-list-preview:focus-visible{outline:3px solid var(--fp-color);outline-offset:4px}
.fp-mobile-rail{display:none}
.fp-mobile-rail[hidden]{display:none}
.fp-list-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid #e3ebf1;min-width:0}
.fp-list-row .rm-list-item{flex:1;border:0}
.fp-list-preview{border:1px solid #d8e5ee;background:white;color:#32668a;border-radius:7px;font-size:11px;padding:7px 10px;min-height:36px;cursor:pointer}
.fp-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:901px) and (max-width:1180px){
 .fp-panel{padding:19px;gap:13px}.fp-intro{grid-template-columns:140px minmax(0,1fr);gap:18px}.fp-header{padding-right:16px;gap:8px}.fp-art{height:52px;width:59px}.fp-name{font-size:21px}.fp-type{font-size:9px}
 .fp-headline{font-size:19px;margin-bottom:8px}.fp-method{font-size:12px;line-height:1.6}.fp-finding{font-size:10px;line-height:1.6;margin-top:7px}
 .fp-visual{padding:10px 12px 0}.fp-read{min-height:34px;font-size:10px}.fp-tags{gap:4px}.fp-tags span{font-size:8px}
}
@media(max-width:900px){
 .refined-map .rm-canvas{aspect-ratio:auto;min-height:0;overflow-x:auto;overflow-y:hidden}
 .refined-map .rm-svg{position:relative;inset:auto;width:1100px;height:auto;min-width:1100px}
 .refined-map.is-focused .rm-canvas{padding:15px;overflow:visible;touch-action:pan-y}
 .refined-map.is-focused .rm-svg{display:none}
 .refined-map .fp-panel{display:none}
 .refined-map.is-focused .fp-panel{display:flex;position:relative;inset:auto;width:100%;margin:0;padding:23px;transform:none;min-height:0;gap:20px}
 .fp-intro{grid-template-columns:145px minmax(0,1fr);gap:20px}.fp-name{font-size:23px}.fp-headline{font-size:22px}
 .fp-visual{flex:none;padding:14px 14px 0}.fp-visual img{position:static;height:auto;max-height:none}.fp-figure-link{flex:none}.fp-method{font-size:13px}.fp-finding{font-size:12px}
 .fp-mobile-rail{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:1px 1px 14px;touch-action:pan-x pan-y;scrollbar-width:thin}
 .fp-mobile-rail button{border:1px solid #dce7ef;background:white;border-radius:50%;height:49px;width:49px;flex:0 0 49px;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center}
 .fp-mobile-rail button[aria-pressed=true]{border-color:var(--fp-color);background:color-mix(in srgb,var(--fp-color) 7%,white)}
 .fp-mobile-rail svg{height:37px;width:37px;overflow:visible}
 .fp-tags span{font-size:9px}.fp-read{font-size:12px}
 .is-focused .rm-legend,.refined-map.is-focused .rm-insight{display:none}.fp-list-row .rm-list-item{grid-template-columns:55px 1fr;gap:10px}.fp-list-row .rm-list-item>svg{width:55px;height:55px}.fp-list-row .rm-list-arrow{display:none}
}
@media(max-width:600px){
 .refined-map.is-focused .rm-canvas{padding:10px}.refined-map.is-focused .fp-panel{padding:20px 18px;border-radius:19px}
 .fp-intro{display:flex;flex-direction:column;gap:18px}.fp-header{flex-direction:row;align-items:center;border:0;padding:0;gap:12px}.fp-name{font-size:24px}.fp-art{width:55px;height:58px}.fp-type{font-size:10px}
 .fp-headline{font-size:21px;margin-bottom:10px}.fp-visual{width:100%;padding:9px 9px 0}.fp-method{line-height:1.8}.fp-finding{line-height:1.8}
 .fp-footer{align-items:stretch;flex-direction:column;gap:14px}.fp-read{min-height:42px;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){
 .refined-map *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
