/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--portfolio-serif:"Silian Rail","EB Garamond",Garamond,"Palatino Linotype",Palatino,Georgia,serif;--personal-accent:#32665c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{color:var(--text);font-family:var(--portfolio-serif);-webkit-font-smoothing:antialiased;margin:0}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}::selection{color:#fff;background:#075ca0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.site-wrap{max-width:1352px;margin:auto;padding:0 64px}.site-header{align-items:center;gap:36px;height:110px;display:flex}.wordmark{white-space:nowrap;margin-right:auto;font-size:0;position:relative}.wordmark-correction{letter-spacing:-1px;font-size:22px}.wordmark-correction span{color:var(--accent)}.navigation{color:var(--muted);align-items:center;gap:28px;font-size:.875rem;display:flex}.nav-contact,.navigation a:hover,.navigation a[aria-current]{color:var(--text)}.nav-contact{align-items:center;gap:7px;margin-left:10px;display:flex}.header-tools{display:flex}.icon-button{background:0 0;border:0;padding:8px;display:flex}.menu-button{display:none}.eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:500}h1,h2,h3,p{margin:0}h1{letter-spacing:-5px;font-size:clamp(52px,6.8vw,94px);line-height:1.06}h1,h1 em{font-weight:400}h1 em{color:var(--accent);letter-spacing:-4px;font-family:Georgia,Times New Roman,serif}svg{flex-shrink:0;transition:transform .2s}.text-link{background:0 0;border:0;align-items:center;gap:16px;padding:0;font-size:.875rem;display:inline-flex}.text-link:hover svg{transform:translate(3px,-3px)}.badge{border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:4px 7px;font-family:monospace;font-size:9px;line-height:1.4;display:inline-block}.section-note{color:var(--subtle);margin-top:15px;font-size:.75rem;line-height:1.8}.footer-bottom,footer{border-top:1px solid var(--line)}.footer-bottom{justify-content:space-between;gap:20px;padding:23px 0 30px;font-size:9px;display:flex}.footer-bottom a{align-items:center;gap:8px;display:flex}.page-shell{min-height:65vh;padding:85px 0 100px}.page-shell h1{letter-spacing:-3px;margin-top:27px;font-size:clamp(42px,5vw,70px)}.page-lead{max-width:720px;font-size:18px}.notice,.page-lead{color:var(--muted);margin:30px 0;line-height:1.8}.notice{border-left:2px solid var(--accent);background:var(--panel);padding:18px 23px;font-size:.875rem}.placeholder-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin:40px 0;display:grid}.placeholder-card{border:1px solid var(--line);padding:27px}.placeholder-card h2{margin:20px 0 15px;font-size:24px;font-weight:400;line-height:1.4}.placeholder-card p,.prose{color:var(--muted);font-size:1.0625rem;line-height:1.9}.narrow{max-width:850px}.prose p{margin:25px 0}.contact-list{margin:45px 0}.contact-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:23px 0;display:flex}.contact-list h2{font-size:22px;font-weight:400}.contact-list span{color:var(--muted);font-size:.875rem}.skip-link{z-index:50;background:var(--text);color:var(--bg);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}@media (min-width:1500px){.site-wrap{max-width:1400px;padding:0 80px}}@media (max-width:1000px){.site-wrap{padding:0 32px}.navigation{gap:18px}.site-header{gap:16px}h1{letter-spacing:-3px}}@media (max-width:760px){.site-wrap{padding:0 22px}.site-header{height:80px}.wordmark-correction{font-size:21px}.menu-button{display:flex}.navigation{background:var(--bg);z-index:20;border-bottom:1px solid var(--line);padding:25px;display:none;position:absolute;top:80px;left:0;right:0}.navigation.open{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.nav-contact{margin-left:0}h1{letter-spacing:-2.5px;font-size:clamp(42px,9.7vw,70px)}h1 em{letter-spacing:-2px}.placeholder-grid{grid-template-columns:1fr}.footer-bottom{flex-wrap:wrap;line-height:1.7}.page-shell{padding:55px 0 65px}.page-shell h1{letter-spacing:-2px;font-size:44px}.page-lead{font-size:1.125rem}.contact-list>div{align-items:flex-start}.contact-list span{text-align:right;max-width:50%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}@media (min-width:761px) and (max-width:900px){.menu-button{display:flex}.navigation{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding:28px 32px;display:none;position:absolute;top:110px;left:0;right:0}.navigation.open{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.nav-contact{margin-left:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--bg:#f7f5f0;--panel:#fdfcf9;--text:#303733;--muted:#535c56;--subtle:#626b64;--line:#d7dbd2;--accent:#32665c;--gold:#705c38;color-scheme:light}body{isolation:isolate;background:var(--bg)}.blog-coming-soon{padding:clamp(28px,5vw,52px);max-width:760px}.blog-coming-soon h2{margin:20px 0 16px;font-size:clamp(28px,4vw,40px);font-weight:400;letter-spacing:-1px}.blog-coming-soon>p:last-child{color:var(--muted);line-height:1.8;max-width:540px}.about-timeline-page{max-width:930px;padding:45px 0 30px}.about-timeline-heading{margin:38px 0 50px;max-width:660px}.about-timeline-heading h1{font-size:clamp(36px,5vw,52px);letter-spacing:-1.5px;font-weight:400;margin:16px 0 20px;text-shadow:0 0 6px var(--panel-glow)}.about-timeline-heading>p:last-child{font-size:1.125rem;line-height:1.8;color:var(--muted)}.career-timeline{list-style:none;margin:0;padding:0}.career-entry{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:40px;padding-bottom:46px;scroll-margin-top:95px}.career-entry:before{content:"";position:absolute;left:139px;top:14px;bottom:-14px;width:1px;background:linear-gradient(var(--panel-edge),var(--line))}.career-entry:last-child:before{display:none}.career-year{text-align:right;padding:7px 8px 0 0;font:13px monospace;line-height:1.6;color:var(--muted)}.career-year small{display:block;font-size:9px;line-height:1.6;margin-top:8px;color:var(--accent)}.career-dot{position:absolute;top:11px;left:135px;width:9px;height:9px;border:2px solid var(--bg);border-radius:50%;background:var(--panel-edge);box-shadow:0 0 0 1px var(--panel-edge),0 0 12px var(--panel-glow)}.career-entry-current .career-dot{background:var(--panel-edge);box-shadow:0 0 0 1px var(--panel-edge),0 0 0 5px var(--panel-ember),0 0 20px var(--panel-glow)}.career-chapter{padding:28px 30px 30px}.career-entry:nth-child(2n) .career-chapter{animation-delay:-4.5s}.career-logo{width:180px;height:65px;display:flex;align-items:center;justify-content:flex-start;margin:0 0 20px}.career-logo img{display:block;width:180px;height:65px;object-fit:contain;object-position:left center}.career-logo-cgi img{width:95px}.career-logo-kpmg{width:150px;padding:12px 18px;background:#00338d;border-radius:3px}.career-logo-kpmg img{width:114px;height:41px}.career-period{font:10px monospace;line-height:1.8;color:var(--subtle);margin-bottom:10px}.career-chapter h2{font-size:23px;line-height:1.4;letter-spacing:-.5px;font-weight:500;text-shadow:0 0 20px var(--panel-ember)}.career-role{font-size:.9375rem;line-height:1.7;color:var(--accent);margin:6px 0 15px}.career-description{font-size:1rem;line-height:1.9;color:var(--muted);max-width:630px}.career-links{display:flex;gap:16px 24px;flex-wrap:wrap;margin-top:22px}.career-links .small-link{line-height:1.6}.about-timeline-footer{margin-left:180px;max-width:600px;padding-top:12px}.about-timeline-footer p{color:var(--muted);font-size:1rem;line-height:1.9;margin-bottom:22px}@media (max-width:600px){.about-timeline-page{padding-top:35px}.about-timeline-heading{margin:30px 0 40px}.about-timeline-heading>p:last-child{font-size:1rem}.career-entry{grid-template-columns:60px minmax(0,1fr);gap:24px;padding-bottom:35px}.career-year{font-size:.75rem;letter-spacing:-.4px;padding-right:0}.career-year small{font-size:8px;letter-spacing:0}.career-entry:before{left:71px}.career-dot{left:67px}.career-chapter{padding:22px 18px 26px}.career-logo,.career-logo img{width:150px;height:54px}.career-logo-cgi img{width:85px}.career-logo-kpmg{width:134px}.career-logo-kpmg img{width:98px;height:35px}.career-chapter h2{font-size:21px}.career-role{font-size:.875rem}.career-description{font-size:.9375rem;line-height:1.85}.career-period{font-size:9px}.about-timeline-footer{margin-left:89px}.about-timeline-footer p{font-size:.9375rem}}.site-wrap{max-width:none;padding:0}.site-header{position:sticky;top:0;height:66px;padding:0 40px;background:var(--surface-glass);backdrop-filter:blur(16px);z-index:30;border-bottom:1px solid var(--line);gap:28px}.wordmark-correction{font-size:19px;font-weight:600;letter-spacing:-.5px}.wordmark-correction span{color:var(--gold)}.navigation{gap:10px;font-size:.9375rem}.navigation>a{padding:9px 15px;border:1px solid transparent;border-radius:4px}.navigation>a:hover{background:var(--surface-tint);border-color:var(--line)}.navigation>a[aria-current=page]{border-color:var(--border-strong);background:var(--surface-selected)}.navigation .nav-contact{background:var(--text);color:var(--bg);border:1px solid var(--line);margin-left:4px;font-weight:600}.navigation .nav-contact:hover{background:var(--button-hover);color:var(--bg)}.header-tools{display:none}#main{max-width:1180px;margin:0 auto;padding:0 40px;min-height:70vh}footer{max-width:1100px;margin:65px auto 0;padding:0 0 12px}.footer-bottom{padding:24px 0;color:var(--subtle);border:0}.footer-bottom,.footer-bottom a{font-size:.8125rem}a:focus-visible,button:focus-visible{outline-color:var(--gold)}::selection{background:var(--selection-bg);color:var(--text)}.nano-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 80% 15%,var(--surface-tint),transparent 65%),linear-gradient(160deg,var(--bg),var(--bg) 80%)}.nano-atmosphere canvas{width:100%;height:100%;display:block}.background-control{position:fixed;bottom:14px;right:17px;z-index:35;display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);background:var(--surface-glass);border:1px solid var(--line);border-radius:4px;padding:8px 10px}.background-control:hover{color:var(--text);border-color:var(--border-strong)}.mono-label{font:10px monospace;letter-spacing:1.3px;text-transform:uppercase;color:var(--subtle)}.notebook-intro{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:32px;max-width:900px;padding:72px 0 52px}.intro-portrait-halo{position:relative;width:fit-content;border-radius:50%;isolation:isolate}.intro-portrait-halo:before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:inherit;border:1px solid var(--panel-edge);box-shadow:0 0 8px var(--panel-glow);pointer-events:none}.intro-portrait{display:block;width:220px;height:220px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:1px solid var(--panel-edge);box-shadow:0 16px 36px -16px var(--panel-depth)}.notebook-intro h1{font-size:clamp(36px,4.5vw,52px);line-height:1.15;letter-spacing:-1.5px;font-weight:400;margin:0 0 16px;text-shadow:0 0 6px var(--panel-glow)}.intro-personal{font-size:20px;font-style:italic;line-height:1.65;max-width:610px;color:var(--muted)}.intro-socials{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:.9375rem}.intro-socials a{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;color:var(--bg);background:var(--text);border:1px solid var(--panel-edge);box-shadow:0 0 10px var(--panel-glow),0 6px 18px var(--panel-ember);transition:background .4s ease,box-shadow .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}.intro-socials a:focus-visible,.intro-socials a:hover{color:var(--bg);background:var(--accent);transform:translateY(-3px);box-shadow:0 0 18px var(--panel-glow),0 10px 26px var(--panel-ember)}.intro-socials a:focus-visible{outline:2px solid var(--panel-edge);outline-offset:4px}@media (max-width:600px){.notebook-intro{grid-template-columns:1fr;gap:24px}.intro-portrait{width:160px;height:160px}}.notebook-actions{display:flex;gap:12px;margin-top:30px}.notebook-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:4px;background:var(--panel);color:var(--text);font-size:.875rem;transition:background .2s,border-color .2s}.notebook-button:hover{background:var(--surface-soft);border-color:var(--border-strong)}.notebook-button.primary{background:var(--text);color:var(--bg);border-color:var(--line);font-weight:600}.notebook-button.primary:hover{background:var(--button-hover)}.notebook-button:hover svg{transform:translateX(2px)}.glass-panel{border:1px solid var(--panel-edge);border-radius:6px;background:var(--surface-glass);box-shadow:0 0 6px var(--panel-glow),0 6px 18px -8px var(--panel-depth);transition:border-color .5s ease,box-shadow .6s ease;overflow:hidden}.glass-panel:focus-within,.glass-panel:hover{border-color:var(--panel-edge);box-shadow:0 0 9px var(--panel-glow),0 8px 20px -8px var(--panel-depth)}@keyframes panel-float{0%,to{translate:0 0}50%{translate:0 -4px}}@keyframes portrait-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.025)}}@media (prefers-reduced-motion:no-preference){.glass-panel{animation:panel-float 9s cubic-bezier(.45,0,.55,1) infinite}.glass-panel:nth-child(2n){animation-delay:-4.5s}.intro-portrait-halo:before{animation:portrait-glow 8s cubic-bezier(.45,0,.55,1) infinite}body:has(.background-control[aria-label="Play background animation"]) .glass-panel,body:has(.background-control[aria-label="Play background animation"]) .intro-portrait-halo:before{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.glass-panel,.glass-panel.linked-project-card,.intro-socials a{transition:none}.intro-socials a:focus-visible,.intro-socials a:hover{transform:none}}.profile-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px}.notebook-note,.profile-panel{padding:26px 29px}.profile-panel dl{margin:23px 0 20px}.profile-panel dl>div{display:grid;grid-template-columns:95px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.7}.profile-panel dt{color:var(--muted)}.profile-panel dd{margin:0;color:var(--text)}.small-link{display:inline-flex;align-items:center;gap:9px;font-size:.8125rem;color:var(--accent)}.small-link:hover{color:var(--text)}.small-link:hover svg{transform:translate(2px,-2px)}.notebook-note h2{font-size:28px;font-weight:400;letter-spacing:-.7px;line-height:1.25;margin:25px 0 16px}.notebook-note p{font-size:.9375rem;line-height:1.8;color:var(--muted);max-width:380px;margin-bottom:24px}.project-index{padding-top:70px;scroll-margin-top:95px}.notebook-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:27px}.notebook-section-heading h2{font-size:38px;font-weight:300;letter-spacing:-1px}.notebook-section-heading>span{font-size:.8125rem;color:var(--muted)}.project-layout{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:start}.project-sidebar{position:sticky;top:91px;padding:24px 20px}.project-sidebar nav{margin:22px 0}.project-sidebar nav a{display:flex;align-items:baseline;gap:12px;font-size:.875rem;line-height:1.6;padding:13px 0;border-top:1px solid var(--line);color:var(--text)}.project-sidebar nav a>span{font:9px monospace;color:var(--subtle)}.project-sidebar nav a:hover{color:var(--text)}.sidebar-related{border-top:1px solid var(--line);padding-top:17px;display:grid;gap:14px}.sidebar-related a{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}.project-records{display:grid;gap:22px}.project-record{padding:25px;scroll-margin-top:90px}.linked-project-card{position:relative;transition:border-color .5s ease,box-shadow .6s ease}.linked-project-card:hover{border-color:var(--panel-edge)}.project-card-link:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.project-card-link:focus-visible{outline:none}.linked-project-card:has(.project-card-link:focus-visible){outline:2px solid var(--gold);outline-offset:5px}.project-card-arrow{display:inline-block;margin-left:9px;vertical-align:middle;color:var(--subtle)}.linked-project-card:hover .project-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.linked-project-card .preview-toggle{z-index:2}.lab-index-page{padding-top:50px}.lab-index-page h1{font-size:49px;font-weight:300;letter-spacing:-1.7px}.lab-notes>.eyebrow{margin-top:30px}.lab-notes h1{line-height:1.16}.lab-notes-section{margin:24px 0;padding:26px 30px}.lab-notes-section h2{font-size:23px;font-weight:400;letter-spacing:-.5px;line-height:1.4;margin-bottom:18px}.lab-notes-section li,.lab-notes-section p{font-size:1rem;line-height:1.9;color:var(--muted)}.lab-notes-section ol{padding-left:20px}.lab-notes-section ul{list-style:disc;padding-left:20px;margin-top:14px}.lab-notes-section li{padding:7px 0}@media (max-width:600px){.lab-index-page h1{font-size:38px}.lab-notes-section{padding:23px}.lab-notes-section li,.lab-notes-section p{font-size:.9375rem}}.project-record-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.record-status{font:9px monospace;text-transform:uppercase;letter-spacing:.8px;padding:4px 8px;border:1px solid var(--line);background:var(--surface-note);color:var(--gold);border-radius:3px}.project-record-content{display:grid;grid-template-columns:120px 1fr;gap:24px}.project-thumbnail{height:135px;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;color:var(--accent);background:radial-gradient(ellipse at 50% 50%,var(--surface-tint),transparent 75%),repeating-linear-gradient(0deg,var(--grid-tint) 0 1px,transparent 1px 13px),var(--bg)}.project-thumbnail>span{position:absolute;bottom:10px;right:10px;font:9px monospace;letter-spacing:1px;color:var(--subtle)}.project-record h3{font-size:23px;letter-spacing:-.5px;font-weight:500;line-height:1.35}.project-record p{font-size:.9375rem;line-height:1.85;color:var(--muted);margin:13px 0 17px}.record-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.record-tags span{font:9px monospace;color:var(--accent);padding:4px 7px;background:var(--surface-note);border:1px solid var(--line);border-radius:3px}.project-record .record-disclaimer{font-size:.75rem;color:var(--subtle);border-top:1px solid var(--line);margin:23px 0 0;padding-top:14px}.site-build-note{max-width:620px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}.site-build-note>p:last-child{margin-top:10px;color:var(--muted);font-size:.875rem;line-height:1.8}.notebook-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:33px;margin-top:65px}.notebook-contact h2{font-size:30px;font-weight:300;letter-spacing:-.6px;margin:15px 0}.notebook-contact p{font-size:.875rem;line-height:1.8;color:var(--muted)}.blog-index{padding:55px 0 25px}.blog-heading h1{font-size:54px;font-weight:300;letter-spacing:-1.5px}.blog-introduction{font-size:.9375rem;line-height:1.9;color:var(--muted);max-width:740px;margin-bottom:30px}.blog-table{border-color:var(--line)}.blog-column-head{display:grid;grid-template-columns:55px 110px 1fr;gap:15px;padding:15px 22px;border-bottom:1px solid var(--line);background:var(--surface-note)}.blog-table ol{margin:0;padding:0;list-style:none}.blog-table li{display:grid;grid-template-columns:55px 110px 1fr;gap:15px;padding:26px 22px;border-bottom:1px solid var(--line)}.blog-table li:last-child{border:0}.entry-number,.entry-status{font:11px monospace;color:var(--muted);padding-top:5px}.entry-status{color:var(--gold);font-size:.75rem}.blog-table h2{font-size:19px;font-weight:500;letter-spacing:-.25px;line-height:1.5}.blog-table p{font-size:.9375rem;color:var(--muted);line-height:1.85;margin-top:9px}.blog-endnote{font-size:.8125rem;color:var(--subtle);margin-top:22px}.page-shell{padding-top:55px}.page-shell h1{font-size:54px;letter-spacing:-2px;font-weight:300}.placeholder-card{border-color:var(--line);border-radius:5px}.contact-list>div,.notice,.placeholder-card{background:var(--surface-glass)}.contact-list>div{padding-inline:18px}.contact-page>h1{text-shadow:0 0 6px var(--panel-glow)}.contact-page .contact-list{display:grid;gap:24px;margin-top:36px}.contact-list>.contact-card{display:block;border-color:var(--panel-edge);padding:clamp(24px,4vw,34px);scroll-margin-top:120px}.contact-card-icon{color:var(--gold);margin-bottom:16px;filter:drop-shadow(0 0 8px var(--panel-glow))}.contact-card h2{margin-bottom:12px}.text-link{color:var(--accent)}@media (max-width:1000px){.site-header{padding:0 25px}#main{padding:0 28px}.project-layout{grid-template-columns:210px 1fr}.project-record-content{grid-template-columns:90px 1fr;gap:20px}.project-thumbnail{height:115px}footer{margin-inline:28px}.project-record{padding:22px}.notebook-intro{padding-top:65px}}@media (max-width:760px){.site-header{height:62px;padding:0 20px;gap:15px}.wordmark-correction{font-size:17px}.navigation{display:flex;position:static;flex-direction:row;align-items:center;background:transparent;border:0;padding:0;gap:3px;margin-left:auto}.navigation>a{font-size:.8125rem;padding:8px 9px}.navigation .nav-contact{margin-left:2px}.header-tools,.menu-button{display:none}#main{padding:0 20px}.notebook-intro{padding:53px 0 35px}.mono-label{font-size:8px;letter-spacing:1px}.notebook-intro h1{font-size:38px;letter-spacing:-1px;margin-top:0}.intro-role{font-size:9px;letter-spacing:1px;margin-top:18px;margin-bottom:22px}.intro-personal{font-size:17px;line-height:1.7}.intro-summary.secondary{font-size:.875rem}.notebook-actions{gap:10px;margin-top:25px}.notebook-button{padding:11px 13px;font-size:.8125rem}.profile-panels{grid-template-columns:1fr;gap:16px}.notebook-note,.profile-panel{padding:24px}.profile-panel dl>div{font-size:.8125rem}.notebook-note h2{font-size:27px}.notebook-note p{font-size:.875rem}.project-index{padding-top:45px}.notebook-section-heading{align-items:flex-start;gap:15px;flex-direction:column;margin-bottom:22px}.notebook-section-heading h2{font-size:34px}.notebook-section-heading>span{font-size:.75rem}.project-layout{grid-template-columns:1fr;gap:18px}.project-sidebar{position:static;padding:20px}.project-sidebar nav{margin:15px 0}.project-sidebar nav a{padding:10px 0;font-size:.8125rem}.sidebar-related{display:flex;flex-wrap:wrap;gap:20px}.project-record{padding:22px}.project-record-content{grid-template-columns:1fr;gap:20px}.project-thumbnail{height:120px}.project-record h3{font-size:22px}.project-record p{font-size:.875rem}.notebook-contact{padding:25px;display:block;margin-top:40px}.notebook-contact .notebook-button{margin-top:24px}.blog-index{padding-top:40px}.blog-heading{gap:14px}.blog-heading h1{font-size:44px}.blog-introduction{font-size:.875rem}.blog-column-head{grid-template-columns:28px 64px 1fr;gap:10px;padding:14px}.blog-table li{grid-template-columns:28px 1fr;gap:10px;padding:21px 15px}.entry-number{grid-row:1/3}.entry-status{grid-column:2;padding:0;font-size:9px}.blog-table li>div{grid-column:2}.blog-table h2{font-size:17px}.blog-table p{font-size:.875rem}.blog-endnote{line-height:1.8}.page-shell h1{font-size:42px}footer{margin:40px 20px 45px}.background-control{bottom:10px;right:12px}.background-control span{font-size:8px}}@media (max-width:380px){.site-header{padding:0 14px;gap:10px}.wordmark-correction{font-size:1.0625rem}.navigation>a{font-size:.75rem;padding:7px}.notebook-intro h1{font-size:36px}.navigation{gap:0}.notebook-button{gap:9px}.profile-panel dl>div{grid-template-columns:75px 1fr}}@media (prefers-reduced-motion:reduce){.nano-atmosphere canvas{opacity:.8}}@media (max-width:760px){.blog-column-head{grid-template-columns:28px 1fr}.blog-column-head>span:nth-child(2){display:none}}.placeholder-card>.text-link{margin-top:24px;line-height:1.7}.case-study{padding:45px 0 20px}.case-study-header{animation:case-arrive .65s ease-out both}.case-study>.project-story{animation:case-arrive .65s ease-out .1s both}.case-study-grid{animation:case-arrive .65s ease-out .18s both}@keyframes case-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.project-story{--story-progress:0;margin:0 0 38px}.story-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 23px}.story-heading h2{font-size:clamp(23px,3vw,31px);font-weight:400;line-height:1.25;letter-spacing:-.75px;margin:11px 0 12px}.story-heading p{font-size:.9375rem;line-height:1.8;color:var(--muted);max-width:650px}.story-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:5px}.story-controls button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;min-height:36px;padding:9px;border:1px solid var(--line);border-radius:50px;background:var(--panel);color:var(--muted);font-size:.75rem}.story-controls button:last-child{padding-inline:12px}.story-controls button:hover{border-color:var(--border-strong);color:var(--accent)}.story-artboard{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(150deg,var(--story-start),var(--story-end));box-shadow:0 14px 38px var(--shadow)}.story-scene-count{position:absolute;top:18px;right:20px;font:10px monospace;color:var(--subtle);letter-spacing:1.1px;z-index:1}.story-diagram{width:100%;height:auto;display:block}.story-diagram-compact{display:none}.story-diagram-wide{--service-travel:72px}.story-diagram-compact{--service-travel:137px}.story-service-token{animation:story-service-transfer 2.85s linear infinite;animation-play-state:paused}.project-story[data-playing=true] .story-service-token{animation-play-state:running}@keyframes story-service-transfer{0%{transform:translateY(0);opacity:0}15%,85%{opacity:1}to{transform:translateY(var(--service-travel));opacity:0}}.story-diagram text{font-family:var(--portfolio-serif)}.story-node{fill:var(--node-neutral);stroke:var(--border-strong);stroke-width:1.2}.story-node.story-teal{fill:var(--node-teal);stroke:var(--node-teal-border)}.story-node.story-violet{fill:var(--node-violet);stroke:var(--node-violet-border)}.story-node.story-amber{fill:var(--node-amber);stroke:var(--node-amber-border)}.story-feature-icon,.story-node-icon{color:var(--accent)}.story-review-icon{color:var(--label-amber)}.story-node-title{font-size:18px;fill:var(--text);font-weight:500;letter-spacing:-.3px}.story-node-sub{font-size:.9375rem;fill:var(--muted)}.story-card-title{font-size:21px;fill:var(--card-text);letter-spacing:-.4px}.story-card-sub{font-size:.9375rem;fill:var(--card-sub)}.story-wire{fill:none;stroke:var(--border-strong);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.story-signal{fill:none;stroke:var(--signal-teal);stroke-width:2.6;stroke-dasharray:3 12;stroke-linecap:round;animation:story-signal 2.2s linear infinite;animation-play-state:paused}.story-signal.story-violet{stroke:var(--signal-violet)}.story-signal.story-amber{stroke:var(--signal-amber)}.project-story[data-playing=true] .story-signal{animation-play-state:running}@keyframes story-signal{to{stroke-dashoffset:-60}}.story-eyebrow{fill:var(--subtle);font:10px monospace!important;letter-spacing:1.4px}.story-feature-label{fill:var(--accent);font-size:1.125rem}.story-transfer-label{fill:var(--surface-note);stroke:var(--node-amber-border);stroke-width:.7}.story-transfer-text{fill:var(--label-amber);font-size:.8125rem}.story-team-pill{fill:var(--report-bg)}.story-team-label{fill:var(--accent);font-size:.875rem}.story-target-label{fill:var(--accent);font-size:.9375rem}.story-question-wire{fill:none;stroke:var(--border-strong);stroke-width:1;stroke-dasharray:4 5}.story-question-mark{fill:var(--subtle);font-size:24px;font-weight:300}.story-evidence-dot{fill:var(--signal-violet)}.story-evidence-label{fill:var(--label-violet);font-size:.9375rem}.story-report{fill:var(--report-bg);stroke:var(--report-border);stroke-width:1}.story-report-title{fill:var(--report-title);font-size:1rem;font-weight:500}.story-report-sub{fill:var(--report-sub);font-size:.875rem}.story-shared-services{fill:var(--surface-soft);stroke:var(--line);stroke-width:1}.story-service-label{fill:var(--accent);font-size:1.0625rem}.story-caption{display:flex;align-items:flex-start;gap:18px;padding:25px 30px 28px;border-top:1px solid var(--line);background:var(--story-caption);min-height:142px}.story-caption-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-strong);border-radius:50%;font:11px monospace;color:var(--accent);flex-shrink:0}.story-caption-copy{animation:story-caption-in .45s ease-out both}.story-caption h3{font-size:19px;line-height:1.4;font-weight:400;letter-spacing:-.3px;margin:1px 0 8px}.story-caption p{font-size:.9375rem;color:var(--muted);line-height:1.8;max-width:760px}@keyframes story-caption-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.story-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:17px}.story-chapters button{position:relative;text-align:left;padding:15px 0 8px;border:0;background:transparent;color:var(--subtle);font-size:.8125rem;line-height:1.5}.story-chapters button[aria-pressed=true]{color:var(--accent)}.story-chapters button:hover{color:var(--text)}.story-chapter-number{font:9px monospace;opacity:.7;margin-right:9px}.story-chapter-track{position:absolute;top:0;left:0;right:0;height:2px;background:var(--line);overflow:hidden}.story-chapter-track>span{display:block;height:100%;width:100%;background:var(--signal-teal);transform-origin:left}@media (max-width:600px){.story-heading{gap:14px}.story-heading h2{font-size:24px}.story-heading p{font-size:.875rem}.story-controls{gap:4px}.story-controls button{min-width:32px;min-height:34px;padding:8px}.story-controls button:last-child{padding-inline:9px}.story-controls button span,.story-diagram-wide{display:none}.story-diagram-compact{display:block}.story-diagram-compact .story-node-title{font-size:17px}.story-diagram-compact .story-node-sub{font-size:.875rem}.story-diagram-compact .story-card-title{font-size:18px}.story-diagram-compact .story-evidence-label{font-size:.9375rem}.story-scene-count{top:12px;right:13px;font-size:8px}.story-caption{padding:20px 18px 23px;gap:12px;min-height:195px}.story-caption-number{width:25px;height:25px;font-size:.75rem}.story-caption h3{font-size:17px}.story-caption p{font-size:.875rem}.story-chapters{gap:12px}.story-chapters button{font-size:.75rem}.story-chapter-number{display:block;margin-bottom:4px}}@media (max-width:420px){.site-header{gap:10px;padding-inline:14px}.wordmark-correction{font-size:1.125rem}.navigation{gap:2px}.navigation>a{font-size:.75rem;padding:8px 6px}}@media (max-width:360px){.site-header{gap:8px;padding-inline:10px}.wordmark-correction{font-size:1rem}.navigation>a{padding-inline:5px}}@media (prefers-reduced-motion:reduce){.case-study-grid,.case-study-header,.case-study>.project-story,.story-caption-copy,.story-service-token,.story-signal{animation:none}}.case-study-header{margin-top:35px}.case-study-labels{display:flex;align-items:center;gap:20px;justify-content:space-between}.case-study-header h1{font-size:clamp(38px,5vw,62px);line-height:1.12;letter-spacing:-2px;font-weight:300;margin:25px 0}.case-study-header>p{font-size:1.125rem;line-height:1.9;color:var(--muted);max-width:760px}.case-study-facts{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:25px;margin:30px 0;padding:23px 0;border-block:1px solid var(--line)}.case-study-facts dt{font:9px monospace;letter-spacing:1px;text-transform:uppercase;color:var(--subtle);margin-bottom:10px}.case-study-facts dd{font-size:.875rem;line-height:1.7;margin:0;color:var(--text)}.case-study>.notice{font-size:.875rem;line-height:1.8}.case-study-grid{display:grid;grid-template-columns:220px 1fr;gap:25px;align-items:start;margin-top:35px}.case-study-nav{position:sticky;top:90px;padding:23px}.case-study-nav h2{font-size:9px;margin-bottom:19px}.case-study-nav a{display:block;font-size:.8125rem;line-height:1.6;color:var(--muted);padding:8px 0}.case-study-nav a:hover{color:var(--text)}.case-study-body{padding:10px 34px 35px;font-size:1rem;line-height:1.9;color:var(--muted)}.case-study-body h2{font-size:25px;letter-spacing:-.5px;font-weight:400;line-height:1.3;margin:35px 0 18px;color:var(--text);scroll-margin-top:90px}.case-study-body p{margin:15px 0}.case-study-body ul{padding-left:21px;margin:20px 0;list-style:disc}.case-study-body li{padding:4px 0}.case-study-body strong{color:var(--text);font-weight:500}.case-study-end{display:flex;justify-content:space-between;gap:25px;margin-top:35px}@media (max-width:760px){.case-study{padding-top:30px}.case-study-header{margin-top:28px}.case-study-labels{gap:12px;align-items:flex-start}.case-study-labels .mono-label{line-height:1.8;max-width:150px}.case-study-header h1{font-size:39px;letter-spacing:-1.5px}.case-study-header>p{font-size:1rem}.case-study-facts{grid-template-columns:1fr;gap:18px;margin:25px 0}.case-study-facts>div{display:grid;grid-template-columns:65px 1fr;gap:15px}.case-study-facts dt{margin:3px 0 0}.case-study-facts dd{font-size:.8125rem}.case-study-grid{grid-template-columns:1fr;gap:20px}.case-study-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 15px;padding:20px}.case-study-nav h2{grid-column:1/-1;margin-bottom:10px}.case-study-nav a{font-size:.75rem}.case-study-body{padding:0 23px 25px;font-size:.9375rem}.case-study-body h2{font-size:23px}.case-study-end{flex-direction:column;gap:20px}}.professional-index-page{padding-top:50px}.professional-index-page h1{font-size:49px;font-weight:300;letter-spacing:-1.7px;line-height:1.2}.work-index-intro{font-size:1rem;line-height:1.9;color:var(--muted);max-width:770px;margin-bottom:30px}.work-record .project-record-content{grid-template-columns:235px 1fr;gap:24px}.work-record h3>a:hover{color:var(--accent)}.work-preview{position:relative;align-self:start;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:radial-gradient(ellipse at 55% 50%,var(--surface-tint),transparent 76%),repeating-linear-gradient(0deg,var(--grid-tint) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,var(--grid-tint) 0 1px,transparent 1px 16px),var(--bg)}.work-preview svg{display:block;width:100%;height:auto;margin:14px 0 12px}.preview-label{position:absolute;top:12px;left:12px;font:7px monospace;letter-spacing:.7px;text-transform:uppercase;color:var(--subtle)}.work-preview svg text{font:7px monospace;fill:var(--muted);letter-spacing:.5px}.preview-module{fill:var(--panel);stroke:var(--border-strong);stroke-width:.8}.preview-wire{stroke:var(--border-strong);stroke-width:1.2}.preview-detail{stroke:var(--border-strong);stroke-width:1}.preview-flow{stroke:var(--accent);stroke-width:1.4;stroke-dasharray:4 8;animation:preview-flow 4s linear infinite;animation-play-state:paused}.preview-light{fill:var(--accent)}.preview-scan{animation:preview-scan 5s ease-in-out infinite;animation-play-state:paused}.preview-bars{stroke:var(--gold);stroke-width:4}.work-preview[data-moving=true] .preview-flow,.work-preview[data-moving=true] .preview-scan{animation-play-state:running}.preview-footnote{position:absolute;bottom:11px;left:12px;font:7px monospace;color:var(--subtle)}.preview-toggle{position:absolute;right:9px;bottom:7px;width:25px;height:25px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--muted)}.preview-toggle:hover{color:var(--text);border-color:var(--border-strong)}@keyframes preview-flow{to{stroke-dashoffset:-48}}@keyframes preview-scan{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(85px);opacity:.9}}@media (max-width:1100px) and (min-width:761px){.work-record .project-record-content{grid-template-columns:1fr}.work-preview{max-width:320px;width:100%}}@media (max-width:760px){.professional-index-page{padding-top:35px}.professional-index-page h1{font-size:38px}.work-index-intro{font-size:.9375rem}.work-record .project-record-content{grid-template-columns:1fr}.work-preview{width:100%}.work-preview svg{max-height:220px}.preview-footnote,.preview-label{font-size:8px}.preview-toggle{width:29px;height:29px}}@media (prefers-reduced-motion:reduce){.preview-flow,.preview-scan{animation:none}}.work-record h2{font-size:23px;letter-spacing:-.5px;font-weight:500;line-height:1.35}.work-record h2>a:hover{color:var(--accent)}.project-sidebar>h2.mono-label{font:10px monospace;letter-spacing:1.3px;text-transform:uppercase;color:var(--subtle)}@media (max-width:760px){.work-record h2{font-size:22px}}.lab-preview-halo{transform-origin:159px 95px;animation:lab-preview-breathe 4s ease-in-out infinite;animation-play-state:paused}.lab-preview-spark{animation:lab-preview-signal 4s ease-in-out infinite;animation-play-state:paused}.lab-preview[data-moving=true] .lab-preview-halo,.lab-preview[data-moving=true] .lab-preview-spark{animation-play-state:running}@keyframes lab-preview-breathe{50%{transform:scale(1.12);opacity:.4}}@keyframes lab-preview-signal{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.lab-preview-halo,.lab-preview-spark{animation:none}}.contact-email{font-size:1.0625rem;line-height:1.9;overflow-wrap:anywhere}.email-copy{width:fit-content;max-width:100%}.email-copy-button{position:relative;max-width:100%;padding:7px 15px;background:transparent;color:var(--text);border:0;cursor:pointer}.email-copy-button svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.email-copy svg path{fill:none;stroke:var(--gold);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.email-copy-note{display:flex;justify-content:flex-end;align-items:center;gap:4px;padding-right:10px;color:var(--gold);font:italic 16px/1.4 Bradley Hand,Segoe Print,cursive}.email-copy-note svg{width:34px;height:23px}.email-copy input{width:100%;margin-top:8px}.contact-card{position:relative}.contact-card-heading{display:flex;align-items:center;gap:10px;margin:0 82px 16px 0;min-height:32px}.contact-card-heading :is(h2,.contact-card-icon){margin:0}.contact-margin-doodle{position:absolute;top:8px;right:16px;width:clamp(65px,12vw,108px);height:48px;color:var(--gold);opacity:.8;pointer-events:none}.contact-card:after{content:"";position:absolute;right:-1px;bottom:12px;width:28px;height:26px;background:var(--panel-edge);clip-path:polygon(100% 2%,76% 33%,81% 49%,49% 59%,58% 76%,12% 98%,51% 74%,42% 58%,73% 46%,69% 30%,100% 0);pointer-events:none}.contact-card:last-child:after{transform:scaleY(-1)}.mono-label:has(>.tile-doodle){display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.tile-doodle{width:36px;height:26px;flex:none;color:var(--gold);opacity:.87;pointer-events:none;transform:rotate(-4deg)}.project-sidebar .tile-doodle{width:29px}.notebook-note .tile-doodle,.project-record:nth-child(2n) .tile-doodle{transform:rotate(5deg)}.notebook-home :is(.profile-panel,.notebook-note,.notebook-contact){position:relative}.notebook-home .glass-panel:before{content:"";position:absolute;inset:0 0 auto auto;width:25px;height:17px;background:linear-gradient(145deg,transparent 38%,var(--panel-ember) 61%,var(--panel-edge));clip-path:polygon(33% 0,100% 0,100% 100%,83% 65%,85% 49%,62% 43%,67% 30%,48% 27%);pointer-events:none}.notebook-home :is(.profile-panel,.project-record:nth-child(3n+1)):before{inset:auto auto 0 0;rotate:180deg;width:30px}.notebook-home :is(.notebook-note,.project-record:nth-child(3n+2)):before{clip-path:polygon(0 0,100% 0,100% 100%,80% 77%,83% 60%,66% 58%,69% 41%,48% 38%,47% 22%,29% 24%)}.project-browser{--pane-height:clamp(350px,68svh,680px);min-width:0}.project-browser .project-sidebar{position:relative;top:auto;animation:none}.project-browser .project-sidebar nav a{display:grid;gap:4px;padding:10px 12px;border-radius:4px;border:1px solid transparent}.project-browser .project-sidebar nav a[aria-current]{background:var(--surface-selected);border-color:var(--panel-edge)}.project-sidebar nav small{color:var(--muted);font-size:.8125rem}.project-pane{min-width:0;height:var(--pane-height);grid-auto-rows:max-content;overflow-y:auto;padding:12px;align-content:start;scrollbar-color:var(--panel-edge) transparent}.project-pane>:last-child{min-height:calc(var(--pane-height) - 24px)}.project-pane>.project-record{animation:none}@media (width > 760px){.notebook-home .project-pane{margin-top:-12px}}@media (max-width:760px){.project-browser .project-sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.project-browser .project-sidebar nav small{display:none}.project-browser .project-sidebar nav a{padding:7px 10px}}.project-index-group+.project-index-group{border-top:1px solid var(--panel-edge);padding-top:14px}.project-index-group nav{margin:8px 0 12px}.project-browser .project-index-group nav a{padding:5px 10px;gap:1px}.project-pane{gap:14px}.project-pane .project-record{padding:16px 18px;animation:none}.project-pane .project-record-top{padding-bottom:8px;margin-bottom:12px}.project-pane .project-record-content{grid-template-columns:minmax(124px,33%) minmax(0,1fr);gap:16px}.project-pane .project-record :is(h2,h3){font-size:clamp(18px,2vw,22px)}.project-pane .record-tags{margin-top:10px}@media (max-width:520px){.project-pane .project-record-content{grid-template-columns:1fr;gap:10px}.project-pane .work-preview{max-width:220px}}:root{--surface-glass:#fdfcf9f2;--surface-soft:#eeeee7;--surface-selected:#e7eee7;--surface-note:#e8e5dc;--reading-surface:#f7f5f0ed;--surface-tint:#80948220;--grid-tint:#78867a0b;--border-strong:#6c8b80;--selection-bg:#dbe6df;--button-hover:#454f48;--shadow:#282e2707;--accent-glow:#32665c12;--panel-edge:#baa98c;--panel-glow:#bd945319;--panel-ember:#bd945309;--panel-depth:#49351f14;--story-start:#fffefb;--story-end:#edf1e9;--story-caption:#fffef9ed;--node-neutral:#fafbf7;--node-teal:#edf5ef;--node-teal-border:#9bb8a7;--node-violet:#f2eff8;--node-violet-border:#b9accb;--node-amber:#faf2df;--node-amber-border:#cdbc91;--signal-teal:#4c8577;--signal-violet:#9980b6;--signal-amber:#b99551;--label-violet:#675d74;--label-amber:#725d32;--report-bg:#e4eee4;--report-border:#a5bca8;--report-title:#365e48;--report-sub:#546c5c;--card-start:#275c55;--card-end:#153e3c;--card-text:#fffdf5;--card-sub:#c7ddd0;--diagram-dot:#85998c;--token-bg:#f9f3df}:root[data-theme=night]{color-scheme:dark;--bg:#151916;--panel:#1e231f;--text:#e8e0ce;--muted:#c0b9a7;--subtle:#a59f8f;--line:#3b4238;--accent:#b8c39b;--personal-accent:#b8c39b;--gold:#c6a66b;--surface-glass:#1e231ff2;--surface-soft:#292f27;--surface-selected:#2b372d;--surface-note:#302d23;--reading-surface:#181d19ed;--surface-tint:#9aaf8220;--grid-tint:#a9b28a0b;--border-strong:#65745b;--selection-bg:#53452d;--button-hover:#d1c5a6;--shadow:#00000025;--accent-glow:#c6a66b0e;--panel-edge:#796c53;--panel-glow:#c5a2671c;--panel-ember:#c5a2670c;--panel-depth:#00000035;--story-start:#22291f;--story-end:#181e19;--story-caption:#20271fed;--node-neutral:#242a23;--node-teal:#26352d;--node-teal-border:#66816a;--node-violet:#38292e;--node-violet-border:#90616d;--node-amber:#39321f;--node-amber-border:#957f4c;--signal-teal:#a5bf8c;--signal-violet:#c48f9c;--signal-amber:#d6b66d;--label-violet:#d0b1bc;--label-amber:#dbc18b;--report-bg:#293d2e;--report-border:#66856a;--report-title:#d0dcc0;--report-sub:#bac9ac;--card-start:#58333c;--card-end:#2e2228;--card-text:#f4e7ca;--card-sub:#dac6ab;--diagram-dot:#a7ae96;--token-bg:#473d25}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:30px;background:var(--panel);color:var(--muted);font-size:.8125rem}.theme-toggle:hover{color:var(--gold);border-color:var(--border-strong)}.theme-switcher{position:relative;flex-shrink:0}.page-top-marker{position:absolute;top:0;left:0;width:1px;height:80px;pointer-events:none}.theme-doodle-ring,.theme-scribble{opacity:0;transition:opacity .18s;pointer-events:none;color:var(--gold)}.theme-switcher:hover .theme-doodle-ring,.theme-switcher:hover .theme-scribble,.theme-switcher[data-note-visible=true] .theme-doodle-ring,.theme-switcher[data-note-visible=true] .theme-scribble{opacity:1}.theme-doodle-ring{position:absolute;left:-7px;top:-6px;width:calc(100% + 14px);height:calc(100% + 12px);overflow:visible}.theme-scribble{top:calc(100% + 4px);right:0;width:170px;height:106px}.theme-scribble,.theme-scribble svg{position:absolute}.theme-arrow-desktop{width:170px;height:72px;right:0;top:-12px}.theme-arrow-mobile{display:none}.theme-doodle-ring path,.theme-scribble path{stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.theme-scribble>span{position:absolute;left:5px;top:36px;font:20px/1.1 Bradley Hand,Chalkboard SE,Segoe Print,cursive;transform:rotate(-7deg);letter-spacing:-.3px}.theme-scribble small{font-size:1rem}:root[data-theme=night] .career-logo img{padding:6px;background:#fdfcf9;border-radius:3px}:root[data-theme=night] .career-logo-kpmg img{padding:0;background:transparent}@media (max-width:500px){.site-header{height:auto;min-height:100px;flex-wrap:wrap;padding:11px 16px;gap:9px 12px}.wordmark{order:0}.wordmark-correction{font-size:17px}.theme-toggle{min-height:32px;font-size:.75rem;padding:7px 10px}.theme-switcher,.theme-toggle{order:1;margin-left:auto}.theme-scribble{top:0;right:calc(100% + 9px);width:120px;height:40px}.theme-arrow-desktop{display:none}.theme-arrow-mobile{display:block;width:68px;height:40px;right:-19px;top:-3px}.theme-scribble>span{top:0;left:0;font-size:1rem}.theme-scribble small{font-size:.8125rem}.navigation{order:2;width:100%;margin-left:0;justify-content:space-between;gap:4px}.navigation>a{font-size:.8125rem;padding:7px 10px}html{scroll-padding-top:115px}#projects,.career-entry,.case-study-body h2,.project-record{scroll-margin-top:120px}}@media (max-width:380px){.theme-scribble{width:92px;right:calc(100% + 6px)}.theme-scribble>span{font-size:.875rem}.theme-scribble small{font-size:.75rem}.theme-arrow-mobile{width:48px;right:-17px}}