#frameworks .framework-opening{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:24px;align-items:center;margin-bottom:16px}
#frameworks .framework-opening .section-head{margin:0;max-width:70ch}
#frameworks .framework-opening .lead{font-size:16px;line-height:1.5;margin-top:8px}
.framework-cube-area{display:grid;justify-items:center;gap:4px;padding-block:22px}
.framework-cube-scene{width:230px;height:230px;perspective:1100px;position:relative}
.framework-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:framework-cube-tour 36s infinite ease-in-out}
.framework-cube-face{position:absolute;inset:0;box-sizing:border-box;border:1px solid #cbbce2;border-radius:12px;backface-visibility:hidden;background:linear-gradient(135deg,#fff,#f0eaf8);box-shadow:inset 0 0 24px #ffffff80;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:18px;gap:12px;color:#3d3d6b}
.cube-front{transform:translateZ(115px)}.cube-right{transform:rotateY(90deg) translateZ(115px)}.cube-back{transform:rotateY(180deg) translateZ(115px)}.cube-left{transform:rotateY(-90deg) translateZ(115px)}.cube-top{transform:rotateX(90deg) translateZ(115px)}.cube-bottom{transform:rotateX(-90deg) translateZ(115px)}
.cube-face-label{font-size:14px;color:#8b739f}
.cube-standard{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-size:15px;line-height:1.3;min-height:38px}
.cube-standard img{width:64px;height:36px;object-fit:contain;background:transparent;mix-blend-mode:multiply;filter:none!important}
.cube-standard span{width:100px}
.framework-cube-toggle{margin-top:30px;background:none;border:0;color:#68607f;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:5px 8px}
.framework-cube-toggle:focus-visible{outline:2px solid #8d65ad;outline-offset:4px}
.framework-cube-area.is-paused .framework-cube{animation-play-state:paused}
@keyframes framework-cube-tour{0%,10%{transform:rotateX(-8deg) rotateY(-12deg)}16%,26%{transform:rotateX(-8deg) rotateY(-102deg)}32%,42%{transform:rotateX(-8deg) rotateY(-192deg)}48%,58%{transform:rotateX(-8deg) rotateY(-282deg)}64%,74%{transform:rotateX(-98deg) rotateY(-360deg)}80%,90%{transform:rotateX(82deg) rotateY(-360deg)}100%{transform:rotateX(-8deg) rotateY(-372deg)}}
@media(max-width:700px){#frameworks .framework-opening{grid-template-columns:minmax(0,1fr);gap:10px}.framework-cube-area{padding-block:24px}.framework-cube-scene{transform:scale(.88);margin-block:-12px}}
@media(prefers-reduced-motion:reduce){.framework-cube{animation:none;transform:rotateX(-8deg) rotateY(-12deg)}}

#frameworks .framework-governance-copy{text-align:justify;text-justify:inter-word;hyphens:auto;max-width:70ch;font-size:16px;line-height:1.6}
.framework-cube-face{--cube-accent:#338778;--cube-wash:#edf8f2;border-color:var(--cube-accent);background:linear-gradient(145deg,#fff 10%,var(--cube-wash) 95%);box-shadow:inset 0 0 22px #ffffff80,inset 0 -4px 0 var(--cube-accent)}
.cube-front{--cube-accent:#338778;--cube-wash:#e1f1e9}.cube-right{--cube-accent:#6c207c;--cube-wash:#efe1f3}.cube-back{--cube-accent:#8f263e;--cube-wash:#f4e3e8}.cube-left{--cube-accent:#707987;--cube-wash:#e6eaf0}.cube-top{--cube-accent:#dc7059;--cube-wash:#f9e9e0}.cube-bottom{--cube-accent:#4567a8;--cube-wash:#e2eaf8}
.framework-cube-face::after{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--cube-accent) 20%,transparent);border-radius:8px;pointer-events:none}
.cube-product-logo{--logo-cap:10px;display:flex;justify-content:center;width:100%;height:24px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--cube-accent) 20%,transparent);padding-bottom:8px;margin-bottom:2px}
.cube-product-logo .solution-logo-art{position:relative;display:block;width:calc(var(--logo-cap)*var(--art-ratio));height:20px;flex:none}
.cube-product-logo .solution-logo-art img{position:absolute;left:0;top:calc(5px - var(--logo-cap)*var(--cap-offset));width:100%!important;height:calc(var(--logo-cap)*var(--art-scale))!important;max-width:none!important;max-height:none!important;object-fit:contain;background:transparent!important;filter:none!important}
.cube-standard span{color:#3d3d6b}
