/* Approach: scoped to the existing PALLC shell, with no layout animation. */
.portfolio-page [hidden]{display:none!important}
.portfolio-page h1{max-width:18ch;font-size:clamp(42px,5.3vw,82px)}
.portfolio-page h2{font-size:clamp(29px,3.2vw,48px);max-width:24ch}
.portfolio-page h3{font-family:var(--display);font-size:clamp(26px,2.6vw,36px);line-height:1.2}
.portfolio-page h4,.portfolio-page dt{font:400 11px/1.6 var(--mono);letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}
.portfolio-page p{color:var(--muted)}
.portfolio-page .eyebrow{color:var(--accent);font-size:11px}
.portfolio-page .portfolio-intro{padding-block:60px 0}
.portfolio-page .lede{max-width:64ch;font-size:clamp(19px,1.65vw,24px);color:var(--ink)}
.portfolio-page .portfolio-purpose{max-width:78ch;font-size:16px;margin-bottom:32px}
.portfolio-purpose strong{font-weight:400;color:var(--ink);white-space:nowrap}
.portfolio-page-nav{display:flex;flex-wrap:wrap;gap:12px 35px;border-top:1px solid var(--line);padding:13px 0}
.portfolio-page-nav a{display:flex;align-items:center;gap:30px;min-height:44px;font-size:13px}
.portfolio-page-nav a:hover{color:var(--accent)}
.portfolio-page .section{padding-block:65px}
.portfolio-workspace-grid{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.7fr);gap:clamp(36px,6vw,100px)}
.portfolio-page .portfolio-path-selector h2{font-size:clamp(25px,2.3vw,34px);margin-bottom:30px}
.portfolio-areas{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.portfolio-areas a{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:14px;min-height:72px;padding:14px 14px 14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.5}
.portfolio-areas a span{color:var(--accent);font:11px var(--mono)}
.portfolio-areas a[aria-current=true],.portfolio-areas a:hover{color:var(--ink);background:linear-gradient(90deg,transparent,var(--panel))}
.portfolio-areas a[aria-current=true]{box-shadow:inset -2px 0 var(--accent)}
.portfolio-capability{margin-bottom:55px;scroll-margin-top:130px}
.portfolio-enhanced .portfolio-capability{margin-bottom:0}
.portfolio-capability h2{margin-bottom:22px}
.portfolio-page .portfolio-benefit{color:var(--ink);font-size:19px;line-height:1.6;max-width:60ch;margin-bottom:30px}
.portfolio-delivery{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin:0}
.portfolio-delivery>div{border-top:1px solid var(--line);padding-top:16px}
.portfolio-delivery dd{margin:10px 0 0;font-size:15px;line-height:1.75;color:var(--muted)}
.portfolio-delivery .portfolio-outputs{grid-column:1/-1}
.portfolio-sources{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:24px}
.portfolio-sources .arrow-link{min-height:44px;font-size:13px;gap:16px}
.trace-journey-link{display:inline-flex;align-items:center;gap:18px;margin-top:20px;min-height:44px;font-size:14px;color:var(--accent)}
.portfolio-browser{background:linear-gradient(180deg,#10161a,var(--bg) 650px);scroll-margin-top:95px}
.trace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.trace-heading h2{margin-bottom:15px}
.trace-heading>p{font:11px/1.9 var(--mono);text-align:right;flex-shrink:0}
.trace-heading>p span{display:block}
.portfolio-page .portfolio-description{max-width:73ch;font-size:16px;margin-bottom:30px}
.trace-workspace{border:1px solid var(--line);background:var(--bg);padding:24px;scroll-margin-top:120px}
.trace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.portfolio-page .trace-toolbar p{color:var(--ink);font-size:14px;margin:0}
.trace-permalink{font:11px/1.5 var(--mono);color:var(--muted);display:inline-flex;align-items:center;gap:12px;min-height:44px;flex-shrink:0}
.trace-route{list-style:none;padding:6px;margin:0 -6px;display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--line) var(--bg);gap:8px}
.trace-route li{flex:1 0 125px;max-width:245px;min-width:0;display:flex;flex-direction:column;position:relative}
.trace-step{display:flex;flex-direction:column;gap:16px;width:100%;min-height:124px;text-align:left;border:1px solid var(--line);padding:17px 14px;background:none;font-size:15px;line-height:1.4}
.trace-step-type{font:10px/1.5 var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.025em}
.trace-step:hover{border-color:var(--accent)}
.trace-step[aria-pressed=true]{border-color:var(--accent);background:#ffab680a;box-shadow:inset 0 2px var(--accent)}
.trace-step[aria-pressed=true] .trace-step-type{color:var(--accent)}
.trace-step-relation{display:flex;justify-content:space-between;align-items:start;gap:8px;font-size:11px;line-height:1.5;color:var(--muted);padding:12px 3px 10px;min-height:60px}
.trace-arrow{color:var(--accent);font-size:20px;line-height:1;flex-shrink:0}
.portfolio-page summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:14px;list-style-position:inside;color:var(--ink)}
.trace-custom{border-top:1px solid var(--line);margin-top:10px}
.trace-custom form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;padding:10px 0}
.trace-custom>p{font-size:12px;margin:6px 0}
.portfolio-page label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted);min-width:0}
.portfolio-page input,.portfolio-page select{width:100%;min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:0;padding:12px;min-height:48px;font-size:14px}
.portfolio-page .trace-notice{border-left:2px solid var(--accent);padding:4px 0 4px 18px;font-size:15px;max-width:80ch;margin:18px 0}
.trace-reverse:not([hidden]){display:inline-block;margin:0 0 12px;font-size:14px;text-underline-offset:4px}
.portfolio-directory{margin-top:28px;margin-bottom:30px;border-block:1px solid var(--line)}
.portfolio-directory>summary{display:list-item;font-size:15px;padding-block:17px}
.portfolio-directory>summary span{font:11px var(--mono);color:var(--muted);float:right;margin-top:8px}
.portfolio-searchbar{display:grid;grid-template-columns:1.5fr 1fr auto;gap:20px;align-items:end;padding:10px 0 18px}
.portfolio-concept-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:340px;overflow:auto;border-top:1px solid var(--line);padding:6px;gap:4px;scrollbar-color:var(--line) var(--bg)}
.portfolio-concept-list button{display:block;width:100%;min-height:72px;padding:14px;border:0;background:none;text-align:left;font-size:14px;line-height:1.5}
.portfolio-concept-list button span{display:block;color:var(--muted);font:10px/1.5 var(--mono);margin-top:5px}
.portfolio-concept-list button:hover,.portfolio-concept-list button[aria-pressed=true]{background:var(--panel);box-shadow:inset 2px 0 var(--accent)}
.portfolio-directory>p{padding:20px 0}
.portfolio-concept{scroll-margin-top:125px;margin:35px 0 55px;outline-offset:8px}
.portfolio-enhanced .portfolio-concept{margin-bottom:0}
.trace-concept-heading{max-width:820px;margin-bottom:28px}
.trace-concept-heading .eyebrow{margin-bottom:12px}
.trace-concept-heading h3{margin-bottom:18px}
.trace-concept-heading>p{font-size:16px;line-height:1.75}
.trace-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px)}
.trace-neighbors h4{margin-bottom:16px}
.trace-neighbors h4 span{color:var(--accent);margin-left:8px}
.portfolio-relationships{list-style:none;padding:0;margin:0}
.portfolio-relationships li{border-top:1px solid var(--line);padding:17px 0}
.portfolio-page .trace-predicate{font-size:12px;margin-bottom:0;color:var(--muted)}
.portfolio-relationships>li>a{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:44px;font-size:17px;line-height:1.4;padding:6px 0}
.portfolio-relationships>li>a:hover{color:var(--accent)}
.portfolio-relationships>li>a>span{color:var(--accent)}
.portfolio-relationships details summary{font-size:12px;color:var(--muted)}
.portfolio-relationships details>p{font-size:14px;line-height:1.7;margin:12px 0}
.portfolio-relationships details .trace-triple{font:11px/1.7 var(--mono);color:var(--ink)}
.portfolio-relationships details .trace-basis{font-size:11px;color:var(--accent)}
.trace-references{list-style:none;padding:0;margin:15px 0}
.trace-references li{border:0;padding:0;margin:10px 0}
.trace-reference{font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px 0;display:inline-block}
.trace-references li>span{display:block;font-size:11px;color:var(--muted)}
.trace-concept-sources{margin-top:20px;border-top:1px solid var(--line)}
.portfolio-page .trace-empty{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}
.portfolio-page .portfolio-browser,.portfolio-page .trace-workspace,.portfolio-page .portfolio-concept,.portfolio-page .portfolio-capability{scroll-margin-top:0}
.portfolio-foundation>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,100px)}
.portfolio-foundation-intro h2{font-size:clamp(27px,2.6vw,38px)}
.portfolio-foundation-intro>p{font-size:15px}
.portfolio-doctrine-list{list-style:none;padding:0;margin:0}
.portfolio-doctrine-list>li{padding:20px 0;border-top:1px solid var(--line)}
.portfolio-doctrine-list>li:first-child{padding-top:0;border-top:0}
.portfolio-doctrine-list p{font-size:14px;margin-bottom:0}
.portfolio-doctrine-list .eyebrow{margin-bottom:0;font-size:10px}
.portfolio-doctrine-list .arrow-link{font-size:16px;gap:15px;margin-bottom:10px}
.portfolio-doctrine-list .trace-locator{font:11px/1.6 var(--mono);margin:0 0 10px}
.portfolio-related>.wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:8vw;align-items:center}
.portfolio-related h2{font-size:clamp(29px,2.8vw,42px)}
.portfolio-related p{font-size:15px}
.portfolio-contact{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.portfolio-contact .arrow-link{font-size:16px;min-height:50px}
.portfolio-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-legacy-workflow{display:none}.portfolio-legacy-workflow:target{display:block}
@media(max-width:1050px){.trace-route li{flex-basis:155px}.trace-custom form{grid-template-columns:1fr 1fr}.trace-custom .button{grid-column:1/-1;justify-self:start}}
@media(max-width:850px){
 .portfolio-workspace-grid,.portfolio-foundation>.wrap{grid-template-columns:1fr;gap:38px}
 .portfolio-areas{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
 .portfolio-page .section{padding-block:45px}
 .portfolio-concept-list{grid-template-columns:1fr 1fr}
 .trace-neighbors{gap:30px}
 .portfolio-searchbar{grid-template-columns:1fr 1fr}.portfolio-searchbar>button{grid-column:1/-1;justify-self:start}
}
@media(max-width:560px){
 .portfolio-page .portfolio-intro{padding-top:34px}
 .portfolio-page h1{font-size:clamp(36px,9.8vw,51px)}
 .portfolio-page .lede{font-size:19px}.portfolio-page .portfolio-purpose{font-size:15px}
 .portfolio-page-nav{gap:4px 20px}.portfolio-page-nav a{font-size:12px;gap:12px}
 .portfolio-areas a{font-size:13px;gap:9px;grid-template-columns:19px 1fr;min-height:85px}
 .portfolio-delivery,.trace-neighbors,.portfolio-related>.wrap{grid-template-columns:1fr}
 .portfolio-delivery{gap:22px}.portfolio-page .portfolio-benefit{font-size:18px}
 .trace-heading{display:block}.trace-heading>p{font-size:10px;text-align:left;display:flex;flex-wrap:wrap;gap:6px 20px}
 .trace-workspace{padding:15px}.trace-toolbar{display:block}.trace-toolbar p{font-size:13px}
 .trace-route{padding-bottom:12px}.trace-route li{flex-basis:160px;max-width:160px}
 .trace-step{min-height:130px}.trace-custom form,.portfolio-searchbar{grid-template-columns:1fr}
 .portfolio-concept-list{grid-template-columns:1fr;max-height:280px}
 .trace-custom .button{width:100%}.trace-neighbors{gap:30px}
 .portfolio-page .portfolio-description{font-size:15px}
 .portfolio-related>.wrap{gap:20px}.portfolio-contact{gap:12px}
}
@media(prefers-reduced-motion:reduce){.portfolio-page,.portfolio-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
