/* Professional polish. Every rule is scoped so Personal keeps its own identity. */
body:not(.personal){--pro-space:24px;--pro-radius:24px}
body:not(.personal) :is(.wordmark,.mode-switch button,.chapter-content h3,.project-body h3,.dialog-inner h2){font-weight:600}
body:not(.personal) :is(.hero .eyebrow,.eyebrow,.hero-foot,.project-body .eyebrow,.chapter-content .eyebrow,.dialog-inner .eyebrow){font-size:11px;line-height:1.6;letter-spacing:1.1px}
body:not(.personal) :is(.hero-intro,.chapter-content>p:not(.eyebrow),.career-detail,.delivery-note p){font-size:15px;line-height:1.8}
body:not(.personal) .hero-intro{max-width:430px}
body:not(.personal) .statement>p:last-of-type{max-width:550px;font-size:18px}
body:not(.personal) .section-heading>p{font-size:15px}
body:not(.personal) .chapter-content h3{font-size:32px}
body:not(.personal) .chapter-switch button{font-size:11px;min-height:48px}
body:not(.personal) .chapter-switch button span{font-size:13px;font-weight:500}
body:not(.personal) .skill-list{gap:8px}
body:not(.personal) .skill-list span{font-size:11px;line-height:1.4;padding:8px 10px}
body:not(.personal) #professional-view svg[font-family],body:not(.personal) #professional-view svg [font-family*="Arial"]{font-family:inherit}
body:not(.personal) #professional-view svg [font-weight="550"],body:not(.personal) #professional-view svg [font-weight="650"]{font-weight:600}
body:not(.personal) .ig-json-text{font-family:monospace}

/* Shared artwork frames and flex bodies keep actions aligned across each row. */
body:not(.personal) .project-card{display:flex;flex-direction:column;min-width:0}
body:not(.personal) .project-art{flex:none}
body:not(.personal) .project-body{padding:28px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
body:not(.personal) .project-body .eyebrow{margin:0 0 16px}
body:not(.personal) .project-body h3{font-size:clamp(26px,2.5vw,28px);line-height:1.16;letter-spacing:-.8px;margin:0 0 16px;text-wrap:balance}
body:not(.personal) .project-body>p:not(.eyebrow){font-size:15px;line-height:1.7;min-height:0;margin:0 0 24px}
body:not(.personal) .detail-button{margin-top:auto;padding-top:4px;min-height:44px;font-size:12px}
body:not(.personal) .detail-button span{width:32px;height:32px;flex:none}
body:not(.personal) .api-rings{background:linear-gradient(145deg,#ffffffa6,#c2dcf140);box-shadow:inset 0 1px 0 #fff,0 16px 24px #285e9117,0 0 0 18px #bed7ef66,0 0 0 37px #bed7ef40,0 0 0 56px #bed7ef26}
body:not(.personal) .api-art>span{text-shadow:0 3px 0 #fff7,0 12px 18px #285e9128}
body:not(.personal) .aml-art svg{filter:drop-shadow(0 14px 12px #285e9133)}
html[data-theme="dark"] body:not(.personal) .api-rings{background:linear-gradient(145deg,#2e5d872b,#102f4f85);box-shadow:inset 0 1px 0 #a5d6ff26,0 16px 24px #0003,0 0 0 18px #20476d66,0 0 0 37px #20476d40,0 0 0 56px #20476d26}
html[data-theme="dark"] body:not(.personal) .api-art>span{text-shadow:0 2px 0 #09243d,0 12px 20px #0006}
html[data-theme="dark"] body:not(.personal) .aml-art svg{filter:drop-shadow(0 14px 14px #0005)}
body:not(.personal) .payment-experience{display:grid;grid-template-columns:1fr 1.25fr;gap:32px;margin-top:40px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body:not(.personal) .payment-experience .eyebrow{color:var(--muted);margin-bottom:12px}
body:not(.personal) .payment-experience h3{font-size:24px;font-weight:600;letter-spacing:-.6px;margin:0}
body:not(.personal) .payment-experience p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 18px}
body:not(.personal) .career-role{font-size:12px;line-height:1.6}
body:not(.personal) .career-date{font-size:11px;line-height:1.6}

/* Readable, consistently indented project details. */
body:not(.personal) .dialog-inner{padding:56px}
body:not(.personal) .dialog-inner .eyebrow{padding-right:16px;margin-bottom:20px}
body:not(.personal) .dialog-inner h2{font-size:clamp(32px,4.5vw,44px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:24px}
body:not(.personal) .dialog-lead{font-size:17px;line-height:1.75;margin:0 0 28px}
body:not(.personal) #dialog-details>div+div{margin-top:28px}
body:not(.personal) #dialog-details h3{font-size:14px;font-weight:600;margin:0 0 12px}
body:not(.personal) #dialog-details :is(p,.contribution-list){font-size:15px;line-height:1.8;color:var(--muted);margin:0}
body:not(.personal) #dialog-details .contribution-list{padding-left:20px}
body:not(.personal) #dialog-details .contribution-list li{padding-left:4px;margin:0 0 16px}
body:not(.personal) #dialog-details .contribution-list li:last-child{margin-bottom:0}
body:not(.personal) .dialog-tech{margin-top:28px;gap:8px}
body:not(.personal) .dialog-tech span{font-size:11px;line-height:1.4}
body:not(.personal) .dialog-close{width:44px;height:44px;top:12px;right:12px;margin:12px 12px 0 0}
body:not(.personal) .theme-toggle{width:44px;height:44px;flex:none}
body:not(.personal) :is(.mode-switch button,#motion-toggle){min-height:44px}

/* One motion-control pattern; each retains a descriptive accessible name. */
body:not(.personal) :is(#ig-pause,#lifecycle-pause,#pacs-pause,#client-flight-toggle){min-height:44px;min-width:80px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}
body:not(.personal) :is(#ig-pause,#lifecycle-pause,#pacs-pause,#client-flight-toggle):hover{color:var(--accent);border-color:var(--accent)}
body:not(.personal) :is(#ig-pause,#lifecycle-pause,#pacs-pause,#client-flight-toggle):disabled{opacity:.65;cursor:default}
body:not(.personal) .ig-intro{font-size:15px;line-height:1.8}
body:not(.personal) .ig-key{font-size:12px}
body:not(.personal) .ig-story-label,body:not(.personal) .ig-exchange-item strong{font-size:11px;line-height:1.5;letter-spacing:1px}
body:not(.personal) .ig-story p{font-size:15px}
body:not(.personal) .ig-exchange-item{font-size:13px}
body:not(.personal) .ig-mobile-picker,body:not(.personal) .lifecycle-mobile-stages{display:none}
@media(max-width:1000px){
 body:not(.personal) .project-body{padding:24px}
}
@media(max-width:700px){
 body:not(.personal) :is(.hero-intro,.section-heading>p,.chapter-content>p:not(.eyebrow),.career-detail,.delivery-note p,.project-body>p:not(.eyebrow),.ig-intro,.ig-story p){font-size:14px}
 body:not(.personal) .hero .eyebrow{font-size:11px;letter-spacing:.8px}
 body:not(.personal) .hero-foot{font-size:10px;letter-spacing:.5px}
 body:not(.personal) .chapter-switch button{gap:5px;white-space:normal;align-items:baseline}
 body:not(.personal) .chapter-switch button span{font-size:12px;line-height:1.5}
 body:not(.personal) .project-body{padding:24px}
 body:not(.personal) .project-body h3{font-size:27px}
 body:not(.personal) .payment-experience{grid-template-columns:1fr;gap:20px;padding:28px 0}
 body:not(.personal) .payment-experience p:not(.eyebrow){font-size:14px}
 body:not(.personal) .dialog-inner{padding:62px 24px 32px}
 body:not(.personal) .dialog-inner .eyebrow{padding-right:0}
 body:not(.personal) .dialog-lead{font-size:16px}
 body:not(.personal) #dialog-details :is(p,.contribution-list){font-size:14px}
 body:not(.personal) .ig-side-title{font-size:12px}
 body:not(.personal) .ig-side-sub{font-size:9px;letter-spacing:.2px}
 body:not(.personal) .ig-channel-title{font-size:12.5px}
 body:not(.personal) .ig-channel-sub{font-size:9.5px}
 body:not(.personal) .ig-mobile-picker{display:block;margin:4px 0 24px}
 body:not(.personal) .ig-mobile-picker label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}
 body:not(.personal) .ig-mobile-picker select{display:block;width:100%;min-height:48px;padding:10px 32px 10px 12px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}
 body:not(.personal) .ig-mobile-picker select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 /* The illustration retains its orbit; native controls provide readable stage names. */
 body:not(.personal) .lifecycle-visual{display:block;min-height:0;padding:280px 12px 16px;overflow:visible}
 body:not(.personal) .lifecycle-art{height:280px}
 body:not(.personal) .pl-stage-label{display:none}
 body:not(.personal) .pl-stage{pointer-events:none}
 body:not(.personal) .lifecycle-mobile-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:relative}
 body:not(.personal) .lifecycle-mobile-stages button{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:12px;line-height:1.4}
 body:not(.personal) .lifecycle-mobile-stages button>span{font-size:11px;color:var(--muted);flex:none}
 body:not(.personal) .lifecycle-mobile-stages .is-active{border-color:var(--accent);background:var(--soft);color:var(--accent)}
 body:not(.personal) .lifecycle-mobile-stages .is-active>span{color:var(--accent)}
}
body:not(.personal) .capabilities span{font-size:11px;font-weight:500}
@media(max-width:700px){
 body:not(.personal) .hero-foot{flex-wrap:wrap;gap:8px}
 body:not(.personal) .hero-foot a{font-size:11px}
}
@media(max-width:700px){
 body:not(.personal) .nav-shell{grid-template-rows:44px 52px;height:122px}
 body:not(.personal) .mode-switch button{font-size:12px}
}

/* Single-view header: the archived Personal mode no longer occupies a second row. */
@media(max-width:700px){
 body:not(.personal) .nav-shell{grid-template-rows:44px;height:76px}
}

/* Supplied employer identities keep the logos on a neutral, undistorted surface. */
body:not(.personal) .career-identity{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px}
body:not(.personal) .career-logo{display:flex;align-items:center;justify-content:center;width:112px;height:80px;overflow:hidden;border-radius:12px;background:#fff;border:1px solid #dfe4eb;padding:8px}
body:not(.personal) .career-logo img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}
body:not(.personal) .career-logo--tech{padding:0}
body:not(.personal) .career-copy{display:block;min-width:0}
body:not(.personal) .career-company{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.6px;margin-bottom:8px;overflow-wrap:break-word}
body:not(.personal) .career-role{display:block;font-size:13px;line-height:1.6}
body:not(.personal) .career-date{margin-left:132px}
@media(max-width:700px){
 body:not(.personal) .career-identity{grid-template-columns:72px minmax(0,1fr);gap:14px}
 body:not(.personal) .career-logo{width:72px;height:64px;padding:6px;border-radius:10px}
 body:not(.personal) .career-logo--tech{padding:0}
 body:not(.personal) .career-company{font-size:22px}
 body:not(.personal) .career-role{font-size:12px}
 body:not(.personal) .career-date{margin-left:86px;font-size:10px;letter-spacing:.5px}
}
