/* Revision 4: original visual system, with readable and resilient sizing. */
:root{--muted:#555f53;font-size:100%}
body{font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
h1,h2,h3,h4{line-height:1.15}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #8a4008;outline-offset:4px}
.site-header{height:auto;min-height:5.5rem;padding-block:1rem;flex-wrap:wrap}
.wordmark{font-size:1.75rem;min-height:44px;flex-shrink:0}
.desktop-nav{font-size:.875rem;flex-wrap:wrap}
.desktop-nav a{display:flex;align-items:center;min-width:44px;min-height:44px}
.nav-cta{font-size:.875rem;min-height:44px}
.nav-cta span{flex:none}
.hero-topline,.hero-topline>a,.hero-note{font-size:.875rem;line-height:1.6}
.hero-topline{flex-wrap:wrap}
.hero-topline>a{min-height:44px}
.hero h1{font-size:clamp(2.375rem,6.08vw,5.75rem);white-space:normal;line-height:1.12}
.headline-mark{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:var(--orange);padding:0 .05em}
.headline-mark:before{display:none}
.hero-bottomline>p{font-size:1.125rem;line-height:1.65;max-width:40rem}
.hero-note{flex-shrink:0}
.explorer-top{flex-wrap:wrap;gap:1rem}
.workspace-name{min-width:0}
.workspace-name h2{font-size:1rem;line-height:1.4}
.workspace-name p,.canvas-hint,.reset-button{font-size:.875rem;line-height:1.6}
.reset-button{min-height:44px;padding:.5rem;flex-shrink:0}
.scenario-bar{flex-wrap:wrap;gap:.5rem;padding:.75rem 1.25rem}
.scenario-bar button{font-size:.875rem;min-height:44px;line-height:1.5;padding:.625rem .875rem;flex:1 1 12rem;justify-content:center}
.explorer-body{grid-template-columns:minmax(0,1fr) minmax(18rem,28%);min-height:0}
.map-caption,.map-caption>span:last-child,.map-bottom,.map-bottom>span{font-size:.875rem;color:#52604a;line-height:1.6}
.map-caption,.map-bottom{flex-wrap:wrap;gap:.75rem}
.graph-stage{height:auto;min-height:0;flex:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'vision design evidence' 'brain checkout decision';gap:3rem 1.75rem;margin:1.5rem 1.5rem 3.25rem;padding:.5rem 0}
.map-node,.map-node.is-selected{position:relative;left:auto;top:auto;width:auto;min-width:0;min-height:10rem;padding:.875rem;align-self:center;z-index:1;border-width:2px}
.map-node:not(.is-selected){border-color:#abb89d}
.map-node strong{font-size:1rem;line-height:1.45}
.node-kicker,.map-node .node-bottom,.map-node .node-bottom>span{font-size:.875rem;line-height:1.5;color:#52604a}
.node-bottom{gap:.375rem;margin-top:auto;padding-top:.625rem}
.node-kicker{margin-bottom:.5rem}
.node-vision{grid-area:vision}.node-design{grid-area:design}.node-evidence{grid-area:evidence}
.node-brain{grid-area:brain}.node-checkout{grid-area:checkout}.node-decision{grid-area:decision}
.node-brain img{position:static;display:block;width:1.75rem;height:auto;margin-bottom:.5rem}
.mini-design{height:3.5rem;margin-bottom:.5rem}.mini-design i{height:3.25rem}
.mini-checkout{padding:.5rem;margin-bottom:.5rem}.mini-checkout>span{font-size:.875rem}.mini-checkout em{font-size:.75rem}
.map-annotation{top:auto;bottom:-2.75rem;left:10%;font-size:.875rem}
.map-bottom{margin-top:auto}
.inspector{min-width:0;padding:1.5rem;display:block}
.inspector-label{font-size:.875rem;line-height:1.5;color:#52604a}
.inspector h3{font-size:1.75rem;line-height:1.2;max-width:none}
.inspector>p,.scenario-description{font-size:1rem;line-height:1.65}
.demo-status{font-size:1rem;line-height:1.6;color:#415538}
.action-button{font-size:1rem;min-height:44px;line-height:1.5;height:auto;padding:.75rem;white-space:normal}
.choice-options button{font-size:.875rem;min-height:44px;line-height:1.5;padding:.625rem}
.role-options button{flex:1 1 5rem}
.activity{margin-top:1.5rem;border-left:0;padding-left:0}
.activity h4,.activity ol{font-size:.875rem;line-height:1.6;color:#52604a}
.activity li{padding:.625rem 0}
.evidence-detail summary{font-size:.875rem;min-height:44px;padding:.625rem 0;line-height:1.5}
.evidence-detail pre{font-size:.875rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.explorer-footer{font-size:.875rem;line-height:1.6;gap:1rem;flex-wrap:wrap}
.explorer-footer ol{font-size:.875rem;flex-wrap:wrap;gap:.75rem 1.5rem}
.explorer-footer>span{font-size:.875rem;max-width:none}
.explorer-footer li:not(:last-child):after{right:-.9rem}
.no-script{font-size:1rem}
.ownership-title h2{font-size:clamp(2.375rem,4vw,3.5rem)}
.ownership-title p,.ownership-questions summary,.ownership-questions p{font-size:1rem;line-height:1.65}
.ownership-questions summary{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:44px}
.ownership-questions p{color:#555f53;padding-right:0}
.ownership-questions summary span{font-size:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;transform:none!important;flex:none}
.ownership-questions summary span::before{content:'+';font-size:1.5rem}
.ownership-questions details[open] summary span::before{content:'−'}
.footer-top h2{font-size:clamp(2.375rem,4vw,3.5rem)}
.footer-cta{font-size:1.375rem;min-height:44px;white-space:normal}
.footer-top p,.footer-links,.footer-links>span{font-size:.875rem;line-height:1.65;color:#473e26}
.footer-links nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
.footer-links nav a{display:flex;align-items:center;min-height:44px;min-width:44px}
.footer-wordmark{margin-bottom:0;font-size:clamp(3rem,20vw,20rem);line-height:1.1;padding-bottom:1rem}
.no-script-nav{display:none}body:not(.has-menu-js) .menu-toggle{display:none}
@media(max-width:1200px){.explorer-body{display:block}.map-caption{padding:1.25rem}.graph-stage{margin-inline:2rem;gap:3rem 2.5rem}.inspector{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:2rem}.inspector-label,.inspector h3,.inspector>p,.demo-status,.action-button,.choice-options,.evidence-detail{grid-column:1}.activity{grid-column:2;grid-row:1/12;margin-top:0;border-left:1px solid var(--line);padding-left:1.5rem}.hero-note{display:none}.footer-links{grid-template-columns:1fr 1.6fr}.footer-links>span{grid-column:1/-1;justify-self:start}}
@media(max-width:780px){.site-header{min-height:4.75rem;padding-block:.75rem}.menu-toggle{min-width:44px;min-height:44px;font-size:.875rem;padding:.5rem}#mobile-nav{top:calc(100% - .25rem)}#mobile-nav a{font-size:1rem;min-height:44px}.hero-topline,.hero-topline>a{font-size:.875rem}.hero-bottomline>p{font-size:1rem}.explorer-top{padding:1rem}.map-caption>span:last-child{font-size:.875rem}.graph-stage{gap:2rem 1.5rem;margin-inline:1.25rem}.map-node,.map-node.is-selected{padding:.75rem}.ownership-section{display:block}.ownership-questions{margin-top:2rem}.footer-top{display:block}.footer-top>div{display:block;justify-self:start;margin-top:1.5rem}.footer-top p{margin-top:1rem}.footer-links{grid-template-columns:1fr;gap:1.5rem}.no-script-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:0 1.25rem 1rem;font-size:1rem}.no-script-nav a{display:flex;min-height:44px;align-items:center}}
@media(max-width:600px){.graph-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'vision design' 'brain checkout' 'evidence decision';gap:2rem 1.25rem}.inspector{display:block}.activity{margin-top:1.5rem;padding-left:0;border-left:0}.hero h1{font-size:clamp(2.375rem,8.5vw,3rem)}.hero-topline>a{display:none}.workspace-symbol{display:none}.scenario-bar{padding:.75rem}.scenario-bar button{flex-basis:100%;justify-content:flex-start}.explorer-footer ol{justify-content:flex-start}.map-caption>span:last-child{display:none}.map-bottom>span:last-child{display:none}}
@media(max-width:380px){.graph-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:'vision' 'design' 'brain' 'checkout' 'evidence' 'decision';gap:1.75rem;margin-inline:1.5rem}.map-node,.map-node.is-selected{min-height:0;padding:1rem;transform:none}.node-bottom{margin-top:.75rem}.mini-design{max-width:10rem}.mini-checkout{max-width:10rem}.map-annotation{display:none}.explorer{margin-inline:.75rem}.workspace-name{width:100%}.reset-button{margin-left:auto}.ownership-title img{position:static;transform:rotate(-8deg)}.hero-topline>span{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Intrinsic columns preserve readable cards when the root text size grows. */
.explorer-body{display:flex;flex-wrap:wrap}.map-area{flex:3 1 40rem}.inspector{flex:1 1 18rem}
.graph-stage{--map-gap:1.75rem;grid-template-areas:none;column-gap:var(--map-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,max(11rem,calc((100% - var(--map-gap) - var(--map-gap))/3))),1fr))}
.graph-stage .map-node{grid-area:auto}
.inspector-primary{min-width:0}
.map-bottom b{color:#52604a}.explorer-footer ol{color:#52604a}
@media(max-width:1200px){.explorer-body{display:block}.inspector{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.5rem}.activity{grid-column:auto;grid-row:auto;margin:0;padding:0;border:0}.graph-stage{--map-gap:2.5rem}}
@media(max-width:780px){.graph-stage{--map-gap:1.5rem}}
@media(max-width:600px){.graph-stage{--map-gap:1.25rem}.inspector{display:block}.activity{margin-top:1.5rem}}
@media(max-width:380px){.graph-stage{grid-template-columns:1fr}}

/* Keep progress separators within their own items when rows wrap. */
.explorer-footer li:not(:last-child):after,.crew-timeline li:not(:last-child):after{position:static;display:inline-block;margin-left:.75rem;transform:none}
@media(max-width:600px){.graph-stage .map-node{transform:none}}

.graph-stage{padding-inline:.75rem}
.footer-wordmark{overflow:hidden;max-width:100%}
@media(max-width:780px){.map-annotation{display:none}}
