/* Keep each illustration, label and explanation together. Extra space belongs
   around the complete group, never in an elastic row inside it. */
.impact-role-door{grid-template-columns:minmax(0,1fr);grid-template-rows:22px 175px 88px;align-content:center;row-gap:8px;padding:24px 14px}
.impact-role-door>.impact-art{width:calc(100% + 26px);max-width:285px;transform:scale(var(--impact-scale,1))}
.impact-role-door>.impact-double-art{width:calc(100% + 26px);max-width:285px;align-self:end;margin-bottom:10px}
.impact-role-copy{grid-row:3;align-self:start;width:100%}
.impact-role-copy h2{display:block;min-height:0;height:auto;line-height:1.13;margin:0 0 7px}
.impact-role-copy p{margin:0;line-height:1.3}
.impact-role-door>h2{height:auto;min-height:0;line-height:1.15;align-self:start;margin:0}
.impact-role-door>p{align-self:start;margin:0;line-height:1.3}
.impact-role-door>.impact-number{margin-bottom:5px}
/* Crop transparent cell padding, preserving the raster's original proportions.
   Middle/bottom rows are 384 x 341.333; this window shows y40..300. */
:is(.impact-role-door,.impact-cycle-hub,.impact-function-hero,.impact-direction-hero,.impact-process-hero) .impact-art{
 aspect-ratio:384/260;height:auto;max-height:none;flex:none;
 background-size:400% 393.8461538%;
}
:is(.impact-role-door,.impact-cycle-hub,.impact-function-hero,.impact-direction-hero,.impact-process-hero) :is(.impact-art-4,.impact-art-5,.impact-art-6,.impact-art-7){background-position-y:49.91274%}
:is(.impact-role-door,.impact-cycle-hub,.impact-function-hero,.impact-direction-hero,.impact-process-hero) :is(.impact-art-8,.impact-art-9,.impact-art-10,.impact-art-11){background-position-y:94.58988%}
.impact-cycle-hub{top:0;height:100%;gap:5px;padding:30px 0}
.impact-cycle-hub .impact-art{max-width:290px;margin-bottom:-18px}
.impact-cycle-hub h3{line-height:1.14}
/* Each management action combines its verb and a concrete visual reference. */
.impact-cycle-step{width:35%;display:grid;grid-template-columns:minmax(0,1fr) 31%;align-items:center;gap:9px;padding:16px 16px 21px}
.impact-cycle-step>.impact-art{width:100%;height:auto;aspect-ratio:9/8;max-height:none}
.impact-cycle-step h3{font-size:25px}.impact-cycle-step p{font-size:17px;line-height:1.25;margin-top:7px}
.impact-cycle-hub{left:36%;width:28%;padding:50px 0}
.impact-cycle-hub>.impact-art{width:100%;max-width:240px}
.impact-cycle-hub h3{font-size:23px}
.impact-cycle-arrow{font-size:42px;font-weight:700;color:#a76b89}
.impact-cycle-arrow.ca-0,.impact-cycle-arrow.ca-2{left:38%;width:24%;text-align:center;font-size:0;height:20px;letter-spacing:0}
.impact-cycle-arrow.ca-0{top:14%}.impact-cycle-arrow.ca-2{bottom:14%;transform:rotate(180deg)}
.impact-cycle-arrow.ca-0::before,.impact-cycle-arrow.ca-2::before{content:"";position:absolute;left:0;right:2px;top:9px;height:3px;background:currentColor}
.impact-cycle-arrow.ca-0::after,.impact-cycle-arrow.ca-2::after{content:"";position:absolute;right:2px;top:4px;width:11px;height:11px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg)}
.impact-cycle-arrow.ca-1{right:16%;top:44%}.impact-cycle-arrow.ca-3{left:16%;top:44%}
.impact-direction-hero,.impact-process-hero{gap:7px}
.impact-function-split{grid-template-rows:minmax(0,1fr) auto}
.impact-function-split>section{display:grid;grid-template-rows:subgrid;grid-row:1/3;gap:20px;padding:12px 20px 22px}
.impact-function-split>section:first-child{grid-column:1}
.impact-function-split>section:last-child{grid-column:3}
.impact-function-divider{grid-column:2;grid-row:1/3}
.impact-function-hero{gap:7px;flex:none}
.impact-function-hero .impact-art{width:250px;max-width:90%;height:auto;max-height:none;margin-bottom:-18px}
.impact-function-hero h3{line-height:1.15;margin:0}
.impact-function-hero>span:not(.impact-art){line-height:1.2}
.impact-function-details{flex:none;line-height:1.4}
.impact-function-details p{margin:0 0 12px}
.impact-function-details>p:last-child,.impact-function-details>div:last-child>p:last-child{margin-bottom:0}
.impact-relay .impact-role{gap:8px}
.impact-relay .impact-role h3{margin:0}
.impact-relay .impact-role p{min-height:0}
.course-shell.portrait .impact-role-door{grid-template-rows:14px 93px 57px;align-content:center;gap:5px;padding:9px 7px 16px}
.course-shell.portrait .impact-role-door>.impact-art{width:140px;max-width:100%}
.course-shell.portrait .impact-role-door>.impact-double-art{max-width:165px}
.course-shell.portrait .impact-role-door>h2{height:auto;min-height:0;font-size:15px;line-height:1.13}
.course-shell.portrait .impact-role-door>p{font-size:11px}
.course-shell.portrait .impact-role-copy h2{font-size:15px;min-height:0;line-height:1.13;margin-bottom:5px}
.course-shell.portrait .impact-role-copy p{font-size:11px}
.course-shell.portrait .impact-cycle-hub{left:32%;width:36%;padding:45px 0;gap:5px}
.course-shell.portrait .impact-cycle-hub h3{font-size:15px}
.course-shell.portrait .impact-cycle-arrow.ca-0,.course-shell.portrait .impact-cycle-arrow.ca-2{left:42%;width:16%}
.course-shell.portrait .impact-function-split>section{display:grid;grid-template-rows:subgrid;gap:17px;padding:10px 5px 16px}
.course-shell.portrait .impact-function-hero{gap:6px}
.course-shell.portrait .impact-function-hero .impact-art{width:155px;max-width:95%;height:auto;max-height:none}
.course-shell.portrait .impact-function-hero h3{font-size:18px}
.course-shell.portrait .impact-function-details{font-size:12px;line-height:1.4}

/* 7.1–7.4: an atlas cell is larger than the visible drawing. These windows
   remove empty alpha below the illustration without scaling either axis
   independently. Approved 7.5 cards and the coordination layer stay intact. */
:is(.impact-intro-side,.impact-origin,.impact-two-dimensions>.impact-open)>.impact-art{
  aspect-ratio:384/240;height:auto;max-height:none;flex:none;
  background-size:400% 426.666667%;background-position-y:7.142857%;
}
.impact-intro-side{gap:10px}
.impact-origin{gap:6px}
.impact-origin strong{line-height:1.15}
.impact-origin small{line-height:1.25}
.impact-origin>.impact-art{width:100%;margin-bottom:0}
.impact-two-dimensions>.impact-open{gap:10px}
.impact-two-dimensions .impact-eyebrow{margin:0 0 6px}
.impact-two-dimensions p:not(.impact-eyebrow){margin-top:6px}
.impact-relay .impact-role>.impact-art{
  height:auto;max-height:none;flex:none;max-width:240px;
  aspect-ratio:384/228;background-size:400% 449.122807%;
  background-position-y:49.413735%;
}
.impact-relay .impact-role>:is(.impact-art-8,.impact-art-10){
  aspect-ratio:384/239;background-size:400% 428.451883%;
  background-position-y:90.021231%;
}
.impact-relay .impact-role{gap:7px}
.impact-relay .impact-role p{line-height:1.25}

/* The workbench's growing artwork row previously separated its caption on
   tall stages. Center the complete idea; leave the transfer route intact. */
.course-shell:not(.portrait) .impact-action-frame:not(.impact-action-support){
  grid-template-rows:auto auto;align-content:center;gap:12px;
}
.course-shell:not(.portrait) .impact-action-frame:not(.impact-action-support) .impact-action-object{
  height:auto;
}
.course-shell:not(.portrait) .impact-action-object>.impact-art{
  height:auto;max-height:none;aspect-ratio:384/260;
  background-size:400% 393.846154%;background-position-y:49.91274%;
}
.course-shell:not(.portrait) .impact-action-object>.impact-art-8{
  background-position-y:94.58988%;
}
.impact-support-route>div:not(.impact-support-path){gap:7px}
.impact-support-route>div:not(.impact-support-path)>.impact-art{
  aspect-ratio:384/239;height:auto;max-height:none;
  background-size:400% 428.451883%;background-position-y:90.021231%;
}

/* 7.6 closing panel: fill its existing right-hand column, rather than 40%
   of that column. The crop keeps the whole visible team and its floor. */
.course-shell:not(.portrait) #impactos-complete>.intro-end-art{
  width:100%;height:auto;max-height:none;max-width:580px;justify-self:center;
  aspect-ratio:384/239;background-size:400% 428.451883%;
  background-position-y:90.021231%;
}
.course-shell.portrait .impact-intro-side{gap:7px}
.course-shell.portrait .impact-origin{gap:4px}
.course-shell.portrait .impact-two-dimensions>.impact-open{gap:8px}
.course-shell.portrait .impact-relay .impact-role{gap:6px}
.course-shell.portrait #impactos-complete>.intro-end-art{
  width:115px;height:auto;aspect-ratio:384/239;
  background-size:400% 428.451883%;background-position-y:90.021231%;
}
