/* Focused corrections from the V6 browser and interaction review. */
/* Long words and enlarged text remain content, not clipped decoration. */
.reading-hero h1,.page-insights .insights-index-hero h1,.stage-title,.stage-title span,.stage-tab strong,
.directory-links a,.directory-links a span,.company-grid .eyebrow{
  overflow-wrap:anywhere;word-break:normal;min-width:0;
}
.stage-title{white-space:normal}
.header{height:auto;min-height:86px}
.header .brand{min-width:0;flex-shrink:1;flex-wrap:wrap;row-gap:0}
.header .brand span{min-width:0;overflow-wrap:anywhere}
.js .header nav.open{top:100%;max-height:calc(100dvh - var(--site-header-height,86px))}
.stage-choice-layout,.stage-choices,.stage-tab,.stage-panel,.aim-intro,.step-rail,
.process-line,.process-line li,.people-credit,.company-grid,.directory-links{min-width:0}
.directory-links>a{min-width:0}
.directory-links>a>i{flex-shrink:0}
.company-question summary,.step-rail button{overflow-wrap:anywhere}
:target{scroll-margin-top:calc(var(--site-header-height,86px) + 25px)}
@media(max-width:1100px){.header{min-height:78px}.header .brand{max-width:calc(100% - 90px)}.menu{flex-shrink:0}}
@media(max-width:720px){
 .aim-intro,.people-credit,.company-grid,.directory-links,.stage-choice-layout{grid-template-columns:minmax(0,1fr)}
 .step-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
 .step-rail button{min-width:0;flex-wrap:wrap}
 .process-line li{grid-template-columns:40px minmax(0,1fr)}
 .stage-tab{grid-template-columns:72px minmax(0,1fr) 20px}
 .boundary{grid-template-columns:minmax(0,1fr)}
}

html:not(.site-ready) .mode-picker,html:not(.site-ready) .choice-controls,html:not(.site-ready) .system-map,html:not(.site-ready) .decision-options,html:not(.system-ready) .step-rail,html:not(.system-ready) [data-intent]{display:none}
html:not(.site-ready) .system-grid,html:not(.system-ready) .learning-track{display:block}
/* Natural flow also protects text enlargement inside graphical controls. */
@media(max-width:720px){
 .stage-tab{display:flex;flex-wrap:wrap;gap:12px}
 .stage-tab>.eyebrow{flex:0 1 72px;min-width:0;overflow-wrap:anywhere}
 .stage-tab>strong{flex:1 1 5ch;min-width:0}
 .stage-tab>i{flex:0 0 auto;margin-left:auto}
 .system-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto;align-items:stretch}
 .system-map .system-node{position:relative;inset:auto;width:auto;min-width:0;border-radius:30px;overflow-wrap:anywhere}
 .system-map .n0{grid-column:1/-1;justify-self:center;width:65%}
 .system-map .n1{grid-column:1;grid-row:2}.system-map .n2{grid-column:2;grid-row:2}
 .system-map .n3{grid-column:1;grid-row:4}.system-map .n4{grid-column:2;grid-row:4}
 .system-map .map-center{position:relative;inset:auto;grid-column:1/-1;grid-row:3;padding:20px 0;overflow-wrap:anywhere}
 .system-map .map-lines{display:none}
}
/* Hiding the skip link must follow its own enlarged height. */
.skip{top:0;transform:translateY(-150%)}
.skip:focus{top:10px;transform:none}
@media(max-width:720px){.stage-tab>.eyebrow{white-space:normal}}
.skip{clip-path:inset(100%);pointer-events:none}
.skip:focus{clip-path:none;pointer-events:auto}
/* A stable backing protects text contrast independently of photo crop or text size. */
.person-heading h1,.person-heading>p:last-child{background:rgba(23,23,22,.82);width:fit-content;padding:.1em .16em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
