:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy-950:#061b2e;--navy-900:#082a48;--navy-800:#0b3d69;--navy-700:#0a4f86;--blue-100:#dfeaf5;--blue-50:#f4f8fc;--paper:#fbfdff;--white:#fff;--ink:#172433;--muted:#607184;--line:#082a4824;--line-soft:#082a4817;--gold:#7d602e;--gold-soft:#efe4cf;--shadow:0 18px 48px #082a481a;--shadow-soft:0 10px 26px #082a480e;--motion-fast:.16s;--motion-medium:.36s;--motion-slow:.68s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasis:cubic-bezier(.16, 1, .3, 1);--serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"Source Sans 3", "Aptos", "Segoe UI", "Noto Sans SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 18% 0%, #dfeaf56b, transparent 28rem), linear-gradient(90deg, #082a4807 1px, transparent 1px), linear-gradient(0deg, #082a4805 1px, transparent 1px), var(--paper);font-family:var(--sans);letter-spacing:0;text-rendering:optimizelegibility;background-size:auto,80px 80px,80px 80px;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}svg{flex:none;width:18px;height:18px}main{overflow-x:clip}.route-surface{animation:route-enter var(--motion-slow) var(--ease-emphasis) both}.route-surface[data-route-motion=off],.route-surface[data-route-motion=off]>section,.route-surface[data-route-motion=off]>article,.is-view-transitioning .route-surface,.is-view-transitioning .route-surface>section,.is-view-transitioning .route-surface>article{animation:none!important}html[data-view-transition=project]::view-transition-old(root){animation:project-page-out .22s var(--ease-standard) both}html[data-view-transition=project]::view-transition-new(root){animation:project-page-in .42s var(--ease-emphasis) both}html[data-view-transition=project]::view-transition-group(*){animation-duration:.52s;animation-timing-function:var(--ease-emphasis)}.route-surface[data-reduced-motion=true],.route-surface[data-reduced-motion=true] *{transition:none!important;animation:none!important}.route-surface>section:not(.motion-section),.route-surface>article:not(.motion-section),.motion-section{animation:section-enter var(--motion-medium) var(--ease-standard) both}.route-surface>:nth-child(2){animation-delay:70ms}.route-surface>:nth-child(3){animation-delay:.12s}.route-surface>:nth-child(4){animation-delay:.17s}.motion-section{animation-delay:calc(var(--motion-order,0) * 70ms)}.motion-card{animation:motion-card-enter var(--motion-medium) var(--ease-standard) both;animation-delay:calc(var(--motion-order,0) * 55ms)}@keyframes route-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes section-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes project-page-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:.2;transform:translateY(-8px)scale(.995)}}@keyframes project-page-in{0%{opacity:0;transform:translateY(18px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.site-header{z-index:20;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfdffe6;grid-template-columns:auto 1fr;align-items:center;gap:38px;padding:14px 52px;display:grid;position:sticky;top:0}.brand{min-width:216px;transition:transform var(--motion-fast) var(--ease-standard);align-items:center;gap:12px;display:inline-flex}.brand:hover,.brand:focus-visible{outline:none;transform:translateY(-1px)}.brand img{border:2px solid var(--white);object-fit:cover;width:44px;height:44px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.brand strong,.brand small{display:block}.brand strong{color:var(--navy-900);font-family:var(--serif);line-height:1.1}.brand small{color:var(--muted);font-size:12px}.site-nav{justify-content:space-between;justify-self:end;gap:8px;width:min(820px,100%);display:flex}.site-nav a{min-width:56px;color:var(--muted);text-align:center;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:8px;padding:10px 13px;font-size:14px;position:relative}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-active{color:var(--navy-900);background:#dfeaf5b8;outline:none;transform:translateY(-1px)}.site-nav a.is-active:after{content:"";background:var(--gold);height:1px;position:absolute;bottom:6px;left:12px;right:12px}.scroll-progress{background:var(--navy-900);transform-origin:0;height:3px;transition:transform 80ms linear;position:absolute;bottom:-1px;left:0;right:0}.button{border:1px solid var(--line);color:var(--navy-900);background:var(--white);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.hero{grid-template-columns:minmax(0,1fr) minmax(380px,.56fr);align-items:start;gap:52px;min-height:0;padding:72px 72px 42px;display:grid}.hero-copy{max-width:760px}.hero-copy>*{animation:section-enter var(--motion-slow) var(--ease-emphasis) both}.hero-copy>:first-child{animation-delay:40ms}.hero-copy>:nth-child(2){animation-delay:90ms}.hero-copy>:nth-child(3){animation-delay:.14s}.hero-copy>:nth-child(4){animation-delay:.19s}.hero-copy>:nth-child(5){animation-delay:.24s}.hero-status{color:var(--gold);margin:0 0 18px;font-size:15px;font-weight:800}h1,h2,h3{color:var(--navy-950);margin:0;line-height:1.06}h1,h2{font-family:var(--serif);font-weight:650}h1{max-width:820px;font-size:86px}h2{font-size:46px}h3{font-size:20px}.hero-headline{max-width:760px;color:var(--navy-800);font-family:var(--serif);margin:24px 0 0;font-size:34px;line-height:1.18}.hero-intro,.page-intro p,.section-heading p{max-width:720px;color:var(--muted);font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.button{min-height:48px;transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);padding:0 18px;font-weight:800}.button.primary{color:var(--white);background:var(--navy-800);box-shadow:0 14px 30px #082a4838}.button.secondary{background:var(--blue-50)}.button:hover,.button:focus-visible,.text-link:hover,.text-link:focus-visible{outline:none;transform:translateY(-1px)}.text-link{width:fit-content;color:var(--navy-800);transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);align-items:center;gap:7px;font-weight:800;display:inline-flex}.hero-dossier{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);animation:section-enter var(--motion-slow) var(--ease-emphasis) both;border-radius:8px;align-self:start;gap:14px;padding:16px;animation-delay:.18s;display:grid}.portrait-frame{aspect-ratio:1.65;background:var(--navy-900);border-radius:6px;min-height:0;display:grid;position:relative;overflow:hidden}.portrait-frame:after{content:"";background:linear-gradient(#0000,#061b2e94);height:34%;position:absolute;inset:auto 0 0}.portrait-frame img{object-fit:cover;width:100%;height:100%}.dossier-copy{gap:4px;padding:0 2px;display:grid}.dossier-copy span,.signal-band span,.role-head span,.project-meta,.time,.muted{color:var(--muted)}.dossier-copy strong{color:var(--navy-900);font-size:15px;line-height:1.45}.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-list.compact{grid-template-columns:1fr;gap:8px}.hero-dossier .contact-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-item{grid-template-columns:1fr;gap:8px;display:grid}.contact-item a{border:1px solid var(--line);background:var(--blue-50);border-radius:8px;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;transition:border-color .18s,transform .18s;display:grid}.contact-item a:hover,.contact-item a:focus-visible,.contact-item a.is-copied{border-color:#082a485c;outline:none;transform:translateY(-1px)}.contact-item a.is-copied svg:last-child{color:var(--gold)}.contact-item strong,.contact-item small{min-width:0;display:block}.contact-item strong{color:var(--navy-900);font-size:13px}.contact-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.contact-list.compact .contact-item{grid-template-columns:1fr}.hero-dossier .contact-item a{grid-template-columns:18px minmax(0,1fr) 14px;min-height:46px;padding:8px 10px}.hero-dossier .contact-item strong,.site-footer .contact-item strong{font-size:12px}.hero-dossier .contact-item small,.site-footer .contact-item small{font-size:11px}.evidence-strip{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:repeat(3,1fr);margin:0 72px;display:grid;overflow:hidden}.evidence-strip article{border-right:1px solid var(--line);min-height:122px;padding:24px}.evidence-strip article:last-child{border-right:0}.evidence-strip span{color:var(--muted)}.evidence-strip strong{color:var(--navy-900);margin-top:8px;font-size:18px;line-height:1.35;display:block}.section-block,.page-intro,.timeline,.experience-panel,.project-detail-list,.skills-grid,.cv-panel,.narrative-grid,.note-panel,.signal-band,.contact-page-panel{width:min(1180px,100% - 40px);margin:0 auto}.section-block{padding:92px 0}.section-block.compact{padding:34px 0 24px}.section-heading{grid-template-columns:minmax(260px,.78fr) minmax(300px,1.22fr);gap:34px;margin-bottom:34px;display:grid}.section-eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800;display:block}.project-grid,.principle-grid,.course-grid,.skills-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:18px;display:grid}.project-card,.principle-grid article,.course-grid article,.skills-grid article,.essay-panel,.experience-panel,.cv-panel,.note-panel,.contact-page-panel{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);transition:border-color var(--motion-fast) var(--ease-standard), filter var(--motion-medium) var(--ease-standard), box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);border-radius:8px}.project-card:hover,.project-card:focus-within,.principle-grid article:hover,.course-grid article:hover,.skills-grid article:hover{border-color:#082a4842;transform:translateY(-2px);box-shadow:0 18px 42px #082a4817}.project-grid:hover .project-card:not(:hover),.project-grid:focus-within .project-card:not(:focus-within){filter:saturate(.7)brightness(.9)contrast(.96)}.project-card,.principle-grid article,.course-grid article,.skills-grid article{padding:20px}.project-card h3{margin-top:4px}.project-card{flex-direction:column;gap:14px;height:100%;display:flex}.project-card p,.principle-grid p,.course-grid p,.experience-panel li,dd{color:var(--muted)}.project-card a{color:var(--navy-800);align-self:end;align-items:center;gap:4px;margin-top:auto;font-weight:800;display:inline-flex}.project-card>p{min-height:112px}.project-visual{min-height:190px;color:var(--white);background:linear-gradient(135deg, #ffffff14, transparent 42%), linear-gradient(150deg, var(--navy-950), var(--navy-800));transition:box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);border:1px solid #ffffff1f;border-radius:6px;grid-template-rows:auto 1fr auto;align-content:stretch;padding:18px;display:grid;position:relative;overflow:hidden}.project-visual-index{z-index:2;color:#ffffff7a;font-family:var(--serif);font-size:18px;line-height:1;position:absolute;top:16px;right:18px}.project-visual-label{z-index:3;max-width:88%;font-family:var(--serif);grid-row:3;align-self:end;font-size:21px;line-height:1.14;position:relative}.project-visual-motif{z-index:1;width:calc(100% - 36px);height:calc(100% - 86px);position:absolute;inset:42px 18px 44px;overflow:visible}.project-visual-motif path,.project-visual-motif rect,.project-visual-motif circle{vector-effect:non-scaling-stroke}.motif-grid-lines path{fill:none;stroke:#ffffff1a;stroke-width:1px}.regression-band,.uncertainty-band{opacity:.24;fill:#dfeaf557}.regression-path,.finance-path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:motif-line-draw 7.2s var(--ease-emphasis) infinite;will-change:stroke-dashoffset, transform, opacity}.regression-path.primary,.finance-path.path-mid{stroke:#ffffffdb;stroke-width:3px}.regression-path.candidate,.finance-path.path-low,.finance-path.path-high{stroke:#efe4cf85;stroke-width:1.6px}.regression-path.candidate-two{animation-delay:.42s}.finance-path{animation-name:motif-line-draw,finance-path-drift;animation-duration:7.6s,6.8s;animation-timing-function:var(--ease-emphasis), ease-in-out;animation-iteration-count:infinite}.finance-path.path-low{animation-delay:.32s,0s}.finance-path.path-high{animation-delay:.64s,0s}.data-points circle,.finance-nodes circle{opacity:0;fill:#efe4cfe6;stroke:#061b2e75;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:7.2s ease-in-out infinite motif-point-in}.data-points circle:nth-child(2),.finance-nodes circle:nth-child(2){animation-delay:.16s}.data-points circle:nth-child(3),.finance-nodes circle:nth-child(3){animation-delay:.32s}.data-points circle:nth-child(4),.finance-nodes circle:nth-child(4){animation-delay:.48s}.data-points circle:nth-child(5){animation-delay:.64s}.data-points circle:nth-child(6){animation-delay:.8s}.data-points circle:nth-child(7){animation-delay:.96s}.data-points circle:nth-child(8){animation-delay:1.12s}.poster-panels rect{opacity:.18;fill:#f4f8fc2e;stroke:#ffffff2e;stroke-width:1px;animation:8s ease-in-out infinite poster-panel-cycle}.poster-panels rect:nth-child(2){animation-delay:.36s}.poster-panels rect:nth-child(3){animation-delay:.72s}.motif-axis-labels text{fill:#ffffff7a;font-family:var(--sans);letter-spacing:.02em;font-size:11px;font-weight:700}@keyframes motif-line-draw{0%{opacity:.34;stroke-dashoffset:1px}36%,82%{opacity:1;stroke-dashoffset:0}to{opacity:.42;stroke-dashoffset:1px}}@keyframes motif-point-in{0%,18%{opacity:0;transform:translateY(4px)scale(.76)}34%,82%{opacity:.92;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-2px)scale(.88)}}@keyframes finance-path-drift{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes poster-panel-cycle{0%,to{opacity:.14;transform:translateY(0)}36%,76%{opacity:.34;transform:translateY(-2px)}}.project-visual:before,.project-visual:after{content:"";opacity:.38;transition:opacity var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);position:absolute}.project-card:hover .project-visual,.project-detail:hover .project-visual,.project-detail-hero-grid:hover .project-visual{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff1f}.project-card:hover .project-visual:before,.project-card:hover .project-visual:after,.project-detail:hover .project-visual:before,.project-detail:hover .project-visual:after,.project-detail-hero-grid:hover .project-visual:before,.project-detail-hero-grid:hover .project-visual:after{opacity:.52;transform:translateY(-5px)}.motif-1:before{background-color:#0000;background-image:linear-gradient(90deg,#ffffff24 1px,#0000 1px),linear-gradient(0deg,#ffffff1f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:46px 22px 34px}.motif-1:after{border-top:2px solid #ffffffb8;height:44px;bottom:48px;left:0;right:0;transform:skewY(-8deg)}.motif-2:before{border:1px solid #ffffff85;border-radius:50%;width:260px;height:260px;top:-82px;right:-80px;box-shadow:inset 0 0 0 22px #ffffff12}.motif-2:after{background:linear-gradient(90deg,#0000,#ffffffd1,#0000);height:2px;bottom:72px;left:22px;right:22px}.motif-3:before{background:radial-gradient(circle at 20% 20%,#fff 0 3px,#0000 4px),radial-gradient(circle at 80% 30%,#fff 0 3px,#0000 4px),radial-gradient(circle at 35% 76%,#fff 0 3px,#0000 4px),radial-gradient(circle at 72% 72%,#fff 0 3px,#0000 4px);inset:42px 32px}.motif-3:after{border-top:1px solid #ffffff8a;border-left:1px solid #ffffff52;inset:68px 58px;transform:rotate(11deg)}.project-meta{flex-wrap:wrap;gap:8px;margin-top:14px;font-size:13px;display:flex}.project-meta span{border:1px solid var(--line);color:var(--navy-800);background:var(--blue-50);border-radius:8px;padding:4px 8px;font-weight:650}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.metric-item{border-left:2px solid var(--gold);min-width:0;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:linear-gradient(90deg,#b493581f,#f4f8fcb8);padding:12px}.metric-item:hover{background:linear-gradient(90deg,#7d602e29,#f4f8fce6);transform:translateY(-1px)}.metric-item span,.metric-item strong{display:block}.metric-item span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.metric-item strong{color:var(--navy-950);margin-top:4px;font-size:14px;line-height:1.25}.evidence-pills{flex-wrap:wrap;gap:8px;margin:2px 0 18px;display:flex}.evidence-pills span{color:var(--gold);background:#efe4cf57;border:1px solid #7d602e47;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.signal-band{color:var(--white);background:var(--navy-900);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:.72fr 1.28fr;gap:32px;margin-bottom:80px;padding:48px;display:grid}.signal-band.light{color:var(--ink);background:var(--white)}.signal-band h2,.signal-band span{color:inherit}.signal-list{gap:14px;display:grid}.signal-list p{color:inherit;align-items:flex-start;gap:12px;margin:0;display:flex}.page-intro{padding:96px 0 42px}.page-intro h1{max-width:900px;font-size:62px}.narrative-grid{grid-template-columns:320px 1fr;gap:22px;display:grid}.portrait-panel{width:min(100%,360px);color:var(--white);background:var(--navy-900);box-shadow:var(--shadow-soft);border-radius:8px;place-self:start;padding:18px}.portrait-panel img{aspect-ratio:1;object-fit:cover;border-radius:6px;width:100%;height:auto}.portrait-panel span{color:#ffffffd1;margin-top:14px;font-size:14px;display:block}.essay-panel{border-left:3px solid #7d602e47;padding:44px}.essay-panel p{margin:0 0 18px;font-size:18px}.essay-panel p:last-child{margin-bottom:0}.timeline{gap:22px;margin-bottom:24px;display:grid;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:168px}.timeline article{grid-template-columns:150px 1fr;gap:36px;display:grid}.school-card{border:1px solid var(--line);background:var(--white);border-radius:8px;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:26px;padding:28px;display:grid;position:relative}.school-card:before{content:"";border:4px solid var(--white);background:var(--gold);border-radius:50%;width:17px;height:17px;position:absolute;top:34px;left:-45px}.school-copy{min-width:0}.school-image{background:var(--navy-900);border-radius:6px;min-height:188px;margin:0;position:relative;overflow:hidden}.school-image img{object-fit:cover;width:100%;height:100%;min-height:188px;display:block}.school-image figcaption{color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#071a2dbd;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:11px;line-height:1.25;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.school-image a{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.experience-panel{border-top:3px solid #7d602e57;margin-bottom:30px;padding:46px 42px 42px}.role-head{border-bottom:1px solid var(--line);gap:18px;padding-bottom:28px;display:grid}.role-meta{justify-content:space-between;align-items:center;gap:18px;display:flex}.role-meta time{color:var(--navy-700);white-space:nowrap;font-weight:800}.role-title{max-width:780px}.role-title h2{font-size:42px;line-height:1.14}.role-title h2 a{color:var(--navy-950);transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);align-items:baseline;gap:12px;text-decoration:none;display:inline-flex}.role-title h2 a:hover,.role-title h2 a:focus-visible{color:var(--navy-800);outline:none;transform:translateY(-1px)}.role-title h2 a svg{width:18px;height:18px;color:var(--gold);flex:none;transform:translateY(-.08em)}.role-title p{color:var(--navy-950);margin:10px 0 0;font-weight:800}.experience-panel ul{gap:16px;margin:28px 0 0;padding-left:20px;display:grid}.experience-panel li::marker{color:var(--gold)}.role-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px;display:grid}.role-proof-grid article{border:1px solid var(--line-soft);background:linear-gradient(#f4f8fc9e,#fffffff5);border-top:2px solid #7d602e4d;border-radius:8px;min-height:146px;padding:18px}.role-proof-grid span{color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.role-proof-grid p{color:var(--navy-900);margin:10px 0 0;font-size:14px;line-height:1.5}.project-detail-list{gap:24px;margin-bottom:28px;display:grid}.project-index,.project-detail-hero,.project-scroll-story,.case-study-grid,.evidence-deck,.evidence-lab,.project-boundary{width:min(1180px,100% - 40px);margin:0 auto}.project-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.project-index a{border:1px solid var(--line);min-height:132px;box-shadow:var(--shadow-soft);background:#ffffffc2;border-radius:8px;grid-template-columns:48px minmax(0,1fr);gap:8px 16px;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.project-index a:hover,.project-index a:focus-visible{box-shadow:var(--shadow);border-color:#082a484d;outline:none;transform:translateY(-2px)}.project-index span{color:var(--gold);font-family:var(--serif);grid-row:1/3;font-size:30px;line-height:1}.project-index strong{color:var(--navy-950);font-family:var(--serif);font-size:24px;line-height:1.12}.project-index small{color:var(--muted);font-size:14px;line-height:1.45}.project-detail{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffe6;border-radius:8px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:24px;padding:18px;display:grid;position:relative}.project-detail:before{content:"";background:#efe4cfa3;width:1px;position:absolute;top:18px;bottom:18px;left:18px}.project-detail>div{align-content:start;display:grid}.project-detail h2{margin-top:12px}.project-summary{max-width:740px;color:var(--muted);margin:14px 0 0;font-size:16px}dl{gap:14px;display:grid}dt{color:var(--navy-800);font-weight:800}dd{margin:3px 0 0}.project-detail .text-link{margin-top:18px}.project-detail-hero{padding:58px 0 34px}.back-link{margin-bottom:22px}.back-link svg{transform:rotate(180deg)}.project-detail-hero-grid{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(120deg,#f4f8fcb8,#0000 38%),#ffffffeb;border-radius:8px;grid-template-columns:minmax(320px,.66fr) minmax(0,1.34fr);align-items:stretch;gap:28px;padding:22px;display:grid}.project-detail-hero .project-visual{min-height:320px}.project-detail-copy{align-content:center;min-width:0;padding:8px 12px 8px 4px;display:grid}.project-detail-copy h1{margin-top:16px;font-size:56px}.project-detail-copy p{max-width:740px;color:var(--muted);font-size:18px}.project-scroll-story{grid-template-columns:minmax(340px,.68fr) minmax(0,1.32fr);align-items:stretch;gap:24px;margin-bottom:26px;display:grid}.story-figure{align-self:stretch;min-width:0}.story-figure-sticky{border:1px solid var(--line);max-height:calc(100vh - 112px);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#f4f8fcc2,#0000 42%),#fffffff0;border-top:2px solid #7d602e57;border-radius:8px;gap:12px;padding:20px;display:grid;position:sticky;top:94px;overflow:hidden}.story-figure-sticky h2{font-size:34px}.story-figure-sticky .project-visual{min-height:178px}.story-active-note{border-left:2px solid var(--gold);background:linear-gradient(90deg,#7d602e14,#f4f8fc6b);align-content:start;min-height:124px;padding:14px;display:grid}.story-active-note span{color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.story-active-note strong{color:var(--navy-950);font-family:var(--serif);margin-top:6px;font-size:22px;line-height:1.12;display:block}.story-active-note p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.46}.story-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.story-rail li:last-child{grid-column:1/-1}.story-rail button{width:100%;min-height:42px;color:var(--muted);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:8px 9px;display:grid}.story-rail button:hover,.story-rail button:focus-visible,.story-rail button.is-active{color:var(--navy-950);background:#f4f8fcd6;border-color:#082a4824;outline:none;transform:translate(2px)}.story-rail span{color:var(--gold);font-family:var(--serif);font-size:16px}.story-rail strong{font-size:13px}.story-steps{gap:14px;display:grid}.story-step{border:1px solid var(--line);min-height:214px;box-shadow:var(--shadow-soft);transition:border-color var(--motion-medium) var(--ease-standard), box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);background:#ffffffe0;border-left:3px solid #7d602e2e;border-radius:8px;padding:26px 28px;transform:translateY(4px)}.story-step.is-active{border-color:#082a482e;border-left-color:var(--gold);transform:translateY(0);box-shadow:0 18px 42px #082a4814}.story-step h3{max-width:760px;color:var(--navy-950);font-family:var(--serif);margin-top:12px;font-size:38px;line-height:1.08}.story-step p{max-width:760px;color:var(--ink);margin:14px 0 0;font-size:17px;line-height:1.58}.story-step small{border-top:1px solid var(--line-soft);max-width:760px;color:var(--muted);margin-top:18px;padding-top:14px;font-size:14px;line-height:1.55;display:block}.case-study-grid{grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:22px;margin-bottom:24px;display:grid}.case-panel,.evidence-deck,.evidence-lab,.project-boundary article{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#ffffffeb;border-radius:8px}.case-panel{padding:30px}.narrative dl{gap:0}.narrative dl div{border-top:1px solid var(--line-soft);grid-template-columns:132px minmax(0,1fr);gap:20px;padding:18px 0;display:grid}.narrative dl div:first-child{border-top:0}.narrative dt{color:var(--gold);text-transform:uppercase;font-size:12px}.narrative dd{color:var(--ink);margin:0}.method-stack ul{gap:16px;margin:0;padding:0;list-style:none;display:grid}.method-stack li{border-top:1px solid var(--line-soft);color:var(--navy-900);grid-template-columns:18px minmax(0,1fr);gap:10px;padding-top:14px;display:grid}.method-stack li:first-child{border-top:0;padding-top:0}.method-stack svg{color:var(--gold);margin-top:4px}.evidence-deck{border-top:3px solid #7d602e6b;gap:20px;margin-bottom:24px;padding:30px;display:grid}.evidence-deck-head{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:end;gap:24px;display:grid}.evidence-deck-head h2{font-size:38px}.evidence-deck-head p{color:var(--muted);margin:0;font-size:16px}.evidence-artifact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.evidence-artifact{border:1px solid var(--line-soft);min-height:190px;transition:border-color var(--motion-fast) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);background:linear-gradient(#f4f8fca3,#fffffffa);border-top:2px solid #7d602e57;border-radius:8px;padding:20px 20px 22px}.evidence-artifact:hover{border-color:#7d602e61;transform:translateY(-2px)}.evidence-artifact span{color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:900;display:block}.evidence-artifact h3{color:var(--navy-950);font-family:var(--serif);margin-top:12px;font-size:24px;line-height:1.12}.evidence-artifact p{color:var(--muted);margin:12px 0 0;font-size:14px}.reviewer-checklist{background:linear-gradient(90deg,#7d602e14,#0000),#ffffffb8;border:1px solid #7d602e3d;border-radius:8px;padding:18px}.reviewer-checklist ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.reviewer-checklist li{color:var(--navy-900);grid-template-columns:18px minmax(0,1fr);gap:9px;font-size:14px;display:grid}.reviewer-checklist svg{color:var(--gold);margin-top:3px}.evidence-lab{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px;margin-bottom:24px;padding:30px;display:grid}.evidence-lab h2{font-size:38px}.evidence-lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.evidence-lab-grid article{border:1px solid var(--line-soft);background:#f4f8fcb8;border-radius:8px;min-height:172px;padding:18px}.evidence-lab-grid strong{color:var(--navy-900);display:block}.evidence-lab-grid p,.project-boundary p{color:var(--muted);margin:8px 0 0}.project-boundary{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:86px;display:grid}.project-boundary article{border-top:2px solid #7d602e4d;padding:24px}.note-panel{color:var(--navy-900);align-items:flex-start;gap:14px;margin-bottom:76px;padding:22px;display:flex}.note-panel p{margin:0}.skills-grid{grid-template-columns:repeat(2,1fr);padding-bottom:84px}.skills-grid article{border-top:2px solid #7d602e3d;align-content:start;gap:20px;min-height:202px;padding:26px 22px 24px;display:grid}.skill-card-head{border-bottom:1px solid var(--line-soft);align-content:start;gap:8px;min-height:138px;padding-bottom:18px;display:grid}.skill-card-head span{color:var(--gold);font-size:12px;font-weight:800}.skill-card-head h2{font-size:42px;line-height:1.1}.skill-evidence{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;margin:0;font-size:14px;line-height:1.55;display:grid}.skill-evidence svg{color:var(--gold);margin-top:3px}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;padding:0;list-style:none;display:grid}.skill-list li{color:var(--navy-900);padding-left:16px;font-size:15px;line-height:1.45;position:relative}.skill-list li:before{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:.72em;left:0}.cv-panel{grid-template-columns:1.2fr .8fr;gap:24px;margin-bottom:90px;padding:42px;display:grid}.cv-head{justify-content:space-between;align-items:center;gap:16px;display:flex}table{border-collapse:collapse;width:100%;margin-top:18px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:15px 0}th{width:34%;color:var(--navy-800)}td{color:var(--muted)}.cv-panel aside,.contact-page-panel aside{color:var(--white);background:var(--navy-900);border-radius:8px;align-self:start;padding:22px}.cv-panel aside svg,.contact-page-panel aside svg{width:32px;height:32px;color:var(--gold-soft)}.contact-page-panel{grid-template-columns:1.2fr .8fr;gap:24px;margin-bottom:90px;padding:24px;display:grid}.contact-page-panel .contact-list{grid-template-columns:1fr}.site-footer{color:#ffffffc2;background:var(--navy-950);border-top:1px solid #ffffff1f;grid-template-columns:minmax(200px,.55fr) minmax(0,2.2fr) auto;align-items:center;gap:20px;padding:24px 56px;display:grid}.site-footer strong{color:var(--white);font-family:var(--serif)}.site-footer p{margin:6px 0 0}.site-footer .contact-item a{min-height:44px;color:var(--white);background:#ffffff0f;border-color:#ffffff1f;grid-template-columns:18px minmax(0,1fr) 14px;padding:8px 10px}.site-footer .contact-list.compact{grid-template-columns:repeat(6,minmax(104px,1fr));gap:8px}.site-footer .contact-item strong,.site-footer .contact-item small{color:#ffffffd1}.footer-meta{text-align:right;gap:6px;min-width:148px;display:grid}@media (width<=1120px){.site-header{grid-template-columns:1fr auto;padding:14px 28px}.site-nav{grid-column:1/-1;justify-content:flex-start;justify-self:stretch;gap:6px;width:100%;padding-bottom:2px;overflow-x:auto}.hero{grid-template-columns:1fr;min-height:0;padding:56px 32px 36px}.hero-dossier{grid-template-columns:260px 1fr;align-items:center}.hero-dossier .contact-list{grid-column:1/-1}.portrait-frame{min-height:260px}.evidence-strip{margin:0 32px}.site-footer{grid-template-columns:1fr;padding:28px 32px}.site-footer .contact-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-meta{text-align:left}}@media (width<=900px){h1{font-size:64px}h2{font-size:38px}.hero-headline{font-size:28px}.skill-card-head h2{font-size:38px}.evidence-strip,.section-heading,.signal-band,.narrative-grid,.project-detail,.project-index,.project-detail-hero-grid,.project-scroll-story,.case-study-grid,.evidence-deck-head,.evidence-lab,.project-boundary,.cv-panel,.contact-page-panel{grid-template-columns:1fr}.project-grid,.principle-grid,.course-grid,.skills-grid,.role-proof-grid,.evidence-artifact-grid,.reviewer-checklist ul,.evidence-lab-grid,.contact-list{grid-template-columns:1fr 1fr}.project-detail-copy h1{font-size:44px}.story-figure-sticky{max-height:none;position:static;overflow:visible}.story-step{opacity:1;min-height:0;transform:none}.story-step h3{font-size:36px}.narrative dl div{grid-template-columns:1fr;gap:6px}.timeline:before{left:10px}.timeline article{grid-template-columns:1fr;gap:10px;padding-left:36px}.school-card{grid-template-columns:1fr}.school-card:before{left:-35px}}@media (width<=640px){.site-header{row-gap:10px;padding:12px 14px}.brand{min-width:0}.brand small{display:none}.site-nav{grid-template-columns:repeat(4,max-content);justify-content:start;gap:4px 6px;width:100%;display:grid;overflow-x:auto}.site-nav a{padding:7px 9px;font-size:13px}.hero{gap:28px;padding:32px 16px 30px}h1{font-size:46px}h2,.page-intro h1{font-size:34px}.hero-headline{font-size:24px}.skill-card-head h2{font-size:34px}.skill-list{grid-template-columns:1fr}.hero-actions,.role-head{display:grid}.button{width:100%}.hero-dossier{grid-template-columns:1fr}.portrait-frame{min-height:280px}.contact-list,.project-grid,.principle-grid,.course-grid,.skills-grid,.role-proof-grid,.evidence-artifact-grid,.reviewer-checklist ul,.metric-strip,.evidence-lab-grid{grid-template-columns:1fr}.project-index a{grid-template-columns:1fr;min-height:0}.project-index span{grid-row:auto}.project-detail-hero,.project-detail-list,.project-scroll-story,.case-study-grid,.evidence-deck,.evidence-lab,.project-boundary{width:min(100% - 32px,1180px)}.project-detail-hero-grid,.story-figure-sticky,.story-step,.case-panel,.evidence-deck,.evidence-lab,.project-boundary article{padding:22px}.story-rail{grid-template-columns:none;grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;padding-bottom:2px;overflow-x:auto}.story-rail li:last-child{grid-column:auto}.story-rail button{grid-template-columns:1fr;gap:2px;min-height:68px;transform:none}.story-rail button:hover,.story-rail button:focus-visible,.story-rail button.is-active{transform:none}.story-step h3{font-size:30px}.story-step p{font-size:16px}.project-card>p,.skill-card-head{min-height:0}.project-detail-copy h1{font-size:36px}.essay-panel{border-left-width:2px}.hero-dossier .contact-list.compact,.site-footer .contact-list.compact{grid-template-columns:1fr}.school-card{gap:18px;padding:22px}.school-image,.school-image img{min-height:180px}.school-image figcaption{flex-wrap:wrap;padding:6px 8px;font-size:10px;bottom:8px;left:8px;right:8px}.contact-item{grid-template-columns:1fr}.evidence-strip{grid-template-columns:1fr;margin:0 16px}.evidence-strip article{border-right:0;border-bottom:1px solid var(--line)}.evidence-strip article:last-child{border-bottom:0}.section-block,.page-intro{padding-top:56px}.essay-panel,.experience-panel,.cv-panel{padding:24px}th,td{width:100%;display:block}td{padding-top:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@media print{body{background:var(--white)}.site-header,.site-footer,.print-action{display:none}main{overflow:visible}.page-intro,.cv-panel{width:100%;margin:0}.page-intro{padding:24px 0 18px}.cv-panel{box-shadow:none;border:0;padding:0;display:block}.cv-panel aside{color:var(--ink);border:1px solid var(--line);background:0 0;margin-top:20px}}
