/* Compositions use native text and data marks, with raster illustration assets. */
#policy-scenes{height:100%;min-height:0}
.policy-scene,.policy-concept-layer{--policy-title:#373089;--policy-card:#2c254f;--policy-coral:#b34b57;--policy-line:#ef8580;--policy-visible:0;color:#20184e;min-width:0;min-height:0}
.policy-scene{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;padding:0 26px 0 24px}
.policy-scene [data-policy-cue],.policy-concept-layer [data-policy-cue]{opacity:var(--policy-visible,0);transform:translateX(var(--policy-enter-x,0));min-width:0;transform-origin:center}
.policy-heading{position:relative;z-index:1}
.policy-eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--muted);margin:0 0 10px}
.policy-scene h1{font-size:44px;letter-spacing:-1.1px;line-height:1.08;color:var(--policy-title);margin:0}
.policy-scene h2,.policy-concept-layer h3{font-size:28px;color:color-mix(in srgb,var(--policy-card),var(--policy-coral) calc(var(--policy-focus,0)*100%));transform:scale(var(--policy-text-scale,1));margin:0;line-height:1.17}
.policy-scene p,.policy-concept-layer p{line-height:1.3}
.policy-seek{background:transparent;position:relative;min-width:0;min-height:0;padding:0;text-align:left;border-radius:10px;line-height:1.2;color:inherit}
.policy-seek:focus-visible,.policy-document:focus-visible,.policy-program:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}
.policy-interaction{position:absolute;right:8px;bottom:7px;width:19px;height:19px;border:1px solid #d8d3e8;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#8c83ad;opacity:.55}
.policy-seek:hover .policy-interaction,.policy-document:hover .policy-interaction,.policy-program:hover .policy-interaction,.policy-seek:focus-visible .policy-interaction{opacity:1;border-color:var(--indigo);color:var(--indigo)}
.policy-number{display:block;font-weight:700;color:var(--policy-coral);font-size:16px;letter-spacing:.6px}
.policy-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;transform:scale(calc(var(--policy-art-scale,1)*var(--policy-art-pulse,1)));transform-origin:center;filter:drop-shadow(0 1px calc(var(--policy-glow,0)*21px) #8f80c46b)}
.policy-symbol,.policy-goal-art{display:block;width:100%;aspect-ratio:1;background:url('assets/politicas-symbols.png') no-repeat;background-size:300% 200%;transform:scale(calc(var(--policy-art-scale,1)*var(--policy-art-pulse,1)));filter:drop-shadow(0 1px calc(var(--policy-glow,0)*22px) #8f80c46b);transform-origin:center}
.policy-symbol-security{background-position:0 0}.policy-symbol-sustainability{background-position:50% 0}.policy-symbol-information{background-position:100% 0}.policy-symbol-integrity{background-position:0 100%}.policy-symbol-partners{background-position:50% 100%}.policy-symbol-report{background-position:100% 100%}
.policy-symbol-management,.policy-symbol-alliance,.policy-goal-art{background-image:url('assets/fundamentos-symbols.png')}
.policy-symbol-management,.policy-goal-art{background-position:0 100%}.policy-symbol-alliance{background-position:100% 100%}
.policy-note{margin:0;padding:14px 0 3px;border-top:1px solid #dfddec;font-size:20px;text-align:center;line-height:1.3}
.policy-note strong{color:#49428a;font-weight:600}
.policy-arrow{height:20px;width:35px;position:relative;align-self:center;justify-self:center;pointer-events:none;color:color-mix(in srgb,#b7b3d6,var(--policy-coral) calc(var(--policy-focus,0)*100%));transform:translateX(calc(var(--policy-flow,0)*5px))!important}
.policy-arrow i{height:2px;background:currentColor;position:absolute;top:9px;left:0;right:2px;transform:scaleX(calc(.6 + var(--policy-flow,0)*.4));transform-origin:left center}
.policy-arrow b{width:11px;height:11px;border-top:2px solid currentColor;border-right:2px solid currentColor;position:absolute;right:0;top:4px;transform:rotate(45deg)}

/* 4.1: the planning scene leads into a clear three-part relationship. */
.policy-scene-0,.policy-scene-2{grid-template-rows:auto minmax(0,1fr)}
.policy-opening{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 110px;gap:15px}
.policy-opening-art{min-height:0;padding:0 5% 10px}
.policy-opening-route{display:grid;grid-template-columns:1fr 35px 1fr 35px 1fr;gap:12px;align-items:stretch;border-top:1px solid #dfddec;padding-top:14px}
.policy-route-stop{text-align:center;display:grid;grid-template-rows:20px 32px auto;gap:5px;padding:0 10px}
.policy-route-stop h2{font-size:26px}.policy-route-stop p{font-size:18px;margin:0}

/* 4.2: the single card is also the document entry, without nested frames. */
.policy-documents{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}
.policy-document{position:relative;min-width:0;min-height:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:17px;align-items:center;padding:16px 26px 22px 12px;border:1px solid color-mix(in srgb,#e1e1ef,#d4cfe6 calc(var(--policy-focus,0)*100%));border-top:3px solid color-mix(in srgb,#cdd0e8,#ef8580 calc(var(--policy-focus,0)*100%));background:color-mix(in srgb,#f3f5fa,#fcfdff calc(var(--policy-focus,0)*100%));border-radius:4px 4px 14px 14px;text-align:left;color:inherit}
.policy-document .policy-symbol{width:150px;height:150px}
.policy-document .policy-number{margin-bottom:10px;font-size:14px}
.policy-document h2{font-size:27px;line-height:1.16}
.policy-document p{font-size:18px;margin:12px 0 0;line-height:1.28}
.policy-document .policy-interaction{font-size:18px;width:23px;height:23px;right:11px;bottom:10px}
.policy-resource-check{position:absolute;right:10px;top:11px;width:24px;height:24px;display:grid;place-items:center;background:#207452;color:white;border-radius:50%;font-size:14px;font-weight:700}

/* 4.3: five equal objectives in a 3+2 composition, all visible. */
.policy-objectives{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:22px;min-height:0}
.policy-objective{grid-column:span 2;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding:17px 18px 22px 8px;border:1px solid color-mix(in srgb,#e1e1ef,#d4cfe6 calc(var(--policy-focus,0)*100%));border-top:3px solid color-mix(in srgb,#cdd0e8,#ef8580 calc(var(--policy-focus,0)*100%));background:color-mix(in srgb,#f3f5fa,#fcfdff calc(var(--policy-focus,0)*100%));border-radius:4px 4px 14px 14px}
.policy-objective:nth-child(n+4){grid-column:span 3;grid-template-columns:120px minmax(0,1fr);padding-left:18px}
.policy-objective .policy-symbol{width:92px;height:92px}.policy-objective:nth-child(n+4) .policy-symbol{width:120px;height:120px}
.policy-objective .policy-number{font-size:14px;margin-bottom:9px}.policy-objective h2{font-size:24px;line-height:1.15}.policy-objective p{font-size:18px;margin:10px 0 0;line-height:1.25}

/* 4.4: two levels remain separate, joined by the program of objectives. */
.policy-review-levels{display:grid;grid-template-columns:1fr 42px 1fr;gap:20px;min-height:0}
.policy-review-global,.policy-review-process{display:grid;grid-template-rows:minmax(0,1fr) 75px;gap:15px;min-height:0;padding:0 18px}
.policy-review-main{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;text-align:center;padding:4px 10px 15px;gap:14px}
.policy-review-main .policy-symbol{width:min(100%,175px);max-height:100%;align-self:center}
.policy-review-main .policy-image{width:210px;height:175px;max-width:100%;max-height:100%;align-self:center}
.policy-review-main .policy-number{margin-bottom:9px}.policy-review-main h2{font-size:27px}.policy-review-main p{font-size:20px;margin:10px 0 0;line-height:1.3}
.policy-review-connector{align-self:center;text-align:center;font-size:33px;color:#a59acb;font-weight:400}
.policy-period{margin:0;padding-top:10px;border-top:1px solid #dfddec;display:flex;flex-direction:column;align-items:center;gap:6px}
.policy-period strong{font-size:26px;color:color-mix(in srgb,var(--policy-title),var(--policy-coral) calc(var(--policy-focus,0)*100%))}.policy-period span{font-size:16px;color:#625c7b}
.policy-meeting{border-top:1px solid #dfddec;padding-top:13px;display:flex;gap:13px;justify-content:center;align-items:center;font-size:17px;font-weight:600}.policy-meeting b{color:var(--policy-coral);font-size:22px;font-weight:400}
.policy-program{position:relative;display:flex;align-items:center;justify-content:center;gap:30px;width:100%;min-height:65px;border:1px solid #d8d2e9;border-radius:12px;background:#f3f5fa;padding:14px 45px 14px 24px;color:#39316f}.policy-program strong{font-size:22px;font-weight:600}.policy-program .policy-number{font-size:16px}.policy-program .policy-interaction{right:18px;top:calc(50% - 12px);font-size:19px;width:24px;height:24px}.policy-program .policy-resource-check{right:52px;top:calc(50% - 12px)}

/* 4.5: a visual evidence field plus a sequence of interpretations. */
.policy-evidence{min-height:0;display:grid;grid-template-columns:52% minmax(0,1fr);gap:35px;align-items:stretch}
.policy-evidence-art{min-height:0;padding:10px 0}
.policy-evidence-steps{display:grid;grid-template-rows:1fr 15px 1fr 15px 1fr;gap:8px;min-height:0;padding:8px 12px 8px 0}
.policy-evidence-step{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:8px;align-content:center;padding:10px 24px 10px 0}
.policy-evidence-step>.policy-number{grid-row:1/3;align-self:center}.policy-evidence-step h2{font-size:30px}.policy-evidence-step p{font-size:21px;margin:0;grid-column:2}.policy-evidence-steps>.policy-arrow{justify-self:start;margin-left:53px;transform:rotate(90deg) translateX(calc(var(--policy-flow,0)*5px))!important}

/* 4.7: the closing relationships are not a disconnected list. */
.policy-scene-6{grid-template-rows:auto minmax(0,1fr) 140px auto;gap:16px}
.policy-summary-chain{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr;gap:12px;min-height:0}
.policy-summary-stop{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;justify-items:center;text-align:center;padding:5px 13px 12px}
.policy-summary-stop .policy-symbol{width:min(100%,150px);max-height:100%;align-self:center}.policy-summary-stop .policy-number{font-size:13px;margin-bottom:7px}.policy-summary-stop h2{font-size:25px}.policy-summary-stop p{font-size:18px;margin:6px 0 0}
.policy-summary-chain>.policy-arrow{margin-top:-60px}
.policy-decision-band{min-height:0;border:1px solid #e1e1ed;background:#f3f5fa;border-radius:18px;padding:13px 18px 9px;display:grid;grid-template-rows:32px minmax(0,1fr);gap:12px}
.policy-decision-band h2{font-size:24px;text-align:center;color:var(--policy-title)}
.policy-decision-band>div{display:grid;grid-template-columns:1fr 35px 1fr 35px 1fr;gap:12px;align-items:center}
.policy-decision-action{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:8px 20px 15px}.policy-decision-action strong{font-size:23px;color:color-mix(in srgb,var(--policy-card),var(--policy-coral) calc(var(--policy-focus,0)*100%));transform:scale(var(--policy-text-scale,1))}.policy-decision-action>span:not(.policy-interaction){font-size:18px}

/* Supporting headings are distinct from both the main title and dark body text. */
.policy-route-stop h2,.policy-document h2,.policy-objective h2,.policy-review-main h2,.policy-evidence-step h2,.policy-summary-stop h2,.policy-decision-action strong{color:color-mix(in srgb,#302867,var(--policy-coral) calc(var(--policy-focus,0)*100%))}

/* 4.6 additional layers share the fixed player and leave Sara uncovered. */
#concept-layers{position:absolute;inset:0;z-index:5;min-height:0}
.policy-concept-layer{position:absolute;inset:0;background:white;border:1px solid #c8bfe7;border-radius:22px;padding:26px 32px;box-shadow:0 8px 25px #29205c0a;display:grid;grid-template-rows:auto auto 55px minmax(0,1fr) auto;gap:15px}
.policy-layer-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}
.policy-layer-heading h2{font-size:45px;line-height:1.1;letter-spacing:-1.1px;color:var(--policy-title);margin:0}
.policy-layer-definition{font-size:24px;margin:0}
.policy-qualities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center}
.policy-quality{padding:12px 20px 12px 8px;border-bottom:2px solid color-mix(in srgb,#ded9ee,var(--policy-line) calc(var(--policy-focus,0)*100%));border-radius:0;text-align:center;color:color-mix(in srgb,var(--policy-title),var(--policy-coral) calc(var(--policy-focus,0)*100%))}
.policy-quality strong{font-size:21px;display:block;transform:scale(var(--policy-text-scale,1));font-weight:600}
.policy-quality .policy-interaction{width:14px;height:14px;font-size:8px;right:2px;bottom:7px}
.policy-indicator-example{display:grid;grid-template-columns:31% minmax(0,1fr);gap:28px;min-height:0;align-items:stretch}
.policy-indicator-art{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 54px;gap:10px;align-items:center;justify-items:center;text-align:center;padding:6px 0}
.policy-indicator-art .policy-symbol{width:min(100%,190px);max-height:100%;align-self:center}.policy-indicator-art>span:last-child{font-size:18px;line-height:1.3;color:#514b87}
.policy-formula{min-height:0;display:flex;flex-direction:column;justify-content:center;gap:15px;padding:10px 0}
.policy-formula>.policy-eyebrow{margin:0;text-align:center;font-size:12px}
.policy-formula-row{display:grid;grid-template-columns:1fr 110px 1.1fr;gap:15px;align-items:center}
.policy-fraction{display:grid;grid-template-rows:1fr 1fr;min-width:0}
.policy-fraction-part{text-align:center;padding:10px 17px 13px 3px;display:flex;flex-direction:column;gap:5px;align-items:center;border-radius:0}.policy-fraction-part:first-child{border-bottom:2px solid #8b82be}
.policy-fraction-part strong{font-size:43px;color:color-mix(in srgb,var(--policy-title),var(--policy-coral) calc(var(--policy-focus,0)*100%));line-height:1}.policy-fraction-part>span:not(.policy-interaction){font-size:19px}
.policy-operator{font-size:28px;font-weight:500;color:var(--policy-coral);white-space:nowrap;text-align:center}
.policy-percentage{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:14px 15px 20px 0}.policy-percentage>strong{font-size:68px;line-height:1;color:color-mix(in srgb,var(--policy-title),var(--policy-coral) calc(var(--policy-focus,0)*100%));transform:scale(var(--policy-text-scale,1))}.policy-percentage>strong>span{font-size:38px}.policy-percentage>span:not(.policy-interaction){font-size:18px;line-height:1.25}
.policy-concept-layer>.policy-note{font-size:18px;padding:12px 0 0}
.policy-goal-context{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:center}
.policy-goal-example{display:grid;grid-template-columns:34% minmax(0,1fr);gap:35px;min-height:0;align-items:stretch}
.policy-goal-visual{display:grid;grid-template-rows:minmax(0,1fr) 58px;min-height:0;gap:10px;text-align:center;padding:5px 0;justify-items:center;align-items:center}
.policy-goal-art{width:min(100%,210px);max-height:100%;align-self:center}.policy-goal-visual p{font-size:20px;margin:0}.policy-goal-visual p strong{display:block;color:#302867}
.policy-comparison{min-height:0;display:flex;flex-direction:column;justify-content:center;gap:17px;padding:8px 0}
.policy-comparison>.policy-eyebrow{margin:0}
.policy-comparison-values{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.policy-value{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:3px 20px 15px 0}.policy-value>span:not(.policy-interaction){font-size:20px}.policy-value>strong{font-size:60px;color:color-mix(in srgb,var(--policy-title),var(--policy-coral) calc(var(--policy-focus,0)*100%));line-height:1;transform:scale(var(--policy-text-scale,1))}.policy-value>strong>span{font-size:30px}.policy-value-goal>strong{color:#b34b57}
.policy-goal-meter{height:15px;min-height:10px;flex-shrink:0;position:relative;background:#ebe8f7;border-radius:8px;margin:0 24px 0 0}
.policy-meter-fill{position:absolute;inset:0 auto 0 0;width:80%;background:#7566bf;border-radius:8px 0 0 8px;transform:scaleX(var(--policy-visible,0));transform-origin:left center}.policy-meter-goal{position:absolute;right:0;top:-6px;bottom:-6px;width:3px;background:#e17a7d}
.course-shell.portrait .policy-comparison{gap:7px}
.policy-gap{margin:0;font-size:20px;text-align:center;line-height:1.25!important}.policy-gap strong{display:block;color:var(--policy-coral);font-size:23px;font-weight:600}.policy-gap span{display:block;margin-top:6px}

/* Portrait retains the same ideas, reorganized to fit the available window. */
.portrait .policy-scene{gap:11px;padding:0 9px}
.portrait .policy-eyebrow{font-size:8px;letter-spacing:1.1px;margin:4px 0 7px}
.portrait .policy-scene h1{font-size:28px;letter-spacing:-.65px;line-height:1.08}
.portrait .policy-number{font-size:12px}.portrait .policy-interaction{right:5px;bottom:5px;width:16px;height:16px;font-size:10px}
.portrait .policy-note{font-size:14px;padding:9px 0 1px;line-height:1.25}
.portrait .policy-arrow{width:14px;height:14px}.portrait .policy-arrow i{top:6px;height:1.5px}.portrait .policy-arrow b{height:7px;width:7px;top:3px;border-width:1.5px}
.portrait .policy-opening{grid-template-rows:minmax(0,1fr) 108px;gap:9px}.portrait .policy-opening-art{padding:0}
.portrait .policy-opening-route{grid-template-columns:1fr 12px 1fr 12px 1fr;gap:3px;padding-top:9px}.portrait .policy-route-stop{padding:0 3px;grid-template-rows:17px 23px auto;gap:3px}.portrait .policy-route-stop h2{font-size:17px}.portrait .policy-route-stop p{font-size:12px}.portrait .policy-route-stop .policy-interaction{display:none}
.portrait .policy-documents{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:9px}
.portrait .policy-document{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:6px 27px 6px 4px;border-top-width:2px;border-radius:3px 3px 9px 9px}.portrait .policy-document .policy-symbol{width:74px;height:74px}.portrait .policy-document .policy-number{font-size:9px;margin-bottom:4px}.portrait .policy-document h2{font-size:19px;line-height:1.1}.portrait .policy-document p{font-size:12px;line-height:1.18;margin-top:5px}.portrait .policy-document .policy-interaction{font-size:14px;width:17px;height:17px;right:6px;bottom:6px}.portrait .policy-resource-check{width:17px;height:17px;right:5px;top:5px;font-size:10px}
.portrait .policy-objectives{grid-template-columns:1fr;grid-template-rows:repeat(5,minmax(0,1fr));gap:8px}
.portrait .policy-objective,.portrait .policy-objective:nth-child(n+4){grid-column:1;grid-template-columns:65px minmax(0,1fr);gap:12px;padding:5px 23px 5px 5px;border-top-width:2px;border-radius:3px 3px 8px 8px}.portrait .policy-objective .policy-symbol,.portrait .policy-objective:nth-child(n+4) .policy-symbol{width:65px;height:65px}.portrait .policy-objective .policy-number{position:absolute;right:8px;top:6px;font-size:10px;margin:0}.portrait .policy-objective h2{font-size:18px;line-height:1.1;padding-right:10px}.portrait .policy-objective p{font-size:13px;line-height:1.15;margin-top:4px}.portrait .policy-objective .policy-interaction{width:13px;height:13px;bottom:4px;font-size:8px}
.portrait .policy-review-levels{grid-template-columns:1fr;grid-template-rows:1fr 15px 1fr;gap:7px}.portrait .policy-review-global,.portrait .policy-review-process{grid-template-rows:minmax(0,1fr) 47px;gap:4px;padding:0 3px}.portrait .policy-review-main{grid-template-columns:86px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px;justify-items:start;text-align:left;padding:0 16px 0 0}.portrait .policy-review-main .policy-symbol{width:82px;height:82px}.portrait .policy-review-main .policy-number{font-size:10px;margin-bottom:4px}.portrait .policy-review-main h2{font-size:20px}.portrait .policy-review-main p{font-size:14px;margin-top:6px;line-height:1.2}.portrait .policy-review-connector{font-size:21px;line-height:1;transform:rotate(90deg)}.portrait .policy-period{padding-top:5px;flex-direction:row;justify-content:center;gap:12px}.portrait .policy-period strong{font-size:21px}.portrait .policy-period span{font-size:12px}.portrait .policy-meeting{font-size:13px;gap:12px;padding-top:7px}.portrait .policy-meeting b{font-size:18px}
.portrait .policy-program{min-height:55px;padding:9px 30px 9px 12px;gap:13px;border-radius:9px}.portrait .policy-program .policy-number{font-size:10px}.portrait .policy-program strong{font-size:14px;line-height:1.25;text-align:left}.portrait .policy-program .policy-interaction{right:8px;font-size:14px;width:18px;height:18px;top:calc(50% - 9px)}.portrait .policy-program .policy-resource-check{right:29px;width:15px;height:15px;top:calc(50% - 7px)}
.portrait .policy-review-main .policy-image{width:82px;height:82px}
.portrait .policy-evidence{grid-template-columns:1fr;grid-template-rows:43% minmax(0,1fr);gap:8px}.portrait .policy-evidence-art{padding:0 8%}.portrait .policy-evidence-steps{grid-template-rows:1fr 6px 1fr 6px 1fr;gap:2px;padding:0 12px}.portrait .policy-evidence-step{grid-template-columns:25px minmax(0,1fr);gap:3px 12px;padding:4px 20px 4px 0}.portrait .policy-evidence-step h2{font-size:21px}.portrait .policy-evidence-step p{font-size:14px}.portrait .policy-evidence-steps>.policy-arrow{margin-left:40px}
.portrait .policy-scene-6{grid-template-rows:auto minmax(0,1fr) 114px auto;gap:11px}.portrait .policy-summary-chain{grid-template-columns:1fr 10px 1fr 10px 1fr;gap:3px}.portrait .policy-summary-stop{padding:1px 4px 10px;gap:6px}.portrait .policy-summary-stop .policy-symbol{width:88px;height:88px}.portrait .policy-summary-stop .policy-number{font-size:9px;margin-bottom:5px}.portrait .policy-summary-stop h2{font-size:17px}.portrait .policy-summary-stop p{font-size:12px;line-height:1.2}.portrait .policy-summary-chain>.policy-arrow{margin-top:-60px}.portrait .policy-decision-band{grid-template-rows:27px minmax(0,1fr);gap:5px;padding-top:9px}.portrait .policy-decision-band h2{font-size:20px}.portrait .policy-decision-band>div{grid-template-columns:1fr 12px 1fr 12px 1fr;gap:3px}.portrait .policy-decision-action{gap:5px;padding:7px 2px 15px}.portrait .policy-decision-action strong{font-size:15px}.portrait .policy-decision-action>span:not(.policy-interaction){font-size:12px}.portrait .policy-decision-action .policy-interaction{display:none}
.portrait .policy-concept-layer{padding:16px;border-radius:16px;grid-template-rows:auto auto 43px minmax(0,1fr) auto;gap:10px}
.portrait .policy-layer-heading h2{font-size:30px;letter-spacing:-.7px}.portrait .policy-layer-heading .close-button{font-size:13px;gap:6px}.portrait .policy-layer-heading .close-glyph{width:28px;height:28px;font-size:23px}.portrait .policy-layer-definition{font-size:17px;line-height:1.25;margin:0}
.portrait .policy-qualities{gap:8px}.portrait .policy-quality{padding:9px 0 13px}.portrait .policy-quality strong{font-size:13px}.portrait .policy-quality .policy-interaction{right:calc(50% - 6px);bottom:0;width:12px;height:12px;font-size:7px}
.portrait .policy-indicator-example{grid-template-columns:1fr;grid-template-rows:90px minmax(0,1fr);gap:8px}.portrait .policy-indicator-art{grid-template-columns:80px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:15px;text-align:left;padding:0 15px}.portrait .policy-indicator-art .policy-symbol{width:80px;height:80px}.portrait .policy-indicator-art>span:last-child{font-size:15px;line-height:1.25}.portrait .policy-formula{gap:9px;padding:0}.portrait .policy-formula>.policy-eyebrow{font-size:9px;margin:0}.portrait .policy-formula-row{grid-template-columns:1fr 67px 1.1fr;gap:9px}.portrait .policy-fraction-part{padding:4px 10px 7px 0;gap:3px}.portrait .policy-fraction-part strong{font-size:29px}.portrait .policy-fraction-part>span:not(.policy-interaction){font-size:12px}.portrait .policy-fraction-part .policy-interaction{width:11px;height:11px;right:0;bottom:5px;font-size:7px}.portrait .policy-operator{font-size:19px}.portrait .policy-percentage{padding:8px 9px 15px 0;gap:8px}.portrait .policy-percentage>strong{font-size:45px}.portrait .policy-percentage>strong>span{font-size:25px}.portrait .policy-percentage>span:not(.policy-interaction){font-size:12px}.portrait .policy-concept-layer>.policy-note{font-size:13px;line-height:1.25;padding:9px 0 0}
.portrait .policy-goal-context{gap:14px;grid-template-columns:1fr 1.5fr}.portrait .policy-goal-context .policy-quality strong{font-size:13px}.portrait .policy-goal-example{grid-template-columns:1fr;grid-template-rows:82px minmax(0,1fr);gap:9px}.portrait .policy-goal-visual{grid-template-columns:80px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:14px;padding:0 16px;align-items:center;text-align:left}.portrait .policy-goal-art{width:80px;height:80px}.portrait .policy-goal-visual p{font-size:15px}.portrait .policy-comparison{gap:10px;padding:0 6px}.portrait .policy-comparison>.policy-eyebrow{font-size:9px;margin:0}.portrait .policy-comparison-values{gap:16px}.portrait .policy-value{gap:6px;padding:0 13px 10px 0}.portrait .policy-value>span:not(.policy-interaction){font-size:13px}.portrait .policy-value>strong{font-size:41px}.portrait .policy-value>strong>span{font-size:22px}.portrait .policy-goal-meter{height:10px;margin-right:13px}.portrait .policy-gap{font-size:13px}.portrait .policy-gap strong{font-size:16px}.portrait .policy-gap span{margin-top:4px}

/* 4.3 — one working area per objective, joined by a persistent navigation rail. */
.policy-objective-workbench{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 100px;gap:20px}
.policy-domain-stage{position:relative;min-height:0}
.policy-domain-frame{position:absolute;inset:0;display:grid;grid-template-columns:46% minmax(0,1fr);gap:5%;align-items:center;opacity:var(--domain-opacity,0);transform:translateX(var(--domain-shift,0));pointer-events:none}
.policy-domain-visual{position:relative;min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;gap:12px;padding:0 10px 12px}
.policy-domain-visual::before{content:"";position:absolute;inset:10% 9% 25%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#eceef9aa,transparent 72%)}
.policy-domain-visual>.policy-symbol{width:min(90%,300px);max-height:100%;aspect-ratio:1}
.policy-domain-relationship{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;font-size:18px;line-height:1.2;text-align:center;color:#54496f}
.policy-domain-relationship>span,.policy-domain-relationship>strong{flex:1;max-width:46%;font-weight:500}
.policy-domain-relationship>strong{color:#9a4d66}
.policy-domain-relationship>i{font-style:normal;color:#bc7188;font-size:32px;transform:scaleX(calc(.4 + .6 * var(--domain-connect,0)));opacity:calc(.3 + .7 * var(--domain-connect,0));transform-origin:left}
.policy-domain-copy{border-left:2px solid #dcd9ec;padding:12px 0 16px 30px}
.policy-domain-copy h2{font-size:39px;line-height:1.08;color:#373089;max-width:95%}
.policy-domain-copy>p:not(.policy-eyebrow){font-size:26px;line-height:1.35;margin:20px 0 0;color:#30294c}
.policy-domain-copy .policy-eyebrow{font-size:11px;margin-bottom:17px;color:#8a6b87}
.policy-domain-2 .policy-domain-relationship{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;position:relative}
.policy-domain-2 .policy-domain-relationship>span{max-width:none;font-size:17px;border-bottom:1px solid #d9d5e6;padding-bottom:8px}.policy-domain-2 .policy-domain-relationship>i{grid-column:1/-1;font-size:23px;line-height:1}.policy-domain-2 .policy-domain-relationship>strong{grid-column:1/-1;max-width:none}
.policy-domain-3 .policy-domain-relationship{border-block:1px solid #ddd8ec;padding-block:12px}.policy-domain-4 .policy-domain-relationship{border:1px solid #d7d1e9;border-radius:40px;padding:14px 16px}
.policy-domain-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;border-top:1px solid #ded9ea;padding-top:14px;min-height:0}
.policy-domain-tab{display:flex;align-items:center;gap:12px;padding:10px 13px 12px 0;border-bottom:3px solid transparent;border-radius:0;min-height:0}
.policy-domain-tab>b{font-size:15px;color:#a58a9e;align-self:flex-start}.policy-domain-tab>span:not(.policy-interaction){font-size:18px;line-height:1.2;color:#625778}
.policy-domain-tab[aria-current=step]{border-bottom-color:#d28a98}.policy-domain-tab[aria-current=step]>b{color:#ad5068}.policy-domain-tab[aria-current=step]>span:not(.policy-interaction){color:#373089;font-weight:700}
.policy-domain-tab .policy-interaction{right:0;bottom:8px;width:14px;height:14px;font-size:9px}.policy-domain-tab:hover>span:not(.policy-interaction){text-decoration:underline;text-underline-offset:4px}
.portrait .policy-objective-workbench{grid-template-rows:minmax(0,1fr) 72px;gap:10px}
.portrait .policy-domain-frame{grid-template-columns:1fr;grid-template-rows:57% minmax(0,1fr);gap:11px;align-items:center}
.portrait .policy-domain-visual{grid-template-columns:42% minmax(0,1fr);grid-template-rows:1fr;padding:0;gap:15px}.portrait .policy-domain-visual>.policy-symbol{width:100%;max-width:145px}
.portrait .policy-domain-relationship{flex-direction:column;gap:7px;font-size:15px}.portrait .policy-domain-relationship>span,.portrait .policy-domain-relationship>strong{flex:none;max-width:100%;width:100%}
.portrait .policy-domain-relationship>i{font-size:24px;line-height:1;transform:rotate(90deg) scaleX(calc(.4 + .6 * var(--domain-connect,0)))}
.portrait .policy-domain-2 .policy-domain-relationship{grid-template-columns:1fr;gap:4px}.portrait .policy-domain-2 .policy-domain-relationship>span{font-size:13px;padding-bottom:4px}.portrait .policy-domain-2 .policy-domain-relationship>i{transform:none;font-size:20px}
.portrait .policy-domain-3 .policy-domain-relationship{padding-block:9px}.portrait .policy-domain-4 .policy-domain-relationship{border-radius:17px;padding:10px}.portrait .policy-domain-4 .policy-domain-relationship>i{transform:none}
.portrait .policy-domain-copy{padding:0 0 0 15px}.portrait .policy-domain-copy h2{font-size:25px;line-height:1.1}.portrait .policy-domain-copy>p:not(.policy-eyebrow){font-size:16px;margin-top:9px;line-height:1.28}.portrait .policy-domain-copy .policy-eyebrow{font-size:8px;margin-bottom:7px;letter-spacing:1px}
.portrait .policy-domain-nav{gap:8px;padding-top:8px}.portrait .policy-domain-tab{flex-direction:column;gap:5px;padding:0 1px 7px;text-align:center;border-bottom-width:2px}.portrait .policy-domain-tab>b{align-self:center;font-size:10px}.portrait .policy-domain-tab>span:not(.policy-interaction){font-size:10px;line-height:1.1}.portrait .policy-domain-tab .policy-interaction{display:none}

/* 4.3: relations take place in a shared space; the narration controls each action. */
.policy-domain-frame{grid-template-columns:58% minmax(0,1fr);gap:4%}
.policy-domain-copy{padding-left:23px}.policy-domain-copy h2{font-size:34px}.policy-domain-copy>p:not(.policy-eyebrow){font-size:23px}
.policy-action-stage{display:block;padding:0;position:relative;isolation:isolate;min-height:180px;width:100%;height:100%;max-height:350px;align-self:center}
.policy-action-stage strong{color:#433674;font-size:16px;line-height:1.2;font-weight:600;text-align:center;display:block}
.policy-action-stage .policy-symbol{width:100%;height:auto;aspect-ratio:1;display:block}
.policy-partner-side{position:absolute;top:10%;width:27%;text-align:center}.partner-left{left:0;transform:translateX(calc(var(--action-first,0)*12px))}.partner-right{right:0;transform:translateX(calc(var(--action-first,0)*-12px))}
.policy-shared-management{position:absolute;width:30%;left:35%;top:36%;text-align:center;transform:translateY(calc((1 - var(--action-first,0))*24px));opacity:calc(.25 + .75*var(--action-first,0))}
.policy-partner-link{position:absolute;top:48%;width:26%;height:2px;background:#b487a6;z-index:-1;transform:scaleX(var(--action-first,0))}.partner-link-left{left:17%;transform-origin:left;rotate:30deg}.partner-link-right{right:17%;transform-origin:right;rotate:-30deg}
.policy-report-origin,.policy-report-record,.policy-report-receiver{position:absolute;top:0;width:26%;text-align:center}.policy-report-origin{left:0}.policy-report-record{left:37%;opacity:calc(.25 + .75*var(--action-first,0))}.policy-report-receiver{right:0;opacity:calc(.35 + .65*var(--action-second,0))}
.policy-report-place{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center 60%}
.policy-report-track{position:absolute;left:12%;right:12%;top:75%;border-top:2px dotted #d4c5de}
.policy-signal-token{position:absolute;left:calc(16% + 68%*var(--action-position,0));top:75%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;width:max-content;max-width:126px;background:#fff7fa;border:1px solid #c7889b;border-radius:7px;padding:7px 9px;box-shadow:0 5px 14px #4d315514;color:#6e3b56;font-size:13px;line-height:1.18;text-align:left}
.policy-signal-token>b{display:grid;place-items:center;border:1px solid #ba7489;border-radius:50%;width:18px;height:18px;flex-shrink:0}
.policy-action-caption{position:absolute;left:0;right:0;bottom:0;margin:0;text-align:center;font-size:15px;line-height:1.25;color:#625477;min-height:2.5em;display:flex;align-items:center;justify-content:center}
.policy-action-caption [hidden]{display:none}
.policy-obligation{position:absolute;top:8%;max-width:44%;border-bottom:2px solid #bea7cb;padding:8px 4px;font-size:17px;line-height:1.2;color:#554270;text-align:center;transform:translateY(calc(25px*var(--action-first,0)))}.obligation-left{left:2%;transform:translate(calc(15px*var(--action-first,0)),calc(25px*var(--action-first,0)))}.obligation-right{right:0;transform:translate(calc(-15px*var(--action-first,0)),calc(25px*var(--action-first,0)))}
.policy-review-target{position:absolute;width:42%;left:29%;top:34%;text-align:center}.policy-review-target .policy-symbol{width:72%;margin:auto}.policy-review-loop{position:absolute;left:26%;top:33%;width:48%;aspect-ratio:1;border:2px solid #e3d9ea;border-top-color:#b087a7;border-right-color:#b087a7;border-radius:50%;transform:rotate(calc(180deg*var(--action-second,0)));opacity:var(--action-second,0);z-index:-1}.policy-review-loop>i{position:absolute;right:0;top:12%;font-size:30px;color:#b087a7;font-style:normal;background:#f9faff}
.policy-information-core{position:absolute;width:39%;left:30.5%;top:5%;transform:translateY(calc(-10px*var(--action-second,0)))}.policy-information-core>strong{margin-top:-2px}
.policy-technology-support{position:absolute;left:10%;right:10%;top:71%;border-top:5px solid #c2b0d6;padding:13px 5px 0;text-align:center;font-size:16px;color:#554270;transform:translateY(calc(27px*(1 - var(--action-second,0))));opacity:calc(.3 + .7*var(--action-second,0))}
.policy-information-boundary{position:absolute;left:20%;right:20%;top:2%;bottom:30%;border:2px solid #bea8d1;border-radius:22px;z-index:-1;clip-path:inset(0 calc(100%*(1 - var(--action-first,0))) 0 0)}
.policy-domain-3 .policy-action-caption{bottom:-4%}
.policy-integrate-row{position:absolute;left:0;width:51%;text-align:left;padding:12px 8px;border-bottom:2px solid #bcb0d4;z-index:1;background:#fafaff}.policy-integrate-row strong{text-align:left;font-size:17px}.policy-integrate-row>span{display:block;font-size:14px;line-height:1.2;margin-top:7px;color:#675875}.integrate-sgcs{top:12%;transform:translate(calc(22px*var(--action-first,0)),calc(20px*var(--action-first,0)))}.integrate-system{bottom:12%;transform:translate(calc(22px*var(--action-second,0)),calc(-20px*var(--action-second,0)))}
.policy-integrate-common{position:absolute;right:0;width:36%;top:24%;opacity:calc(.3 + .7*var(--action-second,0))}.policy-integrate-axis{position:absolute;left:40%;right:15%;top:50%;border-top:2px solid #b087a7;transform-origin:left;transform:scaleX(var(--action-second,0));z-index:-1}
.portrait .policy-domain-frame{grid-template-columns:1fr;grid-template-rows:56% minmax(0,1fr);gap:13px}
.portrait .policy-action-stage{display:block;min-height:145px;max-height:235px;width:100%;padding:0}
.portrait .policy-action-stage strong{font-size:12px}.portrait .policy-action-stage .policy-symbol{max-width:100px;margin:auto}
.portrait .policy-report-origin,.portrait .policy-report-record,.portrait .policy-report-receiver{width:25%;top:1%}
.portrait .policy-report-place{max-width:100px;margin:auto}
.portrait .policy-signal-token{font-size:10px;max-width:100px;padding:5px 6px;gap:4px}.portrait .policy-signal-token>b{width:14px;height:14px;font-size:10px}
.portrait .policy-action-caption{font-size:11px;bottom:-2%;min-height:2.5em}.portrait .policy-obligation{font-size:12px;top:0;padding:5px 0}.portrait .policy-review-target{top:31%;width:40%;left:30%}.portrait .policy-review-loop{top:30%;left:30%;width:40%}.portrait .policy-review-loop>i{font-size:20px}
.portrait .policy-information-core{width:35%;left:32.5%;top:0}.portrait .policy-technology-support{font-size:12px;padding-top:7px;top:74%}.portrait .policy-information-boundary{left:25%;right:25%;bottom:23%;top:-1%}.portrait .policy-domain-3 .policy-action-caption{bottom:-10%}
.portrait .policy-integrate-row{padding:8px 4px;width:50%}.portrait .policy-integrate-row strong{font-size:12px}.portrait .policy-integrate-row>span{font-size:11px;margin-top:4px}.portrait .integrate-sgcs{top:3%}.portrait .integrate-system{bottom:4%}.portrait .policy-integrate-common{width:32%;top:21%}

/* The navigation has its own foreground; scene motion cannot cross its labels. */
.policy-domain-nav{position:relative;z-index:3;background:#fff}
.policy-review-loop{width:40%;left:30%;top:30%;max-height:62%}
.policy-integrate-common{top:15%}
.policy-integrate-common>strong{margin-top:-7px}
/* Information, its label and its technological support share measured rows. */
.policy-action-stage.policy-domain-3{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;padding:6px 12% 5px}
.policy-domain-3 .policy-information-core{position:relative;left:auto;top:auto;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;transform:none}
.policy-domain-3 .policy-information-core>.policy-symbol{height:calc(100% - 24px);width:auto;max-height:180px;max-width:100%;aspect-ratio:1;flex:0 1 auto}
.policy-domain-3 .policy-information-core>strong{margin:0}
.policy-domain-3 .policy-technology-support{position:relative;left:auto;right:auto;top:auto;padding:10px 4px 0;transform:none;width:100%;border-top-width:3px}
.policy-domain-3 .policy-information-boundary{left:25%;right:25%;top:0;bottom:30%;border-color:#ddd6e9;pointer-events:none}
.policy-domain-3 .policy-action-caption{position:static;margin:0;min-height:0;font-size:14px}
.portrait .policy-review-loop{width:30%;left:35%;top:30%;max-height:62%}
.portrait .policy-integrate-common{top:12%}
.portrait .policy-integrate-common>strong{margin-top:-5px}
.portrait .policy-action-stage.policy-domain-3{grid-template-rows:minmax(0,1fr) auto auto;gap:7px;padding:0 18% 0}
.portrait .policy-domain-3 .policy-information-core{width:100%;left:auto;top:auto}
.portrait .policy-domain-3 .policy-information-core>.policy-symbol{max-height:105px;max-width:100%;margin:0}
.portrait .policy-domain-3 .policy-technology-support{top:auto;font-size:11px;padding-top:7px}
.portrait .policy-domain-3 .policy-action-caption{font-size:10px;bottom:auto}
.policy-domain-2{container-type:size}
.policy-review-target{top:29%}
.policy-review-target .policy-symbol{width:60%}
.policy-review-loop{width:46cqh;left:50%;top:29%;translate:-50% 0;max-height:none}
.portrait .policy-review-loop{width:46cqh;left:50%;top:29%;max-height:none}
.portrait .policy-review-target{top:29%}
.portrait .policy-review-target .policy-symbol{max-width:80px}
