/* Content hierarchy and interaction refinements. Shared frame stays in shell.css. */
/* Designs keeps the interactive reference ahead of supporting documentation. */
.multipage.designs-visual .vx-design-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}
.multipage.designs-visual .vx-control-set{display:flex;align-items:center;gap:12px}
.multipage.designs-visual .vx-control-label{font-size:12px;color:var(--muted)}
.multipage.designs-visual .vx-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.multipage.designs-visual .vx-controls svg{width:24px;height:24px}
.multipage.designs-visual .vx-design-nodes svg{width:48px;height:48px;stroke-width:1.5}
.multipage.designs-visual .vx-design-nodes button{min-height:136px;gap:12px}
.multipage.designs-visual .vx-design-nodes strong{font-size:13px}
.multipage.designs-visual #scenario-summary{font-size:12px;line-height:1.5;color:var(--muted);padding:4px 16px 12px;min-height:52px;max-width:none}
.multipage.designs-visual .vx-architecture[data-scenario=failure] #route-description{color:var(--cyan)}
.multipage.designs-visual .vx-design-documentation{display:grid;grid-template-columns:140px minmax(0,1fr) 280px;gap:24px;align-items:center;border-top:1px solid var(--subtle);padding-top:20px;margin-top:24px}
.multipage.designs-visual .vx-design-documentation>.vx-art{width:140px;height:100px}
.multipage.designs-visual .vx-documentation-copy h2{font-size:22px;line-height:1.3;max-width:none}
.multipage.designs-visual .vx-documentation-copy p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:8px;max-width:80ch}
.multipage.designs-visual .vx-documentation-copy .vx-documentation-note{font-size:11px}
.multipage.designs-visual .vx-documentation-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.multipage.designs-visual .vx-documentation-actions .button{font-size:12px;min-height:44px;padding:10px 12px;gap:12px}
.multipage.designs-visual .vx-documentation-actions .text-link{font-size:12px;min-height:44px;justify-content:center;gap:8px}
.multipage.designs-visual .vx-documentation-actions svg{width:24px;height:24px}
@media(min-width:761px){
 .multipage.designs-visual .vx-design-map{--design-map-height:248px;min-height:var(--design-map-height)}
 .multipage.designs-visual .vx-connections{height:var(--design-map-height)}
 .multipage.designs-visual .vx-design-nodes{padding-top:calc(var(--design-map-height)/2 - 68px)}
}
@media(min-width:1280px) and (min-height:720px){
 .multipage.designs-visual{display:flex;flex-direction:column;min-height:100svh}
 .multipage.designs-visual .vx-main{flex:1;display:flex;flex-direction:column;min-height:0;padding-top:12px;padding-bottom:8px}
 .multipage.designs-visual .vx-heading{margin:0}
 .multipage.designs-visual .vx-heading>div{display:flex;align-items:center;justify-content:space-between;gap:32px}
 .multipage.designs-visual .vx-heading h1{font-size:clamp(28px,2.35vw,48px);line-height:1.2;max-width:none;text-wrap:normal}
 .multipage.designs-visual .vx-heading p{font-size:12px;line-height:1.6;margin:0;flex:none}
 .multipage.designs-visual .vx-design-toolbar{margin-top:12px;flex:none}
 .multipage.designs-visual .vx-controls button{font-size:12px;min-height:44px;padding:8px 12px}
 .multipage.designs-visual .vx-design-layout{grid-template-columns:minmax(0,2.7fr) minmax(280px,1fr);gap:24px;margin-top:12px;align-items:center;flex:1 0 auto}
 .multipage.designs-visual .vx-zone-labels{margin:8px 16px 0;font-size:11px;line-height:1.5}
 .multipage.designs-visual .vx-zone-labels span{padding:6px 0}
 .multipage.designs-visual .vx-design-map{--design-map-height:clamp(200px,calc(100svh - 528px),320px);margin-inline:16px}
 .multipage.designs-visual .vx-design-nodes{gap:16px}
 .multipage.designs-visual .vx-design-nodes svg{width:clamp(48px,4vw,60px);height:clamp(48px,4vw,60px)}
 .multipage.designs-visual .vx-design-nodes strong{font-size:clamp(12px,1vw,14px)}
 .multipage.designs-visual .vx-route-status{padding:8px 16px;line-height:1.5;font-size:10px;gap:8px}
 .multipage.designs-visual .vx-route-status span:first-child{font-size:11px}
 .multipage.designs-visual #scenario-summary{padding:4px 16px 8px;min-height:48px}
 .multipage.designs-visual .vx-insight{padding:16px 0 16px 24px}
 .multipage.designs-visual .vx-insight h2{font-size:24px;margin-bottom:12px}
 .multipage.designs-visual .vx-insight p{font-size:13px;line-height:1.6}
 .multipage.designs-visual .vx-reason{margin-top:16px;padding-top:16px}
 .multipage.designs-visual .vx-design-documentation{grid-template-columns:120px minmax(0,1fr) 264px;gap:20px;flex:none;margin-top:12px;padding-top:12px}
 .multipage.designs-visual .vx-design-documentation>.vx-art{width:120px;height:80px}
 .multipage.designs-visual .vx-documentation-copy h2{font-size:20px;line-height:1.2}
 .multipage.designs-visual .vx-documentation-copy p{font-size:12px;line-height:1.5;margin-top:6px}
 .multipage.designs-visual .vx-documentation-copy .vx-documentation-note{font-size:11px}
 .multipage.designs-visual .vx-documentation-actions .button,.multipage.designs-visual .vx-documentation-actions .text-link{font-size:11px}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.designs-visual .vx-main{padding-top:16px}
 .multipage.designs-visual .vx-heading p{font-size:16px}
 .multipage.designs-visual .vx-design-toolbar{margin-top:16px;gap:32px}
 .multipage.designs-visual .vx-controls button{min-height:48px;font-size:14px;padding-inline:16px;gap:10px}
 .multipage.designs-visual .vx-control-label{font-size:14px}
 .multipage.designs-visual .vx-design-layout{gap:36px;margin-top:16px;grid-template-columns:minmax(0,2.7fr) minmax(330px,1fr)}
 .multipage.designs-visual .vx-zone-labels{font-size:14px;margin:12px 20px 0}
 .multipage.designs-visual .vx-design-map{--design-map-height:clamp(220px,calc(100svh - 760px),360px);margin-inline:20px}
 .multipage.designs-visual .vx-design-nodes{padding-top:calc(var(--design-map-height)/2 - 80px);gap:24px}
 .multipage.designs-visual .vx-design-nodes button{min-height:160px}
 .multipage.designs-visual .vx-design-nodes svg{width:64px;height:64px}
 .multipage.designs-visual .vx-design-nodes strong{font-size:16px}
 .multipage.designs-visual .vx-route-status{font-size:12px;padding:10px 20px}
 .multipage.designs-visual .vx-route-status span:first-child{font-size:13px}
 .multipage.designs-visual #scenario-summary{font-size:14px;line-height:1.6;padding:4px 20px 12px;min-height:60px}
 .multipage.designs-visual .vx-insight h2{font-size:30px}
 .multipage.designs-visual .vx-insight p{font-size:16px}
 .multipage.designs-visual .vx-reason h3{font-size:15px}
 .multipage.designs-visual .vx-design-documentation{grid-template-columns:160px minmax(0,1fr) 330px;gap:28px;margin-top:16px;padding-top:16px}
 .multipage.designs-visual .vx-design-documentation>.vx-art{width:160px;height:108px}
 .multipage.designs-visual .vx-documentation-copy h2{font-size:24px}
 .multipage.designs-visual .vx-documentation-copy p{font-size:15px}
 .multipage.designs-visual .vx-documentation-copy .vx-documentation-note{font-size:12px}
 .multipage.designs-visual .vx-documentation-actions .button,.multipage.designs-visual .vx-documentation-actions .text-link{font-size:14px;min-height:48px}
}
@media(max-width:1279px){
 .multipage.designs-visual .vx-design-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:16px 32px}
 .multipage.designs-visual .vx-design-documentation{grid-template-columns:120px minmax(0,1fr);gap:20px}
 .multipage.designs-visual .vx-documentation-actions{grid-column:2;align-items:flex-start}
}
@media(max-width:760px){
 .multipage.designs-visual .vx-design-toolbar{display:flex;flex-direction:column;align-items:stretch;margin-top:24px;gap:20px}
 .multipage.designs-visual .vx-control-set{display:block}
 .multipage.designs-visual .vx-control-label{display:block;margin-bottom:8px}
 .multipage.designs-visual .vx-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .multipage.designs-visual [aria-label="Network scenario"]{grid-template-columns:repeat(2,minmax(0,1fr))}
 .multipage.designs-visual .vx-controls button{font-size:11px;min-height:52px;padding:8px 6px;gap:6px;line-height:1.5}
 .multipage.designs-visual .vx-controls svg{width:20px;height:20px}
 .multipage.designs-visual .vx-design-layout{margin-top:24px}
 .multipage.designs-visual .vx-design-map{padding:16px}
 .multipage.designs-visual .vx-design-nodes button{min-height:88px;gap:12px;padding:14px 12px;flex-wrap:wrap}
 .multipage.designs-visual .vx-design-nodes button[aria-pressed=true]{padding:13px 11px}
 .multipage.designs-visual .vx-design-nodes svg{width:44px;height:44px}
 .multipage.designs-visual .vx-design-nodes strong{font-size:13px;max-width:12ch}
 .multipage.designs-visual .vx-design-nodes small{max-width:7ch;font-size:10px}
 .multipage.designs-visual .vx-design-nodes button:not(:last-child)::after{left:34px}
 .multipage.designs-visual .vx-design-documentation{grid-template-columns:1fr;gap:16px;margin-top:24px;padding-top:24px}
 .multipage.designs-visual .vx-design-documentation>.vx-art{width:180px;height:120px;justify-self:center}
 .multipage.designs-visual .vx-documentation-copy h2{font-size:23px}
 .multipage.designs-visual .vx-documentation-copy p{font-size:14px}
 .multipage.designs-visual .vx-documentation-actions{grid-column:1;align-items:stretch;gap:8px}
 .multipage.designs-visual .vx-documentation-actions .button{font-size:12px}
}
@media(max-width:360px){
 .multipage.designs-visual [aria-label="Architecture view"] button{flex-direction:column;min-height:76px}
 .multipage.designs-visual .vx-design-nodes small{flex-basis:100%;margin-left:56px;text-align:left;max-width:none}
}
/* Expertise: one selected domain, an illustration and a readable technology rail. */
.multipage.expertise-visual .vx-domain-tabs svg{width:32px;height:32px;stroke-width:1.5}
.multipage.expertise-visual .vx-domain-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:12px 40px}
.multipage.expertise-visual .vx-domain-copy{grid-column:1;grid-row:1/3}
.multipage.expertise-visual .vx-domain-art{grid-column:2;grid-row:1;align-self:end}
.multipage.expertise-visual #domain-tech{grid-column:2;grid-row:2;align-self:start;min-width:0}
.multipage.expertise-visual .vx-technologies{justify-content:center;align-items:start;gap:12px 8px;margin:12px 0 0}
.multipage.expertise-visual .vx-tech{flex-direction:column;gap:6px;width:64px;white-space:normal;text-align:center;font-size:11px;line-height:1.35}
.multipage.expertise-visual .vx-brand{width:60px;height:60px;padding:6px;border-radius:6px}
.multipage.expertise-visual .vx-brand img{width:48px;height:48px;max-width:100%;max-height:100%;object-fit:contain}
.multipage.expertise-visual .vx-brand.vmware,.multipage.expertise-visual .vx-brand.splunk{padding:0}
.multipage.expertise-visual .vx-brand.vmware img,.multipage.expertise-visual .vx-brand.splunk img{width:60px;height:60px}
.multipage.expertise-visual .vx-term{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;max-width:90px;text-align:center;padding:0;font-size:11px;line-height:1.35}
.multipage.expertise-visual .vx-term .vx-tool-icon svg{width:36px;height:36px;padding:0;color:#17647d}
.multipage.expertise-visual .vx-term::after{display:none}
.multipage.expertise-visual .vx-concepts svg{width:24px;height:24px;flex:none}
@media(min-width:1280px) and (min-height:720px){
 .multipage.expertise-visual{display:flex;flex-direction:column;min-height:100svh}
 .multipage.expertise-visual .vx-main{flex:1;display:flex;flex-direction:column;min-height:0;padding-top:12px;padding-bottom:8px}
 .multipage.expertise-visual .vx-heading{display:flex;align-items:center;margin:0;gap:32px}
 .multipage.expertise-visual .vx-heading>div{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%}
 .multipage.expertise-visual .vx-heading h1{font-size:clamp(28px,2.35vw,48px);line-height:1.2;max-width:none;text-wrap:normal}
 .multipage.expertise-visual .vx-heading p{font-size:12px;line-height:1.6;margin:0;flex:none}
 .multipage.expertise-visual .vx-domain-tabs{margin-top:12px;flex:none}
 .multipage.expertise-visual .vx-domain-tabs button{min-height:64px;padding:8px;gap:10px;font-size:12px}
 .multipage.expertise-visual .vx-domain-stage{flex:1;min-height:0;padding:12px 0;gap:8px 40px;align-content:center;grid-template-rows:auto auto}
 .multipage.expertise-visual .vx-domain-copy{align-self:center}
 .multipage.expertise-visual .vx-domain-copy h2{font-size:30px;line-height:1.2;max-width:25ch}
 .multipage.expertise-visual .vx-domain-copy>p{font-size:14px;line-height:1.6;margin-top:12px;max-width:58ch}
 .multipage.expertise-visual .vx-concepts{margin:16px 0;gap:10px}
 .multipage.expertise-visual .vx-concepts span{font-size:13px;line-height:1.5;gap:12px}
 .multipage.expertise-visual .vx-domain-copy .button{margin-top:0;min-height:44px;padding:10px 16px;font-size:13px;gap:12px}
 .multipage.expertise-visual .vx-domain-art .vx-art{height:clamp(200px,calc(100svh - 510px),500px)}
 .multipage.expertise-visual .vx-domain-art figcaption{font-size:10px;line-height:1.4;margin-top:4px;text-align:center}
 .multipage.expertise-visual .vx-technologies{margin:0}
 .multipage.expertise-visual .vx-journey{padding-top:8px;gap:32px;flex:none}
 .multipage.expertise-visual .vx-journey a{min-height:48px;gap:12px}
 .multipage.expertise-visual .vx-journey strong{font-size:13px}
 .multipage.expertise-visual .vx-journey small{font-size:11px;margin-top:0}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.expertise-visual .vx-main{padding-top:24px;padding-bottom:16px}
 .multipage.expertise-visual .vx-heading p{font-size:16px}
 .multipage.expertise-visual .vx-domain-tabs{margin-top:24px}
 .multipage.expertise-visual .vx-domain-tabs button{min-height:80px;font-size:16px}
 .multipage.expertise-visual .vx-domain-tabs svg{width:36px;height:36px}
 .multipage.expertise-visual .vx-domain-stage{gap:16px 64px;padding:24px 0}
 .multipage.expertise-visual .vx-domain-art .vx-art{height:clamp(280px,calc(100svh - 650px),560px)}
 .multipage.expertise-visual .vx-domain-copy h2{font-size:clamp(36px,2vw,48px)}
 .multipage.expertise-visual .vx-domain-copy>p{font-size:18px}
 .multipage.expertise-visual .vx-concepts{margin:24px 0;gap:16px}
 .multipage.expertise-visual .vx-concepts span{font-size:16px}
 .multipage.expertise-visual .vx-concepts svg{width:28px;height:28px}
 .multipage.expertise-visual .vx-domain-copy .button{font-size:16px;min-height:48px;padding:12px 20px}
 .multipage.expertise-visual .vx-technologies{gap:16px clamp(8px,calc(4vw - 56px),20px)}
 .multipage.expertise-visual .vx-tech{width:clamp(76px,4.6vw,88px);font-size:13px}
 .multipage.expertise-visual .vx-brand{width:76px;height:76px;padding:8px}
 .multipage.expertise-visual .vx-brand img{width:60px;height:60px}
 .multipage.expertise-visual .vx-brand.vmware img,.multipage.expertise-visual .vx-brand.splunk img{width:76px;height:76px}
 .multipage.expertise-visual .vx-domain-art figcaption{font-size:12px}
 .multipage.expertise-visual .vx-journey{padding-top:16px}
 .multipage.expertise-visual .vx-journey a{min-height:60px}
 .multipage.expertise-visual .vx-journey strong{font-size:16px}
 .multipage.expertise-visual .vx-journey small{font-size:13px}
}
@media(max-width:760px){
 .multipage.expertise-visual .vx-domain-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:24px;padding:24px 0}
 .multipage.expertise-visual .vx-domain-copy{grid-column:1;grid-row:1}
 .multipage.expertise-visual #domain-tech{grid-column:1;grid-row:2}
 .multipage.expertise-visual .vx-domain-art{grid-column:1;grid-row:3}
 .multipage.expertise-visual .vx-technologies{justify-content:flex-start;gap:16px 12px;margin:0}
 .multipage.expertise-visual .vx-domain-tabs svg{width:28px;height:28px}
 .multipage.expertise-visual .vx-domain-art .vx-art{height:200px}
}
/* A lowered illustration surface keeps the object in front and its tools together. */
.multipage.expertise-visual .vx-domain-stage{position:relative;isolation:isolate}
.multipage.expertise-visual .vx-domain-stage::before{content:"";grid-column:2;grid-row:1/3;align-self:stretch;margin:52px 0 -8px;background:var(--surface);border-radius:16px;box-shadow:0 20px 36px -24px rgba(0,0,0,.42);z-index:-1;pointer-events:none}
.multipage.expertise-visual .vx-domain-art{padding:0 16px}
.multipage.expertise-visual #domain-tech{padding:0 16px}
.multipage.expertise-visual .vx-domain-art figcaption{color:var(--muted)}
.multipage.expertise-visual .vx-brand{border:1px solid #d0d9e1}
.multipage.expertise-visual .vx-term{width:64px;max-width:90px;justify-content:flex-start}
.multipage.expertise-visual .vx-brand.ekahau,.multipage.expertise-visual .vx-brand.eve-ng,.multipage.expertise-visual .vx-brand.checkpoint{padding:4px}
.multipage.expertise-visual .vx-brand.ekahau img{width:52px;height:auto;object-fit:contain}
.multipage.expertise-visual .vx-concepts svg{box-sizing:content-box;padding:7px;background:var(--surface);border-radius:6px}
@media(min-width:1280px) and (min-height:720px) and (max-height:820px){
 .multipage.expertise-visual .vx-concepts{margin:12px 0}
 .multipage.expertise-visual .vx-concepts svg{padding:2px}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.expertise-visual .vx-domain-stage::before{margin-top:64px}
 .multipage.expertise-visual .vx-term{width:clamp(76px,4.6vw,88px);font-size:13px}
 .multipage.expertise-visual .vx-brand.ekahau img{width:64px}
 .multipage.expertise-visual .vx-term .vx-tool-icon svg{width:44px;height:44px}
}
@media(max-width:760px){
 .multipage.expertise-visual .vx-domain-stage::before{grid-column:1;grid-row:2/4;margin:-12px 0 -8px}
 .multipage.expertise-visual #domain-tech{padding-top:4px}
 .multipage.expertise-visual .vx-domain-art{padding-bottom:8px}
}
.contact-primary{margin-top:28px}
.contact-primary p{font-size:13px;color:var(--muted);margin-top:12px}
.profile-intro>p{max-width:60ch}
.profile-useful a{min-height:44px}
.profile-page .profile-credential a{min-height:44px}
.profile-more summary{line-height:1.5}
.projects-visual .vx-project{display:block;padding:0}
.projects-visual .vx-project-link{display:grid;grid-template-columns:34% 1fr;gap:20px;align-items:center;padding:24px 0;color:inherit;text-decoration:none;border-radius:8px}
.projects-visual .vx-project-link:hover h2,.projects-visual .vx-project-link:focus-visible h2{color:var(--accent)}
.projects-visual .vx-project-link:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.projects-visual .vx-project-summary{display:block;color:var(--muted);font-size:13px;line-height:1.7;margin-top:12px;max-width:65ch}
.projects-visual .vx-project.vx-featured{padding:0 24px;display:block}
.projects-visual .vx-featured .vx-project-link{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.projects-visual .vx-featured .vx-project-copy{order:0}
.projects-visual .vx-featured .vx-project-image{order:1}
.projects-visual .vx-featured .vx-project-image .vx-art{height:260px}
.projects-visual .vx-project-copy>.text-link{display:inline-flex;min-height:44px;align-items:center;gap:10px}
.vx-case-contact{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);padding:32px 0 12px;margin-top:28px}
.vx-case-contact h2{font-size:24px;line-height:1.3}
.vx-case-contact p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:10px;max-width:58ch}
.vx-case-contact .button{flex-shrink:0}
.designs-visual .vx-scenario-row{margin:18px 0 22px;padding:0;align-items:center}
.vx-node-preview{display:none}
.vx-lab-shortcuts{display:flex;gap:24px;flex-wrap:wrap;margin:-8px 0 24px}
.vx-lab-shortcuts a{min-height:44px;font-size:13px}
#live-readings,#lab-insight,#design-documentation{scroll-margin-top:24px}
.recommendation-entry summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:16px;align-items:start}
.recommendation-preview{display:block;grid-column:1/-1;padding-left:70px;max-width:80ch;font-weight:400}
.recommendation-excerpt{display:block;font-size:15px;line-height:1.7;color:var(--text)}
.recommendation-context{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}
.recommendation-read{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:5px;margin-top:4px}
.recommendation-entry details[open] .recommendation-read{display:none}
.recommendation-entry details[open] .recommendation-preview{display:none}
.recommendation-entry details[open] summary>span[aria-hidden=true]{transform:rotate(45deg)}
@media(min-width:1600px) and (min-height:1000px){
 .projects-visual .vx-project-summary{font-size:16px}
 .projects-visual .vx-featured .vx-project-image .vx-art{height:360px}
}
@media(max-width:760px){
 .expertise-visual .vx-domain-copy{grid-row:1}
 .expertise-visual .vx-domain-art{grid-row:2}
 .expertise-visual .vx-domain-art .vx-art{height:170px}
 .designs-visual .vx-heading.with-art>.vx-art,.lab-visual .vx-heading.with-art>.vx-art{display:none}
 .designs-visual .vx-heading.with-art,.lab-visual .vx-heading.with-art{display:block;min-height:0;margin:0 0 24px}
 .designs-visual .vx-design-nodes button{flex-wrap:wrap;min-height:64px}
 .designs-visual .vx-design-nodes button[aria-pressed=true] .vx-node-preview{display:block;flex-basis:100%;font-size:13px;font-weight:400;line-height:1.65;color:var(--muted)}
 .designs-visual .vx-scenario-row{align-items:start}
 .projects-visual .vx-project-link{gap:14px;grid-template-columns:28% 1fr}
 .projects-visual .vx-project.vx-featured{padding:0 18px}
 .projects-visual .vx-featured .vx-project-image .vx-art{height:190px}
 .projects-visual .vx-project-summary{font-size:13px}
 .vx-case-contact{align-items:start;flex-direction:column;gap:20px}
 .vx-case-contact .button{width:100%;font-size:13px}
 .vx-lab-shortcuts{gap:8px 20px;margin-bottom:20px}
 .vx-lab-shortcuts a{font-size:12px}
 .recommendation-preview{padding-left:0}
 .recommendation-excerpt{font-size:14px}
}


/* Projects index: nine illustrated cases, with detail one link away. */
.multipage.projects-index{display:flex;flex-direction:column;min-height:100svh}
.multipage.projects-index .vx-main{flex:1;min-height:0}
.multipage.projects-index .vx-heading h1{max-width:28ch}
.multipage.projects-index .vx-project-gallery,
.multipage.projects-index .vx-project-gallery.filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.multipage.projects-index .vx-project-link{position:relative;grid-template-columns:30% minmax(0,1fr);padding:24px 0;gap:20px;height:100%;align-content:center}
.multipage.projects-index .vx-project-image .vx-art{height:160px}
.multipage.projects-index .vx-project-copy{min-width:0}
.multipage.projects-index .vx-project-arrow{display:none}
.multipage.projects-index .vx-project h2{font-size:20px;line-height:1.25}
.multipage.projects-index .vx-project-state{line-height:1.4}
.multipage.projects-index .vx-endnotes{margin:16px 0 0;padding:16px 0;border:0;font-size:11px}
@media(min-width:1280px) and (min-height:720px){
 .multipage.projects-index .vx-main{display:flex;flex-direction:column;gap:12px;padding-top:12px;padding-bottom:0}
 .multipage.projects-index .vx-heading{margin:0}
 .multipage.projects-index .vx-heading>div{display:flex;align-items:center;justify-content:space-between;gap:32px}
 .multipage.projects-index .vx-heading h1{font-size:clamp(30px,2.3vw,42px);line-height:1.15;max-width:none}
 .multipage.projects-index .vx-heading p{font-size:12px;line-height:1.6;max-width:32ch;margin:0;flex-shrink:0}
 .multipage.projects-index .vx-filter-bar{padding:0;border:0;gap:20px;min-height:44px}
 .multipage.projects-index .vx-controls button{padding:8px 16px;min-height:44px;font-size:12px}
 .multipage.projects-index .vx-project-gallery,
 .multipage.projects-index .vx-project-gallery.filtered{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(112px,1fr));gap:0 24px;margin:0}
 .multipage.projects-index .vx-project-link{grid-template-columns:28% minmax(0,1fr);gap:16px;padding:12px 16px 12px 0;border-radius:0}
 .multipage.projects-index .vx-project-link:hover{background:color-mix(in srgb,var(--surface) 65%,transparent)}
 .multipage.projects-index .vx-project h2{font-size:16px;line-height:1.25}
 .multipage.projects-index .vx-project-image .vx-art{height:100px}
 .multipage.projects-index .vx-project-hook{font-size:12px;line-height:1.4;margin-top:6px}
 .multipage.projects-index .vx-project-state{font-size:11px;line-height:1.4;margin-top:6px}
 .multipage.projects-index .vx-project-sector,
 .multipage.projects-index .vx-project-summary,
 .multipage.projects-index .vx-project-copy>.text-link{display:none}
 .multipage.projects-index .vx-project-arrow{display:block;position:absolute;right:0;top:14px;color:var(--muted)}
 .multipage.projects-index .vx-project-arrow svg{width:14px;height:14px}
 .multipage.projects-index .vx-project-link:hover .vx-project-arrow{color:var(--accent)}
 .multipage.projects-index .vx-endnotes{margin:0;padding:0 0 8px;font-size:10px;line-height:1.5;min-height:23px}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.projects-index .vx-main{padding-top:24px;gap:20px}
 .multipage.projects-index .vx-heading h1{font-size:clamp(38px,2.3vw,52px)}
 .multipage.projects-index .vx-heading p{font-size:15px}
 .multipage.projects-index .vx-controls button{font-size:14px;padding:10px 20px}
 .multipage.projects-index .vx-project-gallery,
 .multipage.projects-index .vx-project-gallery.filtered{gap:0 40px}
 .multipage.projects-index .vx-project-link{grid-template-columns:32% minmax(0,1fr);gap:24px;padding:20px 24px 20px 0}
 .multipage.projects-index .vx-project h2{font-size:clamp(20px,1.05vw,24px)}
 .multipage.projects-index .vx-project-image .vx-art{height:clamp(150px,9vw,210px)}
 .multipage.projects-index .vx-project-hook{font-size:15px;margin-top:10px}
 .multipage.projects-index .vx-project-state{font-size:12px;margin-top:10px}
 .multipage.projects-index .vx-project-arrow{top:24px}
 .multipage.projects-index .vx-project-arrow svg{width:18px;height:18px}
 .multipage.projects-index .vx-endnotes{font-size:12px;padding-bottom:12px}
}
@media(max-width:760px){
 .multipage.projects-index .vx-heading h1{font-size:34px;max-width:18ch}
 .multipage.projects-index .vx-project-gallery,
 .multipage.projects-index .vx-project-gallery.filtered{grid-template-columns:1fr;gap:0;margin-top:12px}
 .multipage.projects-index .vx-project-link{grid-template-columns:30% minmax(0,1fr);gap:16px;padding:24px 0}
 .multipage.projects-index .vx-project h2{font-size:18px}
 .multipage.projects-index .vx-project-image .vx-art{height:120px}
 .multipage.projects-index .vx-project-sector{display:none}
 .multipage.projects-index .vx-project-state{font-size:11px}
}

/* Filtered Projects: immersive illustrations with copy over a theme-aware scrim.
   Every rule stays inside .filtered; the nine-case All Projects layout is unchanged. */
.multipage.projects-index .vx-project-gallery.filtered{
 --project-scrim:33,38,43;
 --project-scrim-start:.86;
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:24px;
}
:root[data-theme=light] .multipage.projects-index .vx-project-gallery.filtered{
 --project-scrim:237,241,244;--project-scrim-start:.94;
}
.multipage.projects-index .filtered .vx-project{display:block;min-width:0;min-height:0;border:0;padding:0}
.multipage.projects-index .filtered .vx-project[hidden]{display:none}
.multipage.projects-index .filtered .vx-project-link{
 display:flex;position:relative;isolation:isolate;flex-direction:column;justify-content:flex-end;align-items:stretch;
 min-height:520px;height:100%;max-width:none;margin:0;padding:0;gap:0;border-radius:0;background:var(--bg);
}
.multipage.projects-index .filtered .vx-project-link:hover{background:var(--bg)}
.multipage.projects-index .filtered .vx-project-image{
 position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none;
}
.multipage.projects-index .filtered .aui-project-slide,
.multipage.projects-index .filtered .aui-project-fade{width:100%;height:100%}
.multipage.projects-index .filtered .vx-project-image .vx-art{
 display:block;width:100%;max-width:none;height:100%;object-fit:cover;
 object-position:var(--project-scene-position,50% 35%);transform:scale(1.08);filter:none;
}
.multipage.projects-index .filtered .vx-project-copy{
 position:relative;isolation:isolate;flex:0 0 auto;width:100%;margin-top:200px;padding:24px;color:var(--text);
}
.multipage.projects-index .filtered .vx-project-copy::before{
 content:"";position:absolute;inset:-100px 0 0;z-index:-1;pointer-events:none;
 background:linear-gradient(to bottom,rgba(var(--project-scrim),0),rgba(var(--project-scrim),var(--project-scrim-start)) 28%,rgba(var(--project-scrim),.98) 58%,rgb(var(--project-scrim)) 100%);
}
.multipage.projects-index .filtered .vx-project h2{font-size:24px;line-height:1.2;max-width:27ch;color:var(--text);text-wrap:balance}
.multipage.projects-index .filtered .vx-project-hook{font-size:15px;line-height:1.45;margin-top:10px}
.multipage.projects-index .filtered .vx-project-sector{display:none}
.multipage.projects-index .filtered .vx-project-summary{display:block;font-size:13px;line-height:1.55;margin-top:12px;color:var(--muted);max-width:58ch}
.multipage.projects-index .filtered .vx-project-state{display:block;font-size:12px;line-height:1.5;margin-top:10px;color:var(--muted)}
.multipage.projects-index .filtered .vx-project-copy>.text-link{display:inline-flex;align-items:center;font-size:13px;line-height:1.5;margin-top:14px;gap:12px;color:var(--accent)}
.multipage.projects-index .filtered .vx-project-arrow{display:none}
.multipage.projects-index .filtered .vx-project-link[href="project-platforms.html"]{--project-scene-position:45% 32%}
.multipage.projects-index .filtered .vx-project-link[href="project-hybrid.html"],
.multipage.projects-index .filtered .vx-project-link[href="project-sdwan.html"]{--project-scene-position:52% 30%}
.multipage.projects-index .filtered .vx-project-link[href="project-wireless.html"]{--project-scene-position:50% 44%}
.multipage.projects-index .vx-project-gallery.filtered[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.multipage.projects-index .filtered[data-count="1"] .vx-project-copy>h2{max-width:32ch}
.multipage.projects-index .filtered[data-count="1"] .vx-project-copy>p{max-width:54ch}
@media(min-width:1280px) and (min-height:720px){
 .multipage.projects-index .vx-project-gallery.filtered{grid-template-columns:repeat(var(--project-columns,3),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:16px}
 .multipage.projects-index .filtered .vx-project-link{min-height:0}
 .multipage.projects-index .filtered .vx-project-copy{margin-top:0;padding:20px}
 .multipage.projects-index .filtered .vx-project h2{font-size:20px}
 .multipage.projects-index .filtered .vx-project-hook{font-size:13px;margin-top:8px}
 .multipage.projects-index .filtered .vx-project-summary{font-size:12px;margin-top:10px}
 .multipage.projects-index .filtered .vx-project-state{font-size:11px;margin-top:8px}
 .multipage.projects-index .filtered .vx-project-copy>.text-link{font-size:12px;margin-top:12px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-copy{padding:32px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project h2{font-size:30px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-hook{font-size:16px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-summary{font-size:14px}
}
@media(min-width:1280px) and (min-height:720px) and (max-height:839px){
 .multipage.projects-index .filtered:not([data-count="1"]) .vx-project-summary{display:none}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.projects-index .vx-project-gallery.filtered{gap:24px}
 .multipage.projects-index .filtered .vx-project-copy{padding:28px}
 .multipage.projects-index .filtered .vx-project h2{font-size:clamp(26px,1.5vw,34px)}
 .multipage.projects-index .filtered .vx-project-hook{font-size:16px;margin-top:12px}
 .multipage.projects-index .filtered .vx-project-summary{font-size:15px;line-height:1.6;margin-top:12px}
 .multipage.projects-index .filtered .vx-project-state{font-size:12px;margin-top:12px}
 .multipage.projects-index .filtered .vx-project-copy>.text-link{font-size:14px;margin-top:16px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-copy{padding:40px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project h2{font-size:clamp(32px,2vw,44px)}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-hook{font-size:18px}
 .multipage.projects-index .filtered[data-count="1"] .vx-project-summary{font-size:16px}
}
@media(max-width:760px){
 .multipage.projects-index .vx-project-gallery.filtered{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:12px}
 .multipage.projects-index .filtered .vx-project-link{min-height:520px}
 .multipage.projects-index .filtered .vx-project-copy{margin-top:220px;padding:24px 20px}
 .multipage.projects-index .filtered .vx-project h2{font-size:24px;line-height:1.25}
 .multipage.projects-index .filtered .vx-project-hook{font-size:14px}
 .multipage.projects-index .filtered .vx-project-summary{font-size:13px}
 .multipage.projects-index .filtered .vx-project-image .vx-art{object-position:50% 30%}
}

/* All Projects uses horizontal, image-led scenes; category views retain their layout. */
.multipage.projects-index .vx-project-gallery:not(.filtered){
 --all-scene-rgb:33,38,43;
 gap:16px;
}
:root[data-theme=light] .multipage.projects-index .vx-project-gallery:not(.filtered){--all-scene-rgb:237,241,244}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project{min-width:0;min-height:0;padding:0;border:0}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project[hidden]{display:none}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link{
 display:flex;position:relative;isolation:isolate;align-items:center;justify-content:flex-start;
 min-height:210px;height:100%;padding:0;gap:0;margin:0;border-radius:0;background:var(--surface);
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-image{
 position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none;
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .aui-project-slide,
.multipage.projects-index .vx-project-gallery:not(.filtered) .aui-project-fade{width:100%;height:100%}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-image .vx-art{
 display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% 48%;
 transform:translateX(10%) scale(1.16);filter:none;
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(var(--all-scene-rgb),.98),rgba(var(--all-scene-rgb),.94) 42%,rgba(var(--all-scene-rgb),.92) 65%,rgba(var(--all-scene-rgb),.25) 84%,rgba(var(--all-scene-rgb),.04));
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-copy{
 position:relative;width:74%;padding:20px;min-width:0;
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project h2{font-size:20px;line-height:1.2;color:var(--text);text-wrap:balance;max-width:28ch}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-hook{font-size:13px;line-height:1.4;margin-top:8px;color:var(--cyan)}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-state{display:block;font-size:11px;line-height:1.4;margin-top:8px;color:var(--text)}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-sector,
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-summary,
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-copy>.text-link{display:none}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-arrow{
 display:grid;place-items:center;position:absolute;right:12px;bottom:12px;top:auto;width:30px;height:30px;border-radius:50%;color:var(--text);background:rgb(var(--all-scene-rgb));
}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-arrow svg{width:16px;height:16px}
.multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link:hover .vx-project-arrow{color:var(--accent)}
@media(min-width:1280px) and (min-height:720px){
 .multipage.projects-index .vx-project-gallery:not(.filtered){grid-template-rows:repeat(3,minmax(112px,1fr));gap:12px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link{min-height:0}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-copy{padding:12px 16px;width:76%}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project h2{font-size:16px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-hook{font-size:12px;margin-top:5px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-state{font-size:10px;margin-top:5px}
}
@media(min-width:1600px) and (min-height:1000px){
 .multipage.projects-index .vx-project-gallery:not(.filtered){gap:20px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-copy{padding:24px;width:72%}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project h2{font-size:clamp(21px,1.2vw,28px)}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-hook{font-size:15px;margin-top:10px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-state{font-size:12px;margin-top:10px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-arrow{right:16px;bottom:16px}
}
@media(max-width:760px){
 .multipage.projects-index .vx-project-gallery:not(.filtered){gap:16px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link{min-height:220px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-copy{width:79%;padding:20px 16px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project h2{font-size:19px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-hook{font-size:13px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-state{font-size:11px}
 .multipage.projects-index .vx-project-gallery:not(.filtered) .vx-project-link::before{background:linear-gradient(90deg,rgba(var(--all-scene-rgb),.98),rgba(var(--all-scene-rgb),.94) 58%,rgba(var(--all-scene-rgb),.90) 75%,rgba(var(--all-scene-rgb),.08))}
}
