@charset "UTF-8";@media screen{:root[data-theme=dark]{--color-bg: #0a0f1d;--color-bg-deep: #080c17;--color-surface: #111a2d;--color-surface-raised: #162137;--color-surface-soft: #1a2640;--color-ink: #f2f3fb;--color-slate: #c6ccdc;--color-slate-soft: #929bb0;--color-muted: #707b93;--color-accent: #a78bfa;--color-accent-bright: #c4b5fd;--color-accent-soft: rgba(139, 92, 246, .16);--color-accent-deep: #6d4fd1;--color-line: rgba(148, 163, 184, .13);--color-line-strong: rgba(167, 139, 250, .42);--color-focus: #ddd6fe;--color-success: #9f9bf6;--color-glow: rgba(109, 79, 209, .13);--color-glow-alt: rgba(71, 85, 125, .1);--color-header: rgba(10, 15, 29, .78);--color-sidebar: rgba(11, 16, 31, .72);--avatar-start: #8b7be8;--avatar-mid: #4932a8;--avatar-end: #271d64;--page-decoration: radial-gradient(circle at 82% 3%, rgba(109, 79, 209, .13), transparent 30rem), radial-gradient(circle at 22% 0%, rgba(71, 85, 125, .1), transparent 28rem);--page-decoration-size: auto;--card-gradient: linear-gradient(145deg, var(--color-surface-raised), var(--color-surface))}}@media screen{:root[data-theme=light]{--color-bg: #f2f4fa;--color-bg-deep: #e9edf5;--color-surface: #ffffff;--color-surface-raised: #f7f8fc;--color-surface-soft: #eef0f8;--color-ink: #182035;--color-slate: #46506a;--color-slate-soft: #64708b;--color-muted: #7b849a;--color-accent: #7250d5;--color-accent-bright: #6442c7;--color-accent-soft: rgba(114, 80, 213, .11);--color-accent-deep: #5636ae;--color-line: rgba(60, 73, 105, .15);--color-line-strong: rgba(114, 80, 213, .42);--color-focus: #5636ae;--color-glow: rgba(114, 80, 213, .1);--color-glow-alt: rgba(71, 85, 125, .06);--color-header: rgba(242, 244, 250, .84);--color-sidebar: rgba(233, 237, 245, .88);--avatar-start: #8b7be8;--avatar-mid: #7250d5;--avatar-end: #35206e;--page-decoration: linear-gradient(135deg, rgba(114, 80, 213, .06), transparent 40%), linear-gradient(90deg, rgba(60, 73, 105, .04) 1px, transparent 1px), linear-gradient(0deg, rgba(60, 73, 105, .04) 1px, transparent 1px);--page-decoration-size: auto, 32px 32px, 32px 32px;--card-gradient: linear-gradient(145deg, var(--color-surface-raised), var(--color-surface));--shadow-soft: 0 24px 80px rgba(57, 68, 99, .13)}}@media screen{:root[data-theme=vault] h1,:root[data-theme=vault] h2,:root[data-theme=vault] h3,:root[data-theme=vault] .eyebrow,:root[data-theme=vault] .nav-links,:root[data-theme=vault] .theme-picker,:root[data-theme=vault] .sidebar-section h2{font-family:Impact;letter-spacing:.045em}:root[data-theme=vault] h1{font-size:clamp(2.15rem,4vw,3.25rem);line-height:1.02}:root[data-theme=vault] body{font-family:"Arial Narrow","Roboto Condensed",var(--font-body);background-image:var(--page-decoration),linear-gradient(180deg,rgba(11,43,72,.4),transparent 30rem)}:root[data-theme=vault] .profile-sidebar{border-right:3px solid var(--color-accent-deep);box-shadow:inset -8px 0 #f5b91f0d}:root[data-theme=vault] .sidebar-inner{padding-top:2.25rem}:root[data-theme=vault] .avatar{border:3px solid var(--color-accent);box-shadow:0 0 0 5px #f5b91f1a,0 12px 30px #0000004d}:root[data-theme=vault] .site-header{border-bottom:3px solid var(--color-accent-deep)}:root[data-theme=vault] .nav-links a{text-transform:uppercase}:root[data-theme=vault] .eyebrow{display:flex;align-items:center;gap:.45rem}:root[data-theme=vault] .eyebrow:before{content:"▣";color:var(--color-accent);font-size:.7em}:root[data-theme=vault] .content-section{position:relative}:root[data-theme=vault] .section-heading{padding-bottom:.65rem;border-bottom:2px solid var(--color-accent-deep)}:root[data-theme=vault] .section-heading h2{color:var(--color-accent-bright)}:root[data-theme=vault] .metric-card,:root[data-theme=vault] .contact-card,:root[data-theme=vault] .role-card,:root[data-theme=vault] .education-card,:root[data-theme=vault] .project-card,:root[data-theme=vault] .skills-grid,:root[data-theme=vault] .case-study-card{border:2px solid rgba(245,185,31,.38);border-radius:3px;box-shadow:inset 0 0 0 2px #0f3b5c8c,0 12px 28px #0003}:root[data-theme=vault] .role-card,:root[data-theme=vault] .education-card,:root[data-theme=vault] .project-card,:root[data-theme=vault] .case-study-card{position:relative}:root[data-theme=vault] .role-card:after,:root[data-theme=vault] .education-card:after,:root[data-theme=vault] .project-card:after,:root[data-theme=vault] .case-study-card:after{content:"•";position:absolute;right:.45rem;bottom:.25rem;color:var(--color-accent-deep);font-size:.8rem}:root[data-theme=vault] .role-badge,:root[data-theme=vault] .project-badge{border:2px solid var(--color-accent);border-radius:2px;background:var(--color-accent);color:#071426;font-family:var(--font-mono);font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}:root[data-theme=vault] .tag-list li{border:1px solid var(--color-accent-deep);border-radius:2px;background:#f5b91f1a;color:var(--color-accent-bright)}:root[data-theme=vault] .timeline-rail{border-left:2px solid var(--color-accent-deep)}:root[data-theme=vault] .timeline-dot{border:2px solid var(--color-accent);border-radius:1px;background:var(--color-bg);transform:rotate(45deg)}:root[data-theme=vault] .timeline-role{font-family:Impact,Arial Narrow,sans-serif;letter-spacing:.035em;text-transform:uppercase}:root[data-theme=vault] .skill-card h3{font-family:Impact,Arial Narrow,sans-serif;letter-spacing:.04em;text-transform:uppercase}:root[data-theme=vault] .skill-card li{font-family:"Arial Narrow",var(--font-body)}:root[data-theme=vault] .contact-cta{border:2px solid var(--color-accent);border-radius:3px;background:linear-gradient(90deg,rgba(245,185,31,.18),var(--color-surface-raised))}:root[data-theme=vault] .cta-button,:root[data-theme=vault] .print-button{border-radius:2px;border-width:2px;font-family:Impact,Arial Narrow,sans-serif;letter-spacing:.04em;text-transform:uppercase}:root[data-theme=vault] .theme-picker summary{border:2px solid var(--color-accent-deep);border-radius:2px;font-family:var(--font-mono);text-transform:uppercase}:root[data-theme=vault] .theme-menu{border:2px solid var(--color-accent-deep);border-radius:2px}:root[data-theme=vault] .metric-card,:root[data-theme=vault] .contact-card,:root[data-theme=vault] .role-card,:root[data-theme=vault] .education-card,:root[data-theme=vault] .project-card,:root[data-theme=vault] .skills-grid,:root[data-theme=vault] .case-study-card{border-radius:3px;border-width:2px}:root[data-theme=vault] body{background-color:#071a2c;background-image:linear-gradient(rgba(82,165,214,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(82,165,214,.08) 1px,transparent 1px),linear-gradient(rgba(82,165,214,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(82,165,214,.035) 1px,transparent 1px),linear-gradient(180deg,#0a365899,#06111e 40rem);background-size:64px 64px,64px 64px,16px 16px,16px 16px,auto}:root[data-theme=vault] .profile-sidebar{background:linear-gradient(90deg,transparent calc(100% - 8px),rgba(245,185,31,.14) calc(100% - 8px)),repeating-linear-gradient(0deg,rgba(91,177,220,.025) 0 1px,transparent 1px 8px),linear-gradient(180deg,#0b2a46,#061523);box-shadow:inset -10px 0 #030c16bf,inset -12px 0 #f5b91f14}:root[data-theme=vault] .site-header{background:repeating-linear-gradient(90deg,rgba(91,177,220,.035) 0 1px,transparent 1px 12px),linear-gradient(180deg,#0d3150,#071829);box-shadow:inset 0 -7px #030c168c,0 4px #f5b91f14}:root[data-theme=vault] .content-section,:root[data-theme=vault] .document-sheet{padding-inline:2.5rem;padding-bottom:2.5rem;border:2px solid #2f688c;border-radius:2px;background:linear-gradient(rgba(82,165,214,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(82,165,214,.035) 1px,transparent 1px),linear-gradient(145deg,#0d3654f0,#05121efa);background-size:18px 18px,18px 18px,auto;box-shadow:inset 0 0 0 2px #061321,inset 0 0 0 4px #367ea58c,inset 0 1px #9bdcf933,inset 0 -14px 25px #0006,0 8px 20px #00000080;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}:root[data-theme=vault] .content-section:before{content:"";position:absolute;inset:8px;border:1px solid rgba(245,185,31,.36);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);pointer-events:none}:root[data-theme=vault] .content-section:after{content:"◆";position:absolute;top:.55rem;right:.85rem;color:var(--color-accent);font-size:.65rem;pointer-events:none}:root[data-theme=vault] .role-card,:root[data-theme=vault] .education-card,:root[data-theme=vault] .project-card,:root[data-theme=vault] .case-study-card,:root[data-theme=vault] .metric-card,:root[data-theme=vault] .contact-card,:root[data-theme=vault] .skills-grid{border:1px solid #3e7391;border-radius:2px;background:repeating-linear-gradient(0deg,rgba(91,177,220,.025) 0 1px,transparent 1px 7px),linear-gradient(145deg,#14415fe6,#061624f5);box-shadow:inset 0 0 0 2px #071727,inset 0 1px #9bdcf91f,inset 0 -8px 18px #00000052;clip-path:none}:root[data-theme=vault] .role-card,:root[data-theme=vault] .education-card,:root[data-theme=vault] .project-card,:root[data-theme=vault] .case-study-card{padding:1.45rem 1.6rem}:root[data-theme=vault] .contact-card{padding:1.6rem 1.55rem}:root[data-theme=vault] .metric-card{padding:1rem 1.1rem}:root[data-theme=vault] .role-card:before,:root[data-theme=vault] .education-card:before,:root[data-theme=vault] .project-card:before,:root[data-theme=vault] .case-study-card:before{content:"";position:absolute;inset:6px;border:1px solid rgba(245,185,31,.16);pointer-events:none}:root[data-theme=vault] .section-heading{position:relative;margin-bottom:1.4rem;padding-bottom:.9rem;border-bottom:2px solid var(--color-accent-deep)}:root[data-theme=vault] .section-heading .eyebrow{min-width:190px;padding:.5rem 1.3rem;border:2px solid var(--color-accent);background:linear-gradient(180deg,#16496c,#09243b 62%,#061625);box-shadow:inset 0 0 0 2px #061321,inset 0 1px #9bdcf938,0 4px #04101b,0 4px 10px #00000073;color:var(--color-accent-bright);text-shadow:0 1px #03101a,0 0 7px rgba(245,185,31,.3);text-transform:uppercase}:root[data-theme=vault] .section-heading .eyebrow:before{color:var(--color-accent)}:root[data-theme=vault] .nav{position:relative;min-height:88px;align-items:flex-end;padding-bottom:.7rem;border-bottom:2px solid var(--color-accent-deep);background:linear-gradient(180deg,#0d3150,#071829)}:root[data-theme=vault] .nav:before{content:"VAULT-TEC PERSONNEL FILE // SYSTEM STATUS: ONLINE";position:absolute;top:.6rem;left:1rem;color:#f5b91fb3;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}:root[data-theme=vault] .nav-links{gap:.2rem;margin-left:auto}:root[data-theme=vault] .nav-links a{padding:.5rem .7rem;border:1px solid transparent;color:#b5c7d1;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}:root[data-theme=vault] .nav-links a:hover,:root[data-theme=vault] .nav-links a:first-child{border-color:var(--color-accent-deep);background:#f5b91f24;color:var(--color-accent-bright);box-shadow:inset 0 0 12px #f5b91f14}:root[data-theme=vault] .cta-button,:root[data-theme=vault] .print-button{border:2px solid var(--color-accent);border-radius:2px;background:linear-gradient(180deg,#f5c63a,#b77908 48%,#704a05);box-shadow:inset 0 0 0 2px #082039,inset 0 1px #ffffff59,0 4px #04101b,0 5px 10px #0006;color:#071426;text-shadow:none}:root[data-theme=vault] .cta-button:hover,:root[data-theme=vault] .print-button:hover{filter:brightness(1.16);background:linear-gradient(180deg,#ffe37a,#d29a15 48%,#8a5b06)}:root[data-theme=vault] .role-badge,:root[data-theme=vault] .project-badge{border:2px solid var(--color-accent);border-radius:1px;background:var(--color-accent);box-shadow:inset 0 0 0 1px #fff0a5,0 2px 4px #00000080;color:#071426;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}:root[data-theme=vault] .tag-list li{border-color:#397291;background:#3d8fbb1f;color:#b9d9e8}:root[data-theme=vault] .timeline-rail{border-left-color:var(--color-accent-deep)}:root[data-theme=vault] .timeline-dot{border-color:var(--color-accent);background:#082039;box-shadow:0 0 0 2px #061321,0 0 8px #f5b91f4d}:root[data-theme=vault] .timeline-item:first-child .timeline-dot{background:var(--color-accent)}:root[data-theme=vault] .metric-icon{border:2px solid var(--color-accent);border-radius:2px;background:#0a3556;color:var(--color-accent-bright);box-shadow:inset 0 0 0 2px #061321,0 0 8px #f5b91f33}:root[data-theme=vault] .contact-cta{border:2px solid var(--color-accent-deep);border-radius:2px;background:linear-gradient(90deg,#f5b91f29,#092a45f2);box-shadow:inset 0 0 0 2px #061321,inset 0 0 20px #0000004d}}@media screen and (max-width:680px){:root[data-theme=vault] .content-section,:root[data-theme=vault] .document-sheet{padding-inline:1.25rem}}@media screen{:root[data-theme=arcane]{--color-bg: #100e0d;--color-bg-deep: #0b0908;--color-surface: #1a1614;--color-surface-raised: #241d18;--color-surface-soft: #30251d;--color-ink: #eadcc3;--color-slate: #c8bb9f;--color-slate-soft: #968a75;--color-muted: #6f6354;--color-accent: #a78bfa;--color-accent-bright: #d8b4fe;--color-accent-soft: rgba(167, 139, 250, .16);--color-accent-deep: #6b3fa0;--color-line: rgba(184, 142, 81, .24);--color-line-strong: rgba(203, 161, 93, .52);--color-focus: #e9d5ff;--color-success: #9bd5a9;--color-glow: rgba(112, 61, 36, .18);--color-glow-alt: rgba(167, 139, 250, .08);--color-header: rgba(16, 14, 13, .88);--color-sidebar: rgba(16, 14, 13, .86);--avatar-start: #d6a34a;--avatar-mid: #4e3972;--avatar-end: #171113;--font-body: Georgia, "Times New Roman", serif;--font-mono: "SFMono-Regular", "Cascadia Code", "Liberation Mono", Menlo, monospace;--shadow-soft: 0 24px 80px rgba(0, 0, 0, .48);--page-decoration: radial-gradient(circle at 75% 8%, rgba(154, 73, 34, .14), transparent 26rem), repeating-linear-gradient(135deg, rgba(194, 145, 74, .035) 0 1px, transparent 1px 8px);--page-decoration-size: auto;--card-gradient: linear-gradient(145deg, var(--color-surface-raised), var(--color-surface))}}@media screen{:root[data-theme=arcane] h1,:root[data-theme=arcane] h2,:root[data-theme=arcane] h3,:root[data-theme=arcane] .eyebrow,:root[data-theme=arcane] .nav-links,:root[data-theme=arcane] .theme-picker,:root[data-theme=arcane] .sidebar-section h2{font-family:Georgia;letter-spacing:.025em}:root[data-theme=arcane] h1{font-size:clamp(2.3rem,4.3vw,3.6rem);line-height:1.08}:root[data-theme=arcane] body{background-image:var(--page-decoration),linear-gradient(180deg,rgba(31,20,15,.65),transparent 32rem)}:root[data-theme=arcane] h1,:root[data-theme=arcane] h2,:root[data-theme=arcane] h3,:root[data-theme=arcane] .eyebrow,:root[data-theme=arcane] .nav-links,:root[data-theme=arcane] .theme-picker,:root[data-theme=arcane] .sidebar-section h2{font-family:Georgia,Times New Roman,serif}:root[data-theme=arcane] .profile-sidebar{border-right:2px solid rgba(203,161,93,.42);background:linear-gradient(180deg,#211813d9,#0c0a09e6)}:root[data-theme=arcane] .sidebar-inner{padding-top:2.25rem}:root[data-theme=arcane] .avatar{border:2px solid #cba15d;box-shadow:0 0 0 5px #cba15d14,inset 0 0 0 3px #160d11cc,0 12px 35px #0000008c}:root[data-theme=arcane] .site-header{border-bottom:2px solid rgba(203,161,93,.42)}:root[data-theme=arcane] .nav-links a{font-family:Georgia,serif;font-size:.72rem;text-transform:uppercase}:root[data-theme=arcane] .eyebrow{color:#d6a35c;letter-spacing:.12em;text-transform:uppercase}:root[data-theme=arcane] .section-heading{padding-bottom:.65rem;border-bottom:1px solid #8d6539}:root[data-theme=arcane] .section-heading h2{color:var(--color-slate-soft)}:root[data-theme=arcane] .metric-card,:root[data-theme=arcane] .contact-card,:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .skills-grid,:root[data-theme=arcane] .case-study-card{border:1px solid #8d6539;border-radius:9px;box-shadow:inset 0 0 0 1px #dcb1661f,inset 0 0 22px #0000004d,0 14px 30px #0000006b}:root[data-theme=arcane] .metric-card,:root[data-theme=arcane] .contact-card,:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .skills-grid,:root[data-theme=arcane] .case-study-card{background:linear-gradient(145deg,#34271dd1,#14100ee6)}:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .case-study-card{position:relative}:root[data-theme=arcane] .role-card:before,:root[data-theme=arcane] .education-card:before,:root[data-theme=arcane] .project-card:before,:root[data-theme=arcane] .case-study-card:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(203,161,93,.12);border-radius:5px}:root[data-theme=arcane] .role-card:after,:root[data-theme=arcane] .education-card:after,:root[data-theme=arcane] .project-card:after,:root[data-theme=arcane] .case-study-card:after{content:"✦";position:absolute;right:.65rem;bottom:.45rem;color:#8d6539;font-size:.7rem}:root[data-theme=arcane] .role-badge,:root[data-theme=arcane] .project-badge{border:1px solid #a78bfa;border-radius:4px;background:linear-gradient(180deg,#6b3fa0,#2c1747);color:#eadcff;box-shadow:inset 0 1px #fff3,0 2px 5px #0006;font-family:Georgia,serif;letter-spacing:.06em;text-transform:uppercase}:root[data-theme=arcane] .tag-list li{border:1px solid #75512d;border-radius:4px;background:#4a311d8c;color:#d6c09c;box-shadow:inset 0 1px #ffffff0f}:root[data-theme=arcane] .timeline-rail{border-left:2px solid #70502f}:root[data-theme=arcane] .timeline-dot{width:11px;height:11px;border:2px solid #cba15d;border-radius:3px;background:#211518;transform:rotate(45deg);box-shadow:0 0 0 2px #211518,0 0 10px #a78bfa59}:root[data-theme=arcane] .timeline-item:first-child .timeline-dot{background:#a78bfa}:root[data-theme=arcane] .timeline-role{color:#d8b4fe;font-family:Georgia,serif}:root[data-theme=arcane] .skill-card h3{color:#d6a35c;font-family:Georgia,serif;letter-spacing:.06em;text-transform:uppercase}:root[data-theme=arcane] .skill-card li{font-family:Georgia,serif}:root[data-theme=arcane] .metric-icon{border:1px solid #8d6539;border-radius:50%;background:linear-gradient(145deg,#6b3fa0,#24162f);box-shadow:inset 0 1px #fff3}:root[data-theme=arcane] .contact-cta{border:1px solid #8d6539;border-radius:10px;background:linear-gradient(100deg,#5b347d80,#2a1a1ccc);box-shadow:inset 0 0 18px #0000004d}:root[data-theme=arcane] .cta-button,:root[data-theme=arcane] .print-button{border:1px solid #cba15d;border-radius:5px;background:linear-gradient(180deg,#6b3fa0bf,#2d1841e6);color:#f0d9ad;box-shadow:inset 0 1px #fff3,0 3px 8px #0006;font-family:Georgia,serif;letter-spacing:.04em;text-transform:uppercase}:root[data-theme=arcane] .theme-picker summary{border:1px solid #8d6539;border-radius:5px;background:linear-gradient(180deg,#4b3120cc,#19110fe6);font-family:Georgia,serif}:root[data-theme=arcane] .theme-menu{border:1px solid #8d6539;border-radius:6px;background:#1b1512}:root[data-theme=arcane] .section-heading{display:block;margin-bottom:1.5rem;border-bottom:0}:root[data-theme=arcane] .section-heading .eyebrow{position:relative;display:block;width:fit-content;min-width:170px;margin:0;padding:.55rem 1.35rem .55rem 1.1rem;border:1px solid #b18a4d;background:linear-gradient(180deg,#342b25,#171313 72%);color:#e3bd73;font-size:.75rem;letter-spacing:.14em;text-shadow:0 1px #1a1009}:root[data-theme=arcane] .section-heading .eyebrow:before{content:"✦";margin-right:.6rem;color:#a78bfa}:root[data-theme=arcane] .section-heading .eyebrow:after{content:"◆";position:absolute;right:.75rem;color:#8d6539;font-size:.55rem}:root[data-theme=arcane] .section-heading h2{display:none}:root[data-theme=arcane] .sidebar-section{position:relative;border-bottom-color:#60472b}:root[data-theme=arcane] .sidebar-section h2{display:flex;align-items:center;gap:.55rem;color:#d6a35c;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}:root[data-theme=arcane] .sidebar-section h2:after{content:"◇";color:#8d6539;font-size:.7rem}:root[data-theme=arcane] .content-column{border-left:1px solid rgba(203,161,93,.18);position:relative}:root[data-theme=arcane] main{padding:0 1.25rem 1.5rem}:root[data-theme=arcane] .content-section{position:relative;margin-top:1.35rem;padding:2rem;border:1px solid #60472b;border-radius:10px;background:linear-gradient(145deg,#1f1814a8,#0d0b0a70);box-shadow:inset 0 0 28px #0003,0 12px 24px #0000002e}:root[data-theme=arcane] .about-section{margin-top:1.5rem;padding:2.25rem}:root[data-theme=arcane] .content-section:before{content:"✧";position:absolute;top:.55rem;right:.85rem;color:#8d6539;font-size:.7rem}:root[data-theme=arcane] .education-strip{margin-inline:2rem}:root[data-theme=arcane] .document-sheet{border:2px solid #60472b;border-radius:12px;background:linear-gradient(145deg,#1a1614,#0d0b0a);box-shadow:inset 0 0 0 4px #cba15d0d,inset 0 0 45px #00000061,0 24px 70px #0000007a}:root[data-theme=arcane] .document-sheet .section-band{border-bottom-color:#60472b}:root[data-theme=arcane] .document-sheet .section-label{background:linear-gradient(180deg,#3c2a1c94,#140f0db8)}:root[data-theme=arcane] .case-study-head{background:linear-gradient(90deg,#6c412e61,#211512b3)}:root[data-theme=arcane] .content-column:before{content:"✦";position:fixed;top:5.4rem;right:1.5rem;z-index:2;color:#cba15d73;font-size:1.2rem;pointer-events:none}:root[data-theme=arcane] .content-section,:root[data-theme=arcane] .document-sheet{outline:1px solid rgba(203,161,93,.18);outline-offset:5px}:root[data-theme=arcane] .content-section:after{content:"";position:absolute;inset:7px;border:1px solid rgba(203,161,93,.1);border-radius:6px;pointer-events:none}:root[data-theme=arcane] .section-heading .eyebrow{min-width:210px;padding-inline:1.45rem;border-width:2px}:root[data-theme=arcane] .profile-sidebar{position:relative}:root[data-theme=arcane] .profile-sidebar:before{content:"";position:absolute;top:1rem;bottom:1rem;left:.65rem;width:2px;background:linear-gradient(180deg,transparent,#8d6539 12%,#cba15d 50%,#8d6539 88%,transparent);opacity:.6}:root[data-theme=arcane] .sidebar-section{padding-top:.8rem}:root[data-theme=arcane] .sidebar-section:before{content:"◇";position:absolute;left:-.35rem;color:#cba15d;font-size:.65rem}:root[data-theme=arcane] .nav{min-height:76px}:root[data-theme=arcane] .site-header:after{content:"";display:block;height:3px;margin:0 1rem;background:linear-gradient(90deg,transparent,#8d6539 15%,#cba15d 50%,#8d6539 85%,transparent);opacity:.65}:root[data-theme=arcane] .profile-sidebar,:root[data-theme=arcane] .site-header,:root[data-theme=arcane] .document-sheet,:root[data-theme=arcane] .content-section{background-image:radial-gradient(circle at 18% 22%,rgba(224,174,96,.06) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 68%,rgba(0,0,0,.2) 0 1px,transparent 1.5px),repeating-linear-gradient(125deg,rgba(214,163,92,.018) 0 1px,transparent 1px 9px),linear-gradient(145deg,#36271d33,#0908084d);background-size:17px 17px,23px 23px,auto,auto;background-blend-mode:screen,multiply,normal,normal}:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .case-study-card,:root[data-theme=arcane] .metric-card,:root[data-theme=arcane] .contact-card{background-image:radial-gradient(circle at 14% 20%,rgba(224,174,96,.07) 0 1px,transparent 1.5px),repeating-linear-gradient(135deg,rgba(255,220,153,.025) 0 1px,transparent 1px 8px),linear-gradient(145deg,#3a2b1fd1,#110d0cf0);background-size:19px 19px,auto,auto;background-blend-mode:screen,normal,normal}:root[data-theme=arcane] .theme-menu,:root[data-theme=arcane] .theme-picker summary,:root[data-theme=arcane] .role-badge,:root[data-theme=arcane] .project-badge{background-image:repeating-linear-gradient(135deg,rgba(255,220,153,.045) 0 1px,transparent 1px 7px),linear-gradient(180deg,#623b77d9,#1f111ff2)}:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .case-study-card,:root[data-theme=arcane] .metric-card,:root[data-theme=arcane] .contact-card,:root[data-theme=arcane] .skills-grid,:root[data-theme=arcane] .content-section,:root[data-theme=arcane] .document-sheet,:root[data-theme=arcane] .section-heading .eyebrow,:root[data-theme=arcane] .cta-button,:root[data-theme=arcane] .print-button,:root[data-theme=arcane] .theme-picker summary,:root[data-theme=arcane] .project-badge,:root[data-theme=arcane] .role-badge{clip-path:none}:root[data-theme=arcane] .metric-card{border:2px solid #806039;border-radius:2px;box-shadow:inset 0 0 0 1px #efc16647,inset 0 0 0 3px #20120ee0,inset 0 0 0 4px #8b653980,inset 0 0 24px #0000006b,0 4px #120b09e6,0 14px 30px #0006;background-image:linear-gradient(#cba15d,#cba15d) 7px 7px/13px 1px no-repeat,linear-gradient(#cba15d,#cba15d) 7px 7px/1px 13px no-repeat,linear-gradient(#806039,#806039) calc(100% - 7px) 7px/13px 1px no-repeat,linear-gradient(#806039,#806039) calc(100% - 7px) 7px/1px 13px no-repeat,linear-gradient(#806039,#806039) 7px calc(100% - 7px) /13px 1px no-repeat,linear-gradient(#806039,#806039) 7px calc(100% - 7px) /1px 13px no-repeat,linear-gradient(#806039,#806039) calc(100% - 7px) calc(100% - 7px) /13px 1px no-repeat,linear-gradient(#806039,#806039) calc(100% - 7px) calc(100% - 7px) /1px 13px no-repeat;position:relative;min-height:4.25rem;padding:.75rem 1rem;background:repeating-linear-gradient(135deg,rgba(255,220,153,.025) 0 1px,transparent 1px 7px),linear-gradient(145deg,#211914,#0c0a09 78%)}:root[data-theme=arcane] .metric-card:before{content:"";position:absolute;inset:6px;border:1px solid rgba(214,163,92,.28);box-shadow:inset 0 0 0 1px #140a08cc;pointer-events:none}:root[data-theme=arcane] .metric-card:after{content:"✦";position:absolute;top:.2rem;right:.45rem;color:#d6a35ca6;font-size:.55rem;text-shadow:0 0 5px rgba(167,139,250,.75)}:root[data-theme=arcane] .metric-card>*{position:relative;z-index:1}:root[data-theme=arcane] .metric-card strong{color:#e7c47a;font-family:Georgia,serif;text-shadow:0 1px #170b08}:root[data-theme=arcane] .metric-card small{color:#ae9a7c;font-family:Georgia,serif}:root[data-theme=arcane] .metric-icon{width:38px;height:38px;border:1px solid #b18a4d;border-radius:50%;background:radial-gradient(circle at 35% 28%,#b68ae2,#5b2e88 42%,#21152c 72%);box-shadow:0 0 0 3px #160c0ae6,0 0 0 4px #75512d,0 0 12px #a78bfa8c,inset 0 1px #ffffff59;color:#f0d9ad}:root[data-theme=arcane] .cta-button{position:relative;isolation:isolate;min-height:2.7rem;padding-inline:1.35rem;border:2px solid #9b7138;border-radius:3px;background:linear-gradient(180deg,rgba(255,239,172,.08),transparent 28%),repeating-linear-gradient(90deg,rgba(255,210,126,.035) 0 1px,transparent 1px 5px),linear-gradient(180deg,#70251d,#240908);box-shadow:inset 0 0 0 2px #190a07cc,inset 0 1px #ffe28f59,inset 0 -3px #11050499,0 3px #211510,0 5px 10px #00000073;color:#f0d9ad;font-family:Georgia,serif;letter-spacing:.04em;text-shadow:0 1px #180605;text-transform:uppercase}:root[data-theme=arcane] .cta-button:before,:root[data-theme=arcane] .cta-button:after{content:"";position:absolute;top:50%;z-index:0;width:1rem;height:1rem;transform:translateY(-50%) rotate(45deg);border:2px solid #9b7138;background:linear-gradient(135deg,#65503a,#211b17 62%);box-shadow:inset 0 0 0 1px #ecc06238,0 2px 4px #0000008c}:root[data-theme=arcane] .cta-button:before{left:-.55rem}:root[data-theme=arcane] .cta-button:after{right:-.55rem}:root[data-theme=arcane] .print-button{position:relative;isolation:isolate;min-height:2.7rem;padding-inline:1.35rem;border:2px solid #9b7138;border-radius:3px;background:linear-gradient(180deg,rgba(255,239,172,.08),transparent 28%),repeating-linear-gradient(90deg,rgba(255,210,126,.035) 0 1px,transparent 1px 5px),linear-gradient(180deg,#5f397d,#1e102c);box-shadow:inset 0 0 0 2px #190a07cc,inset 0 1px #ffe28f59,inset 0 -3px #11050499,0 3px #211510,0 5px 10px #00000073;color:#f0d9ad;font-family:Georgia,serif;letter-spacing:.04em;text-shadow:0 1px #180605;text-transform:uppercase}:root[data-theme=arcane] .print-button:before,:root[data-theme=arcane] .print-button:after{content:"";position:absolute;top:50%;z-index:0;width:1rem;height:1rem;transform:translateY(-50%) rotate(45deg);border:2px solid #9b7138;background:linear-gradient(135deg,#65503a,#211b17 62%);box-shadow:inset 0 0 0 1px #ecc06238,0 2px 4px #0000008c}:root[data-theme=arcane] .print-button:before{left:-.55rem}:root[data-theme=arcane] .print-button:after{right:-.55rem}:root[data-theme=arcane] .role-card,:root[data-theme=arcane] .education-card,:root[data-theme=arcane] .project-card,:root[data-theme=arcane] .case-study-card,:root[data-theme=arcane] .contact-card,:root[data-theme=arcane] .skills-grid{border:2px solid #806039;box-shadow:inset 0 0 0 1px #efc16647,inset 0 0 0 3px #20120ee0,inset 0 0 0 4px #8b653980,inset 0 0 24px #0000006b,0 4px #120b09e6,0 14px 30px #0006;border-radius:2px}:root[data-theme=arcane] .role-card:before,:root[data-theme=arcane] .education-card:before,:root[data-theme=arcane] .project-card:before,:root[data-theme=arcane] .case-study-card:before{inset:7px;border-color:#ddae5b57;border-radius:0;box-shadow:inset 0 0 0 1px #180c09cc}:root[data-theme=arcane] .role-card:after,:root[data-theme=arcane] .education-card:after,:root[data-theme=arcane] .project-card:after,:root[data-theme=arcane] .case-study-card:after{right:.8rem;bottom:.55rem;color:#d6a35c;text-shadow:0 0 7px rgba(167,139,250,.7)}:root[data-theme=arcane] .section-heading .eyebrow{border-radius:2px;border-width:2px;box-shadow:inset 0 0 0 1px #f4ca7547,inset 0 0 0 3px #1b100cd9,inset 0 -4px #00000061,0 3px #1a100c,0 5px 12px #0000006b}:root[data-theme=arcane] .section-heading .eyebrow:before{color:#d8b4fe;text-shadow:0 0 7px rgba(167,139,250,.8)}:root[data-theme=arcane] .section-heading .eyebrow:after{color:#d6a35c;text-shadow:0 0 5px rgba(214,163,92,.65)}:root[data-theme=arcane] .timeline-rail{border-left-color:#a3783e;box-shadow:1px 0 #140b09e6,-1px 0 #d6a35c29}:root[data-theme=arcane] .timeline-dot{width:13px;height:13px;border-width:2px;background:radial-gradient(circle,#d8b4fe 0 18%,#5c3483 20% 48%,#211518 52%);box-shadow:0 0 0 2px #211518,0 0 0 3px #8d6539,0 0 12px #a78bfa94}}:root{--color-bg: #081426;--color-bg-deep: #06101f;--color-surface: #0d2138;--color-surface-raised: #12304b;--color-surface-soft: #163b59;--color-ink: #f7ebc7;--color-slate: #d8d4c2;--color-slate-soft: #9aa8b7;--color-muted: #657b8e;--color-accent: #f5b91f;--color-accent-bright: #ffd45a;--color-accent-soft: rgba(245, 185, 31, .15);--color-accent-deep: #b77908;--color-line: rgba(126, 169, 203, .2);--color-line-strong: rgba(245, 185, 31, .5);--color-focus: #ffe08a;--color-success: #73e29a;--color-glow: rgba(22, 91, 143, .22);--color-glow-alt: rgba(245, 185, 31, .08);--color-header: rgba(6, 16, 31, .84);--color-sidebar: rgba(7, 20, 38, .84);--avatar-start: #f8c83b;--avatar-mid: #216a9b;--avatar-end: #0b2846;--page-decoration: linear-gradient(90deg, rgba(96, 165, 250, .06) 1px, transparent 1px), linear-gradient(0deg, rgba(96, 165, 250, .04) 1px, transparent 1px);--page-decoration-size: 34px 34px;--card-gradient: linear-gradient(145deg, var(--color-surface-raised), var(--color-surface));--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", "Cascadia Code", "Liberation Mono", Menlo, monospace;--space-xs: .375rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.25rem;--space-2xl: 3.5rem;--space-3xl: 5rem;--sidebar-width: 234px;--content-wide: 1030px;--content-reading: 820px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-soft: 0 24px 80px rgba(0, 0, 0, .28)}body{font-family:var(--font-body)}h1,h2,h3,h4{color:var(--color-ink);font-family:var(--font-body);font-weight:700;letter-spacing:-.025em;text-wrap:balance}h1{max-width:690px;font-size:clamp(2.25rem,4.2vw,3.5rem);line-height:1.1}h2{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.2}h3{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.25}h4{font-size:.95rem;line-height:1.2}p,li,dd{font-size:.87rem;line-height:1.6}.hero-summary,.summary,.lead-prose p{font-size:clamp(.9rem,1.1vw,1rem);line-height:1.65}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;margin:0;background:var(--page-decoration),var(--color-bg);background-size:var(--page-decoration-size),auto;color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-slate);font-weight:500;text-decoration:none;transition:color .16s ease,border-color .16s ease,background .16s ease}a:hover{color:var(--color-accent-bright)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button{font:inherit}::selection{background:var(--color-accent);color:#fff}.icon{display:inline-block;flex:0 0 auto;vertical-align:middle}.skip-link{position:fixed;top:1rem;left:1rem;z-index:20;transform:translateY(-180%);padding:.65rem 1rem;border-radius:8px;background:var(--color-accent-deep);color:#fff}.skip-link:focus{transform:translateY(0)}.portfolio-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.profile-sidebar{border-right:1px solid var(--color-line);background:var(--color-sidebar)}.sidebar-inner{position:sticky;top:0;display:flex;min-height:100vh;flex-direction:column;padding:3rem 1.5rem 2rem}.avatar,.mobile-wordmark{display:grid;place-items:center;border:1px solid var(--color-line-strong);border-radius:50%;background:radial-gradient(circle at 35% 28%,var(--avatar-start),var(--avatar-mid) 65%,var(--avatar-end));color:#fff;font-size:1.45rem;font-weight:700;letter-spacing:-.06em;box-shadow:0 8px 28px var(--color-glow)}.avatar{width:68px;height:68px}.avatar:hover,.mobile-wordmark:hover{color:#fff}.sidebar-name{margin:1.25rem 0 .35rem;color:var(--color-ink);font-size:1.7rem;font-weight:650;letter-spacing:-.05em;line-height:1.1}.sidebar-role{margin:0;color:var(--color-accent-bright);font-size:.76rem;font-weight:650;line-height:1.45}.sidebar-intro{margin:1.1rem 0 1.8rem;color:var(--color-slate-soft);font-size:.78rem;line-height:1.7}.sidebar-contact{display:grid;gap:.85rem;margin:0;padding-bottom:1.6rem;border-bottom:1px solid var(--color-line)}.sidebar-contact div{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.55rem}.sidebar-contact dt{color:var(--color-slate-soft)}.sidebar-contact dd{min-width:0;margin:0;color:var(--color-slate);font-size:.72rem;overflow-wrap:anywhere}.sidebar-contact a{color:var(--color-slate)}.sidebar-section{margin-top:1.55rem;padding-bottom:1.55rem;border-bottom:1px solid var(--color-line)}.sidebar-section h2{margin:0 0 1rem;font-size:.85rem;letter-spacing:0}.sidebar-skill-list{display:grid;gap:.8rem}.sidebar-skill-group h3{margin:0;color:var(--color-slate-soft);font-size:.68rem;font-weight:600}.sidebar-skill-group p{margin:.25rem 0 0;color:var(--color-muted);font-size:.66rem;line-height:1.5}.sidebar-tags{gap:.38rem;margin:0}.sidebar-tags li{padding:.24rem .42rem;font-size:.62rem}.about-sidebar p{margin:0 0 .75rem;color:var(--color-slate-soft);font-size:.72rem;line-height:1.6}.about-sidebar p:last-child{margin-bottom:0}.print-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:fit-content;margin-top:auto;padding:.6rem .85rem;border:1px solid var(--color-accent);border-radius:999px;background:transparent;color:var(--color-accent-bright);cursor:pointer;font-size:.72rem}.print-button:hover{background:var(--color-accent-soft)}.content-column{min-width:0}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-line);background:var(--color-header);backdrop-filter:blur(18px)}.nav{display:flex;align-items:center;justify-content:flex-end;width:min(100% - 3rem,var(--content-wide));min-height:68px;margin:0 auto;gap:1.3rem}.mobile-wordmark{display:none;width:38px;height:38px;font-size:.9rem}.nav-links{display:flex;align-items:center;gap:1.65rem}.nav-links a{color:var(--color-slate);font-size:.76rem}.nav-links a:hover{color:var(--color-accent-bright)}.theme-picker{position:relative;margin-left:.3rem}.theme-picker summary{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border:1px solid var(--color-line);border-radius:999px;color:var(--color-slate-soft);cursor:pointer;font-size:.68rem;list-style:none}.theme-picker summary::-webkit-details-marker{display:none}.theme-picker summary:after{content:"⌄";margin-left:.15rem;color:var(--color-muted);font-size:.75rem}.theme-picker summary:hover,.theme-picker[open] summary{border-color:var(--color-line-strong);color:var(--color-accent-bright)}.theme-swatch,.theme-option-swatch{display:inline-block;border-radius:50%}.theme-swatch{width:10px;height:10px;background:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.theme-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:15;display:grid;min-width:132px;gap:.2rem;padding:.35rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-soft)}.theme-menu button{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border:0;border-radius:5px;background:transparent;color:var(--color-slate);cursor:pointer;font-size:.7rem;text-align:left}.theme-menu button:hover,.theme-menu button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-ink)}.theme-option-swatch{width:12px;height:12px;border:1px solid var(--color-line)}.theme-option-dark{background:linear-gradient(135deg,#111a2d,#a78bfa)}.theme-option-light{background:linear-gradient(135deg,#fff,#7250d5)}.theme-option-vault{background:linear-gradient(135deg,#0d2138,#f5b91f)}.theme-option-arcane{background:linear-gradient(135deg,#100e0d,#a78bfa)}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-left:.3rem;padding:.25rem .35rem .25rem .45rem;border:1px solid var(--color-line);border-radius:999px;background:transparent;color:var(--color-slate-soft);cursor:pointer}.theme-toggle:hover{border-color:var(--color-line-strong);color:var(--color-accent-bright)}.theme-name{font-size:.63rem}.toggle-track{position:relative;display:block;width:26px;height:16px;border-radius:99px;background:var(--color-accent-deep)}.toggle-thumb{position:absolute;top:2px;right:2px;display:grid;width:12px;height:12px;place-items:center;border-radius:50%;background:var(--color-accent-bright);color:var(--color-bg);transition:transform .16s ease}main{width:min(100% - 3rem,var(--content-wide));margin:0 auto}.content-section{padding:4.2rem 0 0;scroll-margin-top:80px}.about-section{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:3.5rem;padding-top:4rem}.eyebrow{margin:0 0 .95rem;color:var(--color-accent);font-size:.72rem;font-weight:650;letter-spacing:.02em}.hero-copy h1{margin:0}.hero-summary{max-width:680px;margin:1.35rem 0 0;color:var(--color-slate-soft)}.metric-list{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.45rem}.metric-card{display:flex;align-items:center;gap:.7rem;min-width:152px;padding:.75rem .85rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--card-gradient)}.metric-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:6px;background:var(--color-accent-soft);color:var(--color-accent-bright)}.metric-card strong,.metric-card small{display:block}.metric-card strong{color:var(--color-ink);font-size:1rem}.metric-card small{margin-top:.13rem;color:var(--color-slate-soft);font-size:.64rem}.contact-card{display:grid;gap:1.25rem;margin:0;padding:1.4rem 1.25rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--card-gradient)}.contact-card div{display:grid;gap:.35rem}.contact-card dt{display:flex;align-items:center;gap:.6rem;color:var(--color-slate-soft);font-size:.72rem}.contact-card dt .icon{color:var(--color-slate)}.contact-card dd{margin:0;padding-left:1.55rem;color:var(--color-slate);font-size:.75rem;overflow-wrap:anywhere}.contact-card a{color:var(--color-slate)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.section-heading .eyebrow{margin:0}.section-heading h2{margin:0;color:var(--color-slate-soft);font-size:.82rem;font-weight:500;letter-spacing:0}.timeline{display:grid;gap:1.1rem}.timeline-section-break{margin:.9rem 0 -.2rem 132px;padding-top:.9rem;border-top:1px solid var(--color-line)}.timeline-section-break .eyebrow{margin:0}.timeline-item{display:grid;grid-template-columns:132px minmax(0,1fr);gap:1.4rem}.timeline-role-group{display:block}.timeline-rail{position:relative;padding:.55rem 0 0 1.4rem;border-left:1px solid var(--color-line-strong);color:var(--color-slate-soft)}.timeline-dot{position:absolute;top:.7rem;left:-5px;width:9px;height:9px;border:2px solid var(--color-bg);border-radius:50%;background:var(--color-muted);box-shadow:0 0 0 1px var(--color-line-strong)}.timeline-item:first-child .timeline-dot{background:var(--color-accent)}.timeline-group{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:1.4rem}.timeline-phase{display:contents}.timeline-phase-meta{position:relative;grid-column:1;padding:1.15rem 0 1rem 1.4rem;border-left:2px double var(--color-line-strong);color:var(--color-slate-soft)}.timeline-phase-meta .timeline-dot{top:1.35rem;left:-5px}.timeline-phase-meta p,.timeline-phase-meta strong,.timeline-phase-meta>span:not(.timeline-dot){display:block;margin:0;line-height:1.45}.timeline-phase-meta p{margin-bottom:.4rem}.timeline-phase-content{position:relative;grid-column:2;padding:1.15rem 1.25rem;border-right:1px solid var(--color-line);border-left:1px solid var(--color-line);background:var(--card-gradient)}.timeline-phase:first-child .timeline-phase-content{border-top:1px solid var(--color-line);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 14px 35px #0000001f}.timeline-phase:last-child .timeline-phase-meta{padding-bottom:0;border-bottom:0}.timeline-phase:last-child .timeline-phase-content{border-bottom:1px solid var(--color-line);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 14px 35px #0000001f}.timeline-rail p,.timeline-rail strong,.timeline-rail>span:last-child{display:block;margin:0;line-height:1.45}.timeline-rail p{margin-bottom:.4rem;color:var(--color-slate-soft)}.timeline-company{color:var(--color-slate);font-size:.75rem;font-weight:650}.timeline-role{margin-top:.2rem!important;color:var(--color-accent-bright);font-size:.84rem;font-weight:700;line-height:1.35!important}.role-card,.project-card,.skill-card,.case-study-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--card-gradient);box-shadow:0 14px 35px #0000001f}.role-card{position:relative;padding:1.15rem 1.25rem}.timeline-phase-content{border-top:0;border-bottom:0;border-radius:0;box-shadow:none}.role-phases{display:grid;gap:.8rem}.role-phase+.role-phase{padding-top:.9rem;border-top:1px solid var(--color-line)}.role-phase-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .55rem;padding-right:5.5rem}.role-phase-heading h3{margin:0;color:var(--color-ink);font-size:.9rem}.role-phase-heading time{color:var(--color-muted);font-family:var(--font-mono);font-size:.6rem;white-space:nowrap}.education-card{padding:1.15rem 1.25rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--card-gradient)}.education-card h3{margin:0}.education-card h3{font-size:1rem}.role-card-topline{position:absolute;top:1.15rem;right:1.25rem}.role-card-header,.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.role-card h3,.project-card h3{margin:0;font-size:1rem;letter-spacing:-.015em}.role-company{margin:.25rem 0 0;color:var(--color-slate-soft);font-size:.75rem}.role-badge,.project-badge{flex:0 0 auto;padding:.3rem .55rem;border:1px solid rgba(167,139,250,.24);border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-bright);font-size:.62rem}.role-card .context{max-width:calc(100% - 5.5rem);margin:0;color:var(--color-slate);font-size:.77rem}.role-card>p:not(.context){margin:.55rem 0 0;color:var(--color-slate-soft);font-size:.76rem}.highlight-list{display:grid;gap:.3rem;margin:.8rem 0 0;padding-left:1.1rem;color:var(--color-slate-soft)}.highlight-list li{margin:0;padding-left:.15rem;font-size:.72rem;line-height:1.5}.role-chapters{display:grid;gap:.8rem;margin-top:.8rem}.role-chapter+.role-chapter{padding-top:.75rem;border-top:1px solid var(--color-line)}.role-chapter h4{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;color:var(--color-accent-bright);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.role-chapter h4 time{color:var(--color-muted);font-family:var(--font-mono);font-size:.58rem;font-weight:500;letter-spacing:0;white-space:nowrap}.role-chapter .highlight-list{margin-top:.4rem}.text-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;color:var(--color-accent-bright);font-size:.72rem}.tag-list{display:flex;flex-wrap:wrap;gap:.38rem;margin:1rem 0 0;padding:0;list-style:none}.tag-list li{margin:0;padding:.26rem .48rem;border:1px solid var(--color-line);border-radius:5px;background:var(--color-accent-soft);color:var(--color-slate);font-family:var(--font-mono);font-size:.62rem;line-height:1.3}.tag-list.compact{margin-top:.85rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card{padding:1.15rem}.project-card p{margin:.8rem 0 0;color:var(--color-slate);font-size:.76rem}.project-card .project-description{color:var(--color-slate-soft)}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.skill-card{min-width:0;border:0;border-right:1px solid var(--color-line);border-radius:0;background:transparent;box-shadow:none;padding:1rem}.skill-card:nth-child(3n){border-right:0}.skill-card:nth-child(n+4){border-top:1px solid var(--color-line)}.skill-card h3{margin:0 0 .8rem;color:var(--color-accent-bright);font-size:.72rem;font-weight:600;letter-spacing:0}.skill-card ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.skill-card li{display:flex;align-items:center;gap:.45rem;margin:0;color:var(--color-slate);font-size:.72rem}.skill-card li:before{content:none}.tech-icon-wrap{display:inline-flex;width:16px;height:16px;flex:0 0 16px;align-items:center;justify-content:center;color:var(--color-accent-bright)}.tech-icon{display:block;width:100%;height:100%}.tech-icon-fallback{display:inline-grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border-radius:4px;background:var(--color-accent-soft);color:var(--color-accent-bright);font-family:var(--font-mono);font-size:.55rem}.education-strip{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:4rem;padding:1.25rem 0;border-top:1px solid var(--color-line)}.education-strip .eyebrow{margin-bottom:.35rem}.education-strip h2,.education-strip p{margin:0}.education-strip h2{font-size:.9rem}.education-strip>p{color:var(--color-slate-soft);font-size:.75rem}.site-footer{width:min(100% - 3rem,var(--content-wide));margin:4rem auto 1.5rem}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 1.75rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-xl);background:linear-gradient(115deg,var(--color-accent-soft),var(--color-surface-raised))}.contact-cta h2{margin:0;font-size:1rem}.contact-cta p{margin:.45rem 0 0;color:var(--color-slate-soft);font-size:.75rem}.cta-button{display:inline-flex;align-items:center;gap:.65rem;padding:.65rem 1rem;border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent-bright);font-size:.75rem;white-space:nowrap}.cta-button:hover{background:var(--color-accent-soft)}.footer-meta{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 0 0;color:var(--color-muted);font-size:.68rem}.heart{color:var(--color-accent)}.document-sheet{width:min(100% - 3rem,var(--content-wide));margin:2rem auto;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-xl);background:var(--color-surface)}.section-band{padding:0}.section-inner{width:100%;padding:2.25rem}.hero{border-bottom:1px solid var(--color-line)}.detail-hero{background:linear-gradient(135deg,var(--color-accent-soft),transparent 42%),var(--color-surface)}.detail-hero-grid,.cv-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.8fr);gap:2rem;align-items:start}.role{margin:.7rem 0 0;color:var(--color-accent-bright);font-size:1rem;font-weight:600}.detail-standfirst{max-width:800px;margin:1.25rem 0 0;color:var(--color-slate)}.labelled-section{display:grid;grid-template-columns:160px minmax(0,1fr);border-bottom:1px solid var(--color-line);padding:0}.section-label{border-right:1px solid var(--color-line);padding:1.5rem;background:var(--color-surface)}.section-label p,.section-label h2{margin:0}.section-label p{color:var(--color-accent);font-family:var(--font-mono);font-size:.7rem}.section-label h2{margin-top:.5rem;font-size:.9rem}.section-content,.detail-panel,.timeline,.project-grid,.skills-stack,.education-list,.case-study-stack{padding:1.5rem}.summary{margin:0 0 1.25rem;color:var(--color-slate)}.prose p{margin:0;color:var(--color-slate-soft)}.prose p+p{margin-top:.75rem}.contact-list,.detail-list{margin:0;border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.contact-list div,.detail-list div{display:grid;grid-template-columns:100px minmax(0,1fr);border-bottom:1px solid var(--color-line)}.contact-list div:last-child,.detail-list div:last-child{border-bottom:0}.contact-list dt,.detail-list dt{padding:.55rem .7rem;color:var(--color-slate-soft);font-size:.7rem}.contact-list dd,.detail-list dd{margin:0;padding:.55rem .7rem;color:var(--color-slate);font-size:.75rem}.education-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.education-item,.principle-list li{padding:1rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.education-item h3,.education-item p{margin:0}.education-item p{margin-top:.35rem;color:var(--color-slate-soft)}.education-item span{display:block;margin-top:.6rem;color:var(--color-muted);font-family:var(--font-mono);font-size:.7rem}.principle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.principle-list li{color:var(--color-slate)}.case-study-stack{display:grid;gap:1rem}.case-study-card{overflow:hidden}.case-study-head{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--color-line);background:var(--color-accent-soft)}.case-study-head h3,.case-label{margin:0}.case-label{margin-bottom:.35rem;color:var(--color-accent);font-size:.68rem}.case-study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-grid section{padding:1rem;border-right:1px solid var(--color-line)}.case-study-grid section:last-child{border-right:0}.case-study-grid h4{margin:0 0 .45rem;color:var(--color-slate-soft);font-size:.68rem}.case-study-grid p,.case-study-grid ul{margin:0}.case-study-grid p,.case-study-grid li{color:var(--color-slate);font-size:.75rem}.compact-row{margin:0;padding:.75rem 1rem;border-top:1px solid var(--color-line)}.source-link,.role-action a{display:inline-flex;align-items:center;width:fit-content;padding:.4rem .65rem;border:1px solid var(--color-line-strong);border-radius:999px;color:var(--color-accent-bright);font-size:.7rem}.site-footer .section-inner{padding:0}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.footer-grid h2,.footer-grid p{margin:0}@media(max-width:900px){:root{--sidebar-width: 205px}.sidebar-inner{padding-inline:1.1rem}.nav,main,.site-footer{width:min(100% - 2rem,var(--content-wide))}.about-section{grid-template-columns:1fr;gap:1.5rem}.contact-card{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{grid-template-columns:105px minmax(0,1fr);gap:.9rem}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card:nth-child(3n){border-right:1px solid var(--color-line)}.skill-card:nth-child(2n){border-right:0}.skill-card:nth-child(n+3){border-top:1px solid var(--color-line)}.detail-hero-grid,.cv-header,.case-study-grid{grid-template-columns:1fr}.case-study-grid section{border-right:0;border-bottom:1px solid var(--color-line)}.case-study-grid section:last-child{border-bottom:0}}@media(max-width:680px){.portfolio-shell{display:block}.profile-sidebar{border-right:0;border-bottom:1px solid var(--color-line)}.sidebar-inner{position:static;min-height:0;padding:1.2rem 1rem 1rem}.avatar{width:52px;height:52px;font-size:1.1rem}.sidebar-name{margin-top:.75rem;font-size:1.45rem}.sidebar-intro{max-width:450px;margin:.7rem 0 1rem}.sidebar-section,.print-button{display:none}.sidebar-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding-bottom:0;border-bottom:0}.site-header{position:sticky}.nav{justify-content:space-between;min-height:58px;width:calc(100% - 2rem);gap:.5rem}.mobile-wordmark{display:grid}.nav-links{gap:.65rem;overflow-x:auto}.nav-links a{font-size:.68rem;white-space:nowrap}main,.site-footer{width:calc(100% - 2rem)}.content-section{padding-top:2.8rem}.about-section{padding-top:2.5rem}.contact-card{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:.65rem}.timeline-section-break{margin-left:0}.timeline-rail{min-height:0;padding:0 0 0 1.15rem;border-left:0;border-bottom:1px solid var(--color-line)}.timeline-dot{top:.35rem}.timeline-group,.timeline-phase{display:block}.timeline-phase-meta{padding:0 0 .65rem 1.15rem;border-left:0;border-bottom:1px solid var(--color-line)}.timeline-phase-meta .timeline-dot{display:none}.timeline-phase-content{padding:1rem;border:1px solid var(--color-line);border-radius:var(--radius-md)}.timeline-phase+.timeline-phase{margin-top:.65rem}.timeline-phase:first-child .timeline-phase-content,.timeline-phase:last-child .timeline-phase-content{border-radius:var(--radius-md)}.timeline-phase:last-child .timeline-phase-meta{padding-bottom:.65rem;border-bottom:1px solid var(--color-line)}.timeline-rail p,.timeline-rail strong,.timeline-rail>span:last-child{display:inline;margin-right:.4rem}.role-phase-heading{align-items:flex-start;flex-direction:column;gap:.15rem;padding-right:0}.project-grid,.skills-grid{grid-template-columns:1fr}.skill-card,.skill-card:nth-child(2n),.skill-card:nth-child(3n){border-right:0;border-top:1px solid var(--color-line)}.skill-card:first-child{border-top:0}.education-strip,.contact-cta{align-items:flex-start;flex-direction:column}.contact-cta{gap:1rem}.footer-meta{flex-direction:column;gap:.4rem}.document-sheet{width:100%;margin:1rem 0;border-inline:0;border-radius:0}.section-inner,.section-content,.detail-panel,.timeline,.project-grid,.skills-stack,.education-list,.case-study-stack{padding:1rem}.labelled-section{display:block}.section-label{border-right:0;border-bottom:1px solid var(--color-line);padding:1rem}.education-list,.principle-list{grid-template-columns:1fr}.case-study-head{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.print-only{display:none}@media print{@page{margin:10mm 13mm;size:A4}:root{--color-ink: #111827;--color-slate: #374151;--color-slate-soft: #4b5563;--color-muted: #6b7280;--color-accent: #4b5563}*,*:before,*:after{background:transparent!important;box-shadow:none!important;color:#111827!important;font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important}html{background:#fff!important;font-size:10pt}body{background:#fff!important;color:#111827!important}.print-only{display:block!important}.profile-sidebar,.site-header,.skip-link,.theme-picker,.print-button,.metric-list,.contact-card,.text-link,.role-action,.source-link,.role-badge,.project-badge,.contact-cta,.footer-meta{display:none!important}.portfolio-shell,.content-column,main,.site-footer,.document-sheet{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;border:0!important}.print-header{padding-bottom:10pt;border-bottom:1.5pt solid #111827}.print-header h1{margin:0;font-size:25pt;line-height:1}.print-header p{margin:5pt 0 0;font-size:11pt;font-weight:600}.print-header div{margin-top:5pt;color:#4b5563!important;font-size:8.5pt}.content-section,.education-strip,.site-footer{padding:13pt 0 0!important;scroll-margin-top:0}.about-section{display:block!important;padding-top:13pt!important}.about-section .hero-copy h1,.about-section .eyebrow{display:none}.hero-summary{max-width:none;margin:0;font-size:10pt;line-height:1.45}.section-heading{display:block;margin-bottom:6pt;padding-bottom:3pt;border-bottom:1pt solid #9ca3af}.section-heading .eyebrow{display:inline;margin:0;font-size:8pt;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.section-heading h2{display:none}.timeline-section-break{margin:10pt 0 5pt!important;padding-top:5pt;border-top:1pt solid #9ca3af}h1{font-size:25pt}h2{font-size:14pt}h3{font-size:10.5pt}p,li,dd{font-size:8.5pt;line-height:1.38}.timeline,.skills-grid,.case-study-stack,.education-list{display:block!important;padding:0!important}.timeline-item{display:grid!important;grid-template-columns:105pt minmax(0,1fr)!important;gap:12pt;break-inside:avoid;margin-bottom:7pt}.timeline-role-group{display:block!important}.timeline-role-group .timeline-group{display:grid!important;grid-template-columns:105pt minmax(0,1fr)!important;column-gap:12pt}.timeline-role-group .timeline-phase{display:contents}.timeline-role-group .timeline-phase-meta{grid-column:1;padding:6pt 0 5pt!important;border:0!important}.timeline-role-group .timeline-phase-meta p,.timeline-role-group .timeline-phase-meta strong,.timeline-role-group .timeline-phase-meta>span:not(.timeline-dot){display:block;margin:0}.timeline-role-group .timeline-phase-meta p{margin-bottom:3pt}.timeline-role-group .timeline-phase-content{grid-column:2;padding:6pt!important;border:.75pt solid #9ca3af!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.timeline-role-group .timeline-phase:first-child .timeline-phase-content{border-bottom:0!important}.timeline-role-group .timeline-phase:last-child .timeline-phase-content{border-top:0!important}.timeline-rail{padding:2pt 0 0!important;border:0!important}.timeline-dot{display:none}.timeline-rail p{margin:0 0 3pt;font-weight:600}.timeline-rail strong,.timeline-rail>span:last-child{display:block}.timeline-group-rail{border-left:0!important}.timeline-phase{position:relative;padding-bottom:5pt}.timeline-phase:last-child{padding-bottom:0}.timeline-phase .timeline-dot{display:none}.timeline-company{font-size:8pt;font-weight:700}.timeline-role{margin-top:2pt!important;font-size:8pt;font-weight:700}.role-card,.education-card,.project-card,.skill-card,.case-study-card,.education-item{break-inside:avoid;margin:0 0 5pt;padding:6pt!important;border:.75pt solid #9ca3af!important;border-radius:0!important}.role-card-topline{display:none}.education-card .education-label{margin-bottom:4pt!important}.role-card .context{max-width:none;margin-top:0;font-weight:600}.role-card>p:not(.context){margin-top:4pt}.timeline-group-label{position:static;display:block;margin:2pt 0;color:#4b5563!important;font-size:6.5pt;font-weight:700;letter-spacing:normal;text-transform:uppercase}.role-phases{display:block}.role-phase+.role-phase{margin-top:7pt;padding-top:5pt;border-top:.5pt solid #9ca3af}.role-phase-heading{display:flex;justify-content:space-between;gap:8pt;margin:0 0 4pt;padding-right:0}.role-phase-heading h3{margin:0;font-size:9pt}.role-phase-heading time{color:#4b5563!important;font-size:7pt;white-space:nowrap}.highlight-list{columns:2;column-gap:14pt;margin:5pt 0 0;padding-left:14pt}.role-chapters{margin-top:6pt}.role-chapter+.role-chapter{margin-top:7pt;padding-top:5pt;border-top:.5pt solid #9ca3af}.role-chapter h4{display:flex;justify-content:space-between;gap:8pt;margin:0;color:#111827!important;font-size:7.5pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.role-chapter h4 time{color:#4b5563!important;font-size:7pt;font-weight:500;letter-spacing:normal;white-space:nowrap}.role-chapter .highlight-list{margin-top:3pt}.highlight-list li{break-inside:avoid;margin:0;padding:0}.tag-list{gap:3pt;margin-top:5pt!important}.tag-list li{padding:1pt 4pt;border:.5pt solid #9ca3af;border-radius:2pt;font-family:inherit;font-size:7.5pt}.project-card{display:block!important}.project-card-header{display:block}.project-card p{margin-top:4pt}.project-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8pt;padding:0!important}.skills-grid{display:block!important;border:0!important}.skills-grid .skill-card{display:grid!important;grid-template-columns:125pt minmax(0,1fr);align-items:baseline;width:auto;min-height:0;padding:4pt 0!important;border:0!important;border-top:.75pt solid #9ca3af!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.skills-grid .skill-card h3{margin:0;font-size:8pt;font-weight:700;text-transform:uppercase}.skills-grid .skill-card ul{display:flex;flex-wrap:wrap;gap:0 9pt;margin:0;padding:0 0 0 12pt}.skills-grid .skill-card li{display:list-item;margin:0;font-size:7.8pt}.skills-grid .tech-icon-wrap,.skills-grid .tech-icon-fallback{display:none!important}.skills-grid .skill-card li::marker{color:#4b5563}.education-strip{display:flex!important;align-items:baseline;justify-content:space-between;border-top:1pt solid #9ca3af!important}.education-strip .eyebrow{margin:0 0 3pt;font-size:8pt}.education-strip h2{margin:0;font-size:10.5pt}.education-strip>p{margin:0;font-size:8.5pt}.site-footer{display:none!important}.detail-sheet .section-inner{padding:10pt 0!important}.detail-sheet .section-label{display:none}.detail-sheet .labelled-section{display:block}.detail-sheet .detail-panel{padding:0!important}.detail-sheet .detail-hero{padding-top:0!important}.detail-sheet .detail-hero-grid{display:block!important}.detail-sheet .detail-list{display:none}.detail-sheet .case-study-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.detail-sheet .case-study-grid section{border-right:.5pt solid #9ca3af!important;border-bottom:0!important}.detail-sheet .case-study-grid section:last-child{border-right:0!important}.role-card:before,.role-card:after,.education-card:before,.education-card:after,.project-card:before,.project-card:after,.case-study-card:before,.case-study-card:after{display:none!important;content:none!important}a{text-decoration:none!important}a[href^=http]:after,a[href^=mailto]:after{content:none!important}}
