/* v54: one introduction, quiet surfaces, content before effects. */
:root{--surface:#111923;--calm-line:#cbd9e02b;--calm-muted:#b1bdc9}
html,body{background:#0b1119}
.ambient,.background{background:linear-gradient(145deg,#0b1119 0%,#131d29 58%,#0c121b 100%)}
.ambient::after,.background::after{content:none!important;display:none!important}
.sculpture-bg,.grain,.ember,.cursor-light,.glass-lens,.wire-transmission{display:none!important}
#wire-pulses,#wire-halos{display:none!important}
#canvas{width:min(1120px,calc(100% - 96px));min-width:0;margin:0 auto;padding:46px 0 72px}
#canvas .node{background:var(--surface);border:1px solid var(--calm-line);box-shadow:inset 0 1px 1px #ffffff1c,0 12px 36px #00000026;transform:none;isolation:isolate}
#canvas .node::before{visibility:visible;padding:1px;background:linear-gradient(130deg,#d6e8f34d,transparent 55%,#e5bb922b)}
#canvas .node::after{display:none}
#canvas .intro-stage{display:block;min-height:0;margin:0 0 64px}
#canvas .intro-stage .hero{width:100%;margin:0;border-radius:25px}
#canvas .hero-body{height:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:48px;padding:44px}
#canvas .professional-role{font-size:13px;line-height:1.5;max-width:none;color:#b9c5ce;margin:0 0 28px}
#canvas .hero h1{font-size:76px;line-height:1;letter-spacing:-4px;margin:0 0 26px}
#canvas .hero h1>span:not(.title-period){color:#b9c0c7}
#canvas #about .hero-description{font-size:26px;line-height:1.35;letter-spacing:-.6px;color:#f1f2f3;margin:0 0 22px;max-width:560px}
#canvas #about .hero-detail,#canvas #about .hero-method{font-size:16px;line-height:1.75;color:#c4ced7;margin:0 0 18px}
#canvas #about .hero-proof{font-size:14px;line-height:1.7;color:#aab7c2;margin:24px 0 0}
#canvas .portrait-slot{height:100%;min-height:450px;border-radius:15px;align-self:stretch}
#canvas .portrait-slot img{filter:none;object-position:50% 35%}
#canvas .portrait-slot::after{display:none}
#canvas .projects-cluster{position:relative;height:auto;margin:0 0 24px;padding:0}
#canvas .project-hub{position:relative;left:auto;top:auto;width:100%;margin:0;border:0;border-radius:0;background:none;box-shadow:none}
#canvas .project-hub::before{display:none}
#canvas .project-hub .hub-body{padding:0 0 26px}
#canvas .project-hub h2{font-size:36px;letter-spacing:-1px;white-space:normal;margin:0 0 12px}
#canvas .project-hub p{font-size:15px;line-height:1.6;color:var(--calm-muted);max-width:none}
#canvas .project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
#canvas .project{position:relative;left:auto;top:auto;width:100%;margin:0;min-width:0;border-radius:18px;overflow:hidden}
#canvas .project .node-bar{height:auto;min-height:58px;padding:16px 18px;gap:12px;font-size:14px}
#canvas .project .project-category{font-size:11px;line-height:1.4;max-width:58%}
#canvas .project-media{height:auto;aspect-ratio:16/9;isolation:isolate;background:#090d13}
#canvas .project-media::after{display:none}
#canvas .project-media video{object-fit:contain;inset:0;width:100%;height:100%}
#canvas .project .case-description{padding:23px 20px 26px}
#canvas .project .case-description h3{font-size:25px;margin:0 0 20px;font-weight:400;line-height:1.15}
#canvas .project .case-description>p{font-size:14px;line-height:1.7;color:#bdc9d3;margin:0 0 16px}
#canvas .project .case-description>p:last-child{margin:0}
.case-brief>span,.case-solution>span{display:block;font-size:11px;color:#d5b08e;margin-bottom:4px}
#canvas .archive-node{width:100%;margin:0 0 72px;min-height:80px;padding:22px 26px;border-radius:18px}
#canvas .archive-title{font-size:23px}
#canvas .archive-icon{width:34px;height:34px;border:none;background:none}
#canvas .career-cluster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;height:auto;min-height:0;margin:0 0 64px;align-items:start}
#canvas .experience-summary,#canvas .expertise{position:relative;left:auto;right:auto;top:auto;width:100%;height:auto;margin:0;border-radius:22px}
#canvas .experience-summary .node-content,#canvas .expertise .node-content{padding:32px}
#canvas .experience-summary h2,#canvas .expertise h2{font-size:32px;line-height:1.16;letter-spacing:-1px;margin:0 0 28px}
#canvas .competency-intro{font-size:15px;line-height:1.75;color:#c1ccd5}
#canvas .competency-list>section{padding:24px 0;gap:16px}
#canvas .competency-list>section>span{font-size:11px}
#canvas .competency-list h3{font-size:19px;margin-bottom:12px;line-height:1.3}
#canvas .competency-list p{font-size:14px;line-height:1.8}
.career-timeline{list-style:none;margin:0;padding:0}
.career-timeline>li{position:relative;border-left:1px solid #aebfce40;padding:0 0 30px 22px;margin:0 0 0 4px}
.career-timeline>li:last-child{padding-bottom:0}
.career-timeline>li::before{content:'';position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:#d4aa83;box-shadow:0 0 0 5px var(--surface)}
.career-period{color:#d9b38e!important;font-size:12px!important;line-height:1.4!important;margin:0 0 10px!important;font-variant-numeric:tabular-nums}
#canvas .career-timeline h3,#detail-content .career-timeline h3{font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.4px;margin:0 0 9px}
#canvas .career-timeline p,#detail-content .career-timeline p{font-size:14px;line-height:1.75;color:#bfccd6;margin:0 0 12px}
#canvas .career-timeline .detail-role,#detail-content .career-timeline .detail-role{font-size:14px;color:#eef0f2;margin-bottom:10px}
#canvas .career-timeline .career-progression,#detail-content .career-timeline .career-progression{font-size:12px;color:#a7b6c5}
.career-projects{border-top:1px solid #becfe01a;padding-top:14px;margin-top:18px}
.career-projects ul{padding:0;margin:0;list-style:none}
.career-projects li{font-size:12px;line-height:1.65;margin:0 0 8px;color:#aebcc8}
.career-projects strong{font-weight:500;color:#d5dde5}
#canvas .secondary-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:0 0 64px;align-items:start}
#canvas .secondary-stage .ai-node,#canvas .secondary-stage .training-node{position:relative;top:auto!important;left:auto;right:auto;margin:0;width:100%;height:auto;min-height:0;border-radius:22px}
#canvas .secondary-stage .node-content{padding:32px}
#canvas #ai .node-content{display:block;height:auto}
#canvas #ai .ai-section-icon{margin-bottom:20px;width:32px;height:32px}
#canvas #ai h2,#canvas #training h2{font-size:31px;line-height:1.15;letter-spacing:-1px;margin:0 0 22px}
#canvas #ai p{font-size:16px;line-height:1.75;margin:0 0 20px;color:#bfccd6}
#canvas #ai .ai-detail-link{font-size:14px;line-height:1.5;margin-top:4px}
#canvas #training p{display:block;font-size:14px;line-height:1.8;color:#bfccd6;margin:0 0 16px}
.training-topics{padding:0;margin:24px 0;list-style:none}
.training-topics li{padding-top:18px;border-top:1px solid #bed1e01f;margin-top:18px}
#canvas .training-topics h3,#detail-content .training-topics h3{font-size:16px;font-weight:400;line-height:1.4;margin:0 0 7px}
.training-result{color:#dde4e9!important}
#canvas #speaking{position:relative;top:auto;left:auto;right:auto;width:100%;height:auto;margin:0 0 64px;border-radius:22px}
#canvas #speaking .node-content{padding:32px}
#canvas #speaking h2{font-size:31px;max-width:none;margin:0 0 18px}
#canvas #speaking .node-content>p{display:block;font-size:15px;line-height:1.75;color:#bfccd6;max-width:760px;margin:0}
.material-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.material-list>li{border-top:1px solid #d4e4ee26;padding-top:20px}
.material-list>li>span{display:block;color:#96a8b8;font-size:11px;line-height:1.5;margin-bottom:12px}
#canvas .material-list h3,#detail-content .material-list h3{font-size:20px;font-weight:400;line-height:1.4;margin:0 0 12px}
.material-list a{color:#e4c09f;text-decoration:underline;text-decoration-color:#e4c09f55;text-underline-offset:5px}
.material-list a:hover{text-decoration-color:currentColor}
#canvas .material-list p{font-size:14px;line-height:1.75;color:#b7c4cf;margin:0}
#canvas .contact-footer{margin:0;width:100%;min-height:280px;padding:38px 40px}
#canvas .port{display:none}
#canvas [data-port="experience-out"],#canvas [data-port="expertise-training-in"],#canvas [data-port="ai-out"],#canvas [data-port="training-in"]{display:block;top:50%}
#canvas .connections{z-index:0;pointer-events:none}
#canvas .wire{stroke:#c59b78;stroke-width:1;opacity:1}
#canvas #wire-lines{opacity:.28}
#detail-content .career-timeline{margin-top:28px;margin-bottom:40px}
#detail-content .material-list{grid-template-columns:1fr;gap:0;margin-bottom:10px}
#detail-content .material-list>li{margin-top:20px}
#detail-content .material-list p,#detail-content .training-topics p{font-size:14px;line-height:1.8}
.case-context h3,#detail-content .case-context h3{font-size:13px;font-weight:500;color:#dcba99;margin:22px 0 8px}
.case-context p{font-size:15px;line-height:1.75;color:#bdcbd5;margin:0 0 16px}
.case-context .case-credit{font-size:12px;color:#9cabb8;border-top:1px solid #cbd8e122;padding-top:16px;margin-top:25px}
.source-link{font-size:12px;color:#d7b797;text-decoration:underline;text-underline-offset:4px}
#player-context{padding-top:2px}
.gallery-track .gallery-card{background:#101923}
.gallery-sheen{display:none}
.gallery-track .gallery-card-copy p{font-size:13px;line-height:1.65;max-height:190px;overflow:auto;overscroll-behavior:contain}
.deck .card:not(.gallery-entry):not(.other-projects){background:#141d27}
.deck .profile .panel-role{color:#c9d4dd}
.deck{overflow:clip}
@media(max-width:960px){.material-list{grid-template-columns:1fr}.case-context p{font-size:14px}}
@media(max-width:600px){#detail-content{padding:25px 23px}#detail-content .career-timeline>li{padding-left:18px}#detail-content .career-timeline h3{font-size:22px}#detail-content .career-period{font-size:12px!important}#detail-content .career-projects li{font-size:12px}#detail-content>.career-timeline+h2{margin-top:42px}#detail-content .material-list h3{font-size:18px}.ai-page .ai-overview h1{font-size:40px}.ai-page-grid article{background:#111b27}.ai-page .ai-contact{background:#101923}}
